Prabhat Jha: Jboss, A Division of Red Hat Tuesday, March 25 2008

Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

Prabhat Jha

JBoss, 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 Manufacturing Info Inventory Supply Customer Records Employee Data Product Data

Different perspectives for different Users


CSR Portal
JBoss Portal Header/Navigation Supply Customer Records Product Data Inventory Supply JBoss Portal Header/Navigation Manufacturing Info Inventory Customer Records Employee Data Product Data

Customer Portal
JBoss Portal Header/Navigation

Manager Portal

Customer Records

Inventory

Product Data

Portal Consumption

RDBMS

But also: Google widgets Netvibes widgets Your content type

Portlet JSP

Remote Portlet CMS

Portlet JSP

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 LDAP DelegatingUserProfileModule : 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

Network

Server 2

Act as a Consumer
Portal Local Portlet Local Portlet WSRP Portlet

Act as a Producer

Markup

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 ...

Questions ?

More information:

www.jboss.org pjha@redhat.com

You might also like