J2EE OracleMr. Liran Zelkha, Chief ArchitectLiran.firstname.lastname@example.org
AgendaFrom client-server to N-tierMiddltier application needs J2EE application architecture The Web user interfaceThe Business tierOther servicesWhere to put the business logic (Database/Application)J2EE benefitsCross platformRAD developmentThe Way ahead: Services & SOA
Client/Server ApplicationsAround since the mid-80s.Client power.RAD development (VB, Developer/2000, PowerBuilder).But:Installations and maintenance (TCO)Do not fit the web paradigm
N-TierMore server oriented.Application can be divided to tiers, each responsible for different aspect of the application:Easier upgradingEasier supportBut:Our requirements have increasedWhere is our RAD?
Middletier Application NeedsAll we were used to:FunctionalityUser interfaceRADAnd some more:SecurityPerformanceManagementUpgrade-abilityIntegration
J2EE IntroductionBuilt 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 StatusOracle, 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 TiersClient machineFirewall / Load BalancerWeb ServerWeb ServerEJB ContainerEJB ContainerDatabaseWeb ContainerWeb ContainerBrowserHTMLGIFJPEGHTMLGIFJPEGServletJSPServletJSPEJBJDBCJCAJMSEJBJDBCJCAJMS
J2EE ScenarioClient machineWeb ServerEJB ContainerDatabaseWeb ContainerCatalog .jspHTTPSessionDatasourceConnectionBookEJBLogo.gifConnectionConnectionhttp://www.j2eedemo.com/catalog.jsp12345678
The Web TierUse 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 UseFrameworks 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.
Demo: Web Tier Ease Of Use
The Business TierComponent based development.Services provided by application server:High availability,Security,Management,More.
EJBsComponents for business logic (session EJBs), database access (entity EJBs)Support for remote calls and web servicesApplication server provides run time services transactions, security, more.
Other servicesMessagingJMS standard API for all messaging platforms.IntegrationJCA buy or develop connectors for legacy systems.ManagementJMX easy to develop management components.
Demo: Business Tier
J2EE Benefits Cross platformCan 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 RADSetting 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 - ExperienceTons of books, articles, forums.Design patterns and blue prints for easy development.Many online and classic courses.
The Middle Tier futureWelcome to the world of:Web services,SOA,Aspect Oriented Programming
Web ServicesComponents with HTTP access.Can be used from any language.Thoroughly supported in J2EE.Can pass through firewalls.
SOAService Oriented Architecture.Software architecture composed of standalone components.
Development AidsAOP - Attribute Oriented ProgrammingXPAOP Aspect Oriented ProgrammingBPEL Business Process Execution Language
AOP - Attribute Oriented ProgrammingJ2EE components require meta-data:Web.xml, ejb-jar.xml, application.xmlProprietary filesExternal is an advantage?!?Xdoclet can auto-create meta-data files
XP eXtreme ProgrammingAutomated testing:JunitJUnitPerfHTTPUnitCactusRapid build:ANT
AOP - Aspect Oriented ProgrammingMany view J2EE containers as AOP containersWrite business logicServer provides aspects of transactions,security, performance, etc.
Web Services Meet Business ProcessesWeb Service 1Web Service 2Web Service 3Web Service 4Web Service 5Web Service n
Example Problem SpaceClientPO ServiceCredit ServiceInventory ServiceConsolidateResults
SummaryJ2EE 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.
QA&Q U E S T I O N SA N S W E R S