Here - Agents Lab - University of Nottingham
Here - Agents Lab - University of Nottingham
Here - Agents Lab - University of Nottingham
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Fig. 3. Web Publishingmodel that actors come and go over time, active components do not encouragestatic binding <strong>of</strong> components but instead rely on dynamic service discovery andusage. In Fig. 2 an overview <strong>of</strong> the synthesis <strong>of</strong> SCA and agents to active componentsis shown. It can be seen that the outer structure <strong>of</strong> SCA components is keptthe same and the main dierence is the newly introduced internal architecture<strong>of</strong> components. The internal architecture <strong>of</strong> active components is used to encodethe proactive behavior part <strong>of</strong> a component that can be specied additionallyto provided service implementations. More details about the integration can befound in [3].3 Web Service Integration ConceptIn this section the overall integration concept as well as more detailed designchoices will be presented.3.1 Making Functionality Accessible as Web ServiceIn order to make functionality <strong>of</strong> an application available to external systemusers, component services can be dynamically published at the runtime <strong>of</strong> thesystem. In general, it has to be determined when, where and how a service shouldbe published. A common use case consists in performing the service publicationaccording to the lifecycle state <strong>of</strong> the underlying component service. For thisreason, per default, service publication and shutdown is automatically checkedfor when a component service is started or ended. The component inspects theprovided service type descriptions for publish information and indirectly usesthis information to publish/shutdown the service via delegation to the infrastructure.The publish information is composed <strong>of</strong> four aspects: publish type,publish id, mapping and properties. To support arbitrary kinds <strong>of</strong> service publicationssuch as REST (Representational State Transfer) [4] and WSDL (WebServices Description Language) [15] the component uses the publish type fromthe component specication <strong>of</strong> a service to dynamically search for a suitableservice publisher (cf. Figure 3). Subsequently, the component asks the servicepublishers one by one if it supports the requested publish type. In case a suitablepublisher could be found it is instructed to publish or retreat the componentservice. Otherwise the publication has failed and an exception is raised within26