Unidad de Aprendizaje IV

12
INTRODUCCIÓN a) Presentación y contextualización En la presente unidad veremos cómo se resaltará el proceso de instalaciones de aplicaciones; aprendiendo a utilizar la realización de informes. Teniendo presente los conceptos señalados ya anteriormente se espera que el estudiante este satisfecho de obtener estos conocimientos le den una ventaja superior en al momento de ejercer su profesión, haciendo que este curso mejore los conocimientos orientados a la carrera del estudiante convirtiéndolo en un profesional de calidad. b) Competencia Comprende, cuales son los adecuados procedimientos para realizar un servicio web XML. c) Capacidades 1. Conoce la realización de informes de los servicios web XML. 2. Comprende el procedimiento empleado para la instalación de aplicaciones de servicio web XML. 3. Reconoce las aplicaciones de clientes inteligentes. 4. Diferencia los ensamblados de las reflectiones. d) Actitudes Muestra disposición para las realizaciones de informes. Respeto a las normas de convivencia. Tiene sentido de organización en la instalación de aplicaciones. Perseverancia en las tareas de Psicología colectiva. e) Presentación de Ideas básicas y contenidos esenciales de la Unidad: La Unidad de Aprendizaje 04: Servicio Web XML, comprende el desarrollo de los siguientes temas: TEMA 01: Realización de Informes. TEMA 02: Proceso de Instalación de Aplicaciones. TEMA 03: Aplicaciones de Cliente Inteligente. TEMA 04: Ensamblados y Reflection.

description

DESARROLLO DE APLICACIONES

Transcript of Unidad de Aprendizaje IV

INTRODUCCINa)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 InformesREQUISITOS 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. DescubrimientoUDDI,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 WEB1.Agregar un nuevo elemento tipo Servicio Web al proyecto Web. Nombrar al proyecto: Calculadora.asmx

CREAR UN SERVICIO WEB2.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 ReflectionUno 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.