Middleware for Service Oriented Computing4th MW4SOC Workshop of the10th International Middleware Conference 2009 Previous years: | 3rd MW4SOC 2008 2nd MW4SOC 2007 1st MW4SOC 2006 | |||
http://middleware2009.cs.uiuc.edu/ November 30 - December 4, 2009 Urbana Champaign, Illinois, USA |
Service Oriented Computing (SOC) is a computing paradigm broadly pushed by vendors, utilizing and providing services to support the rapid and scalable development of distributed applications in heterogeneous environments. The visionary promise is a world of cooperating services being loosely coupled to flexibly create dynamic business processes and agile applications that may span organisations and computing platforms but can nevertheless adapt quickly and autonomously to changes of requirements or context. Consequently, the subject of Service Oriented Computing is vast and enormously complex, spanning many concepts and technologies that find their origins in diverse disciplines like Workflow Management Systems, Component Based Computing, Internet-scale Web applications, and Enterprise Application Integration (EAI) including Message Brokers and Middleware.
However, the influence of SOC today goes far beyond the concepts of the original disciplines that spawned it. Many would argue that areas like business process modelling and management, Web2.0-style applications, data as a service, and even cloud computing emerge mainly due to the shift in paradigm towards SOC. Nevertheless, there is still a strong need to merge technology with an understanding of business processes and organizational structures, a combination of recognizing an enterprise's pain points and the potential solutions that can be applied to correct them.
While the immediate need of middleware support for SOC is evident, current approaches and solutions still fall short by primarily providing support for only the EAI aspect of SOC and do not sufficiently address issues such as service discovery, re-use, re-purpose, composition and aggregation support, service management, monitoring, and deployment and maintenance of large-scale heterogeneous infrastructures and applications. Moreover, quality properties (in particular dependability and security) need to be addressed not only by interfacing and communication standards, but also in terms of integrated middleware support. But what makes these issues so different in a SOC setting? Why - for instance - is traditional middleware support for transaction processing different to transaction processing in SOC, reflecting different types of atomicity needs? Reasons are the administrative heterogeneity, the loose coupling between coarse-grained operations and long-running interactions, high dynamicity, and the required flexibility during run-time. Recently, massive-scale and mobility were added to the challenges for Middleware for SOC.
The highly dynamic modularity and need for flexible integration of services (e.g. Web service implementations) may, therefore, require new middleware architectures, protocols, and services. These considerations also lead to the question to what extent service-orientation at the middleware layer itself is beneficial (or not). Recently emerging "Infrastructure as a Service" and "Platform as a Service" offerings, from providers like Amazon, Google, IBM, Microsoft, or from the open source community, support this trend towards "cloud computing" which provides corresponding services that can be purchased and consumed over the Internet. However, providing end-to-end properties and addressing cross-cutting concerns - like dependability, security, and performance - in cross-organizational SOC is a particular challenge and the limits and benefits thereof have still to be investigated.
The workshop consequently welcomes contributions on how specifically service oriented middleware can address the above challenges, to what extent it has to be service oriented by itself, and in particular how quality properties are supported.
13:30–15:00: Session 1: QoS Monitoring
Invited talk: Web-Services engines: Do we still understand what they are made of?
Francois Taiani
Web-Services have emerged as a strong and growing technology in distributed application development. The XML technologies they are built upon (SOAP, WSDL, WSRF, etc.) provide them with extreme malleability and versatility which are highly valued in today's dynamic operational environments. To execute, however, web-services need to rely on a number of non-trivial supporting tools (XML parsers and transformers, WSDL compilers and interpreters, WSRF framework implementations), whose intrinsic properties and architectures are often hard to grasp and encompass. In this talk, I will discuss some of the complexity challenges arising from the concrete implementation of these supporting tools. In particular, I will use some experimental data obtained on an Axis-based grid Middleware (Globus), to highlight some of the potential software-engineering challenges that we might face to implement the next generation of web-service middleware products.
Comprehensive QoS Monitoring of Web Services and Event-Based SLA Violation Detection
Anton Michlmayr, Florian Rosenberg, Philipp Leitner, and Schahram Dustdar
In service-oriented systems, Quality of Service represents an important issue which is often considered when selecting and composing services. For receiving up-to-date information, non-functional properties such as response time or availability can be continuously monitored using server- or client-side approaches. However, both approaches have strengths and weaknesses. In this paper, we present a framework that combines the advantages of client- and server-side QoS monitoring. It builds on event processing to inform interested subscribers of current QoS values and possible violations of Service Level Agreements. These events can trigger adaptive behavior such as hosting new service instances if the QoS is not as desired. We describe our QoS monitoring approach in detail, show how it was integrated into the \vresco service runtime environment, and evaluate the accuracy of the presented monitoring techniques.
Non-functional Data Collection for Adaptive Business Processes and Decision Making
Bao Le Duc, Pierre Châtel, Nicolas Rivierre,
Jacques Malenfant, Philippe Collet, and Isis Truck
Monitoring application services becomes more and more a transverse key activity in SOA. Beyond traditional human system administration and load control, new activities such as autonomic management as well as SLA enforcement raise the stakes over monitoring requirements. In this paper, we address a new monitoring-based activity which is selecting among competitive service offers based on their currently measured QoS. Starting from this use case, the late binding of service calls in SOA given the current QoS of a set of candidate services, we first elicit the requirements and then describe M4ABP (Monitoring for Adaptive Business Process), a middleware component for monitoring services and delivering monitoring data to business processes wishing to call them. Within this settings, M4ABP provides solutions for general requirements: flexibility as well as performance in data access for clients, coherency of data sets and network usage optimization. Lessons learned from this first use case can be applied to similar monitoring scenario, as well as to the larger field of context-aware computing.
15:30–17:00: Session 2: Simulation and Practical Experience
Model Checking Correctness Properties of a Middleware Service for Contract Compliance
Carlos Molina-Jimenez and Santosh Shrivastava
The paper considers a third party contract monitoring service called Contract Compliance Checker (CCC). The CCC is provided with an executable specification of the contract in force, and is capable of observing and logging the relevant business–to–business (B2B) interaction events, in order to determine whether the actions of the business partners are consistent with the contract. Naturally, it is important to ensure that the CCC itself acts correctly, which in turn implies verifying the correctness of the executable contract. To this end, a specific system design that uses event–condition–action rules for contract representation is considered and the use of a model checker for verifying correctness properties are examined. The paper shows how the CCC can be modelled as a reactive system and how its correctness requirements can be validated as safety and liveness properties.
Toward a Simulation-generated Knowledge Base of Service Performance
Michael Smit, Eleni Stroulia, Andrew Nisbet, Gabriel Iszlai and Andrew Edgar
The wide adoption of service orientation and the growing complexity of service-oriented applications presents new challenges in configuring and tuning these applications, both at deployment time and at run time. This paper describes our simulation-based approach to addressing this problem. We have developed a general SOA simulation framework, which includes a tool for automatically generating significant portions of the simulator based on the WSDLs of the web services. Our methodology stipulates the systematic exploration of varying SOA deployment configurations in order to collect behavioral profiles. One can use these to examine the trade-offs between configuration cost and performance, ultimately identifying a cost-effective configuration that complies with a Service Level Agreement. The results can also used to identify configurations that allow for more accurate load-balancing and thus better overall performance. We evaluated our approach on a service-oriented text analysis toolkit. We show that our simulation results, produced by automatically generated code with minor manual changes, match real-world response-time metrics. Given these promising early results we describe future uses of our methodology.
A Failure Analysis of Data Distribution Middleware in a Mission-Critical System for Air Traffic Control
Domenico Cotroneo, Antonio Pecchia, Roberto Pietrantuono, and Stefano Russo
Middleware plays a strategic role to reduce development cost and time to market. However, it raises significant dependability challenges when integrated in complex, mission-critical systems. Testing activities, carried out during the development of middleware platforms, may be not enough to assure a proper dependability level after their integration. Middleware failures and their impact on the system \textit{as a whole} have to be carefully evaluated in critical scenarios.
This paper reports a practical experience with a real world, middleware-based Air Traffic Control (ATC) system, being developed in the context of an academic-industrial collaboration. Two equivalent middleware subsystems for data distribution have been compared from the dependability point of view. We identify internal dependencies and execution environment resources characterizing both the solutions. By means of an extensive failure modes emulation campaign, we show that these architectural features can significantly affect the middleware and the overall system dependability level.
Karl M. Göschka (chair)
Vienna University of Technology
Institute of Information Systems
Distributed Systems Group
Argentinierstrasse 8/184-1
A-1040 Vienna, Austria
Phone: +43 664 180 6946
Fax: +43 664 188 6275
Karl dot Goeschka (at) tuwien dot ac dot at
Schahram Dustdar
Vienna University of Technology
Institute of Information Systems
Distributed Systems Group
Argentinierstrasse 8/184-1
A-1040 Vienna, Austria
Phone: +43 58801 18414
Fax: +43 58801 18491
Dustdar (at) infosys dot tuwien dot ac dot at
Frank Leymann
University of Stuttgart
Institute of Architecture of Application Systems
Universitätsstraße 38
D-70569 Stuttgart, Germany
Phone: +49 711 7816-470
Fax: +49 711 7816-472
Frank dot Leymann (at) informatik dot uni-stuttgart dot de
Helen Paik
School of Computer Science and Engineering
Services Engineering Group
University of New South Wales, Sydney 2052 Australia
hpaik (at) cse.unsw.edu.au
Lorenz Froihofer
Vienna University of Technology
Institute of Information Systems
Distributed Systems Group
Argentinierstrasse 8/184-1
A-1040 Vienna, Austria
Phone: +43 1 58801 18417
Fax: +43 1 58801 18491
mw4soc@dedisys.org