1 / 26

Trading for COTS components in Open Environment EUROMICRO’2001 http://www.euromicro.org

Trading for COTS components in Open Environment EUROMICRO’2001 http://www.euromicro.org. WEST – T4. Málaga, May 22-25. Introduction. top-down. bottom-up. CBSE. - times costs efforts + flexibility + reliability + reusability. Software development. Off-the-shelf components.

guang
Télécharger la présentation

Trading for COTS components in Open Environment EUROMICRO’2001 http://www.euromicro.org

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Introduction top-down bottom-up CBSE • -times • costs • efforts • + flexibility • + reliability • + reusability Software development Off-the-shelf components Repository trader

  3. exporter A trader service 4 importer 5 1 3 export() 2 query() trader

  4. Requirements for a COTS trader Delegation Heterogeneous component model Use of heuristics and metrics Federation Service composition and adaptation extensible/scalable Multiples interfaces. automatic/store and forward push/pull models Signature information is not enough Softmatchmaking

  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

  6. ODP trader shortcomings • Use homogeneous object model. • Use direct federation. • Do not allow service composition or adaptation. • Exact matches at the signature level only. • Do not allow multiple interfaces. • They are based on a push model only.

  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 ofservice type”

  8. export COTS XML repository import COTStrader EXPORTER WEB EXPORT INTERFACE templates WEB IMPORT INTERFACE IMPORTER

  9. COTStrader: spec template Packaging Functional Non Functional Marketing

  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

  11. export import COTStrader EXPORTER WEB EXPORT INTERFACE COTS XML repository templates WEB IMPORT INTERFACE IMPORTER

  12. COTStrader: Exporting   <?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>

  13. COTStrader: Exporting Functional information:  <functional> <providedInterfaces>. . . </providedInterfaces>  <requiredInterfaces>. . .</requiredInterfaces>  <serviceAccessProtocol>. . .</serviceAccessProtocol>  </functional>

  14. COTStrader: Exporting Functional information example: providedInterfaces. <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>

  15. COTStrader: Exporting Functional information example: requiredInterfaces.   <requiredInterfaces>     <interface name="out">       <description notation="CORBA-IDL">interface out {             oneway void print(in long x);          }      </description>     </interface>   </requiredInterfaces>

  16. COTStrader: Exporting Functional information : serviceAccessProtocol. <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>

  17. COTStrader: Exporting Non Functional information example: properties.   <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>

  18. COTStrader: Exporting Packaging/architectural information example: packaging. <packaging>    <description notation="CCM-softpkg“ href=“.../OPB/Impl_OnePlaceBuffer.csd"/> </packaging>

  19. CCM:http://www.cotstrader.com/examples/OPB/Implement_OnePlaceBuffer.csdCCM:http://www.cotstrader.com/examples/OPB/Implement_OnePlaceBuffer.csd <?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>

  20. COTStrader: Exporting Marketing information example: marketing.   <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>sales@e-Brokering.com</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>

  21. COTStrader EXPORTER WEB EXPORT INTERFACE export COTS XML repository templates import WEB IMPORT INTERFACE IMPORTER

  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>

  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> ...

  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>

  25. £ S COTStrader Functional: Two kinds of matchings:ExactSoft Properties, packaging and marketing: Constraints and preferences, XQuery (W3C) Constraints : >, <, >=, <=, =, !=, not, and, or. Preferences : first, random, min(expr), max(expr)

  26. Soft/exact matching Apache/Server Tomcat/Servlets export COTS XML repository import COTStrader EXPORTER WEB EXPORT INTERFACE Query templates WEB IMPORT INTERFACE XQuery XQEngine CORBA/ORBacus IMPORTER Linux/Java

More Related