Java XML Web Services. Desarrollo de Servicios Web XML con JWSDP_1.2 Bajo Plataforma GNU/Linux. Por: Xtecuan! Ufo. (Catedratico GFET)
Objetivos. Presentar los conceptos básicos sobre Web Services. Presentar las principales tecnologías involucradas en la creación de Web Services. Presentar la propuesta Java para el desarrollo de Web Services.
Contenidos. La evolución de los Web Services. Introducción a los Web Services. Repaso a la historia de la informática Distribuida. La era de las redes locales. La era de Internet y la Web. La arquitectura de los Web Services. Herramientas y Marcos de los Web Services de los proveedores. Internet Orientado a los servicios.
Contenidos. La semántica Web. La propuesta de Sun MicroSystems para el desarrollo de Web Services JWSDP1.2. Software Libre Involucrado en JWSDP1.2 Proyecto Apache- Geronimo. En que consiste Geronimo? Ejemplos de tecnologías Java aplicadas al desarrollo de Web Services.
La evolución de los Web Services. Los Web Services XML son aplicaciones modulares autodescriptivas que se publican, se ubican y se invocan desde cualquier lugar de la Web (o dentro de cualquier red local basada en estándares de Internet). Los Web Services XML funcionan por medio del lenguaje XML (Extensive Markup Language), y varios protocolos abiertos desarrollados específicamente para esta tecnología
La evolución de los Web Services. Se dice que el futuro esta en los Web Services, dada su capacidad en el desarrollo de aplicaciones distribuidas. Probablemente en un futuro muy cercano el servicio de Licencias de software sera por subscripción. La idea es llegar al IOS (Internet Operating System), es decir usar software en la red (Internet) que sea independiente de la plataforma que usemos. (OS, y Arquitectura)
Repaso a la historia de la informática Distribuida. Hace años, todas las aplicaciones informáticas de importancia se llevaban a cabo mediante grandes ordenadores. Luego, aparecieron las terminales para conectarse a estos grandes ordenadores, de forma que los usuarios pudieran utilizarlos por medio de comandos en texto normal. Algunos años después, surgió el ordenador personal o PC, desde el cual los usuarios podían ejecutar sus propias aplicaciones.
Repaso a la historia de la informática Distribuida. En los 80's, en particular en el sector de los ordenadores personales, los protocolos de comunicacion no ocupaban un lugar demasiado importante para los desarrolladores, la dificultad consistia en que varias aplicaciones se comunicaran entre si. En los 90's, algunas estructuras de objetos, como COM (Component Object Model) de Micro$oft y CORBA (Common Object Request Broker Architecture), que se comercializo como una iniciativa entre
Repaso a la historia de la informática Distribuida. Entre proveedores de OMG (Grupo de Gestion de Objetos), cobraron popularidad. COM y CORBA eran modelos y arquitecturas diseñadas para la escritura y encapsulamiento del código binario, componentes que eran llamados por los programadores desde cualquier aplicación.
Repaso a la historia de la informática Distribuida. COM y CORBA no eran fácilmente interoperables. En resumen, en estos tiempos lejanos, las máquinas informáticas independientes eran las que dominaban el mundo. Informatica distribuida a nivel de aplicación que se comunica con otra aplicación La comunicación a bajo nivel maquina-maquina ya estaba disponible para los 90's.
La era de las redes locales. Extension de las redes locales a principios de los 90's. La conexion entre maquinas se volvio una prioridad. Los proveedores y las organizaciones que ya contaban con us propias estructuras de modelo-objeto las ampliaron para permitir la comunicacion a traves de redes. OMG establecio el IIOP (Internet Inter- ORB Protocol) como protocolo de cable estandar de CORBA.
La era de las redes locales. Micro$oft introdujo el DCOM (Distributed COM) como su protocolo de cable que permitía cruzar las fronteras entre equipos. Otro poderoso aspirante surgió con posterioridad a IIOP y DCOM, el RMI (Remote Method Invocation) de Sun MicroSystems, utilizado por los usuarios de Java.
La era de Internet y la Web. La conexión de aplicaciones mediante el uso de cualquiera de los protocolos mencionados con anterioridad se caracteriza por un buen funcionamiento, en especial cuando dichas aplicaciones se encuentran en la misma red local. Con la aparición de Internet, y en particular de la Web, la red creció inmensamente, y se volvió extremadamente distribuida y descentralizada.
La era de Internet y la Web. Ni personas, ni empresas eran capaces de tomar la decisión sobre que sistema operativo (Xtecuan! Works in GNU/Linux, Java 2 Platform) o entorno de programación/lenguaje, se ejecutaría en los diversos ordenadores conectados a Internet. Esto significa que las reglas que tienen vigencia en la red local, no funcionan de forma optima en Internet y la Web. La pregunta es: Cuales son los retos actuales en la utilización de Internet y la Web de los protocolos de aplicación distribuida?
La era de Internet y la Web. Primero surgieron las Web Aisladas. Luego surgió la interoperabilidad en aplicaciones y sitios Web por medio de los Frames (Frameset). Otra forma que se dio fue, cuando el servidor Web actua como un cliente de otra aplicación Web y rastrea el contenido pertinente de la pagina. Posteriormente se empleo CGI (Common Gateway Interface), para la publicación de la información (HTTP GET y POST).
La era de Internet y la Web. Luego, se utilizaron aplicaciones tipo Salpicadero Digital (Combinaciones de las anteriores). La mensajería XML en HTTP surgió posteriormente. (Primeros intentos de Web Services) Aplicaciones generadores de contenido dinámico sustituyendo CGI : Perl, ASP, PHP, Los SSI (Server Side Includes), Java Servlet/JSP, etc. XML-RPC (XML-Remote Procedure Call)
Introducción a los Web Services. Los Web Services XML son aplicaciones modulares autodescriptivas que se publican, se ubican y se invocan desde cualquier lugar de la Web (o dentro de cualquier red local basada en estándares de Internet). Los Web Services combinan las mejores prestaciones de la programación con componentes y la programación Web y presentan forma de módulos que pueden volver a utilizarse sin preocuparse por la implementación o por el lenguaje, sistema operativo o modelo de componente utilizado en su generación.
Introducción a los Web Services. Esto implica que ya no es necesario saber lo que hay instalado o como funciona para utilizar su funcionalidad. El acceso a los Web Services se realiza a traves de protocolos de Internet omnipresentes como HTTP o SMTP basados en XML. Los usuarios de los Web Services XML pueden implementarlo en cualquier lenguaje y modelo de componente bajo cualquier sistema operativo.
Introducción a los Web Services. La creación de los Web Services de nivel Superior permite cambiar las aplicaciones estrechamente ligadas a aplicaciones menos ligadas. Aplicaciones Estrechamente Ligadas---> Necesitan Vincularse en la fase de diseño Aplicaciones menos ligadas---> Necesitan vincularse en la fase de ejecución. Estos son mas escalables,manejables, ampliables y menos susceptibles de errores causados por modificaciones que las implementaciones de los mas estrechamente ligados.
Introducción a los Web Services. Los componentes menos ligados presentan desventajas para el programador de la aplicacion, presentan un mayor numero de errores. Las Herramientas y la infraestructura para estos componentes han resultado ser un reto por la falta de estandares necesarios. El proposito fundamental del area de los Web Services consiste en acercar a los usuarios al proceso de creacion de aplicaciones que puedan ligarse y descubrirse de forma dinamica, beneficiarse de la arquitectura de la aplicacion.
Introducción a los Web Services. El concepto de Web Service comenzó a tomar forma definitiva con la introducción de SOAP (Simple Object Access Protocol) como protocolo de mensajería entre ordenadores. SOAP es un protocolo de cable sencillo basado en XML, se diseño para conexión entre ordenadores independientes de sus sistemas operativos, lenguajes de programación o modelos de objetos utilizados (e incluso con la carencia total del modelo de objeto).
Introducción a los Web Services. A pesar de que su nombre pueda parecer que requiere del uso de determinados objetos, SOAP especifica el formato del mensaje que accede e invoca a los objetos, en vez de especificar los objetos en si. En mayo de 2000, el W3C (World Wide Web Consortium http://www.w3c.org/) reconoció la propuesta de SOAP presentada de forma conjunta por un conglomerado de empresas (Ariba Inc., CommerceOne Inc., Compaq Computer Corp., Micro$oft Corp., Development Corp., IBM Corp, Hewlett-Packard Co., etc) Siendo desarrollado en base a un estandar abierto.
Introducción a los Web Services. En la actualidad, SOAP se sigue desarrollando bajo el XML Protocol Working Group en W3C, encargado del desarrollo de SOAP 1.2. En Resumen, XML y SOAP son las tecnologías base de las arquitecturas de los Web Services. Como protocolos de Internet omnipresente los Web Services utilizan HTTP y SMTP....
La arquitectura de los Web Services. Los principales Bloques de construcción de los Web Services presentan tres aspectos paralelos: Concepto de Ubicación. Concepto de Descripción. Concepto de Llamada. Cada bloque consta de una serie de capas, en la figura siguiente se estudian estos bloques como entidades.
La arquitectura de los Web Services. Mensaje/Cable (Invocación) Transporte Descripción (Significado) Descubrimiento Forma en que encajan los conceptos de ubicación, descripción y llamada en un Web Service.
La arquitectura de los Web Services. Para que la aplicación del usuario pueda utilizar un Web Service XML primero es necesario ubicarlo o descubrirlo. (Concepto Ubicación) A continuación, el usuario debe familiarizarse con las posibilidades que ofrece el Web Service XML mediante su descripción (Concepto de Descripción.) Otra forma de pensar en los bloques de construcción es como la representación del significado del Web Service XML, o de manera alternativa, como un
La arquitectura de los Web Services. Metadato o la información descriptiva de Web Service XML. Finalmente el usuario debe poder llamar al Web Service XML proporcionándole los elementos de entrada necesarios y recibiendo la salida apropiada. (Concepto de Llamada) El Bloque de Llamada contiene el Protocolo SOAP y sus diversas ampliaciones. El bloque de construcción del mensaje se sitúa sobre la capa de transporte que, a su vez, consta de protocolos de transporte: Protocolos abiertos de Internet como HTTP y SMTP.
La arquitectura de los Web Services. Desde el punto de vista de un proveedor o desarrollador de Web Services, resulta mas sencillo analizar la arquitectura de los Web Services desde el bloque de llamada y luego subir a la sección de descripción La Llamada, este bloque de los Web Services se centra en el mensaje o nivel de cable de la arquitectura. En este nivel, SOAP es el componente clave. SOAP es un protocolo de formato de mensaje extensible que se vincula a varios protocolos estándar de transporte de Internet, como HTTP y SMTP.
La arquitectura de los Web Services. SOAP es un protocolo de comunicación en base a XML que se utiliza para intercambio de información entre ordenadores, independientemente de sus sistemas operativos, entornos de programación o marcos de modelos de objetos. La especificación, SOAP se define como un protocolo ligero para el intercambio de información estructurada y escrita entre ordenadores en un entorno distribuido y descentralizado.
La arquitectura de los Web Services. SOAP especifica el formato del mensaje de la comunicacion entre ordenadores. Mensaje SOAP: Sobre de SOAP Encabezamiento de SOAP Cuerpo de SOAP Los Mensajes de SOAP son basicamente transmisiones de direccion unica emisorreceptor.
La arquitectura de los Web Services. Ejemplo Sencillo de SOAP: <SOAP-ENV:Envelope xmlns:soap-env= http://xtecuan.com/soap/envelope/ SOAP-ENV:encodingStyle= http://xtecuan.com/soap/encoding > <SOAP-ENV:Body> <m:getseriextecuan xmlns:m= http://xtecuan.com/soap/ufo/ > <serie>number</serie> </m:getseriextecuan> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Herramientas y Marcos de los Web Services de los proveedores. Los pioneros HP y e-speak. e-speak---->servicios electronicos varios. Tambien HP Web Services Platform. Comercio Electronico Dinamico de IBM: Negocio Flexible capaz de adaptarse a los mercados cambiantes. La plataforma.net y.net Framework de Micro$oft--->Casi una copia de Java 2 Platform.
Herramientas y Marcos de los Web Services de los proveedores. Sun MicroSystems y Sun ONE (Open Network Environment). JAXP (API Java para analisis XML) JAXB (API Java para vinculacion XML) JAX-RPC (API Java para RPC basado en XML) JAXM (API Java para Mensajes XML) JAXR (API Java para Registros XML)
Herramientas y Marcos de los Web Services de los proveedores. EbXML (Electronic Bussiness XML). RosettaNet. XCBL (Common Bussiness Library ) BizTalk FrameWork CXML (Commerce XML) etc.
La propuesta de Sun MicroSystems para el desarrollo de Web Services JWSDP1.2. # JavaServer Faces (JSF) v1.0 EA4 # XML and Web Services Security (xwssecurity) v1.0 EA # Java Architecture for XML Binding (JAXB) v1.0.1 # Java API for XML Processing (JAXP) v1.2.3 # Java API for XML Registries (JAXR) v1.0.4 # Java API for XML-based RPC (JAX-RPC) v1.1 EA.
La propuesta de Sun MicroSystems para el desarrollo de Web Services JWSDP1.2. # SOAP with Attachments API for Java (SAAJ) v1.2 EA # JavaServer Pages Standard Tag Library (JSTL) v1.1 EA # Java WSDP Registry Server v1.0_05 # Ant Build Tool 1.5.1 # Apache Tomcat v5 development container.
Software Libre Involucrado en JWSDP-1.2. Jakarta Apache Tomcat 5. HTTP Servlet and Java Web Application Container.
Proyecto Apache-Geronimo. Apache Geronimo is a new effort coordinated by the Apache Software Foundation to make a J2EE compatible container. Osea un Contenedor de Aplicaciones Java y Contenedor de Web Services XML compatible con JAVA 2 PLATFORM ENTERPRISE EDITION. Bajo la Apache License. Url = http://incubator.apache.org/projects/geronimo.html
Ejemplos de tecnologías Java aplicadas al desarrollo de Web Services. Ver Demo de JWSDP 1.2.
Preguntas y Respuestas!!! Aqui es donde usted puede Interrogarme!!!! Presentaron: Y Duke! Powered by: GNU/Linux Tomcat 5 J2SDK1.4.2-beta-b19 JWSDP-1.2
Demostracion JWSDP-1.2 Presento: Powered by: GNU/Linux Tomcat 5 J2SDK1.4.2-beta-b19 JWSDP-1.2