Upload
sheila
View
55
Download
2
Embed Size (px)
DESCRIPTION
Interoperability of Distributed Component Systems. Bryan Bentz, Jason Hayden, Upsorn Praphamontripong, Paul Vandal. Introduction. Growth in Distributed Components Multiple users Multiple platforms How can I interchange data efficiently? - PowerPoint PPT Presentation
Citation preview
Interoperability of Interoperability of Distributed Component Distributed Component
SystemsSystems
Bryan Bentz, Jason Hayden, Bryan Bentz, Jason Hayden,
Upsorn Praphamontripong, Paul Upsorn Praphamontripong, Paul VandalVandal
IntroductionIntroduction
Growth in Distributed ComponentsGrowth in Distributed Components– Multiple usersMultiple users– Multiple platformsMultiple platforms– How can I interchange data efficiently?How can I interchange data efficiently?
Various technologies have been Various technologies have been introduced to leverage introduced to leverage interoperability problemsinteroperability problems
OverviewOverview
Research PathResearch Path– XML and various interoperability XML and various interoperability
technologiestechnologies– Moved from XML to broader areaMoved from XML to broader area
Individual ResearchIndividual Research– Finalize on November 6th Finalize on November 6th
Implementation ProjectImplementation Project– Tentative start date: November 6thTentative start date: November 6th
Semantic WebSemantic Web
Extension of the current WWWExtension of the current WWW Web of distributed knowledge basesWeb of distributed knowledge bases
– Accessible by software agentsAccessible by software agents– Simplified InteroperabilitySimplified Interoperability
Web ServicesWeb Services– Locate, Select, Employ, Compose Locate, Select, Employ, Compose – Automation a priorityAutomation a priority
““Collection of pages” => “Collection of Collection of pages” => “Collection of services”services”
OntologiesOntologies
Define structure of informationDefine structure of information Example: Price conceptExample: Price concept Functionality:Functionality:
– DesignDesign– DevelopedDeveloped– LearnedLearned– Exchanged/MergedExchanged/Merged
Layers: Metadata, Schema, LogicalLayers: Metadata, Schema, Logical
An An ontologyontology is a network of concepts, is a network of concepts, relationships,and constraints that provide relationships,and constraints that provide context for data and information as well as context for data and information as well as processesprocesses
Ontologies (cont’d)Ontologies (cont’d)
Metadata layer: underlying Metadata layer: underlying resources and properties; resources and properties; RDFRDF
Schema layer: represents Schema layer: represents hierarchy of concepts (“is-a” hierarchy of concepts (“is-a” links); links); RDF-SRDF-S
Logical layer: represents more Logical layer: represents more complex relationships. complex relationships. OWLOWL
Generality
Detail/RichnessDetail/Richness
Web ServicesWeb Services
Software Agent Discovery of Software Agent Discovery of servicesservices
Invocation and monitoring of Invocation and monitoring of servicesservices
Composition of services: basic Composition of services: basic (pipe-like); active research area(pipe-like); active research area
LanguagesLanguages
Languages:Languages:– UDDI: Universal Description, Discovery, Integration; UDDI: Universal Description, Discovery, Integration;
IBM, MS (registry, etc.)IBM, MS (registry, etc.)– RDF: Resource Description FrameworkRDF: Resource Description Framework– RDF–S: RDF SchemaRDF–S: RDF Schema– WSDL: Web Service Definition LanguageWSDL: Web Service Definition Language– WSMO: Web Service Modeling OntologyWSMO: Web Service Modeling Ontology– DAML: Darpa Agent Markup LanguageDAML: Darpa Agent Markup Language– OIL: Ontology Inference Layer; EUOIL: Ontology Inference Layer; EU– OWL: Web Ontology Language (successor to OWL: Web Ontology Language (successor to
DAML+OIL)DAML+OIL)– ebXML: electronic business using XML; UNebXML: electronic business using XML; UN
SummarySummary
The Semantic Web will allow software The Semantic Web will allow software agents to discover and interact with a agents to discover and interact with a wide variety of knowledge bases and wide variety of knowledge bases and services;services;
This requires layered metalanguages, to This requires layered metalanguages, to support the service discovery and support the service discovery and negotiation of data exchange;negotiation of data exchange;
These standards are evolving.These standards are evolving.
OpenDocumentOpenDocument
OpenDocument proposed by OasisOpenDocument proposed by Oasis Composed of input by major Composed of input by major
corporationscorporations Based off file format from Based off file format from
OpenOfficeOpenOffice Ratified on May 1, 2005Ratified on May 1, 2005 Multiple applications support formatMultiple applications support format Royalty free distribution Royalty free distribution
Advantages & Advantages & DisadvantagesDisadvantages
AdvantagesAdvantages– Not a binary file formatNot a binary file format– Ratified standard Ratified standard – Portability across multiple editorsPortability across multiple editors
DisadvantagesDisadvantages– No standard format for formulasNo standard format for formulas– Multiple ways to define the same Multiple ways to define the same
propertiesproperties
Composition of OpenDocument Composition of OpenDocument filefile
Compressed archive file Compressed archive file containing the following files and containing the following files and directoriesdirectories– Content.xmlContent.xml– Sytles.xmlSytles.xml– Meta.xmlMeta.xml– Settings.xmlSettings.xml– Pictures/Pictures/– Meta-inf/Meta-inf/
TestingTesting
OpenDocument files are opened OpenDocument files are opened in multiple editors.in multiple editors.
The formatting and readability of The formatting and readability of text is examinedtext is examined
Spreadsheets with complex Spreadsheets with complex formulas are studied to see if formulas are studied to see if portability existsportability exists
Software RetrievalSoftware Retrieval
Reusable assetsReusable assets– Analysis documentsAnalysis documents– Design documentsDesign documents– Source codesSource codes– Executable objectsExecutable objects
Aspect based component descriptionAspect based component description– Syntactic aspectSyntactic aspect– Functional – Behavioral aspectFunctional – Behavioral aspect– Non-functional aspectNon-functional aspect– Licensing aspect Licensing aspect
`
`
`
`
XML-based Aspect RepresentationXML-based Aspect Representation<Component URI="corbaloc://db.com/oracle/" AccessType="Service" ComponentType="CORBA" ><Component URI="corbaloc://db.com/oracle/" AccessType="Service" ComponentType="CORBA" > <SyntacticAspects><SyntacticAspects> <Interface Name="Query"><Interface Name="Query"> <Method Name="Select" ReturnType="RecordSet"><Method Name="Select" ReturnType="RecordSet"> <Parameters><Parameters>
<Parameter Name="QryString" Type="string"/><Parameter Name="QryString" Type="string"/> </Parameters></Parameters> <Exceptions><Exceptions> <Exception Name="SQLException"/><Exception Name="SQLException"/> </Exceptions></Exceptions> </Method></Method> </Interface></Interface> <!-- Other interfaces like Update, Admin,..--><!-- Other interfaces like Update, Admin,..--> </SyntacticAspects></SyntacticAspects> <FunctionalAspects><FunctionalAspects> <Properties><Properties> <Name="MAXTABLES" Value="1024"/><Name="MAXTABLES" Value="1024"/> <Name="MAXTRIGGERS" Value="16"/><Name="MAXTRIGGERS" Value="16"/> </Properties></Properties> </FunctionalAspects></FunctionalAspects> <NonFunctionalAspects><NonFunctionalAspects> <Contract Type="http://www.iso.org/performance.xml"><Contract Type="http://www.iso.org/performance.xml"> <Dimension Name="Delay" units="msec"><Dimension Name="Delay" units="msec"> <Properties><Properties> <Property Name="Mean" Value="50" Relation="LT"><Property Name="Mean" Value="50" Relation="LT"> <Property Name="Variance" Value="0.001" Relation="LE"><Property Name="Variance" Value="0.001" Relation="LE"> </Properties></Properties> </Dimension></Dimension> </Contract></Contract> </NonFunctionalAspects></NonFunctionalAspects> <Licensing_Commerce_Aspects><Licensing_Commerce_Aspects> <LicenseType>Pay-Per-Use</LicenseType><LicenseType>Pay-Per-Use</LicenseType> <PricingStructure><PricingStructure> <Pricing InterfaceName="Query" Cost="0.1" Currency="dollar"/><Pricing InterfaceName="Query" Cost="0.1" Currency="dollar"/> <Pricing InterfaceName="Update" Cost="2" Currency="dollar"/><Pricing InterfaceName="Update" Cost="2" Currency="dollar"/> <Pricing InterfaceName="Admin" Cost="10" Currency="dollar"/><Pricing InterfaceName="Admin" Cost="10" Currency="dollar"/> </PricingStructure></PricingStructure> </Licensing_Commerce_Aspects></Licensing_Commerce_Aspects></Component></Component>
Syntactic aspect
Functional aspect
Non-functional aspect
Licensing aspect
Basic ArchitectureBasic Architecture
LibraryComponent
Specification
Component Analyzer
Lexical Analyzer Syntactic Analyzer
Semantic Analyzer
QueryComponent
Specification
Component Analyzer
Lexical Analyzer Syntactic Analyzer
Semantic Analyzer
Extracted librarycomponent specification
MatchMaker
Extracted querycomponent specification
Retrievedcomponents
Software Component Retrieval Software Component Retrieval SystemSystem
M1
M2
Mn
Matchmakers
…
… …
Que
ry In
terf
ace P
ublish Interface
Component DescriptionRepository
Licensing server
Component Integrators Component Vendors
(Varadarajan, et. al. “Componentxchange: An E-Exchange for Software Components”, WWW’10, 2001)
Distributed Data Distributed Data
WarehousesWarehouses Numerous Interoperability IssuesNumerous Interoperability Issues
– Metadata Interchange ProtocolsMetadata Interchange Protocols– Metadata ManagementMetadata Management– Repository ArchitecturesRepository Architectures– Heterogeneous MetadataHeterogeneous Metadata
Heterogeneous MetadataHeterogeneous Metadata– Many tools have vendor specific metadataMany tools have vendor specific metadata– Many different interfaces and bridgesMany different interfaces and bridges– Difficult to introduce new components Difficult to introduce new components
Possibility for a Metadata standard?Possibility for a Metadata standard?
Repository ExampleRepository Example
Repository
Database Tool
Database Tool
Database Tool
Database Tool
Database Tool
Database Tool
Common Warehouse Common Warehouse MetamodelMetamodel
Common MetamodelCommon Metamodel– Metamodel standard for all data warehouse toolsMetamodel standard for all data warehouse tools– Designed for the data warehouse domainDesigned for the data warehouse domain– Allows extensibility of metadata from standard modelAllows extensibility of metadata from standard model
Model Driven ApproachModel Driven Approach– CWM is expressed in UMLCWM is expressed in UML– CWM is interchanged via XMLCWM is interchanged via XML– Use MOF in order to fuse UML and XMLUse MOF in order to fuse UML and XML
Products of CWMProducts of CWM– XMI/XML for metadata interchangeXMI/XML for metadata interchange– DTD to validate XMI/XML documentsDTD to validate XMI/XML documents– API for metadata manipulationAPI for metadata manipulation
A Common MetamodelA Common Metamodel
Common Data
Used for
CWM Metamodel
Tool A Metamodel
Tool B Metamodel
Tool C Metamodel
Repository Example Repository Example RevisitedRevisited
Repository
Database Tool
Database Tool
Database Tool
Database Tool
Database Tool
Database Tool
Return on InvestmentReturn on Investment
ROI – Return on InvestmentROI – Return on Investment– Business decisions made on ROIBusiness decisions made on ROI– ROI will increase with the lifespan of an applicationROI will increase with the lifespan of an application
Metadata Bridges = Low Return on Metadata Bridges = Low Return on InvestmentInvestment– Can’t substitute another tool in without creating Can’t substitute another tool in without creating
another bridgeanother bridge Global Metadata = High return on InvestmentGlobal Metadata = High return on Investment
– RobustRobust– Plug and PlayPlug and Play– Pick and Choose best component Pick and Choose best component
Further ResearchFurther Research
Metadata Management StrategiesMetadata Management Strategies Affect of Extensibility in CWM Affect of Extensibility in CWM CWM Package HierarchyCWM Package Hierarchy
– Individual Package FunctionsIndividual Package Functions– Relationship with Meta-Object FacilityRelationship with Meta-Object Facility
Metadata Repository ArchitecturesMetadata Repository Architectures– Strengths/WeaknessesStrengths/Weaknesses– Return on InvestmentReturn on Investment
QuestionsQuestions