Raastech, Inc.
2201 Cooperative Way, Suite 600 Herndon, VA 20171
Learn Oracle WebLogic Server 12c Administration For Middleware Administrators
Agenda
About Raastech
Fusion Middleware Overview
WebLogic Terminology
Configuration and Changes
Administration Tools
WebLogic Security
Initial Planning
About Raastech
Small systems integrator founded in 2009
Headquartered in the Washington DC area
Specializes in Oracle Fusion Middleware
Oracle Platinum Partner 1 in 3,000 worldwide
Oracle SOA Specialized 1 in 1,500 worldwide
About Arun
15+ years of infrastructure administration
Focus on Oracle Fusion Middleware infrastructure implementation, security, high availability, and disaster recovery
OCA / ITIL / PMP certified
Active WMOUG member/presenter
Understanding Oracle Fusion Middleware
“Oracle Fusion Middleware” is a misleading term
Used to describe middleware products such as:
Business Intelligence (e.g., OBIEE, Discoverer)
Integration (e.g., SOA Suite, OSB)
Web Center (Web Center Content and Portal)
Identity Management (e.g., Oracle Access Manager)
Monitoring (e.g., OEM Grid Control)
But usually used to describe a single product:
Oracle WebLogic Server
Java Enterprise Edition (Java EE) Application server
Acquired from BEA in 2008
Replaced Oracle Application Server
Required for almost all Oracle Fusion Middleware products
Supports the deployment of many distributed applications
Provides a standard set of APIs for creating distributed Java applications that can access a wide variety of services such as
Current Releases and Installers
Current releases:
Oracle WebLogic Server 12c R2 (12.2.1)
Oracle WebLogic Server 12c (12.1.2 and 12.1.3)
Installers can be downloaded through
Oracle Software Delivery Cloud (http://edelivery.oracle.com)
Domain
Logically related group of WebLogic Server
instances that can be managed from a single set of configuration files
Domain Consists of
Servers
Clusters of servers
Each Domain requires an Administration server
All managed servers in a cluster must be part of same domain
Server
What is it?
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
JNDI
JMS Queue
Administration Server
Controls configuration for the domain
Only one Admin server per domain
Admin Server can only control one domain
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
It can be used as a managed server for lower
environments
Admin Server
Managed Servers
config.xml
Managed Server
Managed Servers host business applications, application components, Web services, and their associated resources
Each Managed Server can function independent of other Managed Servers in the domain
Managed servers do not share resources such JDBC, JMS and connection factories
No restrictions on the number of managed servers in a domain
Can be cloned or added dynamically through the administration console
Individual Managed Servers are typically added for capacity and application isolation
Each Managed server stores a local copy of its configuration
JNDI
JMS Queue
Cluster
A cluster is a group of Managed Servers running simultaneously and working together to provide increased scalability and reliability
Scalability: through parallelism
Reliability/Availability: through replication and redundancy
A Cluster is part of a single domain and each domain can contain multiple clusters
Domain can contain clustered and non-clustered managed servers
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.
Cluster 1
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 (F5 Big IP LTM or Cisco CSM)
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
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
Communication in a Cluster
Peer to Peer using Sockets - used for:
Accessing non-clustered objects deployed to another clustered server instance on a different machine.
Replicating HTTP session states and stateful session EJB states between a primary and secondary server instance.
Accessing clustered objects that reside on a remote server instance.
Peer to Peer using Unicast or Multicast - used for:
Cluster-wide JNDI updates
Heartbeats
Cluster-wide JNDI tree
Lists local resources and resources available throughout the cluster
Node Manager
Process running on a physical server that enables
you to start, stop, suspend, and restart WebLogic Server instances remotely
Runs on each physical server that hosts WebLogic
Server instances
Not associated with a domain. Can start any
server instance that resides on the same physical server.
Node Manager is Optional, but required to
start/stop servers using the Administration Console
Required for Whole Server Migration and for some
Machine
A definition that identifies a particular, physical piece of hardware.
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
Main Configuration Files
<domain (schema locations)><name>wl_server</name> <security-configuration></security-configuration> <jta></jta> <server> <name>examplesServer</name> </server> <app-deployment></app-deployment> <jms-server></jms-server> <jms-system-resource></jms-system-resource> <jdbc-system-resource> <name>examples-demo</name> <target>examplesServer,managedServer-0</target> <descriptor-file-name>jdbc/examples-demo.xml</descriptor-file-name> </jdbc-system-resource> </domain> config.xml examples-demo.xml <jdbc-data-source> <name>examples-demo</name> <jdbc-driver-params></jdbc-driver-params> <jdbc-driver-params></jdbc-driver-params> <jdbc-data-source-params></jdbc-data-source-params> </jdbc-data-source>
references to other files
• config.xml – central configuration file for a domain
• includes the configuration of each server instance, cluster, resource, and service in the domain.
• references additional XML files that are stored in subdirectories of the domain/config directory: JMS, JDBC, WLDF, and Security
Two-Phase Configuration Changes
Changes activated in batches: Reliability, consistency:
Make (related) changes as a group Validate before making the change
Activate or Roll back as a single unit (all changes on all servers) General process:
Get an edit lock make changes
changes are stored in the pending directory
activate your changes (with implicit validation through the Admin Console or WLST)
changes are distributed to servers in the domain Two phases: prepare and commit
Administration Tools
Configuration Wizard
GUI/scriptable tool to create and extend WebLogic domains
Administration Console
Browser-based tool for configuring and monitoring domains, deploying applications, and controlling servers
WebLogic Scripting Tool (WLST)
Script or command line tool to do the same thing as the Administration Console and Configuration Wizard
weblogic.Admin
Configuration Wizard
Wizard that walks you through domain creation off line
Not intended to run against a running domain
WLS ships with a default template and templates for samples domains
Customers and layered products can create their own templates
Domain creation can be automated using WLST Scripts
Platform or Operating System Independent
Is used for creation of clustered and non-clustered domains
Administration Console
Administration console can be accessed through the
following url
http://hostname:port/console
Administration Console is used for:
Configure, start, and stop WebLogic Server instances
Configure WebLogic Server clusters
Configure WebLogic Server services, such as database connectivity (JDBC) and messaging (JMS)
Administration Console
Configure and deploy your applications
Monitor server and application performance
View server and domain log files
View application deployment descriptors
Edit selected run-time application deployment descriptor elements
Control (start, stop, and restart) managed Coherence servers
WebLogic Scripting Tool (WLST)
Scripting tool for administering a domain (create, configure, manage, monitor, deploy applications)
Based on Jython, which is a pure Java implementation of Python
Great for automating repetitive tasks
All changes in Admin console can be recorded as a WLST script
WebLogic Security Introduction
WebLogic Server provides a unique and secure foundation for
applications that are available via the Web
Includes a security architecture that provides a unique and secure
foundation for applications that are available via the Web
Key features include
Support for configuring multiple security providers, as part of a transition scheme or upgrade path
Customization of security schemes using custom security providers
support for Security Assertion Markup Language (SAML) 1.1 and 2.0.
WebLogic Server Architectural Considerations
Typically fronted by WebTier/OHS/Apache but with with the newer versions you can use web sockets
Requires JDK
Requires shared filesystem or a DB for setting up highly available clusters
WebLogic Server WebLogic Server WebLogic Server
Shared File System
WebTier WebTier WebTier
Single AdminServer to administer entire
cluster Node Manager
runs on every server
Key things to Consider for your environment
Plan your environment based on the key business factors
Functionality
Availability
Throughput
Future Growth / Easy Scaling
Implement the best practices starting with lower environments
Automate every task that can be automated
Secure environments to avoid non-functional and human breaches
Contact Information
Arun Reddy
Technical Director