WHAT IS WEBSPHERE:
•Family
of Software products from IBM
•WebSphere
Application Server, being the most popular, is an implementation of JEE (Java
Platform Enterprise Edition) specification
•Extends
JEE by providing several features and Services
•Is
the runtime environment for your JEE Applications
•Equivalent
products from other Vendors are Oracle WebLogic, JBOSS,Oracle GlassFish
WAS 8.5 Core Components:
Web Container:
•Runs
JEE compliant Web Applications that contain Servlets,JSPs and static HTML pages
•Handles
HTTP Sessions
•Runs
Portlets (using a Portlet Container) and SIP (Session Initiation Protocol)
Applications (using a SIP container)
•Provides
Transport Chain that includes TCP Inbound Channel, HTTP inbound channel and Web
Container Channel
•There
is one
Web
Container per Application Server
EJB Container:
•Provides
runtime for EJBs (Enterprise Java Beans)
•EJBs
handle business logic and can manage data access (Entity EJBs)
•EJB
Container provides threading and transaction support
•EJBs
are packaged as JAR files (Java archive) and deployed as EJB modules
Clients:
Clients can be one of the following:
- Application Clients: Run in a JEE compliant Client container (installed separately from the Application Server). launchClient tool can be used to start the client
- Web Clients: Most common. This is typically the Web Browser
- Web Services client
- Admin Client: wsadmin and Admin Console Web Application
Web Services Infrastructure:
- Application Server acts as both Web Services client and Server
- Web Services are reusable Web Applications that can be described,published,discovered and invoked over Network. They implement SOA (Service Oriented Architecture.
-Under the cover, Web Service operations are executed as Servlets
Messaging Infrastructure:
Full support for JMS (Java Messaging Service)
- Message Providers: Default Messaging Provider,WebSphere MQ Provider, Generic JMS Provider
- Providers use JCA (Java Connector Architecture) to communicate with JMS destinations (Queues or Topics)
- Concept of inbuilt JMS Server has been replaced since Version 6
Service Integration Bus:
- Integrated Communication infrastructure for Messaging and SOA Applications
- Contains Messaging Engines and acts as a JMS Provider
- Contains destinations (Web Service endpoints, Messaging Queues or Topics)
- Contains a Message Store
You can make an external Web Service available at a service destination
Data Access:
•WAS
uses JCA to access external Data Sources such as EIS, RDBMS
•JCA
requires a Resource Adapter to be provided by the EIS Vendor
•Resource
Adapter is a system level driver that enables WAS to communicate with the Data
Provider
•Resource
Adapters are plugged into WAS
•WAS
provides pre defined RDBMS Resource Adapter
Naming and Directory:
•Each
Application Server runs a JNDI Naming Service which enables Applications to
register and look up resources
•WAS
provides distributed Name Space for scalability
•Objects
are bound in hierarchical structure in Name Space
•dumpNameSpace
tool exports the Name space for troubleshooting
Transactions
Infrastructure:
-Transactions
are multiple operations on resources co ordinated as one unit of work
- Transaction
Manager, part of WAS handles transactions. Also participates in other
transaction managers on Global Transactions
- Operations
are rolled back in case of failure
- Transactions
can be container managed or bean managed.
- Transactions
are tracked through logs
Other Services provided by WAS:
• Java Mail
• Resource References: Enables to specify logical names in
deployment descriptors that bind to physical resources. Logical names are then
accessible through JNDI lookups
• Scheduler: Runs tasks at specified times or intervals.
Tasks can be prioritized
• Asynchronous Beans: Enables a resource intensive task to be
run as multiple tasks
• Startup Beans: Runs your code on WAS startup or shutdown
• Dynamic Cache: Greatly improves performance of Web
Applications. Can replicate Cache among clusters
• Object Pools: Improves performance by reducing object
instantiation time
• Activity Sessions: Enables grouping of operations on multiple one-phase commit
resources
• Internationalization: Enables application to process
information based on the geographical location of the client
Security Infrastructure:
- Solid security at various tiers in the architecture (end to end)
- Support for federated user repositories and Security domains
- Support for strong encryption (SSLv3/TLS)
- Efficient SSL Certificate Management
- Supports Java 2 Application level security
High Availability Infrastructure:
- Support for Application Server Clusters
- Data among the cluster members are replicated either using memory-to-memory replication or using Database
- HA Manager, which runs in each Application Server provides the framework for communication among cluster members.
- Dynamic Clusters: Balance workload among cluster members based on the performance, dynamically. Can expand or contract.
Performance Infrastructure:
PMI (Performance Management Infrastructure) makes metrics available through Management Beans
Tivoli Performance Viewer can be used to view current activity and summary reports via WAS Admin Console
Tivoli Performance Viewer Advisor provides advice to tune inefficient settings
Performance and Diagnostic Advisor prints warning messages in SystemOut.log about inefficient settings
Liberty Profile:
A profile defines the runtime environment
- Is a lightweight Application Serving environment mostly used in Development environments
- Uses OSGI framework (Pluggable modules)
- Supports Web Applications, OSGI Applications and JPA
- Very fast startup
- Deploy applications using 'dropins' or by updating configuration
- Comprises of JVM, Liberty Kernel and Features (OSGi bundles)
- server.xml is the server configuration file
- Updates to configuration file is read by File Monitor Service. Features are loaded dynamically.
- Features to be loaded are specified in the server.xml
<server>
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
</server>
- Security as per Servlet 3.0 specification
- Web Container delegates security check to WebSecurity Collaborator which talks to Authentication Service first to create 'subject' and then to authorization service to perform authorization check
- You can use the quickStartSecurity element in server.xml to quickly grant access to one user
- Auth Constraints can be defined in the deployment descriptor (web.xml)
Full Profile:
- Meant for Production environments (can be used in Development a well)
- Full blown product with all the bells and whistles
- Main components: Application Servers, Clusters, Resources, Administration
- Supports the three-tier architecture (Presentation, Business Logic, Data/ERP)
Topologies:
- Various components in any Topology:
- Application Servers
- Application Server Clusters
- Nodes
- Node Agents
- Deployment Manager
- Web Servers
- Profiles
- Cell
Various Topologies:
- Standalone
- Network Deployment - Nodes from same platform
- Network Deployment - Nodes from various platforms
- Flexible Management