•
•
•
TableofContents
Index
Examples
EnterpriseJava™ProgrammingwithIBM®
WebSphere®,SecondEdition
ByKyleBrown,GaryCraig,GregHester,
RussellStinehour,W.DavidPitt,Mark
Weitzel,JimAmsden,PeterM.Jakab,Daniel
Berg
Publisher :AddisonWesley
PubDate :December15,2003
ISBN :0-321-18579-X
Pages :960
EnterpriseJavaProgrammingwithIBMWebSphere,
SecondEditionisthedefinitiveguidetobuilding
mission-criticalenterprisesystemswithJ2EE,
WebSphere,andWebSphereStudioApplication
Developer.FullyupdatedforVersions5.xof
WebSphereApplicationServerandWebSphere
StudioApplicationDeveloper,itcombinesexpert
architecturalbestpracticeswithacasestudythat
walksyouthroughconstructinganentiresystem.
Theauthorsareanextraordinaryteamof
WebSphereinsiders:developers,
consultants,instructors,andIBMWebSphere
developmentteammembers.Together,theyoffer
unprecedentedinsightintotheuseandbehaviorof
WebSphere'sAPIsinreal-world
environmentsandsystematicguidancefordelivering
systemsofexceptionalperformance,robustness,
andbusinessvalue.
Coverageincludes
SumPracticalintroductionstoJ2EE,WebSphere
ApplicationServer5.0,andWebapplication
architecture
SumDetailedcoverageofWebapplication
construction,includingMVCpartitioningwith
Struts,servlets/JSP,andsessionmanagement
SumStep-by-stepguidanceforbuildingand
testingapplicationbusinessmodels,including
JUnittesting
SumIn-depthinsightintoEJBarchitecture,
includingtransactions,security,andadvanced
objectrelationalmapping
SumWebservices:examplesandbestpractices
leveragingWebSphereApplicationServer5.x's
latestenhancements
•
•
•
TableofContents
Index
Examples
EnterpriseJava™ProgrammingwithIBM®WebSphere®,Second
Edition
By
KyleBrown,GaryCraig,GregHester,RussellStinehour,W.
DavidPitt,MarkWeitzel,JimAmsden,PeterM.Jakab,Daniel
Berg
Publisher :AddisonWesley
PubDate :December15,2003
ISBN :0-321-18579-X
Pages :960
Copyright
IBMPressSeries�InformationManagement
OnDemandComputingBooks
DB2Books
MoreBooksfromIBMPress
Foreword
Preface
HereWeGoAgain
AboutUs
TheGoalsWeHaveSet
AcknowledgementsandThanks
Chapter1.
Introduction
Section1.1.
WhySoftwareDevelopmentMustConsidertheWholeEnterprise
Section1.2.
HowIterativeDevelopmentAddressesKeyITManagementIssues
Section1.3.
Today'sEnterpriseApplicationsHaveNewRequirements
Section1.4.
WhatIstheStartingPoint?
Section1.5.
WhatIsaLayeredArchitecture?
Section1.6.
LayeredArchitectureBenefits
Section1.7.
Summary
Chapter2.
IntroductiontotheCaseStudy
Section2.1.
CaseStudyAnalysisandDesignArtifacts
Section2.2.
UseCaseDefinitions
Section2.3.
DesigningtheCaseStudyDomainModel
Section2.4.
UsingtheCaseStudyinOurBook
Section2.5.
Summary
Chapter3.
J2EEOverview
Section3.0.1.
J2EEComponentDesign
Section3.0.2.
ConfigurableImplementations
Section3.0.3.
ConfigurableAlgorithms
Section3.0.4.
WhoDefinesTheseSpecifications?
Section3.1.
WhyJ2EE?
Section3.2.
J2EEArchitecture
Section3.3.
J2EEPlatformRoles
Section3.4.
J2EEVersionsandEvolution
Section3.5.
AJ2EEPerspective
Section3.6.
Summary
Chapter4.
WhatIsWebSphere?
Section4.1.
WebSphereFoundationandTools
Section4.2.
TheWASCoreArchitecture
Section4.3.
AdministeringalocalWASServer
Section4.4.
LeveragingtheScalabilityofWASND
Section4.5.
Summary
Chapter5.
PresentationLayerPatterns
Section5.1.
JavaUserInterfaceTechnologies
Section5.2.
DecouplingtheUserInterface
Section5.3.
MediatingLogicalViewLogic
Section5.4.
Summary
Chapter6.
Servlets
Section6.1.
HTTPTechnologyPrimer
Section6.2.
ServletConcepts
Section6.3.
ServletLifeCycle
Section6.4.
AnExampleServlet
Section6.5.
WebDeploymentDescriptors
Section6.6.
Filters
Section6.7.
ServletAPIClassesandInterfaces
Section6.8.
Summary
Chapter7.
DevelopingServletsUsingIBMWebSphereStudioApplicationDeveloper
Section7.1.
TheIBMWebSphereStudioFamilyofTools
Section7.2.
BuildinganExampleServletwithWSAD
Section7.3.
SomeProblemswithThisExample
Section7.4.
Summary
Chapter8.
TestingServletsUsingWSAD
Section8.1.
EdittheWebDeploymentDescriptor
Section8.2.
Summary
Chapter9.
ManagingSessionState
Section9.1.
SomeClient-SideSessionApproaches
Section9.2.
ServletsandSessionState
Section9.3.
ChoosingtheRightApproach
Section9.4.
SessionPersistence
Section9.5.
Summary
Chapter10.
JavaServerPagesConcepts
Section10.1.
PageTemplatesandServer-SideScripting
Section10.2.
AShortHistoryofJavaServerPages
Section10.3.
PageCompilation�RuntimeView
Section10.4.
JSPSyntax
Section10.5.
ScriptingElements
Section10.6.
Directives
Section10.7.
JSPDocuments
Section10.8.
RolesforJSP
Section10.9.
Summary
Chapter11.
TagLibrariesandCustomTags
Section11.1.
Introduction
Section11.2.
BasicModelforCustomTags
Section11.3.
JSTLandOtherWidelyUsedTagLibraries
Section11.4.
WritingTagHandlers
Section11.5.
TagLibraryDescriptor(.tld)
Section11.6.
TaglibDirectiveandCodingCustomActions
Section11.7.
SupportforCustomActions
Section11.8.
Summary
Chapter12.
DesignConsiderationsforControllers
Section12.1.
WhereDoControllersComeFrom?
Section12.2.
ControllerDesignAlternatives
Section12.3.
ExceptionHandling
Section12.4.
Logging
Section12.5.
ServletFilters
Section12.6.
Summary
Chapter13.
DevelopingandTestingJSPsinWSAD
Section13.1.
AnotherLookatMVC
Section13.2.
JavaBeans,Introspection,andContracts
Section13.3.
BuildingApplicationsUsingJSPswithWSAD
Section13.4.
EditingJavaServerPages
Section13.5.
ValidatingtheJSPPage
Section13.6.
RunningontheServer
Section13.7.
DebuggingtheJSP
Section13.8.
SimplifyingJSPs
Section13.9.
XMLcompliance
Section13.10.
Summary
Chapter14.
ApacheStrutsasanMVCFramework
Section14.1.
RoadMap
Section14.2.
WhyDoYouNeedaFramework?
Section14.3.
WhatIsStruts?
Section14.4.
ASimpleMVCStrutsExample
Section14.5.
StrutsBestPractices
Section14.6.
Summary
Chapter15.
XML/XSLWebInterfacesinWSAD
Section15.1.
StrategyforUsingXML/XSLforWebInterfaces
Section15.2.
ExampleXML/XSLWebInterfacewithWSAD
Section15.3.
CreatingtheXSLFile
Section15.4.
EnhancedExampleofXML/XSLWebInterfacewithWSAD
Section15.5.
DynamicExampleXML/XSLWebInterfacewithWSAD
Section15.6.
WhentoUseXML/XSLforWebInterfaces
Section15.7.
Summary
Chapter16.
DevelopingandTestingtheDomainModel
Section16.1.
TheDomainModelLayer
Section16.2.
TheDataMappingLayer
Section16.3.
TestingtheModel
Section16.4.
Summary
Chapter17.
UnitandFunctionalTestingApplicationsinWSAD
Section17.1.
OverallTestingApproaches
Section17.2.
WhatIsJUnit?
Section17.3.
ASimpleExample
Section17.4.
UnitTestingContainerswithCactus
Section17.5.
FunctionTestingApplicationsinWSAD
Section17.6.
FunctionTesting
Section17.7.
WhatIsHttpUnit?
Section17.8.
TheHttpUnitAPI
Section17.9.
FollowingLinks
Section17.10.
WorkingwithForms
Section17.11.
WorkingwithTables
Section17.12.
WorkingwithFrames
Section17.13.
WorkingwithaDocumentObjectModel(DOM)
Section17.14.
17.14FunctionalTestDesignConsiderations
Section17.15.
Summary
Chapter18.
SupportingEnterpriseApplications
Section18.1.
AnotherLookatthen-TierArchitecture
Section18.2.
WhyAren'tHTML,Servlets,andJSPsEnough?
Section18.3.
ObjectDistribution
Section18.4.
IntegrationStylesandMessaging
Section18.5.
ObjectPersistence
Section18.6.
ObjectsandTransactions
Section18.7.
SecurityinEnterpriseApplications
Section18.8.
Summary
Chapter19.
BasicEJBArchitecture
Section19.1.
CoreEJBConcepts
Section19.2.
TheEJBTypes
Section19.3.
IntroducingtheEJBProgrammingModel
Section19.4.
EJBs�DistributedorNot?
Section19.5.
BasicArchitecturalPatternsforEJBs
Section19.6.
TheRoleofPersistence
Section19.7.
WhenDoYouNeedEJBs?
Section19.8.
Summary
Chapter20.
DevelopingEJBswithWSAD
Section20.1.
TheJ2EEPerspective
Section20.2.
J2EEProjects
Section20.3.
CreatingaSessionBean
Section20.4.
TestingtheNewSessionBean
Section20.5.
Summary
Chapter21.
TestingandDebuggingEJBsinWSAD
Section21.1.
DevelopingtheServiceLayer
Section21.2.
OverviewoftheTestingProcess
Section21.3.
Summary
Chapter22.
EJBClientDevelopment
Section22.1.
UsingServletsasEJBClients
Section22.2.
BuildingJavaApplicationClients
Section22.3.
AppletClientsinWebSphere
Section22.4.
NamingandtheWebSphereNamespace
Section22.5.
CreatingaTestClient
Section22.6.
DeployingApplicationClientsinWebSphere
Section22.7.
DeployingandRunningtheEJBClienttotheWebSphereClientContainer
Section22.8.
SomeDesignPointsaboutEJBClients
Section22.9.
Summary
Chapter23.
SimpleCMPEntityBeans
Section23.1.
EntityBeanBasics
Section23.2.
CMPinWebSphereandWebSphereStudio
Section23.3.
CreatingaCMPEJBUsingWebSphereStudio
Section23.4.
ThePartsofanEntityBean
Section23.5.
DeploymentDescriptor
Section23.6.
Summary
Chapter24.
CMPMappingStrategiesandMappinginWSAD
Section24.1.
Databases,CMPs,andMaps
Section24.2.
MultipleMappingBack-endSupport
Section24.3.
ExportingDatabaseTables
Section24.4.
EJBQueryLanguage
Section24.5.
Summary
Chapter25.
AdvancedCMPMapping
Section25.1.
SimpleMappingRules
Section25.2.
Object-RelationalBasics
Section25.3.
ConceptsinEJB2.0Relationships
Section25.4.
AssociationsinUML
Section25.5.
RelationshipsinWSADV5.0
Section25.6.
CreatingaSingle-ValuedRelationship
Section25.7.
CreatingaMultivaluedRelationship
Section25.8.
ReadAheadHints
Section25.9.
MappingRelationships
Section25.10.
Weakvs.StrongEntities
Section25.11.
EJBInheritanceinWSAD
Section25.12.
AdvancedEJBQL
Section25.13.
Summary
Chapter26.
Bean-ManagedPersistence
Section26.1.
ApplyingBMP
Section26.2.
ASimpleBMPBean
Section26.3.
ExaminingBMPPersistence
Section26.4.
BMPvs.CMP
Section26.5.
Summary
Chapter27.
IntroductiontoMessage-DrivenBeans
Section27.1.
JavaMessagingService
Section27.2.
JMSAPIBasics
Section27.3.
Message-DrivenBeans
Section27.4.
Summary
Chapter28.
TransactionsinWebSphere5.0
Section28.1.
JDBCTransactions
Section28.2.
Transactionsand2-PhaseCommit
Section28.3.
JTAandTransactionDemarcation
Section28.4.
Enabling2-PCinWebSphere5.0
Section28.5.
EJBsandContainer-ManagedTransactions
Section28.6.
ParticipatinginaTransaction
Section28.7.
UsingXAResourceswith2-PCinWebSphere
Section28.8.
TransactionSettingsforJ2EE1.3inWAS5.0
Section28.9.
AdviceonUsingTransactions
Section28.10.
ExtendedTransactionSettingsinWebSphere5.0
Section28.11.
SpecialTransactionConsiderationsforJMS
Section28.12.
DealingwithConcurrency
Section28.13.
Summary
Chapter29.
J2EESecurityinWebSphere
Section29.1.
J2EESecurityOverview
Section29.2.
J2EEAuthorization
Section29.3.
SecuringResourceswithWebSphereStudio