Title: Introduction to the BEA WebLogic Platform
1Introduction to the BEA WebLogic Platform
- Peter Laird
- Managing Architect
- WebLogic Portal
2About 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 BEAs developer website
- http//dev2dev.bea.com
3Housekeeping
- Oracle has made a bid to acquire BEA Systems
- Cant 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
4Agenda
- History of BEA and the WebLogic product line
- Components of the WebLogic Platform
- WebLogic Server
- WebLogic Portal
- Workshop for WebLogic
- WebLogic Integration
5History 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
6History 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
7History 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
8History 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
9History 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
10Core 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
11WebLogic Server
12WebLogic 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
13WLS 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
14WLS 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
15WLS 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
16WLS 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
17WLS 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
18WLS 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
19WLS Security Service SSPI
- Every enterprise has different requirements and
existing security systems - WebLogic supports a pluggable model for security
(SSPI)
20WLS 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
21WLS Database Connectivity
- WebLogic Server has its roots in Java database
connectivity
22WLS 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
23WLS Clustering
- Recall a core value of the WebLogic brand
- RASP - Reliability, Availability, Scalability,
Performance - Achieved primarily through WebLogic Server
clustering
24WLS 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
25WLS 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
26WLS 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
27WLS Application Deployment for Devs
- WebLogic Server supports quick development round
trips - Change-Aware Classloader
- Replaces the affected modules 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
28WLS 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
29WLS 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
30WLS Virtualization
31WebLogic Portal
32WebLogic 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
33Enterprise 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.
34WLP 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
35WLP Portal Framework
36WLP 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 ITs help
37WLP 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
38WLP 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
39WLP 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
40WLP 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
41WLP Portal Services
- WebLogic Portal also includes a rich eco-system
of out of the box services, like Content
Management and Personalization
42Workshop Studio (formerly Workshop for WebLogic)
43WLW 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
44WLW 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
45WLW Features
46WebLogic Integration
47WebLogic 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.
48WebLogic Integration
49WLI 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
50WLI Worklist
- WLI provides a set of worklist components out of
the box for users to manage their processes
51WLI Data Transformation
- Integration of multiple systems usually entails
data transformation - WLI provides sophisticated mapping tools for this
purpose
52WLI Adapters
- WLI provides an Adapter framework
- Develop custom adapters for back-end systems
- Use pre-built adapters for popular enterprise
systems
53Conclusion
- WebLogic Platform is a full featured enterprise
stack - Has been shipping for 5 years
- Mature and high quality
- Thousands of customers