Web Service 1 Web Service 2 Web Service 3 Web Service 4 Web

Download Report

Transcript Web Service 1 Web Service 2 Web Service 3 Web Service 4 Web

‫ וטכנולוגיות‬J2EE ‫פתרונות‬
Oracle
Mr. Liran Zelkha, Chief Architect
[email protected]
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
2
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”
3
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?
4
Middletier Application Needs
• All we were used to:
– Functionality
– User interface
– RAD
• And some more:
–
–
–
–
–
Security
Performance
Management
Upgrade-ability
Integration
5
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.
6
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.
7
J2EE Tiers
Firewall / Load Balancer
Browser
Client machine
Web
Server
Web
Container
EJB
Container
HTML
GIF
JPEG
Servlet
JSP
EJB
JDBC
JCA
JMS
Web
Server
Web
Container
EJB
Container
Servlet
JSP
EJB
JDBC
JCA
JMS
HTML
GIF
JPEG
Database
8
J2EE Scenario
1
3
Connection
EJB Container
Connection
Web Container
Connection
Client machine
Web
Server
Database
Datasource
4
2
Catalog
.jsp
6
7
BookEJB
8
5
Logo.gif
HTTPSession
http://www.j2eedemo.com/catalog.jsp
9
The Web Tier
• Use JSP for web development.
• HTML pages with Java code
embedded inside (much like
ASP).
• Many supporting technologies:
–
–
–
–
Session management,
I18N,
Security,
Much more.
10
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 J2EE
vendors.
• Tools offer WYSIWYG and RAD.
11
Demo:
Web Tier Ease Of Use
The Business Tier
• Component based
development.
• Services provided by
application server:
–
–
–
–
High availability,
Security,
Management,
More.
13
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.
14
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.
15
Demo:
Business Tier
J2EE 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.
17
J2EE 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.
18
J2EE Benefits - Experience
• Tons of books, articles, forums.
• Design patterns and blue prints
for easy development.
• Many online and classic
courses.
19
The Middle Tier future
• Welcome to the world of:
– Web services,
– SOA,
– Aspect Oriented Programming
20
Web Services
• Components with HTTP access.
• Can be used from any
language.
• Thoroughly supported in J2EE.
• Can pass through firewalls.
21
SOA
• Service Oriented Architecture.
• Software architecture
composed of standalone
components.
22
Development Aids
• AOP - Attribute Oriented
Programming
• XP
• AOP – Aspect Oriented
Programming
• BPEL – Business Process
Execution Language
23
AOP - Attribute Oriented
Programming
• J2EE components require
meta-data:
– Web.xml, ejb-jar.xml,
application.xml
– Proprietary files
• External is an advantage?!?
• Xdoclet can auto-create
meta-data files
24
XP – eXtreme Programming
• Automated testing:
–
–
–
–
Junit
JUnitPerf
HTTPUnit
Cactus
• Rapid build:
– ANT
25
AOP - Aspect Oriented
Programming
• Many view J2EE containers as
AOP containers
– Write business logic
– Server provides aspects of
transactions,security,
performance, etc.
26
Web Services Meet Business
Processes
Web
Service 1
Web
Service 4
Web
Service 2
Web
Service 5
Web
Service 3
Web
Service n
27
Example Problem Space
Credit
Service
Purchase
Invoice
Order
Client
Consolidate
Results
PO Service
Inventory
Service
28
Summary
• J2EE 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…
29
QUESTIONS
ANSWERS
30