Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley...

55
Prabhat Jha JBoss, a division of Red Hat Tuesday, March 25 th 2008

Transcript of Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley...

Page 1: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Prabhat JhaJBoss, a division of Red Hat

Tuesday, March 25th 2008

Page 2: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Agenda

• What is a portal, do I need one ?• What's in JBoss Portal?• JBoss Portal Demo• JBoss Portlet Bridge & Demo• Around JBoss Portal

Page 3: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

What is a portal ?

Page 4: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Portals provide Content Aggregation

JBoss Portal Header/Navigation

Product Data

Customer Records

Inventory

ManufacturingInfo

Employee Data

Supply

Page 5: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 6: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Portal Consumption

Remote Portlet

CMS

Portlet JSP

RDBMS

Portlet JSP

•But also:➢ Google widgets➢ Netvibes widgets➢ Your content type

Page 7: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 8: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Integration of different technologies

Include a pic with Struts, JSF, RichFaces, PHP, CMS...

Page 9: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Integration of different technologies

Page 10: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 11: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 12: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portal in General

Page 13: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 14: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Personalization

• User Personalization of Individual Portlet Settings

• New to 2.6 Personal User Dashboards

• Theme• Layout• Portlet Content

Page 15: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 16: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 17: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Modularized

• Deploy/Undeploy components• Light bare portal• Soft dependency between elements• Identity portlets does not necessarily require the

workflow service Depends on your needs

Page 18: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Portal Services & AS Services

Page 19: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portal in an Enterprise System

Page 20: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portal 2.6

Page 21: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portal 2.6

SCREENSHOT

Page 22: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 23: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 24: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 25: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 26: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 27: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 28: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

A set of portlets for online administration

• Management portlet• Identity portlet• CMS portlet• WSRP admin portlet

Page 29: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 30: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Management portlet

Page 31: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Identity Portlet

• CAPTCHA support• jBPM integration

More flexibility Verify email address Approve new accounts

Page 32: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Identity Management Portlet

Page 33: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 34: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

CMS Portlet

Page 35: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

WSRP administration portlet

Page 36: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 37: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 38: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 39: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Demo

Page 40: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portlet Bridge

Page 41: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of 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)

Page 42: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 43: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss Portlet Bridge Demo

Page 44: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Around JBoss Portal

Page 45: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 46: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

What did they like

• Modularity• Seamless integration• Reduced costs• Scalable architecture• Professional support quality compared to others

Page 47: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

JBoss.org

Page 48: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 49: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 50: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 51: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 52: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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)

Page 53: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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)

Page 54: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

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

Page 55: Prabhat Jha JBoss, a division of Red Hat Tuesday, … · Seam (Pete Muir) JBoss Portal (Wesley Hales) Status of JBoss Portlet Bridge

Questions ?

More information:– www.jboss.org

[email protected]