Transcript XMLMT

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)
Generality



Detail/Richness
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
Web Services

Software Agent Discovery of services

Invocation and monitoring of services

Composition of services: basic (pipelike); 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
<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>
`
Syntactic aspect
`
Functional
aspect
`
Non-functional
aspect
`
Licensing aspect
Basic Architecture
Library
Component
Specification
Lexical Analyzer
Syntactic Analyzer
Semantic Analyzer
Extracted library
component specification
Component Analyzer
Match
Maker
Query
Component
Specification
Lexical Analyzer
Syntactic Analyzer
Semantic Analyzer
Component Analyzer
Extracted query
component specification
Retrieved
components
Software Component Retrieval System
Component Description
Repository
Component Vendors
Matchmakers
M1
…
Mn
…
M2
Publish Interface
…
Query Interface
Component Integrators
Licensing server
(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?
Repository Example
Database
Tool
Database
Tool
Repository
Database
Tool
Database
Tool
Database
Tool
Database
Tool
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
Repository Example Revisited
Database
Tool
Database
Tool
Repository
Database
Tool
Database
Tool
Database
Tool
Database
Tool
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
Questions