Database co op eration: classication and middlew are to ols
PaoloAtzeniUniversita'diRomaTre,Italyincooperationwith
Luca Cabibb o
andGianni Mecca
[atzeni,cabibbo,mecca]@inf.uniroma3.ithttp://poincare.inf.uniroma3.it:8080
PaoloAtzeni|CAiSE*971
Outline
introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*972
introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*973
Focus
databasecooperation
bridgethegapbetweenmethodologiesandtools
classicationofapplications
implementationarchitectures
PaoloAtzeni|CAiSE*974
Sp ecic framew ork
contractwithAIPA(NationalAuthorityinItalyforComputinginthePublicAdministration)
AIPAispromotingaNationalnetwork:\theInternetoftheItaliangovernmentandadministrationoces"
AIPAwantedtogiveguidelinestothevariousbranchesonhowtoexploitthenetworkandpromotecooperation
PaoloAtzeni|CAiSE*975
General framew ork
theneedforintegratingapplicationsariseseverywhere,stimulatedbythedevelopmentofnetworks
{
integration(orinteraction)ofcomponentsdevelopedseparately,fortechnical,organizational,ortemporalreasons{
cooperationofpreviouslyseparateprocesses(processreengineering){
cooperationofindependentcompanies(ormergesthereof)PaoloAtzeni|CAiSE*976
Levels of interaction
connectivit y
:systemsandnetworksexchangepacketsofinformation(inInternet,withTCP/IP)interop erabilit y
:systemsandnetworksinteractbymeansofstandardservices(inInternet,standardprotocolsaboveTCP/IP)co op eration
:applicationsoverdierentsystemsinteractwithoneanother;attheextremelevel,distributedapplicationscoordinateexistinglocalapplicationsPaoloAtzeni|CAiSE*977
Interop erabilit yservices
letransfer(ftp)
virtualterminal(telnet)
electronicmail(X.400orESMTP/MIME)
directoryservice(X.500)
WWW(http)
PaoloAtzeni|CAiSE*978
Co op eration of Info rmation Systems
requiresthatthecooperatingsystemsoerapplicationservices
ithappenswhensystemsmakeuseofapplicationservicesoeredbyothersystems
cooperatingsystems\sharegoals"
amajorfeature:\continuouschange"
PaoloAtzeni|CAiSE*979 introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*9710
First level classication
twoformsofcooperation(noclearcut,indeed)data-o riented
:datainasystemisvisible/accessibletoothersystemspro cess-o rie nted
:systemsoerservices,exchangemessages,(ordata,documents),triggeractivitiesPaoloAtzeni|CAiSE*9711
Pro cess-o riented co op eration
exchangeofmessagesanddocuments;simplecooperation;satisedwithinteroperabilityservices
structuredexchangeofmessagesanddocuments;morecomplexcooperation;satisedwithEDIservicesandsophisticatedmailers
cooperatingprocesses:composedofactivitiesofindependentsubjectsthatcooperate;complexcooperation;solution(?):work owmanagementsystems
PaoloAtzeni|CAiSE*9712
Co op eration: requirements
actualcooperationinvolvessystemsthatare
distributed
heterogeneous
autonomous
PaoloAtzeni|CAiSE*9713
Distribution
cooperationmeansthatwehavemultiplesystems;datacooperationmeansthatwehavemultipledatabasesthathandledata
asopposedtousualdistributeddatabases,heredistributionisnotadesigndecision,butafact,duetothepreexistenceofthecooperatingdatabases
distributionmayrangefromdierentdatabasesonthesamemachinetodatabasesspreadoverageographicnetwork
PaoloAtzeni|CAiSE*9714
Heterogeneit y
manyaspects
dierencesinthecomputingenvironment(hardware,operatingsystem,networksoftware)
dierencesinthedatabasemanagementsystem:
{
dierentdatamodel(relational,hierararchical,OO,les,...){
detailsinthesamedatamodel(versionsoftherelationalmodel:types,constraints,...){
dierentlanguages(SQLandQBE,versionsofSQL,...)semanticheterogeneity:dierencesinthemeaningofdata
PaoloAtzeni|CAiSE*9715
Autonomy
Absenceofacommon(orcoordinated)controloverthevarioussystems:\distributionofcontrol"Technicalaspects:
designautonomy:thevarioussystemsarebuiltindependently,withdierentchoicesformanyaspects(thusinducingheterogeneity)
serviceautonomy:decisiononifandhowcooperationisestablished(whatservicesareoered)
executionautonomy:cooperationdoesnotinterferewith\private"operations;cooperatingoperationsareexecutedunderlocalcontrolPaoloAtzeni|CAiSE*9716
Distribution, Heterogeneit y,Autonomy
Classicationcriteria?No,sinceinthecooperationweshouldbereadytotacklehighlydistributed,heterogeneous,andautonomoussystemsConstraints?Probablyyes,atleastintheworstcaseDecienciestoovercome?Possibly,ifthereissomecoordinatingauthority:cooperationcanstimulatereengineering(reducingthedegreesofheterogeneity,autonomy,anddistribution)
PaoloAtzeni|CAiSE*9717
The \ideal goal"
completedatabasefeaturesinanintegratedframework(inordertodevelopecient/eectivecooperativeapplications):
{
\integrateddatabase"{
queryandtransactioncapabilities{
absenceofredundancy(andinconsitency)ho wever
currenttechnologydoesnotreallysupportthis(atbestrequireseortandmoney)PaoloAtzeni|CAiSE*9718
New classication criteria for data-o riented co op eration
degreeoftransparencyofcomponentdata
complexityofoperations
levelofliveliness(orup-to-dateness,asopposedtoobsolescenceorlatency)ofdata
PaoloAtzeni|CAiSE*9719
Transpa rency
measures the need for hiding distribution and heterogeneit y of comp onent systems in adata-o riented co op eration
+integrationofcomponentdatabases:thecooperativeapplicationneedstoseeone(virtual)database,oeringanintegratedschema(orsetoffunctions)
-itisacceptablethateachcomponentdatabaseoersasetofservices:eachcooperativeapplicationisresponsibleforaccessing,integrating,transformingthevariouspiecesofdata
PaoloAtzeni|CAiSE*9720
Complexit yof op erations
measures the need for co ordination in the execution of op erations (queries and transactions)
+complexoperations(queriesandupdates):joinoflargerelations(fromdierentdatabases)ortransactionswithmultipleupdatesindierentdatabases;requirenontrivialmanagement
-simpleoperations(forexampleread-only,orlocal);donotrequirespecicsupport
PaoloAtzeni|CAiSE*9721
Liveliness of data
measures the need for actual availabilit yof current data
+on-lineaccesstotheprimarycopyofdata:\accessofactualdatawhereitis"|theoriginalgoalofintegrateddatabases?
-accesstocopies,withacontrolleddegreeofobsolescenceNote:thiscriterioncanbeappliedindependentlytothevariouscomponents
PaoloAtzeni|CAiSE*9722
introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*9723
A classication for data-o riented co op eration
thereisnoneedtoconsiderallcombinations:
{
thecriteriaarenotindependent:ahighdegreeofcomplexityrequiresanintegrationinfrastructure,thatis,itrequiresahighdegreeoftransparency;{
somecasesaremarginalorsubsumedmajorclasses
{ multidatabases
:transparency,complexity,up-to-dateness{ data warehouses
:transparency,complexity{ local info rmation systems with external data
:varyingdegreeofup-to-datenessPaoloAtzeni|CAiSE*9724Multidatabases
intheidealcase,thereisahighdegreeoftransparency,complexity,up-to-dateness
thereisa
global
systemthatintegratesservices:livedataisdirectlyaccessedinatransparentandecientwaymethodologiesandtoolsforintegration(ofschemes,data,languages)areneeded
PaoloAtzeni|CAiSE*9725
Multidatabase
DBDBDB LocalMgrLocalMgrLocalMgr PPPPPPPP client
clientExporterExporterExporter , , , , , , , ,
@ @ @ @ @ @ @ @ GlobalMgr HHHHHHH
clientclient
PaoloAtzeni|CAiSE*9726
Five-level architecture for federated database systems
DB rrrDB LocalSchemaLocalSchema HHHHHH
clientclientComponentSchComponentSch @ @@
, ,, ExportSchemaExportSchemaExportSchema
XXXXXXXXXXXXXXXXX
HHHHHHHHH FederatedSchemaFederatedSchema @ @ @ @@
HHHHHHHHH
, , , ,, ExternalSchExternalSchExternalSch client
@ @ @@ client
@ @ @@ client
, , ,, client
PaoloAtzeni|CAiSE*9727
Three-level architecture for traditional database systems
DB InternalSchema LogicalSchema HHHHHHHH
ExternalSchemaExternalSchemaExternalSchema @ @@ , ,, clientclientclientclient
PaoloAtzeni|CAiSE*9728
Data W arehouse
dataareintegratedo-lineandstoredinanewdatabase(the
data warehouse
)typicalapplications:decisionsupport(formarketing,sales,nancialanalysis),investigation,summarization
greatinterestinthemarketplace(OLAP,datacube,multidimensionaldatabases,extractors,replicators)
PaoloAtzeni|CAiSE*9729
Data W arehousing app roach
DBDBDB LocalMgrLocalMgrLocalMgr PPPPPPPP client
clientExtractorExtractorExtractor
XXXXXXXX Integrator DataWarehouse DWMgr HHHHH
clientclient
PaoloAtzeni|CAiSE*9730
OPERATIONALDBDATAWAREHOUSEapplicationorientedsubjectorientedservestheoperationlevelservesthemanagersleveldetaileddataalsosummarized,withtimeseriesaccessedaunitatatimeaccessedasetatatimenonredundantdataredundantdatacurrentvaluesovertimeand/ortimeseriesvarieswithtimeisnotupdatedusedstandardlyusedcasuallyrequirementsknownapriorinotknownaprioriperformancesensitiveperformancerelaxedtransactiondrivenanalysisdrivenconcurrencycontrolneedednoneedhighavailabilityrelaxedavailabilitystaticstructure exiblestructuresmallamountofdataperoplargeamountofdata
PaoloAtzeni|CAiSE*9731
Advantages of W arehouses wrt Multidatabases
on-lineaccessinqueryprocessingcanbeslow:itcompeteswithoperationalactivities
primarysourcesmaybeunavailable
complexrestructuringandaggregationmaybeneeded(andprimarysourcesmaybeheterogeneous)
PaoloAtzeni|CAiSE*9732
Advantages of Multidatabases wrt W arehouses
sometimesaccesstocurrent(primary)dataisessential
primarydatamaychangerapidly
cansupportunpredictedqueries
PaoloAtzeni|CAiSE*9733
A prop osed architecture for DW
operationaldata
enterprisewarehousedata(granular,subjectoriented,historical)
\DataMarts:"departmentaldata(aggregated,themeoriented)
individual(temporary,adhoc,problem-based)Littleredundancyamongthelevels.
PaoloAtzeni|CAiSE*9734
(anaside)
Data Mining
Twogoalsoverlarge(derived)setsofdata:
ndrelationships
makeforecasts
PaoloAtzeni|CAiSE*9735 Dataminingisusefulforprovidinginformationofvarioustypes:
classes:groupobjectsonthebasisofproperties
clusters:\unpredicted"categories
associations:correlationsbetweendierentevents
sequences:specicpatterns,forexampleintime-series
forecasts
similarsequences
PaoloAtzeni|CAiSE*9736
No clea rcut
Inacomplexsystemtheremaybe
datawhoseup-to-datenessisessential
datawhoseprimarycopyisexpensivetoaccess(wrttotheactualneedforup-to-dateness)
datathatarealwaysaggregatedinthesamewayTherefore,wecouldneedanintegrationofreplicatedandprimarydata
PaoloAtzeni|CAiSE*9737
An intermediate solution
DBDB LocalMgrLocalMgr PPPPPPP clientExporterExporter
DBDB LocalMgrLocalMgr clientExtractorExtractor
HHHH Integrator DW DWMgr
PPPPPPPPP GlobalMgr HHHHHH
clientclient
PaoloAtzeni|CAiSE*9738
Lo cal Info rmation Systems with external data
usefulifasystemhastoaccessexporteddatafromanothersystem
theapplicationhastoincludethemanagementofintegration,translation,accesscontrol
meaningfulonlywithsimpleoperations
datacanbeprimaryorreplicated
PaoloAtzeni|CAiSE*9739
The application do es the integration
DB LocalMgr PPPPPPP clientExporterDB LocalMgr
DBDB LocalMgrLocalMgr clientExtractorExtractor
HHHH Integrator DW DWMgr
, , , , , , , , , , , , , , , , ,,
PPPPPPPPP client
PaoloAtzeni|CAiSE*9740
introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*9741
Architectures for data-o riented co op eration
multi-levelclient-serverarchitectures
withmiddlewaretoolsfor
{
complexintegrationor{
basiccooperationinterfacesPaoloAtzeni|CAiSE*9742
Tw o-level Client/Server architecture
client
:presentation(interface,graphics,somelocalprocessing)server
:applicationlogicanddataaccessPaoloAtzeni|CAiSE*9743
Three-level Client/Server architecture
(basicidea)client
:presentation(interface,graphics,somelocalprocessing)intermediate server
:applicationlogicback-end server
:datamanagementPaoloAtzeni|CAiSE*9744
Benets of three-level Client/Server architecture
theapplicationprogram,thespecicanddelicatepartofeachapplication,isseparatedfrombothUIandDB
theDBisnotexposed
scalabilityand exibilityofcomponents:nothin/fatclientdoubt
modularity:reasonableencapsulationoflegacyapplications
PaoloAtzeni|CAiSE*9745
Multi-level Client/Server architecture
client
:presentation(interface,graphics,somelocalprocessing)intermediate server
:encapsulation(onanopensystem)ofheterogeneous(possiblylegacy)applicationsback-end server
:theencapsulatedapplication(withthedataserver)Therecanbemultiple,intermediateservers(andeventheback-endservermaybeaC/Ssystem)PaoloAtzeni|CAiSE*9746
Basic techniques for Client/Server data co op eration
on-linedatatransfer
o-linedatatransfer
on-linemessageexchange
o-linemessageexchange
on-linedataaccess
PaoloAtzeni|CAiSE*9747
On-line data transfer
DBDB ApplicationApplication
Gateway @
@
@
@
@
@
@
@ @ @ @ @ @ @ @
PaoloAtzeni|CAiSE*9748
On-line data transfer: Gatew ays
allowapplicationsforonedatabasetoaccessdataoveranotherdatabase
therearedierentlevelsoftransparency
typically,theclientmakesuseofSQL
availableintherelationalworldandtoaccesslegacyDBsfromrelationalapplications
exible(ifauthorized,allowaccesstothewholeDB),althoughsometoolsallowread-onlyaccess
ratherinecient(theserverhastoexecutecasualqueries)PaoloAtzeni|CAiSE*9749
O-line data transfer
DBDB ApplicationApplication
Replicator
, , , , , , ,,
@ @ @ @ @ @ @@
PaoloAtzeni|CAiSE*9750
O-line data transfer
dataareextractedfromoneDB,transformed,andstoredinanother
ad-hocsolutionshavebeenusedfordecades
recentinterestinreplicationandwarehousingtools
toolsfor
{
extraction(incremental,withchangedetection){
translation,integration,cleaning,aggregation{
OLAPprocessingPaoloAtzeni|CAiSE*9751
On-line message exchange
DBDB ApplicationApplication
Interface
PaoloAtzeni|CAiSE*9752
On-line message exchange
function-orientedinterface:remoteprocedurecall(RPC)
theclientinvokestheexecutionofaprogramontheserverandgetstheresults
veryroughextreme:screen-scrapers
storedproceduresinDBMSoropensystemsAPIsindistributedenvironments
modernevolution:object-orientedservices
widelyusedintraditionalTPmonitorsandinmoremoderndistributedobjecttechnologiesPaoloAtzeni|CAiSE*9753
O-line message exchange
DBDB ApplicationApplication Queuemanager
PaoloAtzeni|CAiSE*9754
O-line message exchange
function-orientedagain(typically),butasynchronous
atoolhandlesqueuesofmessages(message-orientedmiddleware)
toleratesunavailabilityofserverconnection
PaoloAtzeni|CAiSE*9755
On-line data access
DB Application client(browser) WebserverandCGI
PaoloAtzeni|CAiSE*9756
On-line data access database access through WWW
verycommon(anduseful)instructuredWWWservers
InternetvsIntranet
allowsthewidedisseminationofinformation
PaoloAtzeni|CAiSE*9757 introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*9758
Architectures for data co op eration
Basedon
elementarytools
DatabaseGatewayServersorDistributedDBMSswithgateways
DataWarehousingtools
DistributedTransactionMonitors
ObjectRequestBrokers
integratedtools
PaoloAtzeni|CAiSE*9759
Architectures based on Database Gatew ay Server or Distributed DBMS with gatew ays
DBDB ApplicationApplicationIntegrator
,
,
,
,
,
,
,
, @
@
@
@
@
@
@
@ Application
PaoloAtzeni|CAiSE*9760
Architectures based on Data W arehousing to ols
DBDB ApplicationApplication
,
,
, @
@
@ Integrator DW Application
PaoloAtzeni|CAiSE*9761
Architectures based on Distributed TP Monito rs or Object Request Brok ers
DBDB ApplicationApplicationIntegrator Application
PaoloAtzeni|CAiSE*9762
Transaction Pro cessing Monito rs
traditionalTPMonitors:ecient(queuemgmt)andreliable(correcttransactions)accessfromremoteterminals
distributedTPMonitors:ecientandreliableaccesstoremoteservicesinadistributedenvironment
currently,thisisnotacompletedistributedcomputationenvironment
PaoloAtzeni|CAiSE*9763
Object Request Brok ers
general-purposedistributedcomputingarchitecture
object-oriented:objectinterfacesareusedbyclientsthatdon'tseeimplementations
donotallowcompletedatabasetransparency
couldbeintegratedwithtoolsthatsupporttransactionmanagement
PaoloAtzeni|CAiSE*9764
Integrated Tools
provideasuiteoffeatures
oftenobject-based
oftenoerbothdevelopmentandexecutionsupport
PaoloAtzeni|CAiSE*9765
Architectures based on Integrated Tools
DBDB ApplicationApplicationIntegrator
DW ,
,
,
,
,
,
,
, @
@
@
@
@
@
@
@ Application
PaoloAtzeni|CAiSE*9766
introduction
classicationcriteria
classication
architecturaltechniques
architecturesandmiddlewaretools
conclusionanddiscussion
PaoloAtzeni|CAiSE*9767
Conclusions
cooperationcaninvolveverydierentneedsandsomanyalternativesexist
carefulevaluationofcostsandbenetsofthearchitecture:somesoultionsarecomplexandexpensive
cooperationdoesnotrequiremigrationnorreengineering
cooperationcanstimulateandencouragemigrationandreengineering:itallowsanincremental,low-riskapproachtomigration
PaoloAtzeni|CAiSE*9768
General References
P.Atzeni,L.Cabibbo,G.Mecca.Databasecooperation:classicationandmiddlewaretools.Draft.Soonavalaibleathttp://poincare.inf.uniroma3.it:8080
G.DeMichelisetal.Cooperativeinformationsystems:Amanifesto.ToappearinCooperativeInformationSystems:Trends&Directions,M.PapazogluandG.Schlageter(eds),AcademicPress,1997.
M.L.BrodieandM.Stonebraker.MigratingLegacySystems:Gateways,Interfaces&theIncrementalApproach.MorganKauman,LosAltos,1995.
W.Kim,editor.ModernDatabaseSystems:theObjectModel,Interoperability,andBeyond.ACMPressandAddisonWesley,1995.
J.A.Larson.DatabaseDirections.PrenticeHall,1995.
P.A.Bernstein.Middleware:Amodelfordistributedsystemservices.CACM39,2,Feb.1996,86{98.
W.H.Inmon.BuildingtheDataWarehouse,SecondEdition.JohnWiley,1996
OMG.OMAExecutiveOverview.http://www.omg.org/omaov.htm
OMG.SuggestedReadings.http://www.omg.org/suggrdgs.htm
A.P.ShethandJ.A.Larson.Federateddatabasesystemsformanagingdistributed,heterogeneous,andautonomousdatabases.ACMComputingSurveys,22(3):183{236,September1990.
UCSMessagingTeamUCSTechKnowShare:APrimeronMiddleware,IndianaUniversity,http://msgwww.ucs.indiana.edu/messaging/infoshare/middleware.htmlPaoloAtzeni|CAiSE*9769
References to to ols and pro ducts
M.L.BrodieandM.Stonebraker.MigratingLegacySystems:Gateways,Interfaces&theIncrementalApproach.MorganKauman,LosAltos,1995,Chapter10.
Websitesofallproductvendors
DBMS1996Buyer'sGuideandClient/ServerSourcebook.Middleware,Connectivity,andInternetTools.http://www.dbmsmag.com/pcmidcon.html
UCSMessagingTeamUCSTechKnowShare:APrimeronMiddleware,IndianaUniversity,http://msgwww.ucs.indiana.edu/messaging/infoshare/middleware.html
PaoloAtzeni|CAiSE*9770