Unit 1 - Introduction To J2EE

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 42

JBoss Server System Administration

Introduction to J2EE (JBoss)


Distributed Architectures and
JBoss AS

At the end of this module you will be able


• explain the motivation behind distributed
systems
• list the major components of the J2EE
specification
• know the terminology used throughout the
course describe a high level view of the JBoss
architecture
Road Map

1. J2EE Technologies
– basic concepts of distributed systems
– J2EE standardizes distributed systems
– major technologies of the J2EE specification
2. Web and JBoss Server Terms
3. JBoss Server Architecture
Distributed Systems

• Distributed systems divide the work amongst


several independent modules.
• Failure of a single module has less impact on
the overall system which makes them more:
– available
– scalable
– maintainable

Distributed system are


Monolithic system are
small, agile, and quick
big, slow, and inadaptable.
to adapt to changes.
High Availability

• Availability is a measure of a system’s ability to


be actively processing client requests.
• High availability requires that a system is up
and running as close to 24x7x365 as possible.
• High availability is achieved using load
balancing and failover techniques.
• 24/7/365 availability is needed by applications
such as ATM Banking, stock & commodities
trading, industrial and e-commerce.
Scalability

• Scalability is the ability to grow a system to


handle a growing work load (requests).
• A single machine can only do a finite amount of
work.
• When business grows beyond the capability of a
single machine, a system that spans multiple
machines is needed.
Maintainability

• Maintainability:
– is a measure of how easily a system can be upgraded,
debugged, or maintained
– has a direct impact on how fast a system can
change/adapt to constantly changing requirements
• The solution includes:
– keeping business logic in modular, reusable units
– removing explicit access to infrastructure services
from the user interface (e.g. database access,
transaction demarcation, security)
How Standards Help

• Many of the advantages of distributed systems


come from standards.
• Standards:
– provide separation of difficult problems to
separate platforms allow modularization of
complex hardware and software
– allow a larger portion of project costs to go
toward solving business software needs
The J2EE Approach

• Java Platform 2 Enterprise Edition [J2EE] helps


to overcome distribution liabilities.
• Applications deployed with J2EE technologies
are:
– standardized
– adherent to specification guidelines
– written in Java
– deployable in any compliant application
server or Web server
The J2EE Architecture
Java Database Connectivity (JDBC)

• JDBC is:
– a standard Java interface for accessing
heterogeneous databases
– a specification that defines four different
driver types for connecting to databases
Java Naming & Directory Interface (JNDI)

• JNDI is:
– a Java API for
accessing naming
and directory
servers
– built as a layer over
DNS, LDAP, etc.
Java Servlets

• Servlets provide a
request/response service.
• HTTP Servlets:
– are Servlets that can be
invoked by
HTTPcommands
– are deployed on Web
servers
– look like Web pages to
client browsers
– can store client data in a
local session
Java Server Pages (JSPs)

• JSPs are text-based documents that create


dynamic Web pages based on a client request.
• A JSP contains:
– text-based templates containing presentation
formats
– dynamic actions contained in directives and
scriptlets
Java Transaction API (JTA)

• JTA is a standard Java API for demarcating


transactions within a program.
• JBoss supports local and distributed
transactions.
Java Message Service (JMS)

• JMS is a Java API for


accessing message oriented
middleware.
• The interface supports:
– the Point-To-Point domain
– the Publish/Subscribe
domain
– guaranteed message
delivery
– transactional sessions
Enterprise JavaBeans (EJBs)

• EJBs are distributed components written in the


Java programming language.
• EJBs:
– provide distributable and deployable
business services (logic) to clients
– have well-defined interfaces
– are reusable across application servers
– execute within a container that provides
management and control services
• JBoss supports the EJB 1.1 and EJB2.0
specifications.
Java Authentication and Authorization

• Java Authentication and Authorization Service (JAAS) is a


Java-based security management framework.
• JAAS supports:
– single sign-on
– a Pluggable Authentication Module (PAM)
• JAAS enables flexible control over authorization whether
it is based on:
– users
– groups
– roles
Java Management Extensions (JMX)

• The Java Management Extensions (JMX):


– defines a standard infrastructure to manage a
device from Java programs
– decouples the managed device from the
management tools
• The specification describes MBeans, which are
the building blocks of JMX.
Web Services

• Web Services:
– are server-side services
– are accessible over the Web using well-known
protocols
– are described using XML
– interact via XML
– locatable via a registry
– completely cross platform
and loosely coupled
Section Review

• In this section we discussed:


– the benefits of distributed systems
– the J2EE architecture
– many of the J2EE technologies
Road Map

1. J2EE Technologies
2. Web and JBoss Server Terms
– terminology
– components of a JBoss Server domain
3. JBoss Server Architecture
Web Client

• A Web client:
– is usually a browser
– interacts with JBoss via
HTTP (using
Servlets/JSPs)
– displays HTML or XML
from Web servers
– may run applets or
JavaScript
– has varying levels of user-
configurable security
Application Client

• Application clients:
– are clients that do not
execute within a browser
– can communicate through
JRMP, IIOP, TCP/IP, or any
other technology
Web Server

• Web servers:
– provide Web content
– communicate via
HTTP, FTP, etc
– can handle CGI
requests
– proxy some requests
to Application
Servers
Application Server

• Application servers:
– provide services that
support the execution
and availability of
deployed applications
– handle heavier
processing chores than
Web servers
Proxy Server

• A proxy server:
– forwards requests to
other machines
– can be used as a level
of indirection and
security
– can be used to load
balance a system
Firewall

• Firewalls:
– provide filtering,
authorization, and
authentication services
– help keep out hackers
– map port requests
– can act as proxy
servers
– can decrease back end
network activity
A Web App Server Configuration
An Application Server Configuration
Server Node

• A Server Node is a Java Program within a Java


Virtual Machine (JVM).
• A server:
– can be associated with at most one JBoss
machine
– has a dedicated amount of RAM
– is multithreaded
Machines

• Machines:
– represent the physical piece of hardware
that a server resides on
– can be of Unix or non-Unix type
Server

• Server is an administrative unit or boundary.


• Provides a single point of administration
• A partition can separate:
– Development test an production applications
– Organizational divisions
Clustering

• Clusters can group


machines and servers as if
they were a single
instance.
• Clusters are used for fault
tolerance, load balancing
and high availability.
• Is transparent
to a client
Partition

• A Partition is a group of Server Nodes within


same Server
• Provides a single point of administration
Section Review

• In this section we discussed:


– terms used to discuss Web architectures
– terms used to describe JBoss Server features
Road Map

1. J2EE Technologies
2. Web and JBoss Server Terms
3. JBoss Server Architecture
Just the Big Picture
Logic View
JMX Microkernel - Overview
JMX Microkernel - Overview
JMX Microkernel – HTTP Console

You might also like