Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Portal WorkGroup

VIEWS: 5 PAGES: 29

  • pg 1
									Portal WorkGroup

D Giaretta
Task
• …concentrate on developing the
  portal, providing a simple front end
  and developing a means for adding
  independent modules to the portal
  (portlets);
  – the technology will be based on Cocoon.
• A sample portlet will be developed
  which will allow a simple interactive
  query of the Registry web service.
Portals and Portlets

• Portals provide a secure, single point of
  interaction with diverse information,
  business processes, and people,
  personalized to a user's needs and
  responsibilities. (IBM working definition)
• Portlets – visibly active component
  displaying data within a Portal page
Technologies
• Jakarta (various)
  – JetSpeed: to create enterprise information portal
  – Velocity: template engine – allows information
    import from Java classes for dynamic content
  – Cocoon: provides a framework for generating
    pages from XML merged with XSL templates
  – Turbine: database connection pooling, user and
    session management facilities and security
    management
  – Torque: persistence layer
• Sun Engine Portal portlet now Open Source
• WebSphere
• ……..
    Portal Planning - questions
•   How many users?
•   Is there already an existing authentication database for these users, do I
    want to use it?
•   How many languages?
•   How many media types do I want to support?
•   How many and which segments/target groups do I have to serve
•   What content do I want to publish?
•   How can I get access to this content (disk, db, syndication, etc...)?
•   Who is going to update the site content and with what editorial process?
•   What applications do I need to connect to?
•   Are they already using a single authentication db?
•   How do I bridge to these apps (servlet, http, SOAP, CORBA, etc...)?
•   For each user target group, what application/content do they need to
    access?
•   Can they personalize their portal view?
•   What access rights should they have?
•   What will be your portal navigation?
•   Do you plan to set up different thematic portal views or a single integrated
    workspace?
Then - decisions
• What kind of software tools and features
  you'll need.
• What kind of skills you'll require.
• An estimate of the amount of work required
  to setup your portal.
• What budget you'll need to complete your
  portal transition.
• Where to start
Architecture
         Client
        Browser

        JetSpeed
                           WebService
                            WebService
                            WebService

  Cocoon      Velocity
  Turbine         Torque
        TomCat
Portlet API
• JSP 168
 – Supported by JetSpeed
 – See reference
Timescales and Resources
• Velocity Portlet demo
• Velocity/JSP Portlet connecting to
  Web Service
  – Simple request
  – 2 way interaction
• Map authentication/authorisation to
  CAS
• Portlet to existing VO Web service
• Portlet to WSDL to generated
  interface form
• Portlet to Registry Web Service
Questions for Overall Architecture

• How should authentication/
  authorisation map to CAS/GRID
• Load expected
• Number of users expected
• Types of Web Services
Project set-up

•   Guinea pigs?
•   CVS
•   Coding standards
•   ANT set-up
•   …
Jetspeed
David Giaretta
Jetspeed
•   Open Source Apache project
•   Written in Java
•   Supports Portal API (JSP 168)
•   Provides built-in services for:
    –   User interface customisation
    –   Caching
    –   Persistence
    –   User authentication
• Makes connections to obtain data
Jetspeed Architecture
Jetspeed

• Built on top of Turbine (also
  Jakarta project)
• Turbine provides:
  – User authentication
  – Page layout
Jetspeed features
• Built-in support for
  – RDF Site Summary (RSS)
  – Open Content Syndication (OCS)
• Supports Wireless Markup
  language
• User, group, role and permission
  administration via secure
  portlets
• Role-based security access to
  portlets
•PortletControl: The function of the PortletControl within the Portlet
page handles rendering the title and body of the Portlet
•PortletController: The function of the PortletController is to handle
multiple PortletControls (each controlling a Portlet) to provide an entire
Page of information from all the Portlets.
Markup/Configuration
• Portal Structure Markup Language
  – holds info on what portlets are available
    and registered with Jetspeed
• Registry
  – Describes all available portlets
• Site
  – Describes what portlets can be displayed
    to a given user and
  – Describes how information is displayed
    for that user
Standard Portlets
• HTML
  – Displays HTML content
• JSP
  – JSP contains embedded Java
• RSS
• Web Page
  – Displays content of a Web site
• XSL
  – Displays XML content by transforming it into
    HTML using XSLT
• Velocity
 Web Services tools
• org.apache.jetspeed.webservices.util.SoapAccessBe
  an
   – SoapAccessBean provides a Soap WebServices
     Client command bean pattern. This bean can be
     used to interact with webservices via soap. The
     WSDL file for the target web service is required
     since it contains the parameters required to
     interact with the service.
• org.apache.jetspeed.webservices.util.UDDIAccessBe
  an
   – UDDIAccessBean provides a command bean
     interface to UDDI registry services. Please note
     that currently only inquiry tasks are supported.
CVS
Concurrent
Versions
System
CVS is:

• Based on a Copy-Modify-Merge model
  where the developer:
  – Downloads copy of code
  – Modify code
    • NB simultaneously any other user can
      download, update and then merge into Master
      repository
  – Merges with repository – but user has to
    resolve with any other incompatible
    changes
• NOT Lock-Modify-Unlock
Details
• Checkout
 – From a Repository
   •may be remote
    – Security mechanisms e.g.
      anyone can read, but
      password needed for write
• Update
• Commit
Mechanism - server
• Repository maintains
  differences between
  revisions
• Maintains additional
  metadata to identify each
  version
• Also able to tag a whole
  group of revisions e.g.
  “Release Spring 2003”
 – Allows one to copy any whole
   set at any point in the future
User:
• Check’s out copy
• Additional metadata is
  kept in extra “CVS”
  subdirectories
 Documentation
• CVS home page (http://www.cvshome.org/) and CVS
  manual (http://www.cvshome.org/docs/manual/index.html)
• CVS FAQ-o-matic (http://www.loria.fr/~molli/fom-
  serve/cache/1.html): recipes for simple and more arcane
  uses
• Introductions:
   – Introduction to CVS
     (http://www.cvshome.org/docs/blandy.html) by Jim Blandy
   – Open Source Development with CVS by Karl Fogel (good, free
     chapters from a book of the same name).
• Best practice
   – ACME, (http://www.enteract.com/~bradapp/acme/) source
     code management best practices (encyclopaedic, but
     bewildering)
   – Specifically branching: Streamed Lines: Branching Patterns
     for Parallel Software Development
     (http://www.enteract.com/~bradapp/acme/branching/)
   – CVS Best Practices (http://www.magic-cauldron.com/cm/cvs-
     bestpractices/index.html) is somewhat more compact than
     the ACME guide, and correspondingly more opinionated

								
To top