Presentation File: 2008_2099_laird
Download
Report
Transcript Presentation File: 2008_2099_laird
Introduction to the BEA
WebLogic Platform
Peter Laird
Managing Architect
WebLogic Portal
Peter Laird. | 1
About the Speaker
Has 10 years of server side Java development experience
Leads the architecture team for BEA WebLogic Portal, a
leading Java enterprise portal product
Has worked on WebLogic Portal for 7 years as a developer
and architect
Holds the following certifications
Oracle DBA
Cisco CCNA
Regular contributor to BEA’s developer website
http://dev2dev.bea.com
BEA Systems
Housekeeping
Oracle has made a bid to acquire BEA Systems
Can’t be discussed in this venue
This is a product talk
Usually not allowed, but was explicitly approved by IOUG
Will cover Java Enterprise Edition, enterprise portal, enterprise
integration at a high level
Primarily focused on the WebLogic product stack
BEA Systems
Agenda
History of BEA and the WebLogic product line
Components of the WebLogic Platform
WebLogic Server
WebLogic Portal
Workshop for WebLogic
WebLogic Integration
BEA Systems
History of BEA Systems
Started in 1995 with venture capital to form a middleware
company
Soon after acquired the Tuxedo product
Mission critical transaction processing platform
In use by banks, telecoms, airlines, etc
Based on the C programming language
Wide platform support
Positioned BEA as a player in the enterprise middleware
space
BEA Systems
History of WebLogic
Started in 1995 with a few engineers
Began as a middle tier Java database connectivity server
Over time more features were added to the server
Often first implementations of new Java specifications
Became a general purpose Java application server
Rode the rise in popularity of server side Java
Acquired by BEA in 1998
Java Enterprise Edition specification introduced by Sun in
1999 – WebLogic was the dominant implementation
Has been a leader in JEE ever since
BEA Systems
History of WebLogic Platform
In 1999, BEA began to build out the WebLogic product line
WebLogic Portal started as Personalization Server and
Commerce Server in 1999
Evolved into WebLogic Portal in 2001 with version 4.0
WebLogic Integration began as a collection of products
BEA acquired Crossgain in 2001, a Java tooling specialist
WebLogic Workshop soon followed
All 4 products combined into an enterprise class platform,
called WebLogic Platform
First coordinated platform release was version 8.1 in 2003
WebLogic Platform at release 10.2 as of spring 2008
BEA Systems
History of WebLogic Platform
WebLogic Server is the foundation of the platform
Integration and Portal are run on Server
Workshop provides the platform development experiences
WebLogic Platform is the focus of this talk
BEA Systems
History of the AquaLogic SOA Platform
In 2005, BEA introduced a new product line to complement
Tuxedo and WebLogic
AquaLogic product line is focused on Service Oriented
Architectures (SOA)
Some products in the AquaLogic suite
AquaLogic Service Bus
AquaLogic Enterprise Repository
AquaLogic Business Process Management
AquaLogic User Interaction Portal
AquaLogic Data Services Platform
BEA Systems
Core Values of the WebLogic Brand
Commitment to Java
Standards support
RASP - Reliability, Availability, Scalability, Performance
Hardware, O/S, and Database independent
WebLogic Platform interoperability
Easy upgrades and backwards compatibility
Support for applications blended with Open Source
BEA Systems
WebLogic Server
BEA Systems
WebLogic Server Overview
Will focus on differentiated features of WebLogic Server
Feature areas to discuss
Java Enterprise Edition
Single Process Architecture
Rich Internet Appliciation (RIA) support
EJB 3 and JPA support
Java Message Service
Security
Database Connectivity
Clustering
Application deployment
BEA Systems
WLS: Java Enterprise Edition
WebLogic Server (WLS) is a JEE (a.k.a J2EE)
implementation
JEE 5 supported in WebLogic Server version 10
Servlet 2.5
EJB 3.0 – a major improvement
JSP 2.1
JAX-WS 2.0 – a major improvement
JMS 1.1
...and many others
Number of other containers in the JEE space
WebLogic Server provides great implementations of the specs
But talking about the specs is not a good way to spend our time
Will focus on differentiated features
BEA Systems
WLS: Single Process Architecture
WebLogic Server can be deployed as a single JVM process
Does not require a front end HTTP proxy server
It contains a full featured HTTP stack in Java
Easy setup for development environments
For production, clustered configurations more common
Covered later…
BEA Systems
WLS: RIA Support
RIA applications are highly interactive
Implemented with Ajax, Flex, Laslo, etc
Clients fire many fine grained requests at the server
RIA apps can overload the server polling for updates to data
being displayed
WebLogic Server has provided the AbstractAsyncServlet for
many years
Client issues a request to the servlet to be notified on an update
Servlet delays fulfillment of the request, no thread is consumed
An application event notifies the servlet that an update has occurred
Servlet sends a response to the client
BEA Systems
WLS: RIA Support
WebLogic Server 10.3 adds on to the AbstractAsyncServlet
Provides an HTTP Pub/Sub server
Useful when implementing applications such as chat
Uses the Bayeux protocol
BEA Systems
WLS: JMS Support
Full support of JMS 1.1
The additional features of WebLogic Server fall into the
following high level categories:
Enterprise-grade reliability – transaction and fail-over features
Enterprise-level features – manageability, life cycle, resource pooling
Performance – memory and disk IO optimizations
Tight integration with WebLogic Server – works within the same process
space
Interoperability – with other versions of WebLogic Server, with Tuxedo
BEA Systems
WLS: JMS Reliability
Full participation with transactions, including XA
File and Database backed persistent message storage
Store and Forward (SAF) protects against message loss
when remote destination is unavailable
Advanced clustering and failover features
Transparent failover
Whole server migration
Load balancing
BEA Systems
WLS: Security Service SSPI
Every enterprise has different requirements and existing
security systems
WebLogic supports a pluggable model for security (SSPI)
BEA Systems
WLS: Security - Authentication
Uses Java Authentication and Authorization Service (JAAS)
as the foundation
Supports multiple user repositories concurrently
Use boolean flags (AND, OR) to define how they relate
Most popular authentication stores have an Authentication
Provider implementation already
Database
LDAP
ActiveDirectory
SSO vendors
API can be implemented for custom repositories
BEA Systems
WLS: Database Connectivity
WebLogic Server has its roots in Java database connectivity
BEA Systems
WLS: Database Connectivity
Advanced connection pooling
Dynamic sizing
Connection testing
Statement caching
Multi Data Source
Wraps multiple actual Data Sources
Provides load balancing and fail-over
Data Source aliases
Maps the same Data Source into multiple JNDI names
Certified with many databases, including Oracle RAC
BEA Systems
WLS: Clustering
Recall a core value of the WebLogic brand:
RASP - Reliability, Availability, Scalability, Performance
Achieved primarily through WebLogic Server clustering
BEA Systems
WLS: Clustering
Application is deployed to the cluster machines
Client requests are load balanced across the cluster
Plugin to Apache, IIS; or hardware load balancer
Session affinity supported by the load balancer
Application state replicated to one other member of the
cluster
HttpSession and Stateful Session EJBs
Primary and Secondary design
Cluster heart beat detects downed nodes
Clients of the affected node are sent to the secondary on next request
BEA Systems
WLS: MAN and WAN Clustering
Application is deployed on multiple clusters in multiple data
centers
MAN and WAN clustering options handle HttpSession state
Metropolitan Area Network (MAN)
Low latency assumed between the data centers
Synchronous Http Session replication
BEA Systems
WLS: MAN and WAN Clustering
Wide Area Network (WAN)
High latency assumed between the data centers
Asynchronous Http Session replication
Uses a replicated database as the transport
BEA Systems
WLS: Application Deployment for Devs
WebLogic Server supports quick development round trips
Change-Aware Classloader
Replaces the affected module’s classloader to achieve a focused
redeployment
Fast-swap
Uses an advanced form of Java class redefinition
Prevents any application redeployment after changing a class
Supports many edits, including adding and removing methods and
changing method bodies
BEA Systems
WLS: Application Deployment for Prod
WebLogic Server supports advanced Production application
management
Offers the following options:
In-place redeployment – immediately updates the application in the
server, existing users are interrupted
Partial redeployment – allows only a subset of the application to be
redeployed
Production redeployment – existing clients continue to use the old app,
and the new app serves new clients
Can optionally bring application online to administrators only
For final testing purposes
BEA Systems
WLS: Virtualization
Key data center technology for reducing operating costs
Better hardware utilization by allowing servers to be
consolidated into a virtual computing cloud
WebLogic Server supports virtualization efforts through its
Virtualization Edition (WLS-VE) release
WLS-VE deploys on top of a special Java Virtual Machine,
LiquidVM, that does not require an operating system
Liquid Operations Console manages application deployments
into the WLS-VE cloud
BEA Systems
WLS: Virtualization
BEA Systems
WebLogic Portal
BEA Systems
WebLogic Portal
WebLogic Portal (WLP) is an enterprise portal product
Built on top of WebLogic Server
Deploys as a JEE application composed of many
components
Too much to discuss, so will focus on the primary features
Primary feature areas we will discuss:
Portal Framework
Portlet Container
Portlet Federation
Portal Services
BEA Systems
Enterprise Portal Products
Enterprise portals consolidate many web applications into a
single web application
Achieves a number of goals:
Efficient application management and deployment
Consistent user experience
Centralized security
Common infrastructure
WebLogic Portal is a product offering that supports these
objectives.
BEA Systems
WLP: Portal Framework
Core concept to all portal products is the user interface
WLP has a highly scalable and customizable framework
Control tree implementation (like JSF)
Provides nested customization concepts – library, admin, user
Highly tuned caching for scalability
WLP supports these and other user interface controls:
Portal page – a logical page that is surfaced as a tab or menu item
Book – a collection of pages
Portlet – a small window into an application; often there are many
portlets on a page
Header and Footer – artifacts that appear on the top and bottom of
every page
Look and Feel – the style of the page
BEA Systems
WLP: Portal Framework
BEA Systems
WLP: Portal Framework Features
Dynamically defined Desktops
Create new portals from existing components in production
Interportlet Communication
Robust server-side eventing mechanism to allow portlets to
communicate with each other
Framework Ajax
Automatically Ajax enables the portal without recoding the portlet
Framework automatically weaves in Ajax into existing portlets
Client-side JavaScript programming
JavaScript object model, REST APIs for dynamic customization
Community Framework
Allow users to organize themselves into communities
Community leaders can define their own Desktop without IT’s help
BEA Systems
WLP: Portlet Container
WLP officially supports portlet development using a number
of technologies
JSP
JSF (JSP or Facelets)
JSR 168
Struts/Pageflow
IFrame
Web Clipping
Workshop for WebLogic provides wizards for these types
Other technologies are known to work
Velocity
Spring Portlet MVC
BEA Systems
WLP: Portlet Federation
Portals support SOA initiatives
Often portlets consume remote data services
But requires the UI for the data service to be implemented for each
Portal deployment
Portlet federation solves this problem
BEA Systems
WLP: Portlet Federation - WSRP
Industry standard for federation is WSRP
Web Services for Remote Portlets, an Oasis standard
SOAP based protocol for hosting portlet UI as a remote service
Provides rich portlet features – modes, states, user profile, postback
WebLogic Portal has been a leader for WSRP
Expert group participation
Robust specification implementation
Features above the specification
BEA Systems
WLP: Portlet Federation – HTTP
WebLogic Portal is a pioneer in a different federation
approach
Portlet Publishing allows any deployed portlet to be a URL
addressable widget
http://myportal.abc.com/portal/customer/orderList.portlet
Can be consumed by any web application via:
IFrame
Ajax snippet
Extends the value of developed portlets by allowing them to
surface on legacy web applications
Targets the “long-tail” of IT web applications
Can also easily be consumed using other approaches
WLP portlets as Google Gadgets
BEA Systems
WLP: Portal Services
WebLogic Portal also includes a rich eco-system of out of the
box services, like Content Management and Personalization
BEA Systems
Workshop Studio
(formerly Workshop for WebLogic)
BEA Systems
WLW: Development IDE for the Platform
General purpose Java development platform
Java Web applications
JEE applications
IDE for the WebLogic Platform
Contains additional tools to support Server, Portal, Integration
Based on Eclipse
Open source IDE platform with a very active community
Hundreds of available plugins
Workshop is the Eclipse IDE, plus a set of plugins
BEA Systems
WLW: Features
Support for multiple web application frameworks in one IDE:
Struts, JSF and Beehive
Flexible tools for creating and testing WebLogic web services
ORM mapping support via BEA Kodo and Hibernate
Automatic generation of Spring configuration and DAO
classes
Database inspection tools
WebLogic Platform specific tooling
App X-Ray: sophisticated application analysis
BEA Systems
WLW: Features
BEA Systems
WebLogic Integration
BEA Systems
WebLogic Integration
A single environment to build an integrated enterprise
application
Business process integration (from business process modeling to
integrating enterprise adapters)
Custom application development using robust Web services and
controls
Developing an application to provide employees, partners, and
customers with an integrated view of applications and data.
BEA Systems
WebLogic Integration
BEA Systems
WLI: Process Engine
Supports back business
process execution
Based on Java Process
Definition format
Can be exported as a BPEL
process
Can orchestrate a process
between Web Services, human
input, and native adapters
BEA Systems
WLI: Worklist
WLI provides a set of worklist components out of the box for
users to manage their processes
BEA Systems
WLI: Data Transformation
Integration of multiple systems usually entails data
transformation
WLI provides sophisticated mapping tools for this purpose
BEA Systems
WLI Adapters
WLI provides an Adapter framework
Develop custom adapters for back-end systems
Use pre-built adapters for popular enterprise systems
BEA Systems
Conclusion
WebLogic Platform is a full featured enterprise stack
Has been shipping for 5 years
Mature and high quality
Thousands of customers
BEA Systems