+ All Categories
Home > Documents > Interoperability of Distributed Component Systems

Interoperability of Distributed Component Systems

Date post: 19-Jan-2016
Category:
Upload: sheila
View: 49 times
Download: 2 times
Share this document with a friend
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
25
Interoperability of Interoperability of Distributed Component Distributed Component Systems Systems Bryan Bentz, Jason Hayden, Bryan Bentz, Jason Hayden, Upsorn Praphamontripong, Paul Upsorn Praphamontripong, Paul Vandal Vandal
Transcript
Page 1: Interoperability of  Distributed Component Systems

Interoperability of Interoperability of Distributed Component Distributed Component

SystemsSystems

Bryan Bentz, Jason Hayden, Bryan Bentz, Jason Hayden,

Upsorn Praphamontripong, Paul Upsorn Praphamontripong, Paul VandalVandal

Page 2: Interoperability of  Distributed Component Systems

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

Page 3: Interoperability of  Distributed Component Systems

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

Page 4: Interoperability of  Distributed Component Systems

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”

Page 5: Interoperability of  Distributed Component Systems

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

Page 6: Interoperability of  Distributed Component Systems

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

Page 7: Interoperability of  Distributed Component Systems

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

Page 8: Interoperability of  Distributed Component Systems

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

Page 9: Interoperability of  Distributed Component Systems

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.

Page 10: Interoperability of  Distributed Component Systems

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

Page 11: Interoperability of  Distributed Component Systems

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

Page 12: Interoperability of  Distributed Component Systems

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/

Page 13: Interoperability of  Distributed Component Systems

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

Page 14: Interoperability of  Distributed Component Systems

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

Page 15: Interoperability of  Distributed Component Systems

`

`

`

`

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

Page 16: Interoperability of  Distributed Component Systems

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

Page 17: Interoperability of  Distributed Component Systems

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)

Page 18: Interoperability of  Distributed Component Systems

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?

Page 19: Interoperability of  Distributed Component Systems

Repository ExampleRepository Example

Repository

Database Tool

Database Tool

Database Tool

Database Tool

Database Tool

Database Tool

Page 20: Interoperability of  Distributed Component Systems

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

Page 21: Interoperability of  Distributed Component Systems

A Common MetamodelA Common Metamodel

Common Data

Used for

CWM Metamodel

Tool A Metamodel

Tool B Metamodel

Tool C Metamodel

Page 22: Interoperability of  Distributed Component Systems

Repository Example Repository Example RevisitedRevisited

Repository

Database Tool

Database Tool

Database Tool

Database Tool

Database Tool

Database Tool

Page 23: Interoperability of  Distributed Component Systems

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

Page 24: Interoperability of  Distributed Component Systems

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

Page 25: Interoperability of  Distributed Component Systems

QuestionsQuestions


Recommended