building the enterprise - de 2003 - 2007 developintelligence llc building the enterprise the tools...

30
©2003 - 2007 DevelopIntelligence LLC Building the Enterprise The Tools of Java Enterprise Edition

Upload: ngotu

Post on 29-Mar-2018

226 views

Category:

Documents


4 download

TRANSCRIPT

©2003 - 2007 DevelopIntelligence LLC

Building the Enterprise

The Tools of Java Enterprise Edition

© 2003 - 2007 DevelopIntelligence

Presentation Topics

In this presentation, we will discuss:Overview of Java EEJava EE PlatformJava EE Development

© 2003 - 2007 DevelopIntelligence

Objectives

When we are done, you should be able to:Describe how Java EE and Java SE fit togetherList 3 technologies found in Java EEDescribe the basic development lifecycle for aJava EE application

©2003 - 2007 DevelopIntelligence LLC

Overview of Java EE

A High-level Overview

© 2003 - 2007 DevelopIntelligence

What is Java EE?

A community-defined extension to the Java SEplatform

Separate controlling specificationDefined in context of extending Java SE to enterprise

An enterprise information systems platformEnables the development of Java-based middle-tierapplications requiring “ility” characteristicsExtends Write-Once-Run-Anywhere (WORA) tomiddleware

A standard architecture definingAn application programming modelAn application execution platform

© 2003 - 2007 DevelopIntelligence

History of Java EE

Java EE was not an “intent” of the original Java designIt was more of a side-effect of the Java-web mergerClient-side web-based Java lost its luster and positioning tothings like FlashThings like WORA, threading, networking, and security weredesirable characteristics on the server-sideBut, Java didn’t have a formal server-side “platform”

Java EE was more “evolutionary” than revolutionaryInitially addressed web-applicationsQuickly enhanced to address “middleware”Further enhanced to support Web services and SOA

© 2003 - 2007 DevelopIntelligence

Motivations for Java EE

Provide an easy to use framework to buildmiddle-ware applications that:

Enables developers to focus on business logic insteadof “integration” logicCreates middleware server transparencyRemoves complexities of large-scale distributedapplications

Provide a managed execution environment that:Addresses “ility” characteristicsAllows secure and protected side-by-side deploymentsOffers common “services”

© 2003 - 2007 DevelopIntelligence

Industry Support

Originally, Java EE was developed andmaintained by SunToday, Java EE is governed by the JavaCommunity Process (JCP)

Java EE its own Java Specification Request (JSR-244)Developed by an expert group represented bycompanies like: SAP, BEA, JBoss, IBM, Novell, Oracle,HP, Sun, BorlandEach technology within Java EE is governed by anindividual JSR, each with its own expert group

Current focus of Java EE community issimplification

© 2003 - 2007 DevelopIntelligence

Application Programming Model

Programming model adopts a “managed” modelDesign and implementationLifecycleTransactions and securityDeployment

Application implementation adheres to modelBuilt around abstracted interactions with Java EEexecution environmentInteractions provided through Java EE platform APIs

© 2003 - 2007 DevelopIntelligence

Application Execution Platform

Provides a “managed” execution environmentJava EE compliant applicationsExecution environment is a realizedimplementation of the Java EE APIs

Vendor implementation of the Java EE specIncludes core Java EE servicesReferred to as Java EE Application servers orcontainers

Relies on the Java SE platformJava EE is NOT an execution platform by itselfMost Java EE application servers are implemented asJava SE platform applications

© 2003 - 2007 DevelopIntelligence

Java EE Platform Diagram

Java SE PlatformSolaris Linux Windows Mac OS X

Java EE API ImplementationsJava EE APIs

App

Java EE Application Server

App App App

©2003 - 2007 DevelopIntelligence LLC

Java EE Platform

An Application Development Perspective

© 2003 - 2007 DevelopIntelligence

Java EE Platform

Java EE Platform supports three primaryapplication types

Web applicationsEJB applicationsEnterprise applications

Each application type has its own set ofcharacteristicsApplications execute in “domain” relevantcontainers

© 2003 - 2007 DevelopIntelligence

Java EE Containers

Java EE defines two primary types of containers:Web containers - managed environment for webapplicationsEJB containers - managed environment for EJBapplications

A compliant Java EE application server mustprovide an implementation for both types ofcontainers

Considered an “enterprise container”Containers function “on top of” the standard Java EEcore servicesEach container type has its own set of characteristics

© 2003 - 2007 DevelopIntelligence

Java EE Technologies

Enterprise Container Boundary

