•
TableofContents
•
Examples
SpecialEditionUsingEnterpriseJavaBeans™
2.0
ByChuckCavaness,BrianKeeton
Publisher
:Que
PubDate
:September19,2001
ISBN
:0-7897-2567-3
Pages
:648
Slots
:1
SpecialEditionUsingEnterpriseJavaBeans2.0startswitha
descriptionofhowEnterpriseJavaBeansfitsintothebigpicture
ofJ2EEdevelopment,thencoverssuchtopicsas:
LocatingEJB'susingJNDI
ManagingdatawithEJBQueryLanguage
BuildingJMSapplicationsusingthenewMessage-driven
Bean
PlanningEJBapplicationsusingdesignpatterns
Laterchaptersdescribeadvanceddevelopmenttopicsincluding
interoperability,horizontalservicesandclustering.Throughout
thebook,theauthorsconstructacomponent-basedauction
websiteusingtheJ2EEarchitectureasapracticalexample.
•
TableofContents
•
Examples
SpecialEditionUsingEnterpriseJavaBeans™
2.0
ByChuckCavaness,BrianKeeton
Publisher
:Que
PubDate
:September19,2001
ISBN
:0-7897-2567-3
Pages
:648
Slots
:1
Copyright
AbouttheAuthors
Acknowledgments
TellUsWhatYouThink!
Introduction
ThisBookIsforYou
HowThisBookIsOrganized
ConventionsUsedinThisBook
PartI:DevelopingEnterpriseJavaBeans
Chapter1.IntroductiontoEnterpriseApplications
Chapter2.SettingtheStage–AnExampleAuctionSite
Chapter3.EJBConcepts
TheEnterpriseJavaBeansArchitecture
Component-BasedDistributedComputing
N-TieredArchitectures
WhyUseEJB?
TheAuctionExample
OverviewofanEnglishAuction
ChoosingtheUseCasestoImplement
DefiningtheObjectModel
What'sNext?
GraspingtheConceptsEarly
WhatIsanEnterpriseBean?
EJBRolesandTheirResponsibilities
LocalVersusRemoteEJBClients
UsingRMItoCommunicatewithEnterpriseJavaBeans
AccessinganEJBThroughItsComponentInterface
LocatingEnterpriseBeansUsingtheHomeInterface
DecidingWhethertoUseaLocalorRemoteClient
CreationandRemovalofEJBs
PassivationandActivation
ObjectPooling
Handles
TheEJBMetaDataClass
EJBServerandContainerImplementations
Chapter4.JavaNamingandDirectoryInterface
Chapter5.EntityBeans
Chapter6.Bean-ManagedPersistence
WhyApplicationsNeedNamingandDirectoryServices
OverviewoftheJNDIArchitecture
SelectingandConfiguringaJNDIProvider
TheJNDIEnvironmentProperties
SettingtheJNDIEnvironmentProperties
TheContextandInitialContextObjects
GettingtheEnvironmentforaContextObject
UsingthelookupMethodtoLocateJNDIResources
LocatingEJBObjects
AccessinganEJB'sEnvironment
EstablishingSecurityThroughtheInitialContext
JNDIandClustering
Troubleshooting
WhatIsanEntityBean?
DeclaringtheComponentInterface
DefiningthePrimaryKeyClass
DeclaringtheHomeInterface
ImplementinganEntityBean
InheritanceandEntityBeans
AreEntityBeansWorthIt?
ChoosingtoManagePersistenceYourself
JDBCPrimer
ConfiguringaDataSource
CreatinganEntityBean
LoadingandStoringanEntity
AccessingOtherEntityBeans
ImplementingFinderMethods
DeletinganEntity
DeployinganEntityBeanUsingBMP
Troubleshooting
Chapter7.Container-ManagedPersistence
Chapter8.EJBQueryLanguage
Chapter9.SessionBeans
BuildingPortableEntityBeans
DeclaringaCMPEntityBean
ImplementingtheContainerCallbackMethods
DeployinganEntityBeanUsingCMP
ManagingRelationships
UsingEJB1.1CMP
Troubleshooting
WhatIstheEJBQueryLanguage?
DefiningaFROMClause
DefiningaWHEREClause
DefiningaSELECTClause
UsingtheBuilt-InFunctions
EJBQLSyntaxinBNFNotation
Troubleshooting
WhatIsaSessionBean?
DifferencesBetweenStatelessandStatefulSessionBeans
DeclaringtheComponentInterface
DeclaringtheHomeInterface
Chapter10.JavaMessageService
ImplementingaSessionBean
DeployingaSessionBean
ReentrantIssues
Troubleshooting
IntroductiontoMessaging
ComponentsoftheJMSArchitecture
TheTwoJMSMessageModels
TheJMSInterfaces
TheDetailsofaJMSMessage
MessageSelectionandFiltering
UsingtheJMSPoint-to-PointModel
UsingtheJMSPublish/SubscribeModel
SynchronousVersusAsynchronousMessaging
MessagePersistence
UsingTransactionswithJMS
UsingJMSwithEnterpriseJavaBeans
Troubleshooting
Chapter11.Message-DrivenBeans
Chapter12.Transactions
Chapter13.ExceptionHandling
Chapter14.SecurityDesignandManagement
WhatAreMessage-DrivenBeans?
TheMessage-DrivenBeanandtheContainer
UsingMessage-DrivenBeanswithEJB
UsingJMSQueuesorTopicswithMessage-DrivenBeans
CreatingaMessage-DrivenBean
DeployingaMessage-DrivenBean
SendingMessagestoaMessage-DrivenBean
AcknowledgingMessagesfromMessage-DrivenBeans
UsingTransactionswithMessage-DrivenBeans
Troubleshooting
UnderstandingTransactions
PassingtheACIDTest
ProgrammingwiththeJavaTransactionAPI
UsingContainer-ManagedTransactions
UsingBean-ManagedTransactions
UsingClient-DemarcatedTransactions
IsolatingAccesstoResources
Troubleshooting
EJBExceptionHandling
ApplicationExceptions
SystemExceptions
ExceptionsandTransactions
PackagingExceptions
Troubleshooting
TheImportanceofApplicationSecurity
UnderstandingYourApplication'sSecurityRequirements
BasicSecurityConcepts
JavaSecurityFundamentals
UsingSecuritywithEnterpriseJavaBeansandJ2EE
SketchingOuttheAuctionSecurity
JavaAuthenticationandAuthorizationService(JAAS)
Chapter15.Deployment
DeploymentDescriptorsandEJBRoles
BeanProviderResponsibilities
ApplicationAssemblerResponsibilities
DeployerResponsibilities
PackagingEJBs
Troubleshooting
PartII:DesignandPerformance
Chapter16.PatternsandStrategiesinEJBDesign
Chapter17.AddressingPerformance
Chapter18.PerformanceandStressTestingYourApplications
WhatArePatterns?
StrategiesforEnterpriseJavaBeans
DesigningEJBClassesandInterfaces
ManagingClientAccess
ImplementingaSingletoninEJB
Troubleshooting
TheRoleofPerformanceinDesign
MinimizingRemoteCalls
OptimizingEntityBeanPersistence
BuildingaPickList
ManagingTransactions
Troubleshooting
WhyStressTestYourApplications?
PerformanceTestingYourBeans
StressTestingYourBeans
UsingECperf1.0
Troubleshooting
PartIII:BuildingtheWebTier
Chapter19.BuildingaPresentationTierforEJB
TheDifferentTypesofPresentationTiers
UsingaFaçadePatterntoHideEJB
UsingServletsandJavaServerPageswithEJB
UsingJSPTagLibraries
UsingtheStrutsOpen-SourceFramework
CachingontheWebServerorinStatefulSessionBeans
PartIV:AdvancedConcepts
Chapter20.DistributionandEJBInteroperability
Chapter21.HorizontalServices
Chapter22.EJBClusteringConcepts
Chapter23.EJB2.0ProgrammingRestrictions
InteroperabilityOverview
PortabilityVersusInteroperability
EJB2.0InteroperabilityGoals
TheRelationshipBetweenCORBAandEnterpriseJavaBeans
RemoteInvocationInteroperability
TransactionInteroperability
NamingInteroperability
SecurityInteroperability
WhatAreHorizontalServices?
HorizontalServicesProvidedbyEJB
TraditionalBuyVersusBuildAnalysis
AuctionExampleHorizontalServices
BuildingtheAuctionLoggingService
Java1.4LoggingAPI
BuildinganE-MailHorizontalService
Troubleshooting
TooMuchIsn'tAlwaysaGoodThing
WhatIsClustering?
ClusteringintheWebTier
ClusteringintheEJBTier
SingleVMVersusMultipleVMArchitectures
ThePurposeoftheRestrictions
TheEJB2.0Restrictions
Summary
PartV:Appendixes
AppendixA.TheEJB2.0API
Interfaces
Exceptions
Thejavax.ejb.spiPackage
AppendixB.ChangesfromEJB1.1
LocalClients
Message-DrivenBeans
HomeInterfaceBusinessMethods
Container-ManagedPersistenceChanges
EJBQueryLanguage
SecurityChanges
ComponentInteroperability
Copyright
Copyright©2002byQue®Corporation
Allrightsreserved.Nopartofthisbookshallbereproduced,
storedinaretrievalsystem,ortransmittedbyanymeans,
electronic,mechanical,photocopying,recording,orotherwise,
withoutwrittenpermissionfromthepublisher.Nopatent
liabilityisassumedwithrespecttotheuseoftheinformation
containedherein.Althougheveryprecautionhasbeentakenin
thepreparationofthisbook,thepublisherandauthorassume
noresponsibilityforerrorsoromissions.Norisanyliability
assumedfordamagesresultingfromtheuseoftheinformation
containedherein.
LibraryofCongressCatalogCardNumber:2001087886
PrintedintheUnitedStatesofAmerica
FirstPrinting:September2001
040302014321
Trademarks
Alltermsmentionedinthisbookthatareknowntobe
trademarksorservicemarkshavebeenappropriately
capitalized.QueCorporationcannotattesttotheaccuracyof
thisinformation.Useofaterminthisbookshouldnotbe
regardedasaffectingthevalidityofanytrademarkorservice
mark.
JavaBeansisatrademarkofSunMicrosystems.
WarningandDisclaimer
Everyefforthasbeenmadetomakethisbookascompleteand
asaccurateaspossible,butnowarrantyorfitnessisimplied.
Theinformationprovidedisonan"asis"basis.Theauthorsand
thepublishershallhaveneitherliabilitynorresponsibilitytoany
personorentitywithrespecttoanylossordamagesarising
fromtheinformationcontainedinthisbookorfromtheuseof
theCDorprogramsaccompanyingit.
Credits
AssociatePublisher
DeanMiller
AcquisitionsEditor
ToddGreen
DevelopmentEditor
SeanDixon
ManagingEditor
ThomasF.Hayes
ProjectEditor
TonyaSimpson
CopyEditor
SossitySmith
Indexer
BillMyers
Proofreaders
KayleneRiemen
HarveyStanbrough
Plan-ItPublishing
TechnicalEditors
AlanMoffet
TimDrury
StevenHaines
JonHassell
GrantHolland
AlexKachur
TeamCoordinator
CindyTeeters
MediaDeveloper
MichaelHunter
InteriorDesigner
RuthHarvey
CoverDesigners
DanArmstrong
RuthHarvey
PageLayout
MarkWalchle
Dedication
FromChuck
Tomymom,whogavemeeverythingthatachildneedsto
grow.TomywifeTracyandmytwoboys,JoshuaandZachary,
thanksforallthepoking,prodding,andnaggingtokeepwriting
whenitwashardtofindtheenergy.Alsoabigthankstomy
co-author,Brian,forbeingagreatpersontowriteabookwith
andsuchagoodfriend.
FromBrian
TomywifeRebeccahanddaughterEmilyforyourloveand
patience,myparentsforyourunconditionalsupport,andmy
sisterDonnawhocallsmeageekonlyoccasionally.
AbouttheAuthors
ChuckCavanessisaJavaArchitectatNetVendorInc,aB2B
SupplierEnablementCompanyspecializingintheElectronics,
Aerospace,andAutomotiveindustrieslocatedinAtlanta,
Georgia.Hisareaofexpertisespansserver-sideJava,
distributedobjectcomputing,andapplicationservers.Currently,
hemoderatesthe"JavaintheEnterprise"discussionforumat
JavaWorld.Hehasalsotaughtobject-orientedcoursesatthe
GeorgiaInstituteofTechnologyandspentseveralyearswriting
SmalltalkandCORBAsoftware.Chuckearnedhisdegreein
ComputerSciencefromtheGeorgiaInstituteofTechnology.
Chuckisco-authorofSpecialEditionUsingJava2Standard
Edition.
BrianKeetonisaJavaArchitectatNetVendorInc.wherehe
developscomponentstosupportB2BtradingusingEJB.Heisa
SunCertifiedJavaDeveloperwithovertenyearsofprofessional
softwaredevelopmentexperience.Hespentfiveyears
developingobject-orientedapplicationsinC++forthedefense
industrybeforetransitioningtodistributedapplication
developmentusingCORBAandEJB.BrianearnedhisMasterof
ScienceinElectricalEngineeringfromGeorgiaTechandiscoauthorofSpecialEditionUsingJava2StandardEdition.
Acknowledgments
Wewouldliketogivethankstothemanyindividualswho
helpedmakethisbookpossible.Writingabookisateameffort
andwewerefortunatetohaveagreatteamthatwassincerely
interestedinmakingthematerialinthisbookasinformative
andaccurateaspossible.
Firstandforemost,wewouldliketothankalltheeditorswho
painstakinglyreadthrougheverychapter,page,paragraph,and
sentencetohelpmoldourthoughtsandramblingsintowhat
youwillhopefullyfindaveryenjoyableandworthwhilejourney.
Weespeciallywanttorecognizethetechnicaleditors,whosejob
itwastopourthroughmorethanafewvoluminous
specificationsanddocumentstoensurethatweneverstrayed
toofarfromreality:GrantHolland,StevenHaines,JonHassell,
AlexKachur,AlanMoffet,andTimDrury.Wearealsogreatly
appreciativeoftheworkdonebyourprojecteditorTonya
SimpsonandcopyeditorSossitySmithandforMichaelHunter's
workinsecuringthesoftwarefortheCD.Thequalityandpolish
ofthisbookaretotheircredit(andanymistakesareours
alone).
WewouldliketoinparticularthankToddGreenandSeanDixon
forgivingusenoughropetohangourselvesandfortrusting
thatweknewwhatweweredoingfromthebeginning.Your
patiencewasdearlyappreciated.
Finally,wewouldliketocollectivelythankourfamiliesand
friendsfortheunderstandingandsupportthroughouttheentire
process.Itwouldn'thavebeenpossiblewithoutyourundying
support.
TellUsWhatYouThink!
Asthereaderofthisbook,youareourmostimportantcritic
andcommentator.Wevalueyouropinionandwanttoknow
whatwe'redoingright,whatwecoulddobetter,whatareas
you'dliketoseeuspublishin,andanyotherwordsofwisdom
you'rewillingtopassourway.
AsanassociatepublisherforQue,Iwelcomeyourcomments.
Youcanfax,e-mail,orwritemedirectlytoletmeknowwhat
youdidordidn'tlikeaboutthisbook—aswellaswhatwecan
dotomakeourbooksstronger.
PleasenotethatIcannothelpyouwithtechnicalproblems
relatedtothetopicofthisbook,andthatduetothehigh
volumeofmailIreceive,Imightnotbeabletoreplytoevery
message.
Whenyouwrite,pleasebesuretoincludethisbook'stitleand
authoraswellasyournameandphoneorfaxnumber.Iwill
carefullyreviewyourcommentsandsharethemwiththe
authorsandeditorswhoworkedonthebook.
Fax:
317-581-4666
E-mail:
Mail:
DeanMiller
QuePublishing
201West103rdStreet
Indianapolis,IN46290USA
Introduction
Inthischapter
ThisBookIsforYou
HowThisBookIsOrganized
ConventionsUsedinThisBook
WelcometoEnterpriseJavaBeans2.0!AspartoftheJava2
EnterpriseEdition(J2EE),theEnterpriseJavaBeansarchitecture
hasbecometheacceptedstandardforthedevelopmentof
distributed,mission-criticalbusinessapplications.The
EnterpriseJavaBeans(EJB)specificationturnsJ2EEapplication
serversintoafoundationforbuildingapplicationsthatare
secure,transactional,scalable,andportable.Ifyoudevelop
large-scalebusinesssystemsandyou'veneverusedEJB,nowis
thetimetojointhemomentumthat'sthrivingonanevergrowingnumberofsuccessstories.IfyoualreadyuseEJB,the
2.0Specificationoffersyouevenmoreinthewayof
productivityandcomponentportability.
WhatisEJB?EJBisaspecificationforaserver-sidecomponent
architecture.NottobeconfusedwithregularJavaBeans,EJBs
areindustrial-strengthcomponentsthatencapsulatereusable
businesslogicandaccesstoexternalresourcessuchas
relationaldatabasesforanenterprise.Foremostamongthe
goalsforEJBisthatitmakesitpossiblefordeveloperstofocus
onbusinesslogicwithouthavingtoworryaboutthelow-level
detailsofthelifecycle,transactional,security,andpersistence
needsoftheirapplications.Theserequirementsarehandledfor
youinawaythatenablesyoutocreatecomponentsthatare
portableacrossapplicationservers—thusmeetinganothergoal
ofthearchitecture.Ontopofeverythingelse,EJBtakesstock
inthefactthatthevalueofacomponentoftenismeasuredin
termsofitsreusability.EJBtakesadeclarativeapproachfor
deployingapplicationsthatsupportsextensivecustomizationof
componentswithoutrequiringchangestothecode.
TheEJBspecificationwasfirstintroducedbySunMicrosystems
alone,butithasnowmaturedtoitscurrentformthroughthe
JavaCommunityProcess(JCP).Benefitingfromthe
participationoftheleadingapplicationserverandsoftware
vendors,EJB2.0willalmostcertainlycontinuethesuccessof
thearchitecture.
ThisBookIsforYou
Thisbookistargetedforemosttowardprogrammerswhoknow
JavabutarenewtoEJB.EJBisacomplextopic,butthe
chaptersthatfollowareorganizedtobuildyourknowledgeof
theunderlyingtechnologiesasawaytogetyoustarted.When
youhaveafoundation,detaileddiscussionsandexamples
introduceyoutowhatyouneedtobuildyourskillsasanEJB
developerbeforemovingontomoreadvancedtopics.
AlthoughprogrammerswithoutexperienceinEJBshouldfeelat
homewiththisbook,thisismorethanabeginner's
introduction.IfyoualreadyknowEJB,you'relikelyawarethat
theEJB2.0Specificationhasintroducedsignificantchangesin
severalkeyareasofthearchitecture(checkoutAppendixB,
"ChangesfromEJB1.1,"ifyouwantasummary).Forthoseof
youwhoarefamiliarwithEJB,thisbookwillteachyouhowto
takeadvantageofwhat'snew.Italsowillexposeyoutoseveral
provenEJBdesignpracticesthataretakingshapewithinthe
industry.IfyoualreadyuseEJB1.1andareconsideringmoving
totheEJB2.0Specification,thisbookpointsoutsome
importantissuesyoushouldconsiderbeforemovingyour
architecture.Ifyou'vealreadydecidedtostaywithEJB1.1for
nowandarejustwantingtogetuptospeedonwhat'scoming
with2.0,thisbookcanalsohelpguideyourtransitionfrom1.1
to2.0whenyou'reready.
HowThisBookIsOrganized
Thisbookisorganizedintofivepartsthatwalkyouthroughthe
conceptsbehindEJBandtheprocessofdesigningand
implementingyourownenterprisebeans.Relatedtopicshave
beenorganizedtobuildyourknowledgeofEJBprogrammingas
youprogressthroughthebook.
PartI,"DevelopingEnterpriseJavaBeans,"teachesyouthe
mechanicsofbuildingEJBclassesandtheirinterfaces.Thispart
beginswithanoverviewofcomponent-baseddevelopmentand
describestheroleofEJBwithinamultitierarchitecture.The
chaptersthatfollowintroduceeachoftheenterprisebeantypes
withdetailedexamplesthatteachyouwhatyouneedtoknow
tobeginbuildinganddeployingyourownEJBs.Tobesureyou
understandtheotherJ2EEtechnologiesthatEJBrelieson
directly,separatechaptersprovidein-depthcoverageofthe
JavaNamingandDirectoryInterface(JNDI)andtheJava
MessageService(JMS).Thispartalsodefinestheroleof
transactionswithinEJBapplicationsanddescribesexception
handlingandsecuritymanagement.
PartII,"DesignandPerformance,"goesbeyondthebasicsof
buildingEJBsandintroducesyoutoasetofdesignand
performancestrategiestoapplytoyourenterprisedevelopment
efforts.AlthoughEJBisarelativelynewtechnology,thereare
alreadystandardpracticesemergingthatyoumustbeawareof
asadesigner.Thispartalsoincludesadiscussionofseveral
approachesyoucantaketostresstestyourapplications.
PartIII,"BuildingtheWebTier,"crossestheboundaryofwhat
youmightexpecttoseeinanEJBbook.Thechapterincluded
herelooksatseveralpatternsyoucanapplytobuildinga
servlet-andJSP-basedpresentationtierthatinteractswithan
applicationtierbuiltusingEJB.
PartIV,"AdvancedConcepts,"getsyouuptospeedonthe
concernsofexperiencedEJBdevelopers.Hereyou'llget
informationonanewrequirementintroducedwithEJB2.0that
makesitpossibleforanEJBtocommunicatewithCORBA
objectsorEJBsrunninginanothervendor'scontainer.You'll
alsobeintroducedtosomerecommendedpracticesforbuilding
afoundationalservicelayerforyourapplications.Tobuildon
theperformancechapterinPartII,you'llalsolearnabout
clusteringofEJBcomponentsandserviceshere.Thefinal
chapterinPartIVwillespeciallyinterestyouifyou'rethetype
ofpersonwhoalwayswantstoknowwhywhensomeonetells
younottodosomething.Thischapterlooksinparticularatthe
thingsyou'renotsupposedtodowithintheEJBcontainerand
why.
PartV,"Appendixes,"offerssomequick-referencematerialthat
includesasummaryoftheEJB2.0APIandadescriptionof
what'schangedsinceEJB1.1.
ConventionsUsedinThisBook
Thisbookusesvariousstylisticandtypographicconventionsto
makeiteasiertouse.
Note
Whenyouseeanoteinthisbook,itindicates
additionalinformationthatcanhelpyoubetter
understandatopicoravoidproblemsrelatedtothe
subjectathand.
Tip
Tipsintroducetechniquesappliedbyexperienced
developerstosimplifyataskortoproduceabetter
design.Thegoalofatipistohelpyouapply
standardpracticesthatleadtorobustand
maintainableapplications.
Caution
Cautionswarnyouofhazardousprocedures(for
example,actionsthathavethepotentialto
compromisethesecurityofasystem).
Cross-referencesareusedthroughoutthebooktohelpyou
quicklyaccessrelatedinformationinotherchapters.
Foranintroductiontotheterminologyassociatedwith
transactions,see"UnderstandingTransactions,"p.332.
Manyofthechaptersinthisbookconcludewitha
"Troubleshooting"sectionthatprovidessolutionstosomeofthe
commonproblemsthatyoumightencounterregardinga
particulartopic.Throughoutthemainchaptertext,crossreferencessuchastheseareincludedtodirectyoutothe
appropriateheadingwithinthe"Troubleshooting"sectionto
addresstheseproblems.
PartI:DevelopingEnterpriseJavaBeans
1IntroductiontoEnterpriseApplications
2SettingtheStage—AnExampleAuctionSite
3EJBConcepts
4JavaNamingandDirectoryInterface
5EntityBeans
6Bean-ManagedPersistence
7Container-ManagedPersistence
8EJBQueryLanguage
9SessionBeans
10JavaMessageService
11Message-DrivenBeans
12Transactions
13ExceptionHandling
14SecurityDesignandManagement
15Deployment
Chapter1.IntroductiontoEnterpriseApplications
Inthischapter
TheEnterpriseJavaBeansArchitecture
Component-BasedDistributedComputing
N-TieredArchitectures
WhyUseEJB?
TheEnterpriseJavaBeansArchitecture
TheEJB2.0SpecificationdefinesEnterpriseJavaBeans(EJB)as
anarchitectureforcomponent-baseddistributedcomputing.
Althoughthisdefinitionworkswellifyouarealreadyfamiliar
withtermssuchascomponent-basedanddistributed
computing,thedefinitiondoesn'thelpmuchifyouarebrandnewtoEnterpriseJavaBeansorenterpriseapplication
development.Itmightevenbehelpfultodefinewhatismeant
byanenterpriseapplication.Beforewedothat,however,let's
getapictureofwhattheEJBarchitecturelookslike.Thisway,
you'llhaveanimageinyourheadaswegothroughthis
discussion.Figure1.1illustratestheEJBarchitecturefroma
highlevel.
Figure1.1.Ahigh-levelviewoftheEJBarchitecture.