Apuntes v2

Embed Size (px)

Text of Apuntes v2

DESARROLLO DE APLICACIONES WEB USANDO J2EE Y SERVICIOS WEB

2

NDICE1. Introduccin..................................................................3 2. Conceptos bsicos de J2EE............................................6 2.1.................................................................................M odelos multicapa para desarrollo de aplicaciones Web .................................................................................8 2.2.................................................................................Pa trn MVC..................................................................10 3. Servlets.........................................................................12 3.1.................................................................................Ci clo de vida de un servlet..........................................12 3.2.................................................................................Ej emplo simple de servlet...........................................15 3.3.................................................................................Ca ractersticas avanzadas de los Servlets....................15 3.3.1..........................................................................Pa rmetros de inicializacin....................................15 3.3.2..........................................................................Se guimiento de sesin............................................16 3.3.3..........................................................................Re envo de peticiones..............................................18 4. JSP (Java Server Pages).................................................19 4.1.................................................................................Ej ecucin de pginas JSP.............................................20 4.2.................................................................................El ementos de JSP........................................................21 4.2.1..........................................................................El ementos de script................................................22 4.2.2..........................................................................Ob jetos implcitos....................................................23 4.2.3..........................................................................Di rectivas................................................................23 4.2.4..........................................................................Ac ciones..................................................................26 5. EJB (Enterprise Java Beans)...........................................29 5.1.................................................................................La arquitectura Enterprise Java Bean............................30 5.1.1..........................................................................En terprise Java Beans..............................................30 5.1.2..........................................................................Co ntenedor EJB........................................................32

3

5.2.................................................................................Ti pos de Enterprise Java Beans...................................33 5.3.................................................................................Ve ntajas de la arquitectura Enterprise Java Beans.......34 6. Servicios Web................................................................37 6.1.................................................................................Q u es un servicio Web?.............................................37 6.1.1..........................................................................Ar quitectura de Servicios Web (WSA).....................37 6.2.................................................................................Fu ncionalidad de transporte de WSA: SOAP.................40 6.2.1..........................................................................Ti pos de mensajes SOAP........................................41 6.3.................................................................................Fu ncionalidad de descripcin de WSA: WSDL...............42 6.4.................................................................................Fu ncionalidad de descubrimiento de WSA: UDDI..........45 6.4.1..........................................................................Ti pos de registros UDDI..........................................47 6.5.................................................................................Im plementacin de la arquitectura WSA......................48 7. Otras referencias en Internet........................................51

4

1. INTRODUCCINLas aplicaciones Web son un modelo de desarrollo de aplicaciones distribuidas basadas en el protocolo IP que actualmente centran la atencin empresarial del mundo del software. Actualmente, para implementar este modelo software es necesario usar una plataforma de desarrollo capaz de proporcionar ciertos servicios a los diseadores de soluciones y a los programadores. Estas plataformas de desarrollo deben facilitar y automatizar hasta donde puedan el ciclo de vida completo de las aplicaciones distribuidas y deben tener en cuenta que los usuarios finales no solo son los clientes de las aplicaciones desarrolladas sino otros desarrolladores de soluciones que pueden usar los componentes modulares generados por el desarrollo distribuido y que puede ofrecer a los clientes. Esta ltima caracterstica se engloba dentro del llamado B2B (Business To Business), del cul el mximo exponente son los llamados servicios Web. En la ltima seccin de estos apuntes se analiza con ms profundidad esta tecnologa. Los requisitos de estas plataformas de desarrollo deben ser: 1. Escalabilidad: Ha de ofrecer una buena escalabilidad tanto horizontal como vertical de modo que si aumenta la carga del sistema podamos aadir servidores o ampliar los existentes sin que sea necesario realizar modificaciones. 2. Mantenibilidad: Ha de permitir aadir, modificar o eliminar componentes existentes sin que se modifique el comportamiento del sistema. 3. Fiabilidad: Debe ser capaz de seguir ofreciendo servicios a sus clientes a pesar de posibles fallos de los componentes del sistema. 4. Disponibilidad: Debe tener el soporte de arquitecturas tolerantes a fallos, sistemas de redundancia, etc., que aseguren que los sistemas estar siempre disponible. 5. Extensibilidad: Ha de ser posible aadir nuevos componentes y capacidades al sistema sin que se vean afectados el resto de componentes. 6. Manejabilidad: Los sistemas han de ser fcilmente manejables y configurables. 7. Seguridad: Se ha de proporcionar buenos sistemas de seguridad tanto a nivel de autenticacin, como de autorizacin y como de transporte. 8. Rendimiento: Se ha de ofrecer automticamente soporte de clustering, balanceo de carga, pools de objetos, pools de conexiones, caches, y en general mecanismos que permitan aumentar el rendimiento de manera transparente al usuario. En la actualidad las plataformas ms importantes son aquellas que disponen del apoyo de gran cantidad de empresas, entidades o

5

asociaciones y que disponen de grupos de estandarizacin que aseguren el futuro de las mismas. Ahora mismo las plataformas ms importantes son tres: CORBA .NET J2EE CORBA Sin duda, el modelo a seguir por cualquier plataforma empresarial. Las ventajas que ofrece CORBA son muy importantes: 1. Soporte de mltiples sistemas operativos. 2. Soporte de mltiples lenguajes. 3. Gran cantidad de servicios: mensajera, eventos, transacciones, persistencia, etc. 4. Controlada por un organismo: el OMG. Las ventajas son realmente muy importantes, an as, CORBA arrastra unos problemas que suponen un verdadero lastre: 1. Complejidad: CORBA es una plataforma de desarrollo muy compleja, aunque existen capas de abstraccin que facilitan el desarrollo de aplicaciones, lo cierto es que desarrollar un simple programa de "Hola Mundo" no es una labor trivial. 2. Burocracia: La evolucin de las especificaciones de CORBA est sujeta a demasiados pasos de burocracia, lo que origina que la evolucin de la plataforma sea lenta. 3. Pocas soluciones libres: Como consecuencia de su complejidad y de la lentitud de su evolucin se deriva que existen pocas soluciones libres. OpenORB es un ejemplo y existen algunos otros pero la cantidad no es demasiado elevada. .NET La plataforma de desarrollo empresarial de Microsoft desemboc en el panorama empresarial hace poco tiempo y ofrece a los desarrolladores algunas ventajas interesantes: 1. Soporte de mltiples lenguajes: Aunque no soporte todas sus caractersticas, lo cierto es que con .NET es posible desarrollar aplicaciones utilizando simultneamente varios lenguajes de programacin. 2. Ideal para entornos Microsoft: Si en nuestra empresa disponemos de gran cantidad de software y hardware dependiente de Microsoft, probablemente la mejor opcin para continuar desarrollando sea esta plataforma, ya que su integracin con los productos de la empresa es perfecta. 3. Visual Studio .NET: La plataforma .NET dispone de esta gran herramienta que adems de su potencia ofrece un entorno homogneo de desarrollo.

6

4. Requiere desarrolladores poco experimentados: Bajo la plataforma de desarrollo de Microsoft es posible utilizar lenguajes como VB .NET que hacen muy sencilla la creacin de aplicaciones empresariales. De este modo es posible tener un equipo de desarrolladores poco experimentados y sin embargo que stos puedan crear fcilmente aplicaciones. An as, si la lista de ventajas es bastante grande, la lista de desventajas no le tiene nada que envidiar: 1. No soporta mltiples sistemas operativos: El mundo de .NET gira en torno al sistema operativo Windows y aunque se estn intentando trasladar partes importantes de la plataforma, como el CLR (Common Language Runtime) o C#,