WebLogic Server 11g provides an integrated development environment for ADF/Forms developers. It includes features such as reliability, availability, scalability, and performance. WebLogic domains contain servers that host applications and resources. The Administration Server centrally manages the domain configuration. Managed Servers host deployed applications and services. Load balancing and failover are provided for applications deployed to server clusters.
1. WebLogic Server 11g for ADF/Forms
Developers
Mark Prichard
Java Platform Group, Oracle Fusion Middleware
mark.prichard@oracle.com
2. The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver
any material, code, or functionality, and should
not be relied upon in making purchasing
decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of
Oracle.
3. Oracle WebLogic Suite
Strategic Runtime Across Oracle Product Lines
Java EE/ISV SOA WebCenter Content Identity Business
Apps Suite Suite Management Management Intelligence
Suite Suite Suite
WebLogic Suite
WebLogic Server
Enterprise Manager
Admin and Operations
Development Tools
Java EE: Reliability, Availability, Scalability & Performance
JDeveloper/Eclipse
Coherence
High Performance, Reliable, Scale Out for Java, C++ and .NET
JRockit Real Time
High Performance JVM with Extreme Low Latency
Proven to Best for
Outperform Oracle Portfolio
Lowest Cost of Operations
4. Integrated WebLogic Server
• http://localhost:7101/console/
• Log on with weblogic/weblogic1
• C:Documents and Settings<user>Application DataJDeveloper...
DefaultDomainbin
• (debug) -agentlib:jdwp=transport=dt_socket,server=y,address=1446
5. Domains and Servers
• What is a domain?
– a logically related group of WebLogic Server instances that you
manage from a single set of configuration artifacts.
• What’s in a domain?
– Servers
– Clusters of servers
• What is a WebLogic Server instance?
– A configured instance to host applications and resources
• WebApps, Enterprise Apps, Web Services, …
• JMS, JDBC, Diagnostics, …
• What types of servers are there?
– Administration Server
– Managed Server
6. Creating/Copying a WebLogic Domain
• Configuration wizard: include at least Oracle JRF
• Many ways to copy a domain: domain template
builder, pack/unpack, WebLogic Scripting Tool …
7. The Administration Server
• What is it?
– Central configuration controller for the
entire domain
• What else does it do?
– Hosts the Administration Console
– Enables you to start and stop servers
from a central location
– Enables you to migrate servers and
services within the domain
– Enables you to deploy applications
within the domain
• Guidelines:
– There must be exactly one*
Administration Server in domain
– An Administration Server controls only
one domain.
– For production use, we recommend not
hosting application logic or resources
on the Administration Server
8. Managed Servers
• What is it?
– A running instance that hosts applications and
resources needed by those applications - The real work
horses in a WebLogic domain
– Each Managed Server is independent of all other
Managed Servers in the domain (unless they are in a
cluster, defined later)
– You can have as many Managed Servers in a domain
as you need
– Individual Managed Servers are typically added for
capacity and application isolation
9. Managed Server Startup
• The Administration Server stores the master copy of the
domain configuration, including the configuration for all
managed servers in the domain
• Each Managed Server stores a local copy of its
configuration.
• When a Managed Server starts, it connects to the
Administration Server to synchronize the configuration
• When configuration is changed, the Administration Server
sends changed configuration to Managed Servers
• How do I start a Managed Server?
– With an Admin Server
– In “Independence Mode”
10. Clusters and Machines
• A cluster is a group of Managed Servers running
simultaneously and working together to provide increased
scalability and reliability
• A cluster appears as a single instance to most clients.
• Clusters enable some advanced features, such as Whole
Server Migration, Service Migration, and clustered JMS
destinations.
• A machine definition is used to associate a computer with
the Managed Servers it hosts.
• Used by Node Manager in restarting a failed Managed
Server
• Used by a clustered Managed Server in selecting the best
location for storing replicated session data
11. Load Balancing in a Cluster
• For JSPs and Servlets: load balancing is external
– Web server proxy plug-in (round robin)
– HTTP Proxy servlet (i.e., using WLS as a load balancer)
– 3rd party hw or sw load balancer
• EJBs and RMI Objects: load balancing is done at
connection
– Objects are cluster-aware
– Load balancing algorithm is stored in the clustered object’s stub
– Objects are available on all cluster members; remote objects
connect/use according the LB algorithm in the stub
– Load balancing algorithms: Round robin, weighted, random, server
affinity
12. Failover in a Cluster
• Servlets and JSPs:
– HTTP session state is replicated to a secondary server
in the cluster or to a database
• EJBs and RMI Objects:
– Replicas available throughout the cluster
– Exceptions caught and retried on another instance
– For Stateful Session Beans, state is replicated on a
secondary server
13. WebLogic Node Manager
• Utility/process running on a physical server that enables
you to start, stop, suspend, and restart WebLogic Server
instances remotely
• Must run on each physical server that hosts WebLogic
Server instances that you want to control with Node
Manager
• Not associated with a domain. Can start any server
instance that resides on the same physical server.
• Optional, but required to start/stop servers using the
Administration Console
• Required for Whole Server Migration and for some
configurations of Automatic Service Migration
• Demo: How do I configure Node Manager?
14. WebLogic Scripting Tool (WLST)
• Scripting tool for administering a domain (create,
configure, manage, monitor, deploy applications)
• Based on Jython – pure Java implementation of
Python
• Great for automating repetitive tasks
• Heavily used by customers and within BEA
• Example: How does JDev shut down the
Integrated WebLogic Server instance?
15. WLST: Connection Modes
• Offline: analogous to the Configuration Wizard
– Uses the Offline Configuration Framework
• Also used by the Configuration Wizard
• Consistent results when using either tool
– read and write access to the configuration data that is
persisted in the domain’s config directory or in a
domain template JAR
– Intended to create a domain or modify a non-running
domain
– Used during WLS install to create samples domains
• Online: analogous to the Administration Console
– JMX client
– Interacts with a server’s MBeans
– Intended as a runtime management tool:
19. Shared Libraries and Class Loaders
• Shared Libraries used extensively by Oracle Applications
– JRF, ADF, APPLCORE, etc
– Applications explicitly declare a dependency on shared libraries
• Understanding Shared Libraries is critical to avoiding Class
Loader related issues
22. Jar libraries
App-1.ear
my-web-1.war
library.jar my-web-2.war
my-ejb-1.jar
• Jar files and Jar libraries can be referenced from
applications (EAR, WAR, JAR) via MANIFEST classpath or
descriptors.
23. Preview – Classloader Analysis Tool
• Used internally for several releases
• Will be shipped and supported with PS3
• Provided as web-app (wls-cat.war)
• On-demand deployment (dev mode only)
• URLs allow customization
• Functionality:
– View classloader hierarchies and entire classpath
for each classloader
– Analyze classpath conflicts (filtering classloader
hints)
– Search for a class/resource on a classloader
– View class definitions, interfaces