Está en la página 1de 11

INTRODUCCIN

a) Presentacin y contextualizacin
En la presente unidad veremos cmo se resaltar el proceso de
instalaciones de aplicaciones; aprendiendo a utilizar la realizacin de
informes. Teniendo presente los conceptos sealados ya anteriormente
se espera que el estudiante este satisfecho de obtener estos
conocimientos le den una ventaja superior en al momento de ejercer su
profesin, haciendo que este curso mejore los conocimientos
orientados a la carrera del estudiante convirtindolo en un profesional
de calidad.
b) Competencia
Comprende, cuales son los adecuados procedimientos para realizar un
servicio web XML.
c) Capacidades
1. Conoce la realizacin de informes de los servicios web XML.
2. Comprende el procedimiento empleado para la instalacin de
aplicaciones de servicio web XML.
3. Reconoce las aplicaciones de clientes inteligentes.
4. Diferencia los ensamblados de las reflectiones.
d) Actitudes
Muestra disposicin para las realizaciones de informes.
Respeto a las normas de convivencia.
Tiene sentido de organizacin en la instalacin de aplicaciones.
Perseverancia en las tareas de Psicologa colectiva.
e) Presentacin de Ideas bsicas y contenidos esenciales
de la Unidad:
La Unidad de Aprendizaje 04: Servicio Web XML, comprende el
desarrollo de los siguientes temas:
TEMA 01: Realizacin de Informes.
TEMA 02: Proceso de Instalacin de Aplicaciones.
TEMA 03: Aplicaciones de Cliente Inteligente.
TEMA 04: Ensamblados y Reflection.

Tema 01: Realizacin de Informes


REQUISITOS DE UN WEB SERVICE
Interoperabilidad: Un servicio remoto
debe permitir su utilizacin por clientes de
otras plataformas.
Amigabilidad con Internet: La
solucin debe poder funcionar para soportar
clientes que accedan a los servicios remotos
desde internet.

Interfaces Fuertemente Tipadas: No debera haber


ambigedad acerca del tipo de dato enviado y recibido desde un
servicio remoto. Ms an, los tipos de datos definidos en el servicio
remoto deben poderse corresponder razonablemente bien con los
tipos de datos de la mayora de los lenguaje de programacin
procedimentales.
Posibilidad de Aprovechar los Estndares de Internet
Existentes: La implementacin del servicio remoto debera
aprovechar estndares de Internet existentes tanto como sea posible
y evitar reinventar soluciones a problema que ya se han resuelto.
Una solucin construida sobre un estndar de Internet ampliamente
adoptado puede aprovechar conjuntos de herramientas y productos
existentes creados para dicha tecnologa.
Soporte Para Cualquier Lenguaje: La solucin no debera
ligarse a un lenguaje de programacin particular Java RMI, por
ejemplo, est ligada completamente a lenguaje Java. Sera muy
difcil invocar funcionalidad de un objeto Java remoto desde Visual
Basic o PERL. Un cliente debera ser capaz de implementar un
nuevo servicio Web existente
independientemente del lenguaje de
programacin en el que se halla escrito el cliente.

Soporte Para Cualquier Infraestructura de


Componente Distribuida: La solucin no debe estar
fuertemente ligada a una infraestructura de componentes en
particular. De hecho, no se bebera requerir el comprar, instalar o
mantener una infraestructura de objetos distribuidos, solo construir
un nuevo servicio remoto utilizar un servicio existente. Los
protocolos subyacentes deberan proporcionar un nivel base de
comunicacin entre infraestructura de objeto distribuidos existentes
tales como DCOM y CORBA.
Bloques Constructivos de Servicios Web
Se muestran los bloques constructivos principales
necesarios para facilitar las comunicaciones remotas
entre aflicciones.
Descubrimiento
UDDI,DISCO
Descripcin
WSDL, Esquema XML, Docs

Formato de Mensaje
SOAP
Codificacin
XML
Transporte
HTTP,SMTP y otros

Descubrimiento: La aplicacin cliente que necesita acceder a


