Presentation is loading. Please wait.

Presentation is loading. Please wait.

Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.

Similar presentations


Presentation on theme: "Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008."— Presentation transcript:

1 Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008

2 Agenda Portal Technology caGrid Portal caBIO Portlet Demo Future Directions

3 What is a Portal? It is a central place for making all types of information accessible to an audience of varying range Aggregates content from several sources (Portlets) Can be accessed via a web browser Personalizes the presentation for each user or user role Presents a lot of information in a concise and central way Integration environment for multiple development efforts Examples: iGoogle (www.google.com/ig)www.google.com/ig

4 What is a Portlet? A Portlet is a visual component that can be assimilated into portal web pages Portlets are based on the Java Specification Request (JSR) 168 Portlet Specification which defines a set of APIs for Portal computing (aggregation, personalization, presentation, and security) Portlets are deployed into a Portal Containers for accessibility Are pluggable into any JSR-168 compliant Portal container

5 caGrid Portal - Overview caGrid Portal provides a visual display of the services that are running on the caGrid infrastructure and also institutions that are participating in the caBIG program. Built around the JSR-168 Portlet specification and deployed in Liferay Portal container Developed by the caGrid Portal team Separate instances deployed in the caGrid training and production tiers http://portal.training.cagrid.org http://cagrid-portal.nci.nih.gov

6 Problem Statement caGrid Services are middleware services and the end users are other software developers No user interface available by default Developers of caGrid Service may want to write usable interfaces to reach out to a wider audience. Web based UI is the easiest to use, but difficult to develop and maintain. Represents a high barrier of entry, especially true for simple use cases

7 Proposed Solution Open up caGrid Portal for hosting Portlets developed by caBIG developers Create a separate section in the Portal for community Portlets Provide documentation, guidance and support for development teams that want to develop User Interfaces for their grid services Develop sample Portlets that leverage caGrid API

8 Advantages Low barrier of entry Standards based approach Development teams don’t have to write monolithic web or desktop applications Developers don’t have to maintain installations There is repetitive development in individual applications. Modules like user authentication and authorization, caBIG/caGrid interaction, web layouts (look and feel, page headers, footers etc), etc. can be provided by the portal. This will cut down the development time for individual projects Potential large audience of caGrid Portal

9 Next Steps Training Portal to serve as a staging environment and immediately available to host community developed Portlets. See the wiki page for more information http://www.cagrid.org/wiki/Portal:2.1:CommunityPortlets http://www.cagrid.org/wiki/Portal:2.1:CommunityPortlets Contact the caGrid Portal team to initiate a dialogue

10 Resources Participate through the mailing list cagrid_users_l@nci.nih.gov cagrid_users_l@nci.nih.gov Wiki page http://www.cagrid.org/wiki/Portal:Portalhttp://www.cagrid.org/wiki/Portal:Portal

11 caBIO Portlet - Introduction Background and goals Implementation options Why we chose the portlet option Solution architecture Lessons learned Demo Future directions

12 Background and Goals What is caBIO? Repository of biomedical annotations, populated with many different data sources caCORE-like system utilizing a model driven architecture Many programmatic APIs available (Java, WS, REST, Python) Default QBE user interface available Goal for caBIO 4.2 time-frame: Provide a user friendly interface for scientific researchers and other non-technical users that allows for easy and intuitive browsing of data within the caBIO system.

13 Implementation Options 1)Stand-alone web application 2)Extend the caCORE-generated system caBIO Home Page already does this to add FreestyleLM search capability 3)Portlet within caGrid Portal

14 Why a Portlet? Greater exposure through the caGrid Portal Reuse of technologies, modules, code caBIO has historically been an “early adopter” of new caBIG technologies Future capabilities: user customization, preferences

15 caBIO Server Solution Architecture caGrid Portal caBIO Portlet Java API REST API HTTP caBIO Database REST API (Ajax) used for Simple Search Java API used for Templated Searches

16 Lessons Learned Portlet model differs from servlet model Must take other portlets into account Using a traditional web framework requires a “bridge”

17 Lessons Learned (continued) Struts bridge requires a redirect to another action for rendering Struts action must forward to another action (redirect=true) Struts Bridge intercepts client redirect and processes it internally Ajax can make things easier, especially if you already have a REST API But maintaining state is harder Use absolute URLs to resources Cannot predict path structure since portlet can be deployed anywhere Use

18 Struts Bridge

19 Lessons Learned (continued) Struts can be used via the Struts Bridge Reuse Liferay UI elements (taglib) Reuse CSS for consistent look & feel caGrid Discovery PortletcaBIO Portlet caGrid Discovery PortletcaBIO Portlet

20 caBIO Portlet Demo http://cagrid-portal.nci.nih.gov/web/guest/community

21 caBIO Portlet Demo

22

23

24

25

26 Future Directions Expanded functionality Advanced query builder Additional templated searches Additional portlets PID pathway viewer Synergize with other portlets Complementary functionality Find pathway in caBIO, view more information in PID pathway portlet Portal customization

27 Resources caBIO Portlet http://cagrid-portal.nci.nih.gov/web/guest/community caBIO Home Page http://cabioapi.nci.nih.gov/cabio41 Wiki Page https://wiki.nci.nih.gov/display/ICR/caBIO


Download ppt "Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008."

Similar presentations


Ads by Google