JBoss Enterprise SOA Platform JBoss Application Platform for Portal
Prabhat Jha JBoss, a division of Red Hat Tuesday, March ... · JBoss Seam 2.1.0.A1 JBoss Portal...
Transcript of Prabhat Jha JBoss, a division of Red Hat Tuesday, March ... · JBoss Seam 2.1.0.A1 JBoss Portal...
Prabhat JhaJBoss, a division of Red Hat
Tuesday, March 25th 2008
Agenda
• What is a portal, do I need one ?• What's in JBoss Portal?• JBoss Portal Demo• JBoss Portlet Bridge & Demo• Around JBoss Portal
What is a portal ?
Portals provide Content Aggregation
JBoss Portal Header/Navigation
Product Data
Customer Records
Inventory
ManufacturingInfo
Employee Data
Supply
Different perspectives for different Users
CSR Portal
Manager PortalCustomer Portal
JBoss Portal Header/Navigation
Product Data
Customer Records
Inventory
ManufacturingInfo
Employee Data
Supply
JBoss Portal Header/Navigation
Product Data
Customer Records
Inventory
Supply
Customer Records
Product Data
Inventory
JBoss Portal Header/Navigation
Portal Consumption
Remote Portlet
CMS
Portlet JSP
RDBMS
Portlet JSP
•But also:➢ Google widgets➢ Netvibes widgets➢ Your content type
Why use a portal ?
• Why not just use a “regular” web framework like Seam or Struts Requires all components to be written using the same
technology Enterprise environments, sooner or later, deal with multiple
technologies Seam and Struts could be used as technologies to build
portlets (with some limitations, as of today)
• Speed up deployment of a portal Existing standard portlets
Integration of different technologies
Include a pic with Struts, JSF, RichFaces, PHP, CMS...
Integration of different technologies
Portals and SOA
• Split your services Maintenance Lifecycle Technology independent
• Split your web applications Maintenance Lifecycle Technology independent
• Don't split the UI ! The user doesn't like to have to deal with multiple
applications
• A portal is a window on the services
When not to use Portal?
• A unique simple application like a web-blog wouldn't really benefit from a portal infrastructure
• Navigation in a portal is somewhat different than a traditional website, the end-user navigates among several web applications on a single page and that's not a traditional scenario.
• A portal is not made to split one application into windows – all portlets should be different applications
JBoss Portal in General
JBoss Portal State of the Union
• Focus on core portal functionality Aggregation
• Provides a standards-based environment for serving a portal's web interface and publishing/managing portal applications and content
• Consistent look and feel
Performance and scalability Centralized security
• Single Sign On across elements of the portal• Identity manager
LDAP Database
Personalization
• User Personalization of Individual Portlet Settings
• New to 2.6 Personal User Dashboards
• Theme• Layout• Portlet Content
Standards based
• JSR-168: Portlet Specification Final release: Oct 27th, 2003
• JSR-286: Portlet Specification 2.0 Public Review Ballot: Aug 27th, 2007 Red Hat Middleware LLC represented by:
• Julien Viet (JBoss Portal project leader)
• JSR-301: Portlet Bridge Specification for JavaServerTM Faces Early Draft Review 2: Sep 10th, 2007 Red Hat Middleware LLC represented by:
• Julien Viet (JBoss Portal project leader)• Stan Silvert (JSF expert)
• JSR-170: Content Repository for Java technology API
• OASIS WSRP v1.0
Leverages other JEMS components
• JBoss SX JAAS based domain security subsystem
• JBoss Cache Performance Fault tolerance
• Hibernate Database independence
• JBPM Business process Better flexibility
• JBoss Web Services WSRP
Modularized
• Deploy/Undeploy components• Light bare portal• Soft dependency between elements• Identity portlets does not necessarily require the
workflow service Depends on your needs
Portal Services & AS Services
JBoss Portal in an Enterprise System
JBoss Portal 2.6
JBoss Portal 2.6
SCREENSHOT
Security Improvements
• Enhanced LDAP Support Built on JAAS based JBoss SX security
framework Directly integrate simple/complex LDAP tree
structures• Users in one or multiple contexts• Roles in one or multiple contexts• User-Role relationships stored in user, or role
• Synchronize built in Portal security repository with external repositories
• Basic integration with any JAAS compliant security store
Identity Server integration
• A set of interfaces to integrate with any identity server Red Hat Directory Server OpenLDAP OpenDS Sun Directory Server Microsoft Active Directory ...
User/Role/Profile can be mapped to either database and/or LDAPDelegatingUserProfileModule : use DB for properties that do not exist in the
LDAP schema (schema limitation). It's used in conjunction with HibernateUserProfileModuleImpl that has additional synchronization feature
Single Sign On integration
• Several applications, a unique login challenge to the user
• A set of interfaces to integrate with any SSO framework CAS JOSSO Open SSO ...
Web Services for Remote Portlets support
• Aggregate portlets coming from external portals• Integrate legacy applications using Web Services
Integration from other middleware stacks beyond Java EE
• Split responsibilities• Provide content for other consumers
Server 1 Server 2Network
Act as a Producer
Markup
Act as a Consumer
Portal
WSRP Portlet
Local Portlet
Local Portlet
Layout and Theme
• Layout Responsible to render markup that will wrap the markup
fragments produced by individual portlets. Implemented as JSP or Servlet
• Theme Responsible to enhance and style the markup rendered by
layout Implemented using CSS, Javascripts, images
Usability Enhancements
• Improved Interfaces Portal Administration
• Portlets• Portlet Instances• Portlet Defaults
User Administration• Simplified User Creation• User Search• List Based View
Content Management• Search for content items to manage• Action Based Management• Familiar Directory View
A set of portlets for online administration
• Management portlet• Identity portlet• CMS portlet• WSRP admin portlet
Management portlet
• Modify your portals with few clicks Add/Remove pages Add/Remove portlet windows ...
• Change theme for a page or a portal• Modify security restrictions• Change other properties (Drag and drop, Partial
refresh...)
Management portlet
Identity Portlet
• CAPTCHA support• jBPM integration
More flexibility Verify email address Approve new accounts
•
Identity Management Portlet
CMS Portlet
• Based on Apache Jackrabbit• Store
Database File System Hybrid
• Online publishing• Workflow
Configurable Role based approval workflow out of the box Based on jBPM
• Versioning With live/draft option
CMS Portlet
WSRP administration portlet
Portal Clustering
• JBoss Cache Used to replicate data among different hibernate session
factories
• JBoss HA-Singleton Used to make a deployer singleton on the cluster With JCR: Jackrabbit does not run in cluster by itself.
• HTTP Session Replication To replicate portal and portlet session and navigational state
• Jboss SSO Used to replicate user identity
Feature Summary
• J2EE-based Portal Framework Java Portlet portability via JSR-168 Content Management (JCR - JSR-170) Content aggregation and personalization Dynamic portal object management (Dynamicity) Pluggable themes (hot deployment) Pluggable identity management (Database, LDAP...) JSF, Struts bridge and Spring MVC support WSRP Portlet instances and services clusterable Personal dashboard
Installation Overview
• JBossAS/Portal Bundle ~85MB Download Zero Installation Required
• Start Server• Go to http://localhost:8080/portal
• Standalone JBoss Service Archive (SAR) jboss-portal.sar – Core framework code
• portal-core.war – stores layouts/themes• portal-cms.sar – content mgmt • portal-server.war – portal server root context• ...
Hibernate DDL/DML executed on initial startup HSQL embedded
• Not for Production!
• Clustered Portal jboss-portal-ha.sar
Demo
JBoss Portlet Bridge
An Intro to JBoss Portlet Bridge
• Grown from the JBoss RichFaces project• A JSR-301: Portlet Bridge implementation
Link between:• JSR-168: Portlet 1.0• JSR-252: JavaServer Faces 1.2
• Deploy in a portal environment JSF applications JSF Rich Faces applications JSF Seam application JSF Rich Faces + JSF Seam applications
• A separate project http://labs.jboss.com/portletbridge
• A joint effort between multiple teams RichFaces (Alex Smirnov) Seam (Pete Muir) JBoss Portal (Wesley Hales)
Status of JBoss Portlet Bridge
• JBoss Portlet Bridge 1.0 Beta1 is out !• Supports
RichFaces 3.1.4.SP2 JBoss Seam 2.1.0.A1 JBoss Portal 2.6.4.GA
• JSR-301 specification based• Supposedly works on any JSR168/JSR286 compliant
portlet container (Open source or not)• Supposedly works with any JSF implementation
MyFaces Sun RI
• Upfront testing on JBoss Portal and embedded JSF implementation
• Community based support and testing for other combinations
JBoss Portlet Bridge Demo
Around JBoss Portal
Who's using JBoss Portal
• JBoss.org• ADP - Leading Provider of Outsourced Payroll and
Human Resource Services• Cendant – Orbitz travel agents platform• American Red Cross - www.givelife.com (where the
public can go to register to give blood), plans to move from Coldfusion to JBoss Portal
• The US Navy Department of Housing – Intranet for sailors and their families
• Daiwa Securities America Inc – Moved from BEA Portal to JBoss Portal
What did they like
• Modularity• Seamless integration• Reduced costs• Scalable architecture• Professional support quality compared to others
JBoss.org
Community
• A large base of users Active forums Multiple environments, OS, database... User input and early feedback Helps us anticipate needs before final releases
• 10,000 downloads a month
Related projects
• JBoss Wiki Wiki portlet
• JBoss Forums Forums portlet
• More portlets on portletswap.com (both open source and proprietary)
• Increasing number of portlets available globally
JBoss Portal as a product
• Open Source with LGPL license• Backed by up to 24x7 “Support from the Source”• JBoss certified partners (HP, Cap Gemini, Alfresco,
Atos Origin, Unisys...)
Why would you choose JBoss Portal ?
• We understand the middleware issues Interoperability Extension points Integration Non intrusive customization ...
• We understand enterprise class requirements Scalability Support ...
Why would you choose JBoss Portal ?
• Most comprehensively tested open source Portal;-) Total Number of Tests: ~2700
• Continuous Database Compatibility Testing Oracle 9i/10g MySql 4/5 PostgreSql MS Sql Server Hypersonic
• Continuous LDAP Integration Testing OpenLDAP Red Hat Directory Server Open DS Sun Directory Server Active Directory Server (not automated yet)
Why would you choose JBoss Portal ?
• Backward Compatibility with JBoss AS Three previous GA versions Most of EAP versions
• Performance and Scalability Make sure that for 2000 simultaneous users the average
response time is < 1 second Soak Testing: Monitor response time when server is heavily
loaded for longer period (24 hours) Scalability Testing: Monitor response time as load and
number of nodes in cluster increase while ensuring failover works (currently in the process of being automated)
Future
• Server agnosticism Run everywhere
• More Ajax support• RichFaces support• Seam support• Better out of the box experience• Federated search• Portlet 2.0 (JSR-286)• WSRP 2.0• <-- Your needs• ...