la funcionalidad que expone un Servicio Web necesita una forma
de resolver la ubicacin de servicio remoto. Se logra mediante un
proceso llamado, normalmente descubrimiento (discovery). El
descubrimiento se puede proporcionar mediante un directorio
centralizado as como por otros mtodos ad hoc. En DCOM, el
servicio de descubrimiento lo proporciona el Administrador de
control de servicios (SCM, Services Control Manager).
Descripcin: Una vez que se ha resuelto el extremo de un
servicio Web dado, el cliente necesita suficiente informacin para
interactuar adecuadamente con el mismo. La descripcin de un
servicio Web implica meta datos estructurados sobre la interfaz que
intenta utilizar la aplicacin cliente as como documentacin escrita
sobr el servicio Web incluyendo ejemplo de uso. Un componente
DCOM expone meta datos estructurados sobre sus interfaces
mediante una biblioteca de tipo (typelib). Los meta datos dentro de
una typelib de componente se guardan en un formato binario
propietario a los que se accede mediante una interfaz de
programacin de aplicacin (API) propietaria.
Formato del Mensaje: Para el intercambio de datos, el cliente
y el servidor tienen que estar de acuerdo en un mecanismo comn
de codificacin y formato de mensaje. El uso de un mecanismo
estndar de codificar los datos asegura que los datos que codifica
el cliente los interpretar correctamente el servidor. En DCOM los
mensajes que se envan entre un cliente y un servidor tienen un
formato definido por el protocolo DCOM Object RPC (ORPC).
Codificacin: Los datos que se trasmiten entre el cliente y el
servidor necesitan codificarse en un cuerpo de mensaje. Dcom

utiliza un esquema de codificacin binaria para serializar los datos


de los parmetros que se intercambian entre el cliente y el servidor.
Transporte: Una vez se ha dado formato al mensaje y se han
serializado los datos en el cuerpo del mensaje se debe transferir
entre el cliente y el servidor utilizando algn protocolo de
transporte. DCOM dispone de varios protocolos propietarios como
TCP, SPX, NetBEUI y NetBIOS sobre IPX.

Tema 02: Proceso de Instalacin de


Aplicaciones
CREAR UN SERVICIO WEB
1. Agregar un nuevo elemento tipo Servicio Web al proyecto Web.
Nombrar al proyecto:
Calculadora.asmx

CREAR UN SERVICIO WEB

2.

Escribir el cdigo que define la funcionalidad del servicio.

CREAR UN SERVICIO WEB


3.
Ejecutar archivo .asmx en el explorador.

Al hacer clic en el vnculo Sumar se puede ejecutar y probar el


Servicio Web.
Nota: observar las opciones para ver la descripcin de servicios
(Service Description) y probar la funcin del Servicio Web (Sumar).


Al hacer un clic en la opcin Service Description se muestra el
archivo

