Vous êtes sur la page 1sur 58

WEBLOGIC

History of WebLogic
HISTORY
 WebLogic Inc started in 1995 was a company
credited with creating the first J2EE application
server, the WebLogic Application Server.
 —BEA Systems acquired WebLogic, Inc in 1998.
 —Oracle Corporation acquired BEA Systems in
2008.
BEA WEBLOGIC

 BEA WebLogic is a J2EE application server and


also an HTTP web server by BEA Systems of San
Jose,California, for Unix, Linux, Microsoft
Windows, and other platforms.
 WebLogic supports Oracle, DB2, Microsoft SQL
Server, and other JDBC-compliant databases.
WebLogic Server supports WS-Security and is
compliant with J2EE 1.3.
…CONT.
 BEA WebLogic Server is part of the BEA
WebLogic Platform™. The other parts of
WebLogic Platform are:
 * Portal, which includes Commerce Server and
Personalization Server (which is built on a BEA-
produced Rete
 rules engine),

 * WebLogic Integration,

 * WebLogic Workshop, an IDE for Java, and

 * JRockit, a JVM for Intel CPUs.


…CONT.
 WebLogic Server includes .NET interoperability
and supports the following native integration
capabilities:
 * Native enterprise-grade JMS messaging

 * J2EE Connector Architecture

 * WebLogic/Tuxedo Connector

 * COM+ Connectivity

 * CORBA connectivity

 * IBM WebSphere MQ connectivity


…CONT.
 BEA WebLogic Server Process Edition also
includes Business Process Management and Data
Mapping functionality.
 WebLogic supports security policies managed by
Security Administrators. The BEA WebLogic
Server Security
 Model includes:

 * Separate application business logic from


security code
 * Complete scope of security coverage for all
J2EE and non-J2EE components
A SERVER
A server is an instance of weblogic.Server
executing in a Java Virtual Machine
(JVM).
 A server:

a) Runs on a designated Oracle

WebLogic Server machine


b) Has a dedicated amount of RAM
c) Is multithreaded
TWO TYPES OF SERVERS:
 1) Administration Server
2) Managed Server
ADMIN SERVER

Admin Server is the central domain configuration
interface which is used to create, delete and
configure the resources of a domain like managed
server, machine, cluster, data source, work
managers
etc.
THE MANAGED SERVER
 Managed server is a server in a domain that is not the
Administration server.
 It contacts the administration server for
configuration information.
 It runs business application in a production
environment.
 It is independent of all other Managed servers in a
domain (unless they are not in a cluster).

You can have many managed servers in a domain.
 Individual managed servers are typically added for
capacity and application isolation.
HOW ADMINISTRATION SERVER AND
MANAGED SERVERS WILL INTERACT
 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 the
domain configuration file.
 When a Managed Server starts, it connects to the
Administration Server to synchronize the
configuration.
 When the configuration is changed, the
Administration Server sends the changed
configuration to the Managed Servers.
WEB SERVER
 A Web server is a program that
uses HTTP (Hypertext Transfer Protocol) to
serve the files that form Web pages to users, in
response to their requests, which are forwarded
by their computers' HTTP clients.
 Dedicated computers and appliances may be
referred to as Web servers as well.
WEB SERVICES
 The term Web services describes a standardized
way of integrating Web-based applications using
the XML, SOAP, WSDL and UDDI open
standards over an Internet protocol backbone. ...
Developers can then add the Web service to a
GUI (such as a Web page or an executable
program) to offer specific functionality to users.
TYPES OF WEB SERVERS
 Major ones are Netscape's iPlanet, Bea's
Web Logic and IBM's WebSphere.
 Apache HTTP Server. This is the most popular
web server in the world developed by the Apache
Software Foundation. ...
 Internet Information Services. ...

 lighttpd. ...

 Sun Java System Web Server. ...

 Jigsaw Server.
ROLE OF WEB SERVER
 The primary function of web server is to store,
process and deliver web pages to clients.
 The communication between client
and server takes place using the Hypertext
Transfer Protocol (HTTP).
WEBLOGIC -INTRODUCTION
 WebLogic Definitions:
