300 likes | 419 Views
פתרונות J2EE וטכנולוגיות Oracle. Mr. Liran Zelkha, Chief Architect Liran.zelkha@alunasoft.com. Agenda. From client-server to N-tier Middltier application needs J2EE application architecture The Web user interface The Business tier Other services
E N D
פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect Liran.zelkha@alunasoft.com
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
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”
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?
Middletier Application Needs • All we were used to: • Functionality • User interface • RAD • And some more: • Security • Performance • Management • Upgrade-ability • Integration
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.
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.
J2EE Tiers Client machine Firewall / Load Balancer Web Server Web Container EJB Container EJB JDBC JCA JMS Database HTML GIF JPEG Browser Servlet JSP Web Server Web Container EJB Container EJB JDBC JCA JMS HTML GIF JPEG Servlet JSP
J2EE Scenario Client machine Web Server Web Container EJB Container Connection Connection Connection Database 1 3 Datasource 4 7 6 2 Catalog.jsp BookEJB 8 5 Logo.gif HTTPSession http://www.j2eedemo.com/catalog.jsp
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.
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.
The Business Tier • Component based development. • Services provided by application server: • High availability, • Security, • Management, • More.
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.
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.
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.
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.
J2EE Benefits - Experience • Tons of books, articles, forums. • Design patterns and blue prints for easy development. • Many online and classic courses.
The Middle Tier future • Welcome to the world of: • Web services, • SOA, • Aspect Oriented Programming
Web Services • Components with HTTP access. • Can be used from any language. • Thoroughly supported in J2EE. • Can pass through firewalls.
SOA • Service Oriented Architecture. • Software architecture composed of standalone components.
Development Aids • AOP - Attribute Oriented Programming • XP • AOP – Aspect Oriented Programming • BPEL – Business Process Execution Language
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
XP – eXtreme Programming • Automated testing: • Junit • JUnitPerf • HTTPUnit • Cactus • Rapid build: • ANT
AOP - Aspect Oriented Programming • Many view J2EE containers as AOP containers • Write business logic • Server provides aspects of transactions,security, performance, etc.
Web Services Meet Business Processes Web Service 1 Web Service 4 Web Service 2 Web Service 5 Web Service 3 Web Service n
Example Problem Space CreditResponse InventoryResponse CreditCheck Purchase Order ReserveInventory Invoice Credit Service Consolidate Results PO Service Client Inventory Service
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…
Q & Q U E S T I O N S A N S W E R S A