XML que escribe el servicio (protocolos, parmetros

Tema 03: Aplicaciones de Cliente


Inteligente

Nota: En primer lugar, permtanme comparar las caractersticas de

un cliente ligero frente a un cliente pesado o ricos.


El cliente ligero es generalmente administrado centralmente por la
aplicacin y los datos se ejecutan en el servidor. Con el fin de acceder
a la aplicacin todo lo que tienes es un navegador, por ejemplo. Eso
hace que sea fcil de administrar e implementar. Tambin significa
que se puede llegar a un gran nmero de usuarios sin mucho
esfuerzo.

Por otro lado la experiencia del usuario no es tan grande debido a las
limitaciones de un navegador. Interfaces de usuario ricas son
posibles, pero complejas de desarrollar. El mayor inconveniente de
este modelo es su dependencia de la red. En
caso de que perdi su conexin de red no se
puede utilizar la aplicacin ms.

En contraste con los que tenemos los clientes


pesados, o ricos. Por lo general son aplicaciones
nativas que da al usuario una interfaz muy rica y
sensible, ya que no tiene ningn retraso de la red. El
inconveniente de este enfoque es que la huella de
estos clientes pesados se suele dejar de fumar
grande y una de las razones por las que es difcil de
implementar. El otro es que hay una gran cantidad
de dependencias de la plataforma.

Con la introduccin de los clientes de servidores administrados,


tambin llamada de cliente inteligente el enfoque consista en
combinar los beneficios de la experiencia de cliente enriquecido
(respuesta de usuario rica, la productividad del desarrollador) y Thin
Client (facilidad de despliegue, gestin del
cambio fcil, amplio alcance).

PRINCIPALES ATRIBUTOS DE LAS APLICACIONES DE


CLIENTE INTELIGENTE:
Usa el poder de procesamiento local.
Consume servicios Web XML.
Soporta escenarios en y fuera de
lnea.
Adaptable al dispositivo husped.
Desarrollo centralizado y modelo de
actualizacin.

Tema 04: Ensamblados y Reflection


Uno de los pilares del Framework NET y una de las mayores ventajas
del CLR es la gran cantidad de informacin que tenemos disponible
en tiempo de ejecucin. El sistema de reflexin permite interrogar esta
informacin y crear cdigo al vuelo, permitiendo
crear fcilmente sistemas basados en plug-ins.

Aunque siempre pensamos que es un fichero, un ensamblado es


realmente un contenedor lgico de las distintas partes de datos que el
CLR necesita para ejecutar cdigo: metadatos de ensamblado,
metadatos de tipo, cdigo (IL) y recursos.
El Metadata o manifest incluye informacin que define el ensamblado,
como el nombre, versin, strongname e informacin de la cultura. Los
metadatos de tipos es toda la informacin que describe, incluyendo el
espacio de nombres, los nombres de las clases (tipos) y miembros de
una clase (mtodos, propiedades y constructores).
El cdigo es el cdigo de lenguaje intermedio (IL) que se compila a

cdigo mquina cuando el ensamblado se ejecuta. Los recursos son


objetos (cadenas, imgenes o ficheros) que se utilizan desde el
cdigo.
La mayora de veces, todas estas partes de un ensamblado se
compilan en un nico fichero, aunque esto no debe ser siempre
necesariamente as. Los metadatos de ensamblado s que necesitan
estar en el ensamblado principal, pero los metadatos de tipos, cdigo
y recursos se pueden referenciar desde otros ficheros.

Los mdulos son contenedores de tipos en un ensamblado. En


general, utilizaremos mltiples mdulos por ensamblado slo en
casos muy especiales. Visual Studio no soporta mltiples mdulos por
ensamblado, as que si queremos crear ensamblados multi-mdulo
necesitaremos hacerlo mediante la lnea
de comandos o mediante otras
herramientas, como por ejemplo MSBuild.

Para examinar un ensamblado tenemos que instanciar un objeto de la


clase Assembly mediante alguno de los nueve siguientes mtodos
estticos:
GetAssembly, GetCallingAssembly, GetEntryAssembly,
GetExecutingAssembly, Load, LoadFile,LoadFrom,
ReflectionOnlyLoad, ReflectionOnlyLoadFrom.

string fullName = "System.Drawing, Version=2.0.0.0, Culture=neutral,


PublicKeyToken=b03f5f7f11d50a3a";
Assembly a= Assembly.ReflectionOnlyLoad(fullName);
Console.Write("Location: {0}", a.Location);
// Lanza una excepcin porque se carga slo para reflexinobject o =
a.CreateInstance("System.Drawing.Bitmap");
Una vez tenemos una instancia de clase Assembly, podemos
interrogar las propiedades del ensamblado
mediante los siguientes mtodos y
propiedades.
Propiedades:EntryPoint, FullName,
GlobalAssemblyCache, Location,
ReflectionOnly.
Mtodos: CreateInstance,
GetCustomAttributes, GetExportedTypes,
GetFile, GetFiles, GetLoadedModules,
GetModule,GetModules, GetName,
GetSatelliteAssembly, GetTypes, IsDefined.
El siguiente cdigo muestra el nombre todos los mdulos del ensamblado
que est en ejecucin.
Assembly a = Assembly.GetExecutingAssembly();
Console.WriteLine("Nombre completo: {0}",
a.FullName);
Console.WriteLine("Ubicacin: {0}", a.Location);
Console.WriteLine("Slo reflexin?: {0}",
a.ReflectionOnly);
Module[] mods = a.GetModules();
foreach (Module m in mods)
{
Console.WriteLine("Module Name: {0}", m.Name);
}
ENSAMBLADO USANDO REFLECTION
En este cdigo veremos cmo saber las clases que contiene un
ensamblado, esto puede ser til para cargar dinmicamente (en
tiempo de ejecucin) alguna de las clases que contiene, es decir,
crear nuevos objetos de alguna de esas clases, como por ejemplo un
formulario, ya que al fin y al cabo, un formulario no es ni ms ni
menos que una clase.
Cuando trabajamos con VB6, podemos acceder a una coleccin que
nos indica los formularios en ejecucin, es decir, los formularios que
nuestra aplicacin ha cargado en la memoria (instanciado), lo que no
es posible (con VB6) es averiguar los formularios (y clases) que
nuestra aplicacin contiene. Realmente en VB6 puede que no tenga
mucho sentido, salvo algunas ocasiones, saber cules son los

formularios que la aplicacin contiene... pero en .NET si que puede


tener ms inters ya que podemos crear nuestros propios
ensamblados de forma dinmica, es decir, "al
vuelo", todo ello mediante cdigo.