====== Analisys of Amigo ====== ===== Roadmap ===== ==== Summary ==== | Task Name ^ Evaluation Criteria Covered ^ Deadline ^ ^ [[amigotesting#Source Code Inspection|Source Code Inspection]] | 1.1, 3.3 | N/A | ^ [[amigotesting#Plain Amigo Service|Plain Amigo Service]] | 2.1, 2.2, 3.2 | N/A | ^ [[amigotesting#Semantic Amigo Service|Semantic Amigo Service]] | 1.2 | N/A | ^ [[amigotesting#Automatic Composed Service|Automatic Composed Service]] | 1.3 | N/A | ^ [[amigotesting#Secure Service|Secure Service]] | Part of 3.1 | N/A | ==== Source Code Inspection ==== Simply look at available source code and documentation in order to indentify all the used software languages, tools and technology. ==== Plain Amigo Service ==== Develop a wrapper around the MetaComponent provided by Pascal. The application implemented by the Amigo-component must be conform to behavior shown by the application based on the MetaComponet ==== Semantic Amigo Service ==== Add semantic the description to the MetaComponet ==== Automatic Composed Service ==== Remove the coded discovery from the Amigo-component and replace them with the mechanisms provided by Amigo middleware. In order to test auto:discover, aggregate and composition capability of Amigo itself ==== Secure Service ==== Add security to the Amigo-component in order to check the design of the Amigo middleware ===== Developing ===== ==== Code Sharing ==== All the code is share by [[http://subversion.tigris.org/|Subversion]] tool and can be found at the following URL: svn://satellite.isti.cnr.it/PERSONA/Amigo/ http://satellite.isti.cnr.it/repos/PERSONA/Amigo/ Username and Password are required in order to access to the repository ==== IDE ==== The software selected for developing are: * [[http://www.eclipse.org/|Eclipse]]: For Java developing * [[http://protege.stanford.edu/|Protégé]]: For OWL-S and Ontology ===== Documentation ===== ==== QuickStart ==== === Amigo Enviroment === **NOTE:** The following instructions assume that you are installing the software on a PC with Sun or IBM JVM mkdir Amigo cd Amigo wget http://amigo.gforge.inria.fr/obr/tools/oscar_j2se.zip unzip -q oscar_j2se.zip cd oscar_j2se cd bundle wget http://oscar-osgi.sf.net/repo/shelltui/shelltui.jar cd ../lib mv system.properties system.properties.tmp cat system.properties.tmp | sed s/shellgui.jar/shelltui.jar > system.properties rm system.properties.tmp cd .. ./amigo.sh === Client Bundles === Now that you have a working Amigo environment you have to install the right bundles in order to set up your Amigo Enviroment as a Server by typing the following command on the shell obr install "amigo_wsdiscovery" obr install "amigo_ksoap_binding" === Server Bundles === Now that you have a working Amigo environment you have to install the right bundles in order to set up your Amigo Environment as a Server by typing the following command on the shell obr install "amigo_wsdiscovery" obr install "amigo_ksoap_export" ==== Amigo Backgroud ==== One of the current implementation of the Amigo middleware is based on OSGi, and in the following section we're going to report some extra details on such implementation. The details won't be reported on time scheduled but on discovery schedule. === Service Binder === In order to decrease the management code required by a dynamic environment like a SOA framework, Amigo uses a utility layer provide by the [[http://gravity.sourceforge.net/servicebinder/|Service Binder]]. [[http://gravity.sourceforge.net/servicebinder/|Service Binder]] wraps the business logic of a bundle in a container that implements the code needed to interact with the service used by the business logic. Anyway, the bundle developer has to provide a [[http://gravity.sourceforge.net/servicebinder/describingcomponents.html|metadata.xml]] file in order to configure [[http://gravity.sourceforge.net/servicebinder/|Service Binder]] ==== References ==== * [[http://amigo.gforge.inria.fr/obr/tutorial/Amigo_software_developer_guide_V2.doc|Amigo developer's guide]] * [[http://amigo.gforge.inria.fr/obr/tutorial/Amigo_user_guide_V2.doc|Amigo user's guide]] * [[http://www.hitech-projects.com/euprojects/amigo/deliverables/amigo_d3.4_final.pdf|Amigo D3.4 Amigo overall middleware: Prototype implementation & documentation]] * [[http://ambiente.isti.cnr.it/DomoticsLab/DomoticsCourse/TutorialOSGi04/|OSGi Tutotial {in Italian}]] * [[http://oscar-osgi.sourceforge.net/tutorial/|OSGi Service Binder Tutorial]] * [[http://www.hitech-projects.com/euprojects/amigo/deliverable.htm|Amigo Derivable]] ===== Available Components Table ===== ==== Website Mirrored on May, 21 2007 ==== | ^ User's Guide ^ Developer's guide ^ Source ^ Binary ^ Priority ^ Interest for Persona ^ | **Amigo WP3 Components** ^^^^^^| ^ Accounting & Billing |To Check|To Check|Java |To Check| 0 | | ^ Content Distribution Interface |To Check|To Check|C# |To Check| 0 | | ^ Content Adaptation Server |To Check|To Check|Java |To Check| 3 | //Medium// | ^ Content Discovery |To Check|To Check|Java |To Check| 0 | | ^ Data Store |To Check|To Check|C# |To Check| 0 | | ^ Domotic Infrastructure |To Check|To Check|Missing |Missing | 0 | //Medium// | ^ In-home Location Management |To Check|To Check|Missing |Missing | 0 | //Medium// | ^ [[amigotesting#Interoperable Service Discovery & Interaction|Interoperable Service Discovery & Interaction]] |To Check|To Check|C/C++ |To Check| 10 | **High** | ^ .NET Programming & Deployment Framework |To Check|To Check|Require .Net |To Check| 0 | | ^ OSGi Programming & Deployment Framework |To Check|To Check|OBR Repository|To Check| 0 | | ^ Security & Privacy |To Check|To Check|Require .Net |To Check| 0 | | ^ Service Description Language Ontology |To Check|To Check|Use Protégé |To Check| 5 | //Medium// | ^ Service Description Vocabulary Ontologies |To Check|To Check|Use Protégé |To Check| 5 | //Medium// | ^ Service Discovery, Composition, Adaptation & Execution |To Check|To Check|Missing |Missing | 0 | **High** | | **Amigo WP4 Components** ^^^^^^| ^ Awareness and Notification |To Check|To Check|Missing |Missing | 0 | **High** | ^ Context Management |To Check|To Check|Missing |Missing | 0 | **High** | ^ User Interface |To Check|To Check|Missing |Missing | 0 | | ^ User Modeling |To Check|To Check|Missing |Missing | 0 | | ^ Perceived Privacy and Security |To Check|To Check|Missing |Missing | 0 | | ==== Interoperable Service Discovery & Interaction ==== The downloaded kit doesn't compile (syntactic errors). I've written to the developer asking help. No answer till now (rochi - 4th June 2007). I've managed the problem with a minor modification of the code. I'm trying to understand a use case that could be used to integrate this component with Amigo OSGi part. Any idea is welcome! ===== OBR Repository ===== OBR is a de facto standard related component distribution (Bundle in the OSGi language) in OSGi Enviroment that will be part of the next OSGi Specification. ==== Amicom Bundle Repository ==== [[http://amigo.gforge.inria.fr/obr/v2/repository.xml|Amicom Bundle Repository]] of Thu Jun 22 17:15:55 CEST 2006 | ^ Docs ^ Binary ^ Source ^ Priority ^ Interest for Persona ^ ^ amigo_axis_binding 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_axis_export 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_core 1.4.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_ksoap_binding 1.2.9 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_ksoap_export 1.3.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_meshslp_lookup 1.0.2 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_security 1.3.1 | To Check Doc | Available | Missing | 0 | N/A | ^ amigo_security_tests_client 1.1.0 | To Check Doc | Available | Missing | 0 | N/A | ^ amigo_security_tests_server 1.1.0 | To Check Doc | Available | Missing | 0 | N/A | ^ amigo_stubgen 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_hello_api 1.0.1 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_hello_client 1.1.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_hello_lookup_client 1.1.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_hello_server 1.1.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_pictureframe_client 1.0.1 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_test_pictureframe_server 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ amigo_wsdiscovery 1.2.4 | To Check Doc | Available | Available | 0 | N/A | ^ log4j 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ log4j bundle test 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ==== ANS Bundle Repository ==== [[http://core.lab.telin.nl/~amigo/obr/repository.xml|ANS Bundle Repository]] of Wed Dec 27 12:32:39 CET 2006 | ^ Docs ^ Binary ^ Source ^ Priority ^ Interest for Persona ^ ^ Amigo ANS 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ Amigo ANS client 1.0.0 | To Check Doc | Available | Available | 0 | N/A | ^ ANS_API 1.0.0 | To Check Doc | Available | Missing | 0 | N/A | ^ ANS_Jess 1.0.0 | To Check Doc | Available | Missing | 0 | N/A | ==== Amigo CMS/CASD Bundle Repository ==== [[http://core.lab.telin.nl/~amigo/obr/repository.xml|Amigo CMS/CASD Bundle Repository]] of Mon Feb 26 14:27:56 CET 2007 | ^ Docs ^ Binary ^ Source ^ Priority ^ Interest for Persona ^ ^ context-broker-service 1.4.1 | To Check Doc | Available | Available | 0 | N/A | ^ Context Helper 1.0.2 | To Check Doc | Available | Available | 0 | N/A | ^ Context Helper Client Example 1.0.2 | To Check Doc | Available | Available | 0 | N/A | ^ Context Source Manager 1.0.4 | To Check Doc | Available | Available | 0 | N/A | ^ Context Source Push Example 1.0.1 | To Check Doc | Available | Available | 0 | N/A | ^ Context Source Tester 0.0.1 | To Check Doc | Available | Available | 0 | N/A | ^ jena-2.4 0.0.3 | To Check Doc | Available | Missing | 0 | N/A | ^ Topic Recogniser 1.0.0 | To Check Doc | Available | Available | 0 | N/A |