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

Post on 22-Aug-2018

217 views 0 download

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

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

Questions ?

More information:– www.jboss.org

– pjha@redhat.com