Download presentation
Presentation is loading. Please wait.
Published byJodie Walters Modified over 8 years ago
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.