26
Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001 http://www.euromicro.org WEST – T4. Málaga, May 22-25

Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001 WEST – T4. Málaga, May

Embed Size (px)

Citation preview

Page 1: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 1

Trading for COTS components in Open Environment

EUROMICRO’2001http://www.euromicro.org

WEST – T4. Málaga, May 22-25

Page 2: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 2

Introduction

top-down bottom-up

- times

- costs

- efforts

+ flexibility

+ reliability

+ reusability

RepositoryOff-the-shelf components

Software development

CBSE

trader

Page 3: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 3

A trader service

trader

exporter importer

export() 2 query()

13

4

5

Page 4: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 4

Requirements for a COTS trader

Heterogeneous component model

Federation

Service composition and adaptation

Multiples interfaces.

Softmatchmaking

Signature information is not enough

Use of heuristics and metrics

extensible/scalable

automatic/store and forward

push/pull models

Delegation

Page 5: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 5

Current traders

ODP model: ODP trading service, ISO/ITU-T.

• ORBacus (OOC/IONA). http://www.ooc.com

• OpenORB (Intalio). http://www.openorb.org

• AceORB (TAO). http://www.cs.wustl.edu/schmidt/ACE

• VisiBroker (Borland). http://www.borland.com/visibroker

Page 6: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 6

ODP trader shortcomings

1. Use homogeneous object model.

2. Use direct federation.

3. Do not allow service composition or adaptation.

4. Exact matches at the signature level only.

5. Do not allow multiple interfaces.

6. They are based on a push model only.

Page 7: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 7

Services and service types

ODP trading service specification:

“A service is a set of capabilities provided by an object at a computational level. A service is an instance of service type”

Page 8: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 8

COTStrader

COTS XML repository

export

import

WEB

EXPORT

INTERFACE

WEB

IMPORT

INTERFACE

EXPORTER

IMPORTER

templates

Page 9: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 9

COTStrader: spec template

Functional Non Functional

Marketing

Packaging

Page 10: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 10

COTStrader

module OnePlaceBuffer {

// Provided interfaces

interface OnePlaceBuffer {

void write(in long x);

long read();

};

// Required interfaces

interface out {

oneway void print(in long x);

};

};

Example

CORBA IDL

Page 11: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 11

COTStrader

COTS XML repository

export

import

WEB

EXPORT

INTERFACE

WEB

IMPORT

INTERFACE

EXPORTER

IMPORTER

templates

Page 12: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 12

  <?xml-stylesheet type="text/xsl" href="http://www.cotstrader.com/COTS-XMLStyle.xsl"?>   <COTScomponent name="OnePlaceBuffer"        xmlns="http://www.cotstrader.com/COTS-XMLSchema.xsd"        xmlns:types="http://www.w3.org/2000/10/XMLSchema">

  <functional> ... </functional>

  <properties> ... </properties>

  <packaging> ... </packaging>

  <marketing> ... </marketing>

</COTScomponent>

COTStrader: Exporting

Page 13: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 13

 <functional>

<providedInterfaces> . . . </providedInterfaces>  <requiredInterfaces>. . .</requiredInterfaces>

 <serviceAccessProtocol>. . . </serviceAccessProtocol>

 </functional>

COTStrader: Exporting

Functional information:

Page 14: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 14

<providedInterfaces>

  <interface name="OnePlaceBuffer">     <description notation="CORBA-IDL">  ´ interface OnePlaceBuffer {               void write(in long x); long read();           };     </description>     <behavior notation="Larch">       <description notation= "Java/Larch"         href="http://www.cotstrader.com/samp/OPB/OnePlaceBuffer.beh"       </description>       <exactMatching href="http://liribarn.ual.es:8080/servlet/Larch.exactMatch"/>       <softMatching href="http://liribarn.ual.es:8080/servlet/Larch.softMatch"/>     </behavior>   </interface>

</providedInterfaces>  

COTStrader: ExportingFunctional information example: providedInterfaces.

Page 15: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 15

 

  <requiredInterfaces>

    <interface name="out">

      <description notation="CORBA-IDL">         interface out {              oneway void print(in long x);           }       </description>

    </interface>

  </requiredInterfaces>

COTStrader: Exporting

Functional information example: requiredInterfaces.

Page 16: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 16

<serviceAccessProtocol>    <description notation="pi-protocols">      OnePlaceBuffer(ref,out) = ref?write(x,rep).out!print(x). rep!().Full(ref,out,x);     Full(ref,out,x)=ref?read(rep).rep!(x).OnePlaceBuffer(ref,out);   </description>

  <exactMatching href="http://liribarn.ual.es:8080/servlet/PI.exactMatching"/>

  <softMatching href="http://liribarn.ual.es:8080/servlet/PI.softMatching"/>

</serviceAccessProtocol>

COTStrader: Exporting

Functional information : serviceAccessProtocol.

Page 17: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 17

  <properties notation="W3C">     <property name="securityLevel">        <type>xsd:string</type> <value>SAFE</value>     </property>

    <property name="capacity">        <type>xsd:int</type> <value>1</value>     </property>

    <property name="isRunningNow">        <type>xsd:bool</type> <!-- dynamic property -->       <value href=“...8080/servlet/OnePlaceBuffer.running"/>    </property>

    <property name="keywords">        <type>xsd:string</type> <value>storage,bounded</value>     </property>   </properties>

COTStrader: Exporting

Non Functional information example: properties.

Page 18: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 18

<packaging>    <description notation="CCM-softpkg“ href=“.../OPB/Impl_OnePlaceBuffer.csd"/> </packaging>

COTStrader: Exporting

Packaging/architectural information example: packaging.

Page 19: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 19

<?xml version="1.0"?><softpkg name="OnePlaceBuffer_services" version="1.0"> <pkgtype>CORBA Component</pkgtype> <title>OnePlaceBuffer</title> <description>A descriptor example for cotstrader.com</description> <idl id="IDL:example/OnePlaceBuffer:1.0"> <link href="http://www.cotstrader.com/samples/OPB/OnePlaceBuffer.idl"/> </idl> <implementation> <os name="Win95"/> <os name="WinNT" version="4.0"/> <os name="AIX"/> <processor name="x86"/> <processor name="sparc"/> <runtime name="JRE" version="1.3"/> <programminglanguage name="Java"/> <code type="jar"> <fileinarchive name="services.jar"/> <entrypoint>services.OnePlaceBuffer</entrypoint> </code> <threadsafety level="instance"/> <dependency type="ORB"> <name>ORBacus</name> </dependency> </implementation></softpkg>

CCM: http://www.cotstrader.com/examples/OPB/Implement_OnePlaceBuffer.csd

Page 20: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 20

  <marketing>     <license href="http://www.cotstrader.com/examples/OPB/license.html" /> 

    <expirydate>05-10-2001</expirydate>      <certificate href="http://www.cotstrader.com/examples/OPB/lcard.png"/> 

    <vendor>       <companyname>E-Brokering corp.</companyname>       <webpage>http://www.e-B.com</webpage>       <mailto>[email protected]</mailto>       <address>         <zip>04120</zip>         <street>Ctra Sacramento s/n</street>         <city>Almeria</city> <country>Spain</country>          <street>Campus de Teatinos</street>         <city>Málaga</city> <country>Spain</country>        </address>     </vendor>     <description>A one-place buffer</description>   </marketing>

COTStrader: Exporting

Marketing information example: marketing.

Page 21: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 21

COTStrader

COTS XML repository

export

import

WEB

EXPORT

INTERFACE

WEB

IMPORT

INTERFACE

EXPORTER

IMPORTER

templates

Page 22: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 22

COTStrader: Importing

<?xml version='1.0'?> <COTScomponent name="Query1"                  xmlns="http://www.cotstrader.com/COTS-XMLSchema.xsd">

   <functional>      <providedInterfaces>        <interface name="OnePlaceBuffer">          <description notation="CORBA-IDL">             interface OnePlaceBuffer {                void write(in long x);                long read();             }          </description>        </interface>      </providedInterfaces>    </functional>    <properties>      <property name="securityLevel"> <type>xsd:string</type> </property>      <property name="isRunningNow"> <type>xsd:bool</type> </property>    </properties>

</COTScomponent>

Page 23: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 23

COTStrader: Importing

<COTSquery name="ClientQuery"            xmlns="http://www.cotstrader.com/COTS-XMLSchema.xsd">

  <COTSdescription href="http://www.cotstrader.com/Query1.xml" />

   <functionalMatching>

     <interfaceMatching>

       <exactMatching

href="http://www.cotstrader.com/cgi-bin/exactMatch.cgi" />

     </interfaceMatching>

     <serviceAccessProtocolMatching>

<softMatching />

</serviceAccessProtocolMatching>

  </functionalMatching>

... 

Page 24: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 24

COTStrader: Importing

  <COTSquery name="ClientQuery"              xmlns="http://www.cotstrader.com/COTS-XMLSchema.xsd">

. . .

   <propertyMatching>      <constraints notation="XQuery">

(securityLevel = SAFE) and (isRunningNow = TRUE)      </constraints>      <preferences notation="ODP">firts</preferences>    </propertyMatching>

   <packagingMatching notation="XQuery">     description/notation = "CCM-softpkg" and      ( description/implementation/os/name = "WinNT" or         description/implementation/os/name = "Solaris" )    </packagingMatching>

   <marketingMatching notation="XQuery">     vendor/address/country = "Spain"    </marketingMatching>

  </COTSquery>

Page 25: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 25

COTStrader

Two kinds of matchings: Exact Soft E

Functional:

Properties, packaging and marketing:

Constraints and preferences, XQuery (W3C)

Constraints : >, <, >=, <=, =, !=, not, and, or.

Preferences : first, random, min(expr), max(expr)

S

Page 26: Málaga meeting, WEST-T4. May 22-25. Pag. 1 Trading for COTS components in Open Environment EUROMICRO’2001  WEST – T4. Málaga, May

Málaga meeting, WEST-T4. May 22-25. Pag. 26

COTStrader

COTS XML repository

export

import

WEB

EXPORT

INTERFACE

WEB

IMPORT

INTERFACE

EXPORTER

IMPORTER

Query templates

CORBA/ORBacus

Linux/Java

Apache/ServerTomcat/Servlets

Soft/exact matching

XQueryXQEngine