Title: Serverside Component Technology based on Java Enterprise JavaBean
1Server-side Component Technology based on Java --
Enterprise JavaBean
- Software Engineering College of Sichuan
University - Yin Hao (??)
- yinhaoscu_at_263.sina.com
2Chapter 1 Overview
- Now a typical business application is a
distributed system,we should break up a
monolithic application into a distributed system
with multiple clients connecting to multiple
servers and database over network. - Figure 1.1 on page 4
- What should we think about according to the above
scheme? - Answers are on page 6
3The motivation for EJB
- In the past, most companies built their own
middleware. - These days, rather than build them yourself, you
could buy these middleware services because of
the appearance of application server (standard). - Application servers provide you with common
middleware services, such as resource pooling
(database, socket) , network, transaction,
security, and more. - We build our application out of components.
- Components are not entire applications, they can
not run alone. - A company can purchase a well-defined module that
solve a problem and combine it with other
components to solve larger problem.
4The motivation for EJB
- An example on page 5 a pricing component
- Different customers can reuse a generic
component provided by the same vendor. - The advantages of reusing components
- on page 10 3 points
- Therefore we need a standard between application
servers and components. This will allow
components to be switched in and out of various
application servers without having to change code
or potentially even recompile the components. -
-
5Thin-Client Multi-tier Application
Tier 1 Client Tier
Web Browser HTML Page
Network
Tier 2 Web Tier
Web Server (Thin-Client Servlet)
Network
Enterprise Beans Application Server
Tier 3 Business Tier
Network
Tier 4 EIS Tier (Enterprise Information System)
Database Server
6Introducing EJB
- Enterprise JavaBean(EJB) is a server-side
component architecture.(different from Java
Beans) - Scalable?reliable ?secure application (thin
client) - Rapid application development for server-side
- EJB Standard is a component architecture for
deployable server-side components in Java - Specification?interface
7Top three values of EJB
- It is agreed upon by industry. (Train once, code
anywhere) - Portability is easier. EJB specification is
published and available freely to all.
(java.sun.com) - Rapid application development.
8Why Java
- EJB components must be written in Java only.
(restriction) - Interface/Implementation separation (JDBC)
- Safe and secure (no pointers/automatic garbage
collection) - Cross platform (windows/Unix)
9What EJB can do P14
- Performing business logic (back end)
- Access a database (JDBC)
- Access another system (JCA Java Connector
Architecture)
10Connecting to EJB
- Thick Clients
- Applets?Java Applications
- Dynamically generated web pages
- Java Servlets and JavaServer Pages
- XML-based Web Service wrapper
11Application domain
- Client-side (GUI components)
- rendering GUI
- performing other presentation-related logic
- lightweight business logic
- end-users or business partner
- Server-side (EJB)
- executing complex algorithms
- performing high-volume business transactions
- run in a highly available(247),fault
tolerant,multi-user secure environment
12EJB Ecosystem(6 roles/Figure 1.7)
- The Bean Provider (Application Component
Provider) - The Application Assembler (Application Assembler)
- create a .ear file
- The EJB Deployer (Deployer)
- deploy transaction and security, etc.
- The System Administrator (System Administrator)
- monitoring the runtime environment (Log
Analyzer?Resource Analyzer) - The Container and Server Provider (J2EE Product
Provider) - IBMs WebSphere?BEAs WebLogic?Macromedias JRun
- The Tool Vendors (Tool Provider)
- IBMs Visual Age for Java (WSAD)?Borlands
JBuilder?Oracles JDeveloper (IDE)
13J2EE Application
J2EE Application
Web Component
EJB Component
Application Client Component
14J2EE Application Files
- J2EE Application .ear
- J2EE Application Deployment Descriptor .xml
- EJB Component .jar
- EJB Deployment Descriptor .xml
- EJB Class .class
- Remote Interface .class
- Home Interface .class
- Web Component .war
- Web Component Deployment Descriptor .xml
- JSP Files .jsp
- Servlet Class .class
- HTML Files .html
- J2EE Application Client .jar
- J2EE Application Client Deployment
Descriptor .xml - Java Application .class
15J2EE Architecture
16Glossary J2EEJava 2 Platform, Enterprise
Edition SSLSecure Sockets Layer RMIRemote
Method Invocation JMSJava Message
Service JNDIJava Naming and Directory
Interface JTAJava Transaction API
JAFJavaBeans Activation Framework RMI/IIOPRMI
over IIOP JDBCJava Database Connection
17J2EE
- The Java 2 Platform, Enterprise Edition
(J2EE)Providing a platform-independent,
portable, multi-user, secure and standard
enterprise-class platform for server-side
deployment written in the Java language. - Three different Java platforms
- The Java 2 Platform, Micro Edition (J2ME)
- A development platform for Java-enabled device
(small devices) - The Java 2 Platform, Standard Edition (J2SE)
- JDK
- The Java 2 Platform, Enterprise Edition (J2EE)
- A complete development platform for
enterprise-class server-side deployment in Java.
J2EE builds on J2SE.
18Java Platform
Microsoft SQL Server JDBC Grid project Globus
Toolkit 3.0
Platforms
J2SDK
J2EE
J2ME
Core/Desktop Application,Applet, Swing, Awt
Enterprise/Server JSP/Servlet, EJB
Mobile/Wireless Midlet (Cell Phone/PDA)
Nokia, Motorola, Siemens SDK JBuilder,Sun One
Studio
IBM WebSphere, WSAD BEA WebLogic, Workshop Sun
One Studio Oracle JDeveloper
Borland JBuilder, JCreator, or Text Editor
19The J2EE Technologies (API)
- Enterprise JavaBeans (EJB)
- Java Remote Method Invocation (RMI) and RMI-IIOP
- RMI-IIOP is an extension of RMI that can be used
for CORBA integration. RMI-IIOP is the official
API used in J2EE (not RMI). - Java Naming and Directory Interface (JNDI)
- EJB components, Data Source and other resources
across network - Java Database Connectivity (JDBC)
- accessing relational database
20The J2EE Technologies (API)
- Java Transaction API (JTA) and Java Transaction
Services (JTS) - Commit/Rollback, container management
- Java Messaging Service (JMS)
- Message-Driven Bean, asynchronous invocation
- Java Servlets
- Taking requests from some client host (such as a
web browser) and issue a response back to that
host. - Java Pages (JSPs)
- The largest difference between JSP scripts and
Servlets is that JSP scripts are not pure Java
code.
21The J2EE Technologies (API)
- Java IDL
- Java-based implementation of CORBA.
- JavaMail
- Allowing you to send email message in a
platform-independent, protocol-independent manner
from your Java programs. - J2EE Connector Architecture (JCA)
- Handling transaction and security concerns.
- The Java API for XML Parsing (JAXP)
- SAX/DOM
- The Java Authentication and Authorization
Services (JAAS) - WebShpere vs. .Net