250 likes | 386 Views
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?
E N D
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? • Various technologies have been introduced to leverage interoperability problems
Overview • Research Path • XML and various interoperability technologies • Moved from XML to broader area • Individual Research • Finalize on November 6th • Implementation Project • Tentative start date: November 6th
Semantic Web • Extension of the current WWW • Web of distributed knowledge bases • Accessible by software agents • Simplified Interoperability • Web Services • Locate, Select, Employ, Compose • Automation a priority • “Collection of pages” => “Collection of services”
Ontologies An ontology is a network of concepts, relationships,and constraints that provide context for data and information as well as processes Define structure of information • Example: Price concept • Functionality: • Design • Developed • Learned • Exchanged/Merged • Layers: Metadata, Schema, Logical
Ontologies (cont’d) • Metadata layer: underlying resources and properties; RDF • Schema layer: represents hierarchy of concepts (“is-a” links); RDF-S • Logical layer: represents more complex relationships. OWL Generality Detail/Richness
Web Services • Software Agent Discovery of services • Invocation and monitoring of services • Composition of services: basic (pipe-like); active research area
Languages • Languages: • UDDI: Universal Description, Discovery, Integration; IBM, MS (registry, etc.) • RDF: Resource Description Framework • RDF–S: RDF Schema • WSDL: Web Service Definition Language • WSMO: Web Service Modeling Ontology • DAML: Darpa Agent Markup Language • OIL: Ontology Inference Layer; EU • OWL: Web Ontology Language (successor to DAML+OIL) • ebXML: electronic business using XML; UN
Summary • The Semantic Web will allow software agents to discover and interact with a wide variety of knowledge bases and services; • This requires layered metalanguages, to support the service discovery and negotiation of data exchange; • These standards are evolving.
OpenDocument • OpenDocument proposed by Oasis • Composed of input by major corporations • Based off file format from OpenOffice • Ratified on May 1, 2005 • Multiple applications support format • Royalty free distribution
Advantages & Disadvantages • Advantages • Not a binary file format • Ratified standard • Portability across multiple editors • Disadvantages • No standard format for formulas • Multiple ways to define the same properties
Composition of OpenDocument file • Compressed archive file containing the following files and directories • Content.xml • Sytles.xml • Meta.xml • Settings.xml • Pictures/ • Meta-inf/
Testing • OpenDocument files are opened in multiple editors. • The formatting and readability of text is examined • Spreadsheets with complex formulas are studied to see if portability exists
Software Retrieval • Reusable assets • Analysis documents • Design documents • Source codes • Executable objects • Aspect based component description • Syntactic aspect • Functional – Behavioral aspect • Non-functional aspect • Licensing aspect
XML-based Aspect Representation ` Syntactic aspect <Component URI="corbaloc://db.com/oracle/" AccessType="Service" ComponentType="CORBA" > <SyntacticAspects> <Interface Name="Query"> <Method Name="Select" ReturnType="RecordSet"> <Parameters> <Parameter Name="QryString" Type="string"/> </Parameters> <Exceptions> <Exception Name="SQLException"/> </Exceptions> </Method> </Interface> <!-- Other interfaces like Update, Admin,..--> </SyntacticAspects> <FunctionalAspects> <Properties> <Name="MAXTABLES" Value="1024"/> <Name="MAXTRIGGERS" Value="16"/> </Properties> </FunctionalAspects> <NonFunctionalAspects> <Contract Type="http://www.iso.org/performance.xml"> <Dimension Name="Delay" units="msec"> <Properties> <Property Name="Mean" Value="50" Relation="LT"> <Property Name="Variance" Value="0.001" Relation="LE"> </Properties> </Dimension> </Contract> </NonFunctionalAspects> <Licensing_Commerce_Aspects> <LicenseType>Pay-Per-Use</LicenseType> <PricingStructure> <Pricing InterfaceName="Query" Cost="0.1" Currency="dollar"/> <Pricing InterfaceName="Update" Cost="2" Currency="dollar"/> <Pricing InterfaceName="Admin" Cost="10" Currency="dollar"/> </PricingStructure> </Licensing_Commerce_Aspects> </Component> ` • Functional aspect ` • Non-functional aspect ` • Licensing aspect
Library Component Specification Lexical Analyzer Syntactic Analyzer Extracted library component specification Semantic Analyzer Component Analyzer Retrieved components Match Maker Query Component Specification Lexical Analyzer Syntactic Analyzer Extracted query component specification Semantic Analyzer Component Analyzer Basic Architecture
Component Description Repository Component Integrators Component Vendors Matchmakers M1 … … Query Interface M2 Publish Interface … Mn Licensing server Software Component Retrieval System (Varadarajan, et. al. “Componentxchange: An E-Exchange for Software Components”, WWW’10, 2001)
Distributed Data Warehouses • Numerous Interoperability Issues • Metadata Interchange Protocols • Metadata Management • Repository Architectures • Heterogeneous Metadata • Heterogeneous Metadata • Many tools have vendor specific metadata • Many different interfaces and bridges • Difficult to introduce new components • Possibility for a Metadata standard?
Database Tool Database Tool Database Tool Database Tool Repository Database Tool Database Tool Repository Example
Common Warehouse Metamodel • Common Metamodel • Metamodel standard for all data warehouse tools • Designed for the data warehouse domain • Allows extensibility of metadata from standard model • Model Driven Approach • CWM is expressed in UML • CWM is interchanged via XML • Use MOF in order to fuse UML and XML • Products of CWM • XMI/XML for metadata interchange • DTD to validate XMI/XML documents • API for metadata manipulation
A Common Metamodel Tool A Metamodel Tool B Metamodel Common Data Used for CWM Metamodel Tool C Metamodel
Database Tool Database Tool Database Tool Database Tool Repository Database Tool Database Tool Repository Example Revisited
Return on Investment • ROI – Return on Investment • Business decisions made on ROI • ROI will increase with the lifespan of an application • Metadata Bridges = Low Return on Investment • Can’t substitute another tool in without creating another bridge • Global Metadata = High return on Investment • Robust • Plug and Play • Pick and Choose best component
Further Research • Metadata Management Strategies • Affect of Extensibility in CWM • CWM Package Hierarchy • Individual Package Functions • Relationship with Meta-Object Facility • Metadata Repository Architectures • Strengths/Weaknesses • Return on Investment