Portal Technology Feasibility Study Kangaroo Software Jon Ferry Chris Helmeset Greg McGraw Jonathan Peffer Agenda ► Introduction ► Motivation ► Objectives ► Process and Planning ► Findings ► Deliverables ► Reflection ► Conclusion Introduction ► Sponsor Excellus BlueCross BlueShield Mike Cardillo, Robert D’Alimonte, Chris Ryan ► Customer Liaison Dr. Jeff Lasky ► Faculty Coaches Dr. Swaminathan Natarajan Dr. J Fernando Naveda Motivation ► Excellus BlueCross BlueShield 450 CSRs answer 30,000 calls daily Example ► TIGRESS Visual Basic 6 Mainframe Core Legacy Software ►Need for Modular Design ►Adaptability Motivation Cont. ► jTIGRESS JAVA based solution Modular Approach ► User Interface ► Objects ► Heterogeneous Systems and Databases ► Our Scope Presentation Layer of jTIGRESS Provide a Proof-of-Concept of IBM WebSphere Portal Technology Findings Feed into New Architecture Objectives (Requirements) ► Is Portal technology a feasible solution for the proposed jTIGRESS application? ► Phase 1 (Winter Quarter) Familiarity with WebSphere Discover Feasibility of inter-Portlet Communication Objectives Cont. ► Phase 2 (Spring Quarter) Application Design ►Inter-Portlet limitations Communication capabilities and Enterprise-Wide Authentication ►Single Sign-On (SSO) ►Lightweight Directory Access Protocol (LDAP) Family of Portlets Interface Design Phase 1 Process ► Software/Hardware Configuration Software Configuration WebSphere Portal Server WebSphere Application Server WebSphere Application Developer WebSphere Portal Toolkit ► Technology Research Research Portal Technology WebSphere Technology JAVA Portal Standard (JSR168) WebSphere Portal Development ► ► Documentation Prototype Inter-Portlet Communication Documentation Proof of Concept Prototype Phase 2 Process ► Agile Methodology Prototyping Lifecycle Model (3 iterations) Emphasis on Feedback 1. Iteration Objectives 2. Planning and Design 5. Feedback 4. Release 3. Implementation and Research Planning Findings Project Status Familiarity with WebSphere and Portlets Application Design Inter-Portlet Communication Database Connectivity Enterprise-Wide Authentication Single Sign-On (SSO) Lightweight Directory Access Protocol (LDAP) Interface Design – Customization Basic layout aspects Family of Portlets – Personalization Portal Technology ► What are Portals? Presentation Layer to Info Systems Contains Portlets ► What are Portlets? “Pluggable” Components Modes States Portal Architecture To database, files, ... ► J2EE Application Design ► Portlet Application Design Application / WebServer Portal Portlet Application XML JSP Beans Portlet (Servlet) HTML ... HTML Inter-Portlet Communication ► Types of Portlets: Portlets that do not communicate Source Portlets Target Portlets Hybrid Portlets Portlet A message Portlet B Portal Server action update WebUser One Way Communication ‘Lookup’ Pressed Sends Form Info. Member ID Portlet (ActionListener) Sends ID Member Info Portlet (MessageListener) Two Way Communication Claim ID Clicked Sends Form Info. Claim Search Portlet (ActionListener, MessageListener) Sends ID Send New ID Claim Info Portlet (ActionListener, MessageListener) Sends Form Info. ‘Next claim’ Clicked Personalization ► Personalization provides the ability to restrict content displayed within portlets ► Types User Profile-Based Rules-Based Collaborative Filtering ► Used to achieve Family of Portlets Rules Personalization ► Classifiers ► Actions ► Binding Customization ► Support multiple user configurations Internet Explorer and Netscape, as well as supporting localization issues ► Look and Feel Themes and Skins Pages and Portlets Themes Skins Single Sign-On (SSO) ► What is SSO? SSO technology provides the capability for a user to authenticate once while simultaneously gaining access to multiple secure applications. ► WebSphere Models of Authentication Web SSO Extended SSO Web SSO ► Centralized Authentication Model Once authenticated to the first application you are authenticated to all ► Web SSO allows a user to log-in to one application, the application then generates a token with the aid of some LTPA authentication proxy. Extended SSO ► User Level Authentication Secrets stored at user level across Portlets ► System Level Authentication Secrets shared across all users ► Setting this up is a complex task that involves possibly modifying the applications which require SSO access. Credential Vault ► The Vault is broken into Vault Segments Vault Segments are broken into Vault Slots Vault Slots contain a Credential Object LDAP ► Types of Connection: Unsecured Secured (extension using SSL) ► Supports: IBM Directory Server, IBM Secure Way for IBM Directory Server, iPlanet Directory Server, MS Active Directory, Lotus Domino ► Other LDAP directories can be used Deliverables ► Primary Deliverable Portlet Technology Research Report Excellus Workshop ► Supplemental Deliverables Prototypes (w/ source code) Reflections What Worked Well? ► Adapted to R&D Style Project ► Process Selection ► Client Iteration Timely Feedback Effective Feedback ► Well Defined Scope Objectives Challenging What Didn’t Work Well? ► WebSphere Installation and Configuration ► WebSphere Documentation Hard to Find ►Version Mismatch ►Tutorials …Leads to Trial and Error ► Ramp-up Times Domain Knowledge Requirements Phase 2 Elicitation Areas for Improvement ► Written Objectives for Phase 1 ► Internal Reviews Research Prototypes Documentation Acknowledgements ► Excellus Staff ► Customer Liaison Dr. Jeff Lasky ► Software Engineering Faculty Dr. Swaminathan Natarajan Kurt Mosiejczuk All other RIT Faculty/Staff Conclusion ► Introduction ► Motivation ► Objectives ► Process and Planning ► Findings ► Deliverables ► Reflection ► Questions?