Slide 1


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Slide 1

  1. 1. פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect [email_address]
  2. 2. Agenda <ul><li>From client-server to N-tier </li></ul><ul><ul><li>Middltier application needs </li></ul></ul><ul><li>J2EE application architecture </li></ul><ul><ul><li>The Web user interface </li></ul></ul><ul><ul><li>The Business tier </li></ul></ul><ul><ul><li>Other services </li></ul></ul><ul><ul><li>Where to put the business logic (Database/Application) </li></ul></ul><ul><li>J2EE benefits </li></ul><ul><ul><li>Cross platform </li></ul></ul><ul><ul><li>RAD development </li></ul></ul><ul><li>The Way ahead: Services & SOA </li></ul>
  3. 3. Client/Server Applications <ul><li>Around since the mid-80s. </li></ul><ul><li>Client power. </li></ul><ul><li>RAD development (VB, Developer/2000, PowerBuilder). </li></ul><ul><li>But: </li></ul><ul><ul><li>Installations and maintenance (TCO) </li></ul></ul><ul><ul><li>Do not fit the “web paradigm” </li></ul></ul>
  4. 4. N-Tier <ul><li>More server oriented. </li></ul><ul><li>Application can be divided to tiers, each responsible for different aspect of the application: </li></ul><ul><ul><li>Easier upgrading </li></ul></ul><ul><ul><li>Easier support </li></ul></ul><ul><li>But: </li></ul><ul><ul><li>Our requirements have increased </li></ul></ul><ul><ul><li>Where is our RAD? </li></ul></ul>
  5. 5. Middletier Application Needs <ul><li>All we were used to: </li></ul><ul><ul><li>Functionality </li></ul></ul><ul><ul><li>User interface </li></ul></ul><ul><ul><li>RAD </li></ul></ul><ul><li>And some more: </li></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>Management </li></ul></ul><ul><ul><li>Upgrade-ability </li></ul></ul><ul><ul><li>Integration </li></ul></ul>
  6. 6. J2EE Introduction <ul><li>Built on top of Java. </li></ul><ul><ul><li>Cross platform. </li></ul></ul><ul><ul><li>Industry support. </li></ul></ul><ul><ul><li>Large developers base. </li></ul></ul><ul><li>Specification developed and maintained by JCP. </li></ul><ul><ul><li>Check for list of participants. </li></ul></ul>
  7. 7. J2EE Current Status <ul><li>Oracle, IBM, BEA and Jboss largest players. </li></ul><ul><li>Many enterprise software vendors use J2EE – SAP, Oracle, IBM, PeopleSoft. </li></ul><ul><li>Large number of customers. </li></ul><ul><li>Wide experience and acceptance. </li></ul>
  8. 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. 9. J2EE Scenario Client machine Web Server EJB Container Database Web Container Catalog .jsp HTTPSession Datasource Connection BookEJB Logo.gif Connection Connection 1 2 3 4 5 6 7 8
  10. 10. The Web Tier <ul><li>Use JSP for web development. </li></ul><ul><li>HTML pages with Java code embedded inside (much like ASP). </li></ul><ul><li>Many supporting technologies: </li></ul><ul><ul><li>Session management, </li></ul></ul><ul><ul><li>I18N, </li></ul></ul><ul><ul><li>Security, </li></ul></ul><ul><ul><li>Much more. </li></ul></ul>
  11. 11. Web Tier Ease Of Use <ul><li>Frameworks for web development consolidated into JSF. </li></ul><ul><li>Pre defined components (trees, lists, templates) that can be purchased or downloaded for free. </li></ul><ul><li>Standard supported by all J2EE vendors. </li></ul><ul><li>Tools offer WYSIWYG and RAD. </li></ul>
  12. 12. Demo: Web Tier Ease Of Use
  13. 13. The Business Tier <ul><li>Component based development. </li></ul><ul><li>Services provided by application server: </li></ul><ul><ul><li>High availability, </li></ul></ul><ul><ul><li>Security, </li></ul></ul><ul><ul><li>Management, </li></ul></ul><ul><ul><li>More. </li></ul></ul>
  14. 14. EJBs <ul><li>Components for business logic (session EJBs), database access (entity EJBs) </li></ul><ul><li>Support for remote calls and web services </li></ul><ul><li>Application server provides run time services – transactions, security, more. </li></ul>
  15. 15. Other services <ul><li>Messaging </li></ul><ul><ul><li>JMS – standard API for all messaging platforms. </li></ul></ul><ul><li>Integration </li></ul><ul><ul><li>JCA – buy or develop connectors for legacy systems. </li></ul></ul><ul><li>Management </li></ul><ul><ul><li>JMX – easy to develop management components. </li></ul></ul>
  16. 16. Demo: Business Tier
  17. 17. J2EE Benefits – Cross platform <ul><li>Can work on any hardware/OS – Linux, Windows, UNIX and Mainframe. </li></ul><ul><li>Can work with any vendor – commercial (Oracle, IBM) or open source (Jboss, Apache) </li></ul><ul><li>Porting is easy. </li></ul>
  18. 18. J2EE Benefits – RAD <ul><li>Setting up server is as easy as opening a ZIP file (Oracle, Jboss). </li></ul><ul><li>Development can be done using RAD tools (Jdeveloper, Eclipse). </li></ul><ul><li>Deployment is a mouse click away. </li></ul>
  19. 19. J2EE Benefits - Experience <ul><li>Tons of books, articles, forums. </li></ul><ul><li>Design patterns and blue prints for easy development. </li></ul><ul><li>Many online and classic courses. </li></ul>
  20. 20. The Middle Tier future <ul><li>Welcome to the world of: </li></ul><ul><ul><li>Web services, </li></ul></ul><ul><ul><li>SOA, </li></ul></ul><ul><ul><li>Aspect Oriented Programming </li></ul></ul>
  21. 21. Web Services <ul><li>Components with HTTP access. </li></ul><ul><li>Can be used from any language. </li></ul><ul><li>Thoroughly supported in J2EE. </li></ul><ul><li>Can pass through firewalls. </li></ul>
  22. 22. SOA <ul><li>Service Oriented Architecture. </li></ul><ul><li>Software architecture composed of standalone components. </li></ul>
  23. 23. Development Aids <ul><li>AOP - Attribute Oriented Programming </li></ul><ul><li>XP </li></ul><ul><li>AOP – Aspect Oriented Programming </li></ul><ul><li>BPEL – Business Process Execution Language </li></ul>
  24. 24. AOP - Attribute Oriented Programming <ul><li>J2EE components require meta-data: </li></ul><ul><ul><li>Web.xml, ejb-jar.xml, application.xml </li></ul></ul><ul><ul><li>Proprietary files </li></ul></ul><ul><li>External is an advantage?!? </li></ul><ul><li>Xdoclet can auto-create meta-data files </li></ul>
  25. 25. XP – eXtreme Programming <ul><li>Automated testing: </li></ul><ul><ul><li>Junit </li></ul></ul><ul><ul><li>JUnitPerf </li></ul></ul><ul><ul><li>HTTPUnit </li></ul></ul><ul><ul><li>Cactus </li></ul></ul><ul><li>Rapid build: </li></ul><ul><ul><li>ANT </li></ul></ul>
  26. 26. AOP - Aspect Oriented Programming <ul><li>Many view J2EE containers as AOP containers </li></ul><ul><ul><li>Write business logic </li></ul></ul><ul><ul><li>Server provides aspects of transactions,security, performance, etc. </li></ul></ul>
  27. 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. 28. Example Problem Space Client PO Service Credit Service Inventory Service Consolidate Results Purchase Order Credit Check Reserve Inventory Credit Response Inventory Response Invoice
  29. 29. Summary <ul><li>J2EE has been here a while and it is here to stay. </li></ul><ul><li>Easy to use – unlike a couple of years ago. </li></ul><ul><li>Easy to teach – allot of experience going around. </li></ul><ul><li>Stable and inexpensive – competition brings the best in vendors. </li></ul><ul><li>Good luck… </li></ul>
  30. 30. Q A & Q U E S T I O N S A N S W E R S
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.