WebLogic is a J2EE application server and also an HTTP
web server by Oracle , for Unix, Linux, Microsoft Windows,
and other platforms.
 WebLogic supports Oracle, DB2, Microsoft SQL Server, and
other JDBC-compliant databases.

 Oracle Weblogic is Java EE application server that can be


used to develop and deploy multitier distributed applications.
 Weblogic comprises of almost all services that are needed to
develop and deploy an enterprise application.
 Administration of a Weblogic server for a production
environment involves many tasks like :
 Creating and managing Weblogic clusters, and domain,

 Deploying applications,

 Configuration of webserver,
 Managing transactions,

 JDBC security,

 JMS, and many more.


…CONT
 We will learn how to create a basic Weblogic
domain and deploy an application.
 We will be using a simple example application
packaged as a web archive, to demonstrate how
an application is deployed in Weblogic.
 Weblogic domain is a unit which consists of inter-
related server resources.
 Explains how to create s Weblogic domain using
the configuration wizard.
WHAT IS WEBLOGIC SERVER?

 WebLogic Server is:


— An Application server (100% J2EE (Java EE))
— A transaction server
— A HTTP Web server
— A messaging server
— An EAI (Enterprise Application Integration)
server
 And — WebLogic Server is the Foundation of
Oracle Fusion Middleware
INTERNET PHASE I – INFORMATION WEB
SITES

 During mid 90’s, Web Servers were primarily


used to host the web sites.
 — A web server supports only static html
pages, images and no support for dynamic
application code and enterprise integration.
INTERNET PHASE 2 - ECOMMERCE

 When Ecommerce became popular in 1997,


developers wrote their own code to connect the
web server to the back end systems.
ISSUES

 Every company had their own set of standards


and technology to connect to the backend systems
— Developers spent more time to develop code to
connect to the backend system than focus on
writing the code for business
— More time spent for knowledge transfer
HOW TO SOLVE?
 Sun Microsystems came up with J2EE to address the
listed issues in 1998.
 —Sun gave the rights to vendors to develop J2EE
based application servers.
 —Some of the J2EE Application Servers in the market
are :
1. Oracle WebLogic,
2. JBoss,
3. IBM WebSphere and
4. Oracle Glassfish.
 —
An Application Server bundles with standard coding
modules (configurable) to connect to the backend
systems and enable developers to focus on their
business logic.
WHAT IS J2EE (JAVA EE)?
 Oracle WebLogic is 100% Java EE platform
 J2EE (Hereinafter Java EE) is a framework
which provides an API for developing and
running multi tiered enterprise software
components and web services, and other large-
scale, scalable, reliable, and secure network
applications.
— It extends J2SE (Java 2 Standard Edition)
— Oracle Corporation acquired Sun Microsystems
in 2010.
J2EE
 J2EE is a platform for developing distributed
enterprise software applications.
 Since the inception of the Java language, it has
undergone tremendous adoption and growth.
 More and more technologies have become part of the
Java platform, and new APIs and standards have
been developed to address various needs.
 Eventually, Sun and a group of industry leaders,
under the auspices of the open Java Community
Process (JCP), unified all these enterprise-
related standards and APIs into the J2EE
Platform.
THE J2EE PLATFORM OFFERS NUMEROUS
ADVANTAGES TO THE ENTERPRISE:
 J2EE establishes standards for areas of
enterprise computing needs such as database
connectivity, enterprise business components,
message-oriented middleware (MOM), Web-related
components, communication protocols, and
interoperability.
 J2EE promotes best-of-breed implementations
based on open standards, protecting technological
investment.
 J2EE provides a standard platform for building
software components that are portable across
vendor implementations, avoiding vendor lock-in.
…CONT.
 J2EE increases time-to-market since much of
the infrastructure and plumbing is provided by
the vendors' products that are implemented
according to the standard J2EE specification. IT
organizations can now get out of the middleware
business and concentrate on building applications for
their business.
 J2EE increases programmer productivity, since
Java programmers can relatively easily learn
J2EE technologies based on the Java language.
All enterprise software development can be
accomplished under the J2EE platform, using Java as
the programming language.
 J2EE promotes interoperability within existing
heterogenous environments
J2EE ARCHITECTURE MODEL
THE TIERED APPROACH
 The J2EE architecture is a multitiered
architecture.
 J2EE platform(and application)is a multitiered
system, we view the system in terms of tiers.
 A tier is a logical partition of the separation of
concerns in the system.
 Each tier is assigned its unique responsibility in
the system.
 We view each tier as logically separated from one
another.
 Each tier is loosely coupled with the adjacent tier.
JAVA EE
 The Java EE platform is built on top of the J2SE
 (Java 2 Standard Edition) platform and it
contains 3 tiers
THE J2EE ARCHITECTURE CONSISTS OF THE
FOLLOWING TIERS:
 Client tier— The client tier interacts with the user and
displays information from the system to the user.
 The J2EE platform supports different types of clients,
including HTML clients, Java applets, and Java
applications.
 Web tier— The Web tier generates presentation logic
and accepts user responses from the presentation clients,
which are typically HTML clients, Java applets, and
other Web clients.
 Based on the received client request,

 The presentation tier generates the appropriate response


to a client request that it receives.
 In the J2EE platform, servlets and JSPs in a Web
container implement this tier.
…CONT.
 Business tier— This tier handles the core
business logic of the application.
 The business tier provides the necessary interfaces
to the underlying business service components.
 The business components are typically
implemented as EJB components with support
from an EJB container that facilitates the
component life cycle and manages persistence,
transactions, and resource allocation.
 EIS tier— This tier is responsible for the
enterprise information systems, including database
systems, transaction processing systems, legacy
systems, and enterprise resource planning systems.
 The EIS tier is the point where J2EE applications
integrate with non-J2EE or legacy systems.
JAVA EE-WEB TIER
 Web Tier consists of —
:
1. Servlets
2. JSF (Java Server Faces)

3. JSP (Java Server Pages)

4. Java Beans

JAVA EE- BUSINESS TIER
 Business Tier consists of:
1. —EJB (Enterprise Java Beans)
2. —Web Services —
3. XML
4. —JNDI (Java Naming and Directory Interface)
5. —Java Mail—
6. JMS (Java Message Service)
7. —RMI (Remote Method Invocation)
JAVA EE - ENTERPRISE INFORMATION TIER

 Enterprise Information Tier consists of:


 —JDBC (Java Database Connectivity)
 —JCA (Java EE Connector Architecture)
 —JTA (Java Transaction API)
 —Java Persistence API
J2EE APPLICATION COMPONENTS AND
CONTAINERS
 The J2EE component container supports application components in
the J2EE platform. A container is a service that provides the
necessary infrastructure and support for a component to exist and
for the component to provide its own services to clients. A container
usually provides its services to the components as a Java
compatible runtime environment.
 The core application components in the J2EE platform are as
follows:
 Java application components— standalone Java programs that
run inside an application container.
 Applet components— Java applets that run inside an applet
container, and which are usually supported via a Web browser.
 Servlets and JSPs—Web-tier components that run in a Web
container. Servlets and JSPs provide mechanisms for dynamic
content preparation, processing, and formatting related to
presentation.
 EJB components— Coarse-grained business components that are
run inside an EJB container (usually bundled in an application
server product).
TWO TYPES OF EJB COMPONENTS, OR
ENTERPRISE BEANS,

 two types:
1. session beans and
2. entity beans.
SESSION BEANS
 Session beans are enterprise beans that are suitable
for processing or workflow.
 Session beans come in two flavors: stateful and
stateless. A stateful session bean retains client state
between method invocations.
 A stateless session bean does not retain client-specific
state between client-invoked methods.
 Stateless session beans are used when no state needs
to be stored between method invocations, and they
may offer performance benefits over stateful session
beans, which must be used when some state needs to
be retained between invocations.
 Session bean instances pertain to a single user
session and are not shared between users.
ENTITY BEANS
 Entity beans are used when a business component needs
to be persisted and shared among multiple users.
 Entity bean persistence can be managed in two ways:

a) Bean-managed persistence(bmp) and


b) Container-managed persistence(cmp).
 BMP is used when the bean developer implements all
mechanisms for persisting the state in the bean.
 CMP is used when the bean developer does not
implement the persistence mechanisms in the bean.
 Instead, the bean developer specifies the necessary
mapping between the bean attributes and the persistent
storage and lets the container do the job.
ORACLE FUSION MIDDLEWARE

 Oracle Fusion Middleware is an Application


Infrastructure Suite from Oracle which contains
more than 100 products such as Identity
Management, Portal, Grid, Business Intelligence
and SOA.
 —Oracle WebLogic Server is the core of Oracle
Fusion Middleware
HOW WEBLOGIC FITS INTO?

 The hub and spoke diagram shows how WebLogic


fits into overall OFM Stack.
STANDARD SERVICES

 The J2EE platform specifies the following


standard services that every J2EE product
supports.
 These services include APIs, which every J2EE
product must also provide to application
components so that the components may access
the services.
…CONT.
 HTTP— Standard protocol for Web
communications.
 Clients can access HTTP via the java.net package

 HTTP over Secure Socket Layer(HTTPS)—


Same as HTTP, but the protocol is used over
Secure Socket Layer for security.
…CONT.
 JDBC— A standard API to access database resources in
a vendor-independent manner.
 JavaMail— An API that provides a platform-
independent and protocol-independent framework to
build mail and messaging applications in Java.
 Java Activation Framework(JAF)—APIs for an
activation framework that is used by other packages,
such as JavaMail.
 Developers can use JAF to determine the type of an
arbitrary piece of data, encapsulate access to it, discover
the operations available on it,and instantiate the
appropriate bean to perform these operations.
 For example, JavaMail uses JAF to determine what
object to instantiate depending on the mime type of the
object.
…CONT.
 Remote Method Invocation/Internet Inter-ORB Protocol
(RMI/IIOP)—Protocol that enables Remote Method
Invocation(RMI) programmers to combine the benefits of using the
RMI APIs and robust CORBA IIOP communications protocol to
communicate with CORBA-compliant clients that have been
developed using any language compliant with CORBA.
 Java Interface Definition Language (JavaIDL)—A service that
incorporates CORBA into the Java platform to provide
interoperability using standard IDL defined by the Object
Management Group.
 Runtime components include Java ORB (Object Request Broker) for
distributed computing using IIOP communication.
 Java Transaction API (JTA)—A set of APIs that allows
transaction management.
 Applications can use the JTA APIs to start, commit, and abort
transactions.
 JTA APIs also allow the container to communicate with the
transaction manager, and allow the transaction manager to
communicate with the resource manager.
CONT.
 JMS—An API to communicate with MOM to
enable point-to-point and publish/subscribe
messaging between systems. JMS offers vendor
independence for using MOMs in Java
applications.
 Java Naming and Directory Interface
(JNDI)—A unified interface to access different
types of naming and directory services.
 JNDI is used to register and look up business
components and other service-oriented objects in a
J2EE environment.
 JNDI includes support for Lightweight Directory
Access Protocol(LDAP), the CORBA Object
Services (COS) Naming Service, and the Java RMI
Registry.
J2EE PLATFORM ROLES
 J2EE product provider— Provides component containers,
such as application servers and Web servers, that are built to
conform to the J2EE specification.
 The product provider must also provide tools to deploy
components into the component containers.
 These tools are typically used by the deployer.
 In addition, the product provider must provide tools to
manage and monitor the applications in the container.
 The system administrator typically uses these latter tools.
 This role is fulfilled by the product vendors.
 Application component provider— Provides business
components built using the J2EE APIs.
 These components include components for Web applications
as well as for EJB applications.
 This role is fulfilled by programmers, developers, Web
designers, and so forth.
…CONT.
 Application assembler— Assembles, or puts together, a
set of components into a deployable application.
 The assembler obtains the application components from the
component providers.
 The application assembler packages the application and
provides the necessary assembly and deployment
instructions to the deployer.
 Application deployer— Deploys the assembled
application into a J2EE container.
 The deployer may deploy Web applications into containers—
Web containers, EJB containers, and so on—using the tools
provided by the J2EE product provider.
 The deployer is responsible for installation, configuration,
and execution of the J2EE application.
…CONT.
 System administrator— Has the responsibility
of monitoring the deployed J2EE applications
and the J2EE containers.
 The system administrator uses the management
and monitoring tools provided by the J2EE
product provider.
 Tool provider— Provides tools used for
development, deployment, and packaging of
components.
DEPLOYMENT DESCRIPTORS
 An application assembler puts a J2EE application
together for deployment, and at the same time provides
the assembly and deployment instructions in special files
called deployment descriptors.
 The J2EE specification defines deployment descriptors as
the contract between the application assembler and the
deployer.
 Deployment descriptors are XML documents that include
all the necessary configuration parameters required to
deploy the J2EE application or J2EEcomponents.
 Such configuration parameters specify external resource
requirements, security requirements, environment
parameters, and other component-specific and
application-specific parameters.
…CONT.
 The deployer may use a deployment tool provided by
the J2EE product provider to inspect, modify,
customize, and add configuration parameters in these
deployment descriptors to tailor the deployment to
the capabilities of the deployment environment.
 Deployment descriptors offer flexibility for the
development and deployment of J2EE application
components by allowing changes to configurations
and dependencies as needed during the different
application phases: the development, deployment, and
administration phases.
 Much of this flexibility is due to descriptors defining
parameters in a declarative fashion, rather than
having the parameters be embedded in the program
code.
WEBLOGIC SYSTEM ARCHITECTURE
 The WebLogic System Architecture comprises of
the following:
 —WebLogic Software
 —WebLogic Domain
 —WebLogic Server Instances
 —WebLogic Cluster
 —WebLogic Node Manager
WEBLOGIC SOFTWARE
 The WebLogic Software is a self executable file and
downloadable from Oracle site.
 It contains :
 EJB Container,
 Servlet Container,
 JDBC Drivers,
 Transactional components,
 Domain templates,
 Proxy Plug- ins,
 Smart update utilities,
 Security components,
 Configuration and Administration scripts.
 Usually installed under /Oracle/Middleware in a
system.
WEBLOGIC DOMAIN
 WebLogic Domain is a software folder
— A domain is the basic administration unit for
WebLogic Server instances.
 —A domain consists of one or more WebLogic
Server instances (and their associated resources)
that you manage with a single Administration
Server.
 —You can define multiple domains based on
different system administrators' responsibilities,
application boundaries, or geographical locations
of servers.
WEBLOGIC SERVER INSTANCES
 WebLogic Server Instance is a run time JVM and
it is part of WebLogic Domain.
— A Domain must have one Server Instance.
— A Server Instance listens on a logical port
number.
— A domain can have more than one Server
Instance.
 — First Server Instance is called as Administration
Server and it is used for Administering the
domain.
 — Other Server Instances in a domain are called
Managed Servers and they are used for hosting
the deployed applications.
THE DIAGRAM BELOW ILLUSTRATES THE DOMAIN AND
SERVER INSTANCES.
WEBLOGIC CLUSTER
 Two or more Managed Servers can be configured as a
WebLogic Cluster to increase application scalability
and availability.
 —A cluster appears to clients to be a single WebLogic
Server instance.
 —A cluster is part of a particular WebLogic Server
domain.
 —Each server instance in a cluster must run the same
version of
 WebLogic Server.
 —All managed server instances in a cluster must reside
in the same domain.
 —You cannot split a cluster over multiple domains.
 —IP Unicast or multicast, which server instances use to
broadcast availability of services and heartbeats that
indicate continued availability.
THE DIAGRAM BELOW ILLUSTRATES THE DOMAIN, SERVER
INSTANCES AND CLUSTER.
WEBLOGIC NODE MANAGER
 Node Manager is a Java utility that runs as separate
process from WebLogic Server and allows you to perform
common operations tasks for a Managed Server
regardless of its location with respect to its
Administration Server.
 —Node Manager is WebLogic Domain Independent.
 —You can start and stop the Managed Servers remotely
(Remote Start)
 using the Administration Console or from the command
line.
 —Node Manager can also automatically restart (Auto
Restart) a Managed
 Server after an unexpected failure.
 —Node Manager automatically kills (Auto Kill) a Managed
Server that reports its health state as "failed“.
HANDS ON SESSION
 WebLogic 12c Install
 —Explain the folder hierarchy
 —WebLogic Domain Configuration
 —Run the Server Instance
 —Deploying a simple application and access
through browser