•
•
•
•
•
•
TableofContents
Index
Reviews
ReaderReviews
Errata
Academic
OracleApplicationServer10gEssentials
ByDonaldBales,RickGreenwald,
RobertStackowiak
Publisher :O'Reilly
PubDate :August2004
ISBN :0-596-00621-7
Pages :282
Thisnewguideprovidestheperfect
introductiontotheOracleApplicationServer
forusersofanylevel.Dividedintothree
concisesections,thebookcoversserver
basics,corecomponents,andserver
functionality.Designedtobetheidealfirst
OracleASbook,OracleApplicationServer10g
EssentialsoffersOracleapplication
developersandadministratorseverything
theyneedtoknowtousethispowerfulserver
effectivelyandefficiently.
•
•
•
•
•
•
TableofContents
Index
Reviews
ReaderReviews
Errata
Academic
OracleApplicationServer10gEssentials
ByDonaldBales,RickGreenwald,
RobertStackowiak
Publisher :O'Reilly
PubDate :August2004
ISBN :0-596-00621-7
Pages :282
Copyright
Dedication
Preface
AboutThisBook
AbouttheOracleApplicationServerSoftware
ConventionsUsedinThisBook
HowtoContactUs
Acknowledgments
Chapter1.IntroducingOracleApplicationServer
Section1.1.EvolutionoftheApplicationServer
Section1.2.TheOracleApplicationServerFamily
Section1.4.ManagingOracleApplicationServers
Section1.3.OracleApplicationServerComponents
Section1.5.What'sNext?
Chapter2.Architecture
Section2.1.OracleApplicationServerCoreComponents
Section2.2.OracleApplicationServerInfrastructure
Section2.3.InstallationTypes
Section2.5.HighAvailability
Section2.4.ScalabilityArchitectures
Section2.6.OracleApplicationServerApplications
Chapter3.SystemsManagement
Section3.1.ApplicationServerControl
Section3.2.GridControl
Section3.3.EM2Go
Section3.5.Backup,Recovery,andSecurityManagement
Section3.4.OptionalOracleEnterpriseManagerApplicationServerPacks
Section3.6.WorkingwithOracleSupport
Chapter4.SecurityandIdentityManagement
Section4.1.OracleApplicationServerSecurityObjectives
Section4.2.OracleApplicationServerSecurityFramework
Section4.3.SecureDeployment
Chapter5.OracleHTTPServer
Section5.1.ApacheArchitecture
Section5.2.Oracle-SuppliedModules
Section5.3.Third-PartyListenerSupport
Chapter6.OracleApplicationServerContainersforJ2EE
Section6.1.OC4JComponents
Section6.2.OC4JServices
Section6.3.ApplicationDeployment
Section6.4.StandaloneJ2EEServer
Section6.5.Clustering
Chapter7.Caching
Section7.1.OracleASWebCache
Section7.2.JavaObjectCache
Section7.3.WebObjectCache
Chapter8.JavaDevelopment
Section8.1.DevelopingWebApplications
Section8.2.DevelopmentTools
Section8.3.OracleApplicationServerAPIsandTagLibraries
Chapter9.OracleDevelopment
Section9.1.PL/SQL
Section9.2.OracleASFormsServices
Section9.3.OracleASReportsServices
Chapter10.XMLDevelopment
Section10.1.XML,DTDs,andXMLSchemas
Section10.2.XMLStandards
Section10.3.XMLDeveloperKits
Section10.4.OracleApplicationServerComponentsandXML
Chapter11.WebServices
Section11.1.WebServicesArchitecture
Section11.2.WebServicesStandards
Section11.3.ServiceProvider
Section11.5.ServiceDiscovery
Section11.4.ServiceDescription
Section11.6.ServiceRequester
Chapter12.BusinessIntelligenceComponents
Section12.1.Reporting
Section12.2.QueryandAnalysis
Section12.3.DataMining
Section12.4.ManagingBusinessIntelligenceComponents
Chapter13.OracleApplicationServerPortal
Section13.1.AnOracleASPortalPage
Section13.2.Portlets
Section13.3.ClassificationofData
Section13.5.DeploymentArchitecture
Section13.4.End-UserInteraction
Section13.6.OracleASPortalSecurity
Chapter14.OracleApplicationServerWireless
Section14.1.OracleASWirelessFoundationServices
Section14.2.OracleASWirelessDevelopment
Section14.3.OracleASWirelessDeployment
Section14.4.OracleASWirelessAdministration
Chapter15.IntegrationComponents
Section15.1.OracleApplicationServerInterConnect
Section15.2.OracleApplicationServerProcessConnect
AdditionalResources
WebSites
BooksandOracleDocumentation
Colophon
Index
Copyright©2004O'ReillyMedia,Inc.Allrightsreserved.
PrintedintheUnitedStatesofAmerica.
PublishedbyO'ReillyMedia,Inc.,1005GravensteinHighway
North,Sebastopol,CA95472.
O'Reillybooksmaybepurchasedforeducational,business,or
salespromotionaluse.Onlineeditionsarealsoavailablefor
mosttitles().Formoreinformation,
contactourcorporate/institutionalsalesdepartment:(800)
998-9938or
NutshellHandbook,theNutshellHandbooklogo,andthe
O'ReillylogoareregisteredtrademarksofO'ReillyMedia,Inc.
OracleApplicationServer10gEssentials,theimageofapraying
mantis,andrelatedtradedressaretrademarksofO'Reilly
Media,Inc.
Oracle®andallOracle-basedtrademarksandlogosare
trademarksorregisteredtrademarksofOracleCorporation,Inc.
intheUnitedStatesandothercountries.O'ReillyMedia,Inc.is
independentofOracleCorporation.Java™andallJava-based
trademarksandlogosaretrademarksorregisteredtrademarks
ofSunMicrosystems,Inc.intheUnitedStatesandother
countries.O'ReillyMedia,Inc.isindependentofSun
Microsystems.
Manyofthedesignationsusedbymanufacturersandsellersto
distinguishtheirproductsareclaimedastrademarks.Where
thosedesignationsappearinthisbook,andO'ReillyMedia,Inc.
wasawareofatrademarkclaim,thedesignationshavebeen
printedincapsorinitialcaps.
Whileeveryprecautionhasbeentakeninthepreparationofthis
book,thepublisherandauthorsassumenoresponsibilityfor
errorsoromissions,orfordamagesresultingfromtheuseof
theinformationcontainedherein.
Dedication
Formyfamily,LuAnn,Elinor,Josephine,andRobin,who
havegrantedmealifemorewonderfulthanIcouldhave
imagined.
RickGreenwald
ToJodie,mylove,inour25thyearofmarriage,andto
myboysNickandMike,whoarepassingthroughtheir
teenageyearsalmost"likeeveryoneelse"theirage.
RobertStackowiak
FormywifeDianeanddaughterKristyn,whosacrifice
theirtimeandmypresencesothatImaywrite.
DonaldBales
Preface
Formorethan15years,Oracle®Corporationhasbeenoneof
theworld'sleadingtechnologycompanies.Muchofthe
company'sreputationisbuiltonitsenterprisedatabase
producttheleadingdatabaseforonlinetransactionprocessing
andenterpriseapplicationsformorethanadecade.Inrecent
years,however,Oraclehasenhanceditsproductofferingsto
encompassacompletetechnologystack,includingtheEBusinessSuite(providingapplications),theCollaborationSuite
(providingcommunicationthroughoutanorganization),and
OracleApplicationServer,whichisthefocusofthisbook.
OracleApplicationServerisamiddle-tierapplicationplatform
suiteofferingavarietyofcapabilities.AlthoughOracle
ApplicationServerhasgrowninpopularityandfunctionalityin
recentyears,therehasbeenadearthofthird-partybooks
abouttheproduct.Ourgoalistoremedythissituation.
Inthisbook,weusethetermOracleApplicationServertorefermainly
toOracleApplicationServer10g,thelatestreleaseofOracle'sproduct.
Wherenecessary,wealsodescribefeaturesinthepreviousproduct
releases,particularlyinOracle9iApplicationServer.Manyfeaturesare
identicalacrossversions.Note,however,thatbecausesomereaders
maybeusingolderreleases,whenwedescribeanewfeaturethatwas
firstmadeavailableinaparticularrelease,weindicatethatfacttohelp
avoidconfusion.
AboutThisBook
Fiveyearsago,twoofusweretheprincipalcoauthorsofOracle
Essentials,anewkindofbookthatattemptedtodescribeall
theunderlyingprinciplesthatshapetheOracledatabase,one
writtenconciselyforanintelligentaudience.OracleEssentials
wasnotalargebooktherewerefewerthan350pagesinthat
firstedition(wehavesincewrittentwomoreeditions)butit
coveredalotofground.Itdidnotattempttodescribedetailed
syntax;instead,itfocusedonbroadarchitecturalconceptsand
importantfeatures.
Themorewethoughtaboutit,themorewerealizedthatOracle
ApplicationServerwas,insomeways,evenmoreinneedof
thistypeoftreatment.OracleApplicationServercontainsmany
differenttypesoffunctionality,fromitsbasicwebserver
featurestoitssupportofbusinessintelligence.Manypeople
whoconsiderusingtheproductarefamiliarwithonlyaportion
oftheentirerangeofcapabilitiesorareoverwhelmedbythe
choicesprovided.Fewpeoplehaveagraspofhowlargerissues,
suchastheinterplaybetweencomponentsorthevarious
architecturalchoicesfordeployingOracleApplicationServer.
Hencethisbook.ThegoalsofOracleApplicationServer10g
Essentials,summarizedinthenextsection,aresimilartothe
goalswetriedtoachieveinourearlierbookthatmanypeople
havefoundveryhelpful.Wehopewehavemetourobjectives
forthisbookaswell.
GoalsofThisBook
Ourmaingoalistogiveyouafoundationforunderstandingand
usingOracleApplicationServereffectivelyandefficiently.
Therefore,wewrotewiththeseprinciplesinmind:
Focus
We'vetriedtoconcentrateonthemostimportantOracle
ApplicationServerissuesandcomponents.Eachchapter
aimstoprovideacomprehensivebutconcisediscussionof
howOraclehandlesanareaandtherepercussionsofthat
treatment.
Brevity
Oneofthefirstdecisionswemadewastoconcentrateon
principlesratherthansyntaxandtokeepthebookshort
andwell-focusedonunderlyingconcepts.Includingmyriad
syntaxdiagramsandexampleswoulddefeatthispurpose.
Moreover,suchmaterialisreadilyavailableintheproduct
documentation.
Acceleration
We'vetriedtomakethisanidealfirstOracleApplication
ServerbookforawidespectrumofOracleusersbutnotthe
last!YouwillverylikelyhavetorefertoOracle
documentationorother,morespecificbooksformore
detailsaboutusingOracleApplicationServerandits
components.However,wehopethisbookwillactasan
acceleratorforyou.Withthisbook'ssolidfoundation,you
willbeabletotakedetailedinformationfromothersources
andputittothebestuse.
Amongus,theauthorshavemorethan40yearsofexperience
withOracle.We'vetriedtoapplythatexperiencehereasbest
wecan.
AudienceforThisBook
WewrotethisbookforpeopleatalllevelsofOracleexpertise,
aswellasforthosewithvaryingdegreesoffamiliaritywiththe
differentareasofcapabilitieswithinOracleApplicationServer.
Therearemanytypesofreaders:
Thoseconcernedwithusingandmanagingwebservers
ThosewhodoJava©developmentanddeployment
ThosewhouseOracle'sowntools,suchasOracleForms
andOracleReports
ThosewhouseanddevelopforOracleApplicationServer
Portal
Thosewhouseandadministerbusinessintelligence,mobile,
orintegrationsoftware
Andtheseareonlyafewofthe"typical"OracleApplication
Serverusers.
Chancesarethatsomeoftheitemsinthisbrieflistapplyto
you,andsomedon't.However,becauseOracleApplication
Servercomeswithallthisfunctionality,webelieveyoucanuse
theproductmoreeffectivelyifyouhavebackgroundthathelps
youunderstandthevariedcapabilitiesofOracleApplication
Server.
Ourguidingprinciplehasbeentopresentthisinformation
compactlywithoutmakingitoverlytutorial.Wefigurethatthe
mostimportantratioinabooksuchasthisistheamountof
usefulinformationyougetbalancedagainstthetimeittakes
youtogetit.Wesincerelyhopethisvolumeprovidesaterrific
bangforthebuck.
StructureofThisBook
Thisbookisdividedinto15chaptersand1appendix,as
follows.
Chapter1,describestherangeofOracleApplicationServer
capabilitiesandsomeoftheoptionsforpurchaseand
installation.
Chapter2,describethebasicarchitectureofOracleApplication
Serverandoptionaldeploymentarchitecturesusedtoprovide
scalabilityandavailability.Thischapterprovidesthecore
technicalinformationneededtoeffectivelyusetheproduct.
Chapter3,providesabriefoverviewoftheprocessesandtools
usedtomanagethecompleteOracleApplicationServer
environment.
Chapter4,looksathowOracleApplicationServerprovides
securityandidentitymanagementservicesthatcanbeusedfor
allthecomponentsthatmakeuptheOracleApplicationServer
environment.
Chapter5,isthefirstchapterinaseriesofchaptersexamining
specificcomponentsofOracleApplicationServer.TheOracle
HTTPServeristhecoreoftheOracleApplicationServer
environment.
Chapter6,coverstheOC4JcontainerthatrunsJava
applications.OracleApplicationServer,initsmostbasicstate,is
usedasaJavadeploymentplatform,andOC4Jisthetargetof
thesedeployments.
Chapter7,looksatthethreecachesusedinOracleApplication
ServertheOracleApplicationServerWebCache,whichisused
foralltypesofcontent,andtheJavaObjectCacheandWeb
ObjectCache,whichareusedwithOC4J.Useofthesecaches
cansignificantlyacceleratetheperformanceofOracle
ApplicationServer.
Chapter8,coversJavadevelopmentanddeploymentwith
OracleApplicationServer.
Chapter9,looksatthreeOracle-specificdevelopment
technologiesPL/SQL,OracleApplicationServerFormsService,
andOracleApplicationServerReportsServicesanddescribes
howtheyareusedanddeployedwithOracleApplicationServer.
Chapter10,describestheuseofOracleApplicationServerwith
XML.
Chapter11,explorestheuseoftheWebServicestechnology
withOracleApplicationServeranditscomponentdevelopment
options.
Chapter12,looksattheissuesfacingbusinessintelligence
usersandthewaysinwhichOracleApplicationServerPortal,
OracleReports,andDiscovereraddresstheseissues.The
chapteralsotouchesondataminingandmanagementofthe
businessintelligencecomponentsinOracleApplicationServer.
Chapter13,coverstheOracleASPortalproductanditsrangeof
capabilities.
Chapter14,describestheuseofOracleApplicationServerasa
platformformobilecomputing.
Chapter15,describestheintegrationsoftwarethatisincluded
withsomeeditionsofOracleApplicationServer.
TheAppendix,listsavarietyofadditionalresourcesbothonline
andofflineyoucanusetolearnmoreaboutthetopicspresented
inthisbook.
AbouttheOracleApplicationServerSoftware
Thewaytogetthemostoutofthisbookistoactuallytryout
theOracleApplicationServersoftwareitself.OracleCorporation
invitesyoutodownloadtheproductforfreefromtheOracle
TechnologyNetwork(OTN).Youcanfindouthowtodothatby
goingto:
/>Thereyouwillfinddocumentation,instructionsforobtainingthe
software,andawealthofinformationaboutallaspectsofthe
product.
ConventionsUsedinThisBook
Thefollowingtypographicalconventionsareusedinthisbook:
Italic
Usedforfileanddirectorynames,exampleURLs,emphasis,
andnewtermswheretheyaredefined.
Constantwidth
Usedforcodeexamplesandliterals.
Constantwidthitalic
Incodeexamples,indicatesanelement(e.g.,aparameter)
thatyousupply.
UPPERCASE
GenerallyindicatesOraclekeywords.
lowercase
Incodeexamples,generallyindicatesuser-defineditems
suchasvariables.
Thisiconindicatesatip,suggestion,orgeneralnote.Forexample,we'll
tellyouifyouneedtouseaparticularversionofOracleorifan
operationrequirescertainprivileges.
Thisiconindicatesawarningorcaution.Forexample,we'lltellyouif
Oracledoesn'tbehaveasyou'dexpectorifaparticularoperation
negativelyimpactsperformance.
HowtoContactUs
Pleaseaddresscommentsandquestionsconcerningthisbookto
thepublisher:
O'ReillyMedia,Inc.
1005GravensteinHighwayNorth
Sebastopol,CA95472
(800)998-9938(intheUnitedStatesorCanada)
(707)829-0515(international/local)
(707)829-0104(fax)
Thereisawebpageforthisbook,whichlistserrataandany
additionalinformation.Youcanaccessthispageat:
/>Tocommentorasktechnicalquestionsaboutthisbook,send
emailto:
Formoreinformationaboutbooks,conferences,software,
ResourceCenters,andtheO'ReillyNetwork,seetheO'Reilly
websiteat:
Acknowledgments
Eachauthorhasarrivedatthiscollaborationthroughadifferent
path,butwewouldallliketothankthemanypeoplewhomade
thisbookbothpossibleandajoytowrite.
Firstofall,we'reallgratefultoeachother.BobandRickworked
togetheronOracleEssentials,butDonwasnewtothemix.
Whatwasquiteamazingaboutthisprocesswashowwellwe
meshed.Althoughthisparticularbirthingprocessincluded
occasionalpainandfrustration,wesincerelybelievetheresult
isfarbetterbecauseallthreeofuswereinvolvedinthe
gestation.Manytimes,asoneofuswroteachapter,wewould
pausetoconsideradetailedpointandthensimplyposea
questionandmoveon,confidentthatoneofourcoauthors
wouldbesuretofillintheblank,eggusontorewrite,or
deliverconstructivecriticism.
Thisbookwouldnothavebeenpossiblewithouttheinvaluable
assistanceofmany,manypeopleatOracleCorporation.This
bookwasthebrainchildofThomasKurianandLisaGoldstein,
andwewouldliketogiveaspecialthankyoutoLisaforher
stewardshipofthisbook,frominceptiontocompletionthe
secondmostimportantbirthingactivityofherrecentlife.Many
thankstoSheilaCeperoaswellforherhelpingettingthisbook
fromthedrawingboardtoproduction.
PeteFarkasprovidedinvaluabletipsonOracleApplication
Serveranddidatremendousjobofmanagingtheintricate
reviewprocessatOracle(aswellasreviewinganumberof
chaptershimself).
Manypeoplehelpedoutwiththatreviewprocessandalthough
wehavetriedourbesttomentioneveryonehere,wemay
simplybeunawareofcertaincontributions.Ifwehavemissed
anyone,pleaseletusknowsothatwecanthankyouina
subsequentprintingofthisbook.Manythankstoourreviewers:
JangaAliminati,ChristineChan,JimClark,RobClark,Brian
Conneen,LeeCooper,JohnDeeb,LarsEwe,PeteFarkas,Mikael
Fransson,GordonJackson,RaguKodali,JohnLang,Bruce
Lowenthal,DebuPanda,BlaiseRibet,EkkehardRohwedder,
DonaldSmith,DeepakThomas,PhilippWeckerle,andRin
Zimmerman.Thesereviewersdidagreatjobofcheckingour
text,suggestingchanges,andfindingerrors.However,any
remainingerrorsareexclusivelyourownresponsibility.
AndthanksasalwaystotheterrificO'Reillyteamoureditor,
DebbyRussell,ourproductioneditor,MaryAnneWeeksMayo,
andeveryoneelsewhohadahandinthisbook.
FromRick
ManythankstoChristineChanwhoprovidedagreatdealof
helpinclarifyingtechnicalpoints.Manycurrentandformer
Oracleemployeesofferedmeassistanceatvariouscrucial
pointsinthewritingandeditingprocess,includingAshesh
Parekh,ToddVender,andNickKritikos.AspecialthankstoRaz
AlivariusforhiscontributiontoChapter13andtoJudsonAlthoff
forgettingtheballrolling.
FromRobert
Thanksto:
ThepilotsatAmericanAirlinesandUnitedAirlines.By
avoidingturbulence,Iwasabletocompletemuchofmy
portionofthebookondozensofflightswhileaccumulating
frequentflyermilesatthesametime.
Doughnut-shopownersinnorthernIllinois.Withoutthese
pastries,thebookmayhavenevergottenofftheground.
Fortunately(?),wewerepoweredbysugarwhenwecreated
theoutline.
Mymanagementfortheircontinuingsupport.I'despecially
liketothankSusanCookandMarkSalser.Inaddition,the
guysinOracle'sEnterpriseTechnologyCenter,especially
JimOlsenandGeoffGrandstaff,werehelpfulinproviding
GridControlaccesstoapoolofOracleApplicationServers.
I'dalsoliketothanktheOracleTechnologyBusinessUnit
ApplicationServerspecialistsand,intheareaofbusiness
intelligence,LouisNagode.
Oracleproductmanagersanddevelopers.Theycontinueto
produceexcellentdocumentationthatwasusedinproviding
thebasisformuchofwhatwasassembledinthisbook.
Oracle'scustomers.Asalways,Oracle'scustomershavea
practicalunderstandingofOracleApplicationServerandits
components.
FromDonald
IwouldliketothankKathyBishopfromCorporate
CommunicationsatRedHatforsupplyingmewithacopyofRed
HatEnterpriseonwhichtorunOracleApplicationServer10g.
Chapter1.IntroducingOracle
ApplicationServer
Overthepastdecadeorso,ITenvironmentsparticularlythose
supportinglargeamountsofdatahavebeenmovingtowarda
differentkindofoverallarchitecture.Inthepast,mostIT
systemsweredeployedovertwoprimarytiers:aclient,which
rantheapplications,andaserver,whichhostedthedatabase
andsomeothertypesofgeneralizedlogicandservices.
Foranumberofreasonsincludingscalability,availability,and
securityanewtierhasbeenintroducedbetweentheclientand
theserver.Thismiddletierhostsavarietyofservicesthat
functionasintermediariesbetweentheclientmachines(which
actasuserinterfaces)andthedatatheyuse.Theseservices
includevirtualmachinesthatrunapplicationlogic,specialized
serverprocessesthatdeliverspecificfunctionality(e.g.,
reportingorintegratinginformationintoportals),and
infrastructureservices(e.g.,handlingwebcommunicationsor
cachinginformationforimprovedperformance).
OracleApplicationServerconsistsofasetofcomponentsthat
deliverallthisfunctionality,andmore.Forexample,Oracle
ApplicationServercan:
RespondtoHTTPrequests
Runapplicationcode
Provideasecurityinfrastructure
Supplysomespecificcapabilities,suchasbusiness
intelligencetools,mobiletoolsandapplications,anda
messagingsystem
Offerimprovedperformanceandresponsetime
Providethehighavailabilityandscalabilityneededinan
enterpriseenvironment
Thisbookisdesignedtogiveyouabroadoverviewofthe
componentsthatmakeupOracleApplicationServerandhow
theyoperate.Thegoalofthebookistoprovideyouwithaclear
understandingoftheconceptsandcapabilitiesofOracle
ApplicationServer,particularlythoseavailableinthelatest
releaseoftheproduct,OracleApplicationServer10g.This
latestreleaseprovidesawiderangeoffunctionality,andthis
booktriestoexplainwhatthatfunctionalityis,ratherthanhow
toimplementspecificexamples.Thisbookisn'tmerelya
descriptionofcomponents,however:itattemptstogiveyoua
thoroughgroundingintheconceptsandtechnologythatmake
upOracleApplicationServer10g.Withthisframework,youwill
beabletounderstandthefullrangeoftheproductandmore
rapidlyassimilatethedetailsoftheproduct'simplementation.
Thisfirstchaptersetsthestagefortherestofthebook.It
providesanintroductiontoarangeoftopics,mostofwhichare
describedingreaterdetaillaterinthebook.Afewofthebasics,
howeverforexample,abriefhistoryoftheevolutionof
"applicationservers"andOracle'spackagingaredescribedonly
inthischapter,soweencourageyoutoreaditcarefully,evenif
youalreadyhavesomefamiliaritywithOracleApplication
Server.
Beforedivingintothespecificfoundationsoftheproduct,we'll
takeastepbacktoprovidesomecontext.We'lldiscusswhy
applicationserverswerecreatedandhowtheyevolved,and
thenwe'llmoveontointroducethebasicfeaturesand
configurationsofOracleApplicationServer.
1.1EvolutionoftheApplicationServer
Theconceptofanapplicationserverhasevolvedoverthepast
decadeorso,combiningseveraldifferentstrandsof
functionalitythatwe'llexploreinthissection.
1.1.1EarlyBeginnings
LongbeforeJavaorapplicationserversexisted,therewas
alreadyaneedtoservicetransactionsbetweendistributed
systems.Thetransactionmonitorwasoriginallycreatedto
provideatwo-phasecommit,assuringthattransactionswere
maderealonlywhencommittedontwodifferentplatforms.
Examplesofearlytransactionmonitorsthatgainedpopularity
includeCICS(fromIBM)andTuxedo(originallydevelopedby
AT&TandlateracquiredbyBEA).Tuxedofirstappearedin1983
andevolvedfromsimplyguaranteeingreliabletransactionsto
alsoprovidingamiddletierforoffloadingtheworkloadfrom
transaction-processingdatabases.Useofthemiddletier
enabledthedatabasetosupportmanymoretransactionprocessingusersathigherperformancelevels.
Bythemid-1980s,thetransactionmonitorwassometimes
referredtoasamiddlewaresolutionandsooncametobe
knownasanapplicationserver.Heterogeneouscomputerand
transaction-processingdatabasesupport,viatheX/Open'sXA
interface,firstappearedin1989.Otherfunctionalitysoonwas
addedtothemiddle-tiersolutions,includingfaulttolerance,
loadbalancing,andmoresecuritydeploymentmodels.
In1991,SunMicrosystemsbegandevelopinganew
programmingtoolinanticipationofacomingconvergenceof
computersanddigitalconsumerdevices.Withfewtakersfor
thetechnologyintheearly1990s,Sun'sfocusturnedtoward
buildingandenablingapplicationsforthenewlypopular
InternetandtopartnershipswithcompaniessuchasNetscape.
Possiblythemostimportantoutcomeofthisresearchwasthe
emergenceoftheJavaprogramminglanguagein1995.
Byitsnature,theInternetisenabledthroughathree-tier
architectureconsistingofthefollowingcomponents,whichare
showninFigure1-1:
Athinclient(browser)onthefrontend
Anapplicationserverinthemiddletier
Adatabase/serveronthebackend
Figure1-1.Typicalthree-tierconfigurationwith
OracleApplicationServer
Thus,theInternetcomputingmodelcreatedanothermarketfor
middlewareatthesametimethatJavagainedpopularityfor
Internetprogramming.Thenaturalevolutionofapplication
serverstowardservingandsupportingJava-basedapplications
began.Severalprovidersofearlytransactionmonitorsmerged
theirmiddlewareofferingsintonewapplicationserver
packaging.