Intoduction
The objective of the SODA project is to create a comprehensive, scaleable, easy-to-deploy ecosystem built on top of the foundations laid by the SIRENA project, which broke new ground by developing an infrastructure for high-level communications between devices, based on the service-oriented architecture (SOA) paradigm. The SODA ecosystem will comprise a comprehensive tool suite and will target industry-favourite platforms supported by wired and wireless communications.
The communications infrastructure is defined in a platform-, language- and network-neutral way and is based on the Devices Profile for Web Services (DPWS), of which the SIRENA project realised a trailblazing proof-of-concept implementation. This technology is applicable to a wide variety of networked devices for diverse applications in domains like industrial automation, automotive electronics, home and building automation, telecommunications, telemetry, medical instrumentation, etc.
The choice of an implementation using Web Services protocols – in particular, DPWS – strongly favours its popularity amongst application suppliers, software designers and developers, as it can be used with any programming language (C, C++, C#, Java,…) and operating system. Furthermore, it substantially eases the integration with large application frameworks and business process management suites, such as those for Enterprise Resource Planning (ERP).
- A set of tools for design, development, deployment and run-time support, fully exploiting the service-oriented breakthrough provided by SIRENA.
- Extensions and improvements of the DPWS component, including increased performance and serviceability as well as integrated security support.
- Preparation of seamless integration of device-provided services with higher-level business processes.
- Elaboration of experimental applications in several application domains: industrial automation, telecommunications, home networking and automotive electronics, in order to validate the usage of the SOA paradigm at a broad scale and to promote standardisation in several vertical application domains.
The following figure highlights the SODA approach. The right-hand side depicts the run-time environment, for which SIRENA provides the initial high-level SOA infrastructure for device communication using DPWS (essentially, the 'S' boxes).
SODA adds to this a comprehensive development environment (left-hand side) allowing to aggregate devices into composite devices, to design and generate applications using those devices, to deploy and manage devices and applications, and to integrate devices into control and business applications.
|
|
Overview of the SODA ecosystem
The SODA ecosystem extends the work undertaken by SIRENA in several directions. Its major objectives can be summarised as follows. Enabling device-provided services
Service-oriented devices expose device control and command functions as service operations and events. Using the DPWS technology developed by the SIRENA project as its foundation, the SODA ecosystem will therefore comprise the following elements:
- An embedded and portable run-time communication stack supporting synchronous and asynchronous message exchange patterns between devices.
- A service invocation and event publishing framework to translate these message exchange patterns into operations and events device control and command functions.
- Service development tools supporting these run-time components.
In order to support easy deployment and discovery of devices and services, including plug-and-play connectivity, the ecosystem will provide a framework for describing, publishing and discovering devices and services. This framework will include:
- A device and service description language and associated editor
- standardised device and service descriptions
- scalable discovery mechanisms
Since the notion of quality of service is crucial in service-oriented architectures, the SODA ecosystem will provide extension points in the device communication stack to support advanced features, such as high-performance communications, secure and reliable communications and management services.
The extensibility of the device communication stack, coupled with the appropriate support from the SODA infrastructure, will provide the flexibility required to adapt device capabilities to the specific quality of service requirements of a particular application.
Enabling service composition
Service composition will be the preferred means to build value-added services on top of elementary device-provided services. The SODA ecosystem will enable service composition through the following means:
- A component model supporting service composition and subscription to events. This model will support composition at design/build time, deployment time and run time, so as to enable dynamic configuration and reconfiguration.
- High-level languages and associated execution engines for service orchestration, information filtering and aggregation.
- Graphical editors and modelling tools for component modelling, service and device deployment descriptors, orchestration and aggregation languages.
Providing connectivity and adaptive quality of service
In addition to service-enabled devices, the service-oriented architectures targeted by SODA will require specific infrastructure capabilities to provide the appropriate quality of service for a given application. The basic infrastructure requirement is to provide connectivity between devices using an IP-based network. However, in many cases, more advanced capabilities will be required, such as:
- high-performance, real-time communications
- secure communications
- reliable messaging
- management services
- extended discovery mechanisms
- event brokering
These capabilities will be implemented using protocols (such as WS-Security, WS-ReliableMessaging…), as well as generic services compatible with standard enterprise information technology – including J2EE, .NET, Web Services, EAI and ESB – in order to support easy connectivity to enterprise IT systems.
Likewise, a requirement and capability description language will be designed, in order to support dynamic negotiation of quality of service, based on these advanced capabilities. Furthermore, a quality of service model will be defined that will provide a common understating about QoS capabilities from an integration perspective.
Improving the product life cycle
One of the anticipated impacts of the SODA ecosystem is an improved management of the product life cycle, leveraging the advantages of service-oriented architectures. Expected benefits include:
- Combining top-down and bottom-up approaches: the top-down approach is used to enforce the strategic view of the application by focusing on the service interfaces, while the bottom-up approach supports the reuse of available service components provided by devices.
- Favouring flexible, distributed and robust design over monolithic and brittle design, by embedding the business logic in the devices, rather than inside an external controller.
- Enforcing the independence of the logical view of the application and its physical architecture, by using published service interfaces and the component model to delay the configuration of the system's physical architecture at deployment time, or even at run time.
|