construccionportales giraw3c 24-11-2004

Upload: sergio-adrian-martinez-diaz

Post on 07-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    1/27

    Construcción de portales

    Fernando Bellas PermuyDepartamento de Tecnologías de la Información y las Comunicaciones (TIC)

    Universidad de A Coruñahttp://www.tic.udc.es/~fbellas

    [email protected]

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    2/27

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    3/27

    Portales

    n Papeles de un portaln Integración de aplicaciones a nivel de interfaz de usuarion  Acceso personalizadon De utilidad tanto en Internet como intranets

    n Portales de primera generaciónn Monolíticosn Dificultad de desarrollo y mantenimiento

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    4/27

    Portales de segunda generación (1)

    n Tienen sus orígenes en portales tipo My Yahoo

    (my.yahoo.com

    )n Permiten que cada usuario disponga de una o varias

    páginas compuestas por portlets personalizablesn Portlet: mini-aplicación Web interactiva, local o remota al

    portal, que devuelve fragmentos de markup (HTML, WML,etc)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    5/27

    Portales de segunda generación (2)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    6/27

    Portales de segunda generación (3)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    7/27

    Portales de segunda generación (y 4)

    n Enfoque orientado a componentesn Favorece el desarrollo, mantenimiento y reusabilidad

    n En los últimos años han surgido un gran número deservidores de portales (“portal servers”)n Ejemplos: BEA WebLogic Portal, IBM WebSphere Portal, Sun

    One Portal Server, Oracle Application Portal Server, SAPPortal, Vignette Application Portal, Microsoft SharePointPortal Server, Red Hat Enterprise Portal, Jakarta Jeetspeed,eXo Platform, etc

    n Suelen proporcionar un portal pre-construido en el que es

    posible instalar portlets

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    8/27

    ¿Por qué se necesitan estándares?

    n Las primeras versiones de los servidores de portales

    presentan dos problemasn Problema 1: sólo permiten desarrollar portlets localesn Problema 2: los portlets desarrollados con un determinado

    portal no se pueden instalar en otro portal

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    9/27

    Problema 1 (1)

    Portlet “BBC World News” 

    Portlet “BBC Tech News” 

    Portlet “Stock News” 

    Portlet “Stock Quote” 

    Portlet “My Bookmarks” Portlet “Tip Of The Day” 

    Portal

    Servicio “BBC World News” (www.bbc.co.uk)

    Servicio “BBC Tech News” (www.bbc.co.uk)

    Servicio “Stock News” (www.xignite.com)

    Servicio “Stock Quote” (www.xignite.com)

    XML/HTTP

    XML/HTTP

    SOAP/HTTP

    SOAP/HTTP

    n

     Arquitectura clásica de un portal basado en portlets

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    10/27

    Problema 1 (y 2)

    n Consecuenciasn Cualquier portal que integre los servicios de la BBC o de

    Xignite => debe re-implementar la interfaz gráfica de losportlets

    n Si se desea construir otro portal que use los portlets “MyBookmarks” y “Tip Of The Day” => es preciso volver ainstalarlos en el nuevo portal (si está construido con elmismo servidor de portales) o desarrollarloscompletamente (en otro caso)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    11/27

    Solución: portlets remotos (1)

    Portlet “My Bookmarks” 

    Portlet “Tip Of The Day” 

    Portlet “BBC WorldNews”

    Portlets locales

    Portlet “BBC TechNews”

    Portlet “StockNews”

    Portlet “StockQuote”

    Productor BBC(www.bbc.co.uk)

    Productor Xignite(www.xignite.com)

    Productor Portal 1

    Portal 1 Portal 2

    Interfaz WSDL estándar

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    12/27

    Solución: portlets remotos (y 2)

    n En Septiembre del 2003, OASIS (Organization of the

     Advancement of Structured Information Standards)publicó la primera versión del estándar WSRP (WebServices for Remote Portlets)n http://www.oasis-open.org/committees/

    tc_home.php?wg_abbrev=wsrpn Especifica el conjunto de interfaces WSDL que debe

    implementar un productor de portletsn Productor y consumidor pueden usar distintas tecnologías

    (J2EE, .NET, etc)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    13/27

    Problema 2 (1)

    n Debería ser posible instalar los portlets desarrollados

    en un servidor de portales en otro diferente, siempreque usen la misma tecnología (e.g. J2EE)n Evita dependencias con respecto al fabricante

    n El estándar WSRP no define este APIn

    WSRP define un API para exportar los portlets de unproductor a consumidores remotos, y no para desarrollarportlets locales

    n Se precisa un API quen Sea estándar para cada lenguaje de programaciónn Permita usar las mismas tecnologías que se usan para

    desarrollar aplicaciones Web (e.g. Java/JSP o C#/ASP.NET)

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    14/27

    Problema 2 (y 2)

    n En Octubre del 2003, se publicó la primera versión de

    la especificación de portlets Java (JSR 168)n http://jcp.org/aboutJava/communityprocess/final/jsr168n  API estándar para desarrollar portlets en Javan Compatibilidad con WSRP

    n

    Recientemente han surgido dos proyectos enGotDotNet para permitir que Microsoft SharePointn Pueda consumir portlets WSRPn Pueda exportar sus portlets locales mediante WSRPn http://www.gotdotnet.com/team/sharepoint

    Í

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    15/27

    Índice

    n Motivaciónn Estándar WSRP (Web Services for

    Remote Portlets)

    n

    Especificación de Portlets Javan  Arquitectura de un portal basado en

    estándares

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    16/27

    Modos y estados de ventana

    n Modosn Indican los tipos de funcionalidad que puede realizar un

    portletn Modos estándares: view, edit, help y  preview

    n Estados de ventanan

    Indican la cantidad de espacio que se le asignará al portleten la páginan Estados estándares: normal,  minimized ,  maximized ysolo

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    17/27

    Interfaces de un productor

     “Registration”  “Service Description” 

     “Portlet Management”  “Markup” 

    ngetMarkup

    n performBlockingInteraction

    OpcionalesObligatorias

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    18/27

    Ejemplo – Usuario final (1)

     _  + e X Stock Quote ?

    Symbol Last Change

    ORCL 12.31 -0.22IBM 90.43 -0.85

     _  + e X Stock News ?

    ContenidoStock News

     _  + v X Stock Quote ?

    ORCL RemoveIBM Remove

    Symbol  AddSUNW

     _  + e X Stock News ?

    ContenidoStock News

     _  + v X Stock Quote ?

     _  + e X Stock News ?

    ContenidoStock News

    ORCL RemoveIBM RemoveSUNW Remove

    Symbol  Add

    1: Click en “e” (edit) sobre

    Stock Quote

    2: Click en “Add” sobreStock Quote

    3: Click en “v” (view) sobre

    Stock Quote

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    19/27

    Ejemplo – Usuario final (y 2)

     _  + e X Stock Quote ?

    Symbol Last Change

    ORCL 12.31 -0.22IBM 90.43 -0.85SUNW 64.0 0.47

     _  + e X Stock News ?

    ContenidoStock News

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    20/27

    Ejemplo – Interacción Consumidor/Productor

    Productor XignitePortal

    1: Click en “e” (edit)sobre Stock Quote

    1.1: getMarkup

    2: Click en “Add”sobre Stock Quote

    2.1: performBlockingInteraction

    2.2: getMarkup

    2.3: getMarkup

    3: Click en “v” (view)

    sobre Stock Quote 3.1: getMarkup

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    21/27

     Aspecto visual de los portlets

    n Para lograr un look-and-feel consistente en las

    páginas del portaln WSRP define un conjunto estándar de estilos CSSn Los portlets deben usar estos estilosn Los portales deben proporcionar una hoja CSS con

    definiciones concretas para los estilos

    Í

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    22/27

    Índice

    n Motivaciónn Estándar WSRP (Web Services for

    Remote Portlets)n

    Especificación de Portlets Javan  Arquitectura de un portal basado en

    estándares

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    23/27

    El contenedor de portlets (1)

    n  Al igual que los servlets, los portlets se ejecutan

    dentro de un contenedorn Es una extensión de un contenedor de servlets

    n Pero un portlet no es un tipo especial de servlet

    n Soporta “aplicaciones portlet” n

    Extensión de aplicaciones Web J2EE (ficheros .war)n  Adicionalmente cada aplicación portlet contiene

    n Uno o más portlets

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    24/27

    El contenedor de portlets (y 2)

    n  Arquitectura del servidor de portales

    Contenedor

    de portlets

     AplicaciónWeb del

    portal

    Servidor de portales

     Apl.portlet

     Apl.portlet

    [...]

    n La especificación de portlets Javan Estandariza el API que ofrece el contenedor a los portletsn El diseño del API tiene cierto parecido con el API de servletsn Permite delegar la generación de markup en páginas JSP

    Í d

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    25/27

    Índice

    n Motivaciónn Estándar WSRP (Web Services for

    Remote Portlets)n Especificación de Portlets Javan  Arquitectura de un portal basado

    en estándares

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    26/27

     Arquitectura de un servidor de portales Java basado en estándares

    Contenedorde portlet

    Java

     AplicaciónWeb delportal

    Servidor de portales

     Apl.portlet

     Apl.portlet

    [...]

    Portletconsum.

    WSRP

    ProductorWSRP

    Navegador

    Otrosportales

    Productor

    WSRP

    Internet/Intranet

  • 8/18/2019 ConstruccionPortales GiraW3C 24-11-2004

    27/27

    Proyectos Jakarta Pluto y Apache WSRP4J

    n Para facilitar la adopción de estándares, Apache ha

    arrancado dos proyectosn Jakarta Pluto

    n http://jakarta.apache.org/pluton Implementación de referencia de un contenedor de portlets

    Java

    n  Apache WSRP4Jn http://ws.apache.org/wsrp4jn Funciona sobre Jakarta Pluto, y proporciona los componentes

     “productor WSRP” y “portlet consumidor WSRP” 

    n

     Algunos servidores de portales están integrandoestos proyectos (e.g. Jakarta Jetspeed 2)