23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!