A presentation of J2EE

grrrgrapeInternet and Web Development

Oct 31, 2013 (4 years and 9 days ago)

89 views

תונורתפ
J
2
EE

תויגולונכטו
Oracle

Mr. Liran Zelkha, Chief Architect

Liran.zelkha@alunasoft.com

2

Agenda


From client
-
server to N
-
tier


Middltier application needs


J2EE application architecture


The Web user interface


The Business tier


Other services


Where to put the business logic
(Database/Application)


J2EE benefits


Cross platform


RAD development


The Way ahead: Services & SOA

3

Client/Server Applications


Around since the mid
-
80s.


Client power.


RAD development (VB,
Developer/2000,
PowerBuilder).


But:


Installations and maintenance
(TCO)


Do not fit the

web paradigm


4

N
-
Tier


More server oriented.


Application can be divided to tiers,
each responsible for different
aspect of the application:


Easier upgrading


Easier support


But:


Our requirements have increased


Where is our RAD?

5

Middletier Application Needs


All we were used to:


Functionality


User interface


RAD


And some more:


Security


Performance


Management


Upgrade
-
ability


Integration

6

J2EE Introduction


Built on top of Java.


Cross platform.


Industry support.


Large developers base.


Specification developed and
maintained by JCP.


Check
www.jcp.org

for list of
participants.

7

J2EE Current Status


Oracle, IBM, BEA and Jboss
largest players.


Many enterprise software
vendors use J2EE


SAP,
Oracle, IBM, PeopleSoft.


Large number of customers.


Wide experience and
acceptance.

8

J2EE Tiers

Client machine

Firewall / Load Balancer

Web
Server

Web
Server

EJB
Container

EJB
Container

Database

Web
Container

Web
Container

Browser

HTML

GIF

JPEG

HTML

GIF

JPEG

Servlet

JSP

Servlet

JSP

EJB

JDBC

JCA

JMS

EJB

JDBC

JCA

JMS

9

J
2
EE Scenario

Client machine

Web
Server

EJB Container

Database

Web Container

Catalog

.jsp

HTTPSession

Datasource

Connection

BookEJB

Logo.gif

Connection

Connection

eedemo.com/catalog.jsp
2
http://www.j

1

2

3

4

5

6

7

8

10

The Web Tier


Use JSP for web development.


HTML pages with Java code
embedded inside (much like
ASP).


Many supporting technologies:


Session management,


I
18
N,


Security,


Much more.

11

Web Tier Ease Of Use


Frameworks for web development
consolidated into JSF.


Pre defined components (trees,
lists, templates) that can be
purchased or downloaded for free.


Standard supported by all J
2
EE
vendors.


Tools offer WYSIWYG and RAD.

Demo:

Web Tier Ease Of Use

13

The Business Tier


Component based
development.


Services provided by
application server:


High availability,


Security,


Management,


More.

14

EJBs


Components for business logic
(session EJBs), database
access (entity EJBs)


Support for remote calls and
web services


Application server provides run
time services


transactions,
security, more.


15

Other services


Messaging


JMS


standard API for all
messaging platforms.


Integration


JCA


buy or develop
connectors for legacy systems.


Management


JMX


easy to develop
management components.

Demo:

Business Tier

17

J
2
EE Benefits


Cross platform


Can work on any
hardware/OS


Linux,
Windows, UNIX and
Mainframe.


Can work with any vendor


commercial (Oracle, IBM) or
open source (Jboss, Apache)


Porting is easy.

18

J
2
EE Benefits


RAD


Setting up server is as easy as
opening a ZIP file (Oracle,
Jboss).


Development can be done
using RAD tools (Jdeveloper,
Eclipse).


Deployment is a mouse click
away.

19

J
2
EE Benefits
-

Experience


Tons of books, articles, forums.


Design patterns and blue prints
for easy development.


Many online and classic
courses.


20

The Middle Tier future


Welcome to the world of:


Web services,


SOA,


Aspect Oriented Programming

21

Web Services


Components with HTTP access.


Can be used from any
language.


Thoroughly supported in J
2
EE.


Can pass through firewalls.

22

SOA


Service Oriented Architecture.


Software architecture
composed of standalone
components.

23

Development Aids


AOP
-

Attribute Oriented
Programming


XP


AOP


Aspect Oriented
Programming


BPEL


Business Process
Execution Language

24

AOP
-

Attribute Oriented
Programming


J
2
EE components require
meta
-
data:


Web.xml, ejb
-
jar.xml,
application.xml


Proprietary files


External is an advantage?!?


Xdoclet can auto
-
create
meta
-
data files

25

XP


eXtreme Programming


Automated testing:


Junit


JUnitPerf


HTTPUnit


Cactus


Rapid build:


ANT

26

AOP
-

Aspect Oriented
Programming


Many view J
2
EE containers as
AOP containers


Write business logic


Server provides aspects of
transactions,security,
performance, etc.

27

Web Services Meet Business
Processes

Web
Service
1

Web
Service
2

Web
Service
3

Web
Service
4

Web
Service
5

Web
Service n

28

Example Problem Space

Client

PO Service

Credit
Service

Inventory
Service

Purchase


Order

Invoice

Consolidate

Results

29

Summary


J
2
EE has been here a while and it is
here to stay.


Easy to use


unlike a couple of
years ago.


Easy to teach


allot of experience
going around.


Stable and inexpensive


competition brings the best in
vendors.



Good luck


30

Q U E S T I O N S

A N S W E R S