clases de dinamica ejercicios preuniversitarios.pdf
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
1. Unidad 2: Diseños de Vista
2.3.Introducción Web Services
Plataformas de Desarrollo 2
Modalidad de estudios: Presencial
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Lfabsoft2019@gmail.com
2. Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados con los
webservices
2. Reconocer las características de los webservices
Semana Nro. 6
4. Modelo de eventos
• Eventos se generan en el cliente, pero se
manipulan en el servidor
ServerCliente Web
parse message
evento
event handler
event
message
response
Llamada al
manipulador
apropiado
5. Resumen de controles del servidor
• Controles Web Forms en el servidor
• Familias de controles en el Servidor
• HTML
• ASP.NET
• Validation
• User
• Mobile
• Data Binding
• Page Class
• Unión de código y contenido
6. Familias de controles del servidor 1/2
• Controles HTML del servidor
• asociados directamente con elementos HTML
• Atributos HTML
• Ejemplos: HtmlAnchor (<a>), HtmlTable (<table>)
• Controles ASP.NET del servidor
• Controles abstractos
• No hay asociacion uno a uno con controles html en el
servidor
• Detección automática del navegador
• Conjunto amplio de controles
• Ejemplo: TextBox (<asp:textbox>)
7. Familias de controles del servidor 2/2
• Controles de validación
• Chequeo de la entrada de datos por el usuario
• Diferentes tipos de validación
• Entrada requerida
• Comparaciones, chequeo de rangos, matcheo de patrones
• Definidos por el usuario
• Controles de Usuario
• Particion y remodelacion de la funcionabilidad
• Extensión .ascx
• Soporta el modelo de objetos
• Controles para móviles
8. Sintaxis de los Server Controls
• Analizando detenidamente la sintaxis ASP.NET
• <asp:controlName attributes />
• controlName
• TextBox, DropDownList, etc
• attributes
• Id=controlID
• runat=server
9. Trabajando con datos 1/3
• SQL y XML
• Acceso y manipulación de los datos
• APIs de acceso gestionado a datos provistas por
el runtime
• Objetos esenciales
• SQLConnection, SQLCommand, y DataSet
• Espacios de nombres
• System.Data y System.Data.SQL
10. Trabajando con datos 2/3
• Resumen ADO.NET
• Arquitectura de datos desconectada
• Datasets son vistas de datos completamente
relacionadas
• XML y XML esquemas
Internet
Data Object
Dataset
Windows
Form
Web Form
B2B
XML
11. Trabajando con datos 3/3
using System.Data;
ShoppingCart.CalculateOrderSummary();
DataRow row = ShoppingCart.OrderSummary.Rows[0];
lblSubTotal.Text = System.String.Format(“{0:C}“,
row[OrderData.SUB_TOTAL_FIELD]);
<table width=“100%“>
<tr><td>
<asp:Label id=lblSubTotal runat=server>
</asp:Label>
</td></tr>
</table>
• C#:
• ASP.NET:
12. Trabajando con la caché
• Mejora el desempeño de la aplicación Web
• Caché de salida
• Almacena y devuelve páginas y objetos
• Cacheo de páginas
• Cacheo fragmentado
• Reglas de expirado
• APIs de la Cache
• Personalizar los principios de la cache
13. Migración desde ASP hacia ASP.NET
• ASP y ASP.NET pueden coexistir en el mismo
servidor
• Hacer uso de las características ASP.NET
• Para migrar, los ficheros ASP tienen que ser
modificados
• Desempeño
• Código Gestionado vs. código sin gestionar
• Asociacion temprana vs. tarde
14. Detalles de la migración
• Estructura
• Bloques de código y directivas
• Seguridad
• ASP.NET viene con un modelo de seguridad
comprehensivo
• Lenguajes
• C#, Visual Basic.NET
• Data Access
• ADO hacia ADO.NET
15. Servicios Web XML
• Component Object Model (COM).
• Remote Method Invocation (RMI).
• Common Object Request Broker Architecture (CORBA).
• Internet Inter-ORB Protocol.
No interoperan fácilmente, debido a las
dependencias de un lenguaje particular o de
un sistema operativo o de protocolos
específicos de modelos de objetos.
16. Qué es un servicio web XML 1/3
• Diseñado para garantizar la interoperabilidad entre las
diversas plataformas de desarrollo de aplicaciones
existentes hoy en día.
17. Qué es un servicio web XML 2/3
• Es una unidad de código que puede activarse a través
del uso de pedidos HTTP.
• Permite además que programas desarrollados en
diferentes lenguajes puedan comunicarse entre sí de un
modo estándar.
18. Qué es un servicio web XML 3/3
• La llave fundamental de su éxito ha sido su diseño del
uso de un modelo de mensajes basados en texto para
implementar la comunicación.
19. Características principales
• Los servicios Web XML solo pueden ser accedidos vía
HTTP.
• Trabajan en un ambiente sin estado, de forma que cada
pedido origina un nuevo objeto que se crea para
satisfacerlo.
• Solo puede manipular elementos que puedan ser
expresados totalmente en XML.
20. “Hello world” en C#
<%@ WebService Language="C#" Class="Hello" %>
using System.Web.Services;
[WebService(Namespace="urn:Hello")]
public class Hello
{
[ WebMethod ]
public string sayHello(string name)
{
return "Hello " + name;
}
}
21. Definición de .NET Remoting
• Es un sistema genérico cuyo objetivo principal es la
comunicación entre diferentes aplicaciones.
• Los objetos .NET son expuestos a procesos remotos, de
forma que se potencia la comunicación interprocesos.
22. Definición de .NET Remoting
• Las aplicaciones que participan en la comunicación
pueden estar en diferentes máquinas de la misma red e
inclusive en diferentes máquinas en distintas redes.
23. Características principales
• Elimina las dificultades de DCOM mediante el soporte
de diferentes formatos de protocolos de transporte y de
comunicación.
24. Características principales
• Pueden ser usados mediante cualquier protocolo.
• Soporta opciones de manejo de estado y callbacks.
• Se basa en la existencia de un common language
runtime que contenga las informaciones sobre los tipos
usados.
25. Características principales
• Requiere que los clientes sean construidos usando
Microsoft.NET o cualquier otro framework que soporte
.NET Remoting (un ambiente homogéneo).
26. Características principales
• Los objetos remotos son accesibles mediante los
“canales”.
• Existen dos tipos “TcpChannel” y “HttpChannel”.
27. Hello world
Creando el objeto remoto.
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace CodeGuru.Remoting
{
public class SampleObject : MarshalByRefObject
{
public SampleObject()
{
}
public string HelloWorld()
{
return "Hello World!";
}
}
}
28. Hello world
Creando el servidor para exponer el objeto remoto.
public static int Main(string [] args)
{
// Create an instance of a channel
TcpChannel channel = new TcpChannel(8080);
ChannelServices.RegisterChannel(channel);
// Register as an available service with the name HelloWorld
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(SampleObject),
"HelloWorld",
WellKnownObjectMode.SingleCall );
System.Console.WriteLine("Press the enter key to exit...");
System.Console.ReadLine();
return 0;
}
29. Hello world
Creando el cliente para usar el objeto remoto.
public class SampleClient
{
public static int Main(string [] args)
{
// Create a channel for communicating w/ the remote object
// Notice no port is specified on the client
TcpChannel chan = new TcpChannel();
ChannelServices.RegisterChannel(chan);
// Create an instance of the remote object
SampleObject obj = (SampleObject) Activator.GetObject(
typeof(CodeGuru.Remoting.SampleObject),
"tcp://localhost:8080/HelloWorld" );
// Use the object
Console.WriteLine(obj.HelloWorld());
return 0;
}
}