© 2003 - 2007 DevelopIntelligence

Java EE Server Technologies

A major design motivation within Java EE is WORAGoal is to extend WORA into middlewareSpecifically at the Web and EJB container levels

There are two ways to create WORA:Define an application programming model and its supportingtechnologiesDefine a set of services to support the programming model

Java EE defines the supporting services as “StandardServices”

Standard Services address everything from HTTP todatabase interactionsA fully compliant Java EE server must support all StandardServices

© 2003 - 2007 DevelopIntelligence

Java EE Standard Services

CommunicationEmailXML ProcessingTransactionsMessagingManagement

DatabaseNaming and DirectorySecurityWeb ServicesLegacy systemsDeployment

© 2003 - 2007 DevelopIntelligence

Container Technologies

Remaining technologies defined in Java EEspecification address application developmentTechnologies are associated with an application-centric container

Relatively clean separation of technologies betweencontainer typesTechnology sharing is at the Standard Services level

Technologies may exist as “standard”implementations or vendor implementations

© 2003 - 2007 DevelopIntelligence

Web Container Technologies

Web containers provide “robust” web applicationenvironmentsA web container supports the followingtechnologies:

ServletsFiltersJava Server Pages (JSP)JSP Standard Tag Library (JSTL)Java Server Faces (JSF)

© 2003 - 2007 DevelopIntelligence

EJB Container Technologies

EJB containers provide state, workflow, andpersistent application environmentsAn EJB container supports the followingtechnologies:

Session Beans (SB)Stateful (SFSB)Stateless (SLSB)

Entity Beans (EB)Bean Managed Persistence (BMP)Container Managed Persistence (CMP)

Message Driven Beans (MDB)

© 2003 - 2007 DevelopIntelligence

Java EE Application Diagram

JSP

Servlet

JSF

JSTL

SB

MDB

EB

WSI

Standard Services

Java SE Platform

Web Container& Technologies

EJB Container& TechnologiesEnterpriseContainerJava EEPlatform

©2003 - 2007 DevelopIntelligence LLC

Java EE Development

© 2003 - 2007 DevelopIntelligence

Java EE ApplicationsJava EE applications are built usingcomponents, modules, and deployment unitsThe Java EE application structure provides:

Functional encapsulationReusabilitySimplified configurationTransportability

Modular-oriented development encouragesGood Object oriented designSeparation of functional concernSeparation of development concern

Has been considered the “struggle” of Java EE

© 2003 - 2007 DevelopIntelligence

Components and Modules

Components enable application developmentBuilt using Java SE and Java EE technologiesComponents may be “homegrown” or third-partyComponents are grouped together as modules

Modules represent basic unit of a Java EEapplication

One or more component per moduleModules consist of same “component type”Modules are described by deployment descriptorsModules and deployment descriptors packaged togetheras deployment units

© 2003 - 2007 DevelopIntelligence

Deployment Units

Java EE applications may consist ofA Single deployment unitMultiple deployment units packaged together as a singledeployment unit

Deployment units are the standard way topackage and deploy Java EE applications

Leverage Java SE deployment conceptHave strict structure governing contents

Java EE defines three deployment units:Web Application Archive (WAR)Java Archive (JAR)Enterprise Application Archive (EAR)

© 2003 - 2007 DevelopIntelligence

Java EE Development Process

Creation Assembly Deployment

© 2003 - 2007 DevelopIntelligence

Java EE Development Roles

Java EE application development processrequires broad range of competencies

Java development skillsSource control / configuration skillsSystem administration skills

To simplify “jack of all trades” skill requirement,Java EE specification defines set of PlatformRolesNot all platform roles are realized within asoftware development organization

© 2003 - 2007 DevelopIntelligence

Java EE Platform Roles

Java EE Product ProviderApplication component providerApplication assemblerDeployerSystem AdministratorTool ProviderSystem Component Provider

© 2003 - 2007 DevelopIntelligence

Summary

Java EE platform defines an applicationprogramming model and an executionenvironmentJava EE platform enables WORA in middlewareJava EE is comprised of Standard Services,Web Technologies, and EJB TechnologiesJava EE uses a deployment unit strategy forapplication packaging and deployment

© 2003 - 2007 DevelopIntelligence

Resources

WebJava EE Tutorialhttp://java.sun.com/javaee/5/docs/tutorial/doc/Java EE Specificationhttp://jcp.org/aboutJava/communityprocess/pfd/jsr244/

Books“Head First Servlets and JSP” : ISBN 0596005407“Head First EJB” : ISBN 0596005717