Middleware for Service Oriented Computing5th MW4SOC Workshop of the11th International Middleware Conference 2010 Previous years: | 4th MW4SOC 2009 3rd MW4SOC 2008 2nd MW4SOC 2007 1st MW4SOC 2006 | |||
http://2010.middleware-conference.org/ November 29 – December 3, 2010 Bangalore, India |
All non-Indian citizens (except for nationals of Nepal and Bhutan) require a visa for entering India. You can find the visa details at the main Middleware conference page on "Travel & Visa Information"
Moreover, it is advisable to double-check the information with the Indian embassy of your home country.
For the invitation letter, please send an e-mail containing the following details to Malolan Chetlur:
The initial visionary promise of Service Oriented Computing (SOC) was a world of cooperating services being loosely coupled to flexibly create dynamic business processes and agile applications that may span organisations and heterogeneous computing platforms but can nevertheless adapt quickly and autonomously to changes of requirements or context. Today, the influence of SOC goes far beyond the initial 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.
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 intra-enterprise 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 actual architectures, mechanisms, protocols, and algorithms. Challenges 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.
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.
09:00–10:30: Session 1
Introduction
Workshop introduction by chair
Poster: CHOReOS: Scaling Choreographies for the Internet of the
Future [Slides]
Hugues Vincent, Valérie Issarny, Nikolaos Georgantas, Emilio
Francesquini, Alfredo Goldman, and Fabio Kon
The Internet has been growing at a impressive rate in many aspects such as size, heterogeneity, and usage. This growth forces the continuous improvement of Internet infrastructure technologies. The Future Internet concept magnifies the required shift for Internet technologies, which shall allow supporting the continuously growing scale of the converging networking world together with new generations of services made available to and brought by the broad mass of end users. The CHOReOS project positions itself in this vision of the Future Internet, whilst focusing on the Future Internet of Services. This research project aims at assisting the engineering of software service compositions in this novel networking environment by devising a dynamic development process, and associated methods, tools and middleware, to sustain the composition of services in the form of large-scale choreographies for the Internet of the future.
Keynote: Event-Driven SOA Delivers Agility to Enterprise IT
Dr. Piyush Maheshwari, Industry Solutions Architect / Senior Researcher at
IBM India
Multiple business factors have emerged to accelerate the necessity of event-driven functionality such as: real-time compliance with regulations, the increasing complexity of processes and inter- process integrations that require sophisticated management tools, and technology developments such as RFID that enable automation of distribution processes. While these applications can be built with existing technologies using low-level hard-coding, this is very labor-intensive and does not provide the agility that is required by customer requirements. There is clearly a research opportunity in the area of event-driven middleware in many industries such as utilities, financial services, telcos, etc. Recently, some vendors have been focusing their attention on Event-driven Architecture (EDA) and contrasting it with Service-oriented Architecture (SOA). In this talk, I will first highlight these different opinions and discuss IBM positioning of EDA as an integral part of a broader view of SOA. Using a selective case study, I will also present a solution that will use a traditional engineering architecture and event-driven middleware to integrate real-time and back office systems.
10:30–11:00: Morning Tea/Coffee Break
11:00–12:30: Session 2
Implementation of User-Managed Access Framework for Web 2.0
Applications [Slides]
Maciej Machulak, Lukasz Moren, and Aad van Moorsel
Web 2.0 applications allow individuals to manage their content online and to
share it with other users and services on the Web. Such sharing requires access
control to be put in place. Existing access control solutions, however, are
unsatisfactory as they do not offer the functionality that users need in the
open and user-driven Web environment. Additionally, such solutions are often
custom-built and require substantial development effort, or use existing
frameworks that provide benefits to developers only.
New proposals such as User-Managed Access (UMA) show a promising solution to authorization for Web 2.0 applications. UMA puts the end user in charge of assigning access rights to Web resources. It allows users to share data more selectively using centralized authorization systems which make access decisions based on user instructions. In this paper, we present the UMA/j framework which implements the UMA protocol and allows users of Web applications to use their preferred authorization mechanisms. It also supports developers in building access control for their Web 2.0 applications by providing ready-to-use components that can be integrated with minimum effort.
Carbon: Towards an Server Building Framework for SOA Platform [Slides]
Paul Fremantle, Srinath Perera, Afkham Azeez, Sameera Jayasoma, Sumedha,
Rubasinghe, Ruwan Linton, Sanjiva Weerawarana, and Samisa
Abeysinghe
SOA proposes an architecture that composes many services together in a loosely coupled manner, and those services may provide a wide spectrum of features like implementing Business Logic, supporting Service Orchestration, Service Mediation, and Eventing, etc. Each user would, typically, choose a subset of these features and build his architecture on them. Although it is conceptually possible to fit all the features in to the same server, due to performance and modularity concerns, the functionalities are broken across several servers and deployed rather than deploying as a single server. This paper presents Carbon, an component based server building framework that allows users to pick and choose different SOA concepts and build their own customized servers. Furthermore, the same framework enables those different features to share cross cutting concerns like storage, security, user interfaces, throttling, eventing etc., thus simplifying the server development process and reducing the footprint of the overall implementation. The paper presents Carbon, the design decisions, and architecture while comparing and contrasting the proposed framework with other component based frameworks. The primary contributions of this paper are proposing to build a server building framework for SOA platform, taking initial steps towards defining and implementing such a framework, and sharing experiences of building and using the framework in real world settings. Furthermore, we propose a minimal kernel for SOA upon which the proposed platform can be constructed.
EVEREST+: Run-Time SLA Violations Prediction [Slides]
Davide Lorenzoli and George Spanoudakis
Monitoring the preservation of QoS properties during the operation of service-based systems at run-time is an important verification measure for checking if the current service usage is compliant with agreed SLAs. Monitoring, however, does not always provide sufficient scope for taking control actions against violations as it only detects violations after they occur. In this paper we describe a model-based prediction framework, EVEREST+, for both QoS predictors developing and their execution. EVEREST+ was designed to provide a framework for developing in an easy and fast way QoS predictors only focusing on their prediction algorithms implementation without the need for caring about how to collect or retrieve historical data or how to infer models out of collected data. It also provides a run-time environment for executing QoS predictors and storing their predictions.
12:30–14:00: Lunch
14:00–15:30: Session 3
A Middleware For Adaptive Service Orientation In Pervasive Computing
Environments [Slides]
Nanjangud C. Narendra and Umesh Bellur
As enterprises become more mobile, the need for a pervasive computing environment where their applications "follow the user" becomes increasingly important. This can be achieved by the client side simply adapting to changes in the environment (caused by mobility) by rebinding to equivalent services in the new environment or by choosing "more suitable" services as the operating context changes. However, the static, hard-wired nature of today's enterprise applications does not lend itself well to such dynamism. Service orientation provides a promising foundation for such computing models, where services are stateless and can be replaced on the fly. Much more needs to be done though - service orientation needs to be made adaptive where rebinding happens automatically driven by triggers caused by context changes. This impacts both the programming model that developers use to express the flexibility as well as the run-time (middleware) that interprets this expression and acts upon it. In this paper, we present a programming model and run time architecture for adaptive service orientation. Our approach is based on semantic descriptions of services and service elements (tasks) augmented with contextually dependent resource-based requirements. For this purpose, we model the dependencies between service elements as variability points. The runtime dynamically re-configures system behavior by mapping the variability points to services providing the needed functionality. Along with the middleware design needed for such an approach, our key contribution is our programming model - called adaptable programming - and we show how it can be used to put together adaptive service-oriented systems.
A Programming Model for Self-Adaptive Open Enterprise Systems
Harald Psaier, Florian Skopik, Daniel Schall, Lukasz Juszczyk, Martin
Treiber, and Schahram Dustdar
Open Web-based and social platforms dramatically influenced models for work. The emergence of service-oriented systems has paved the way for a new computing paradigm that not only applies to software services but also human actors. This work introduces a novel programming model for Open Enterprise Systems whose interactions are governed by dynamics. Compositions of humans and services often expose unexpected behavior because of sudden changes in load conditions or unresolved dependencies. We present a middleware for programming and adapting complex serviceoriented systems. Our approach is based on monitoring and real-time intervention to regulate interactions based on behavior policies. A further challenge addressed by our approach is how to simulate and adapt behavior rules prior to deploying polices in the real system. We outline a testing approach to analyze and evaluate the behavior of services.
Middleware Enabled Data Sharing on Cloud Storage Services [Slides]
Jianzong Wang, Peter Varman, and Changsheng Xie
The cloud storage gains the popularity due to its cheap prices, huge durability and high availability. Along with the emergence of public cloud storage platforms like Amazon, Microsoft and Google etc, the individual applications and enterprise storage systems have been widely deployed on the clouds for high efficiency, nice scalability, easy management, and low cost. However, our experiments as well as academic reports have shown that the performance and service-level agreement (SLA) can't be guaranteed when the data sharing is serving over the Clouds. To address this problem, we propose a middleware between the clouds and clients, called mCloud which is to provide the data sharing services, better performance and SLAs satisfaction. Some technologies including chunking, caching and virtualization have been integrated into mCloud. Primary experiential results based on Amazon Web Services (AWS) have shown that mCloud is enabling of scalability, improving shared IO performance greatly in term of IO throughput and providing better SLAs guarantees for cloud storage.
15:30–16:00: Afternoon Tea/Coffee Break
16:00–17:00: Session 4
Discussion Session: "Middleware for Clouds vs. Middleware for Other SOC: What Is Different and What Is Not?" [Summary slides]
Unfortunately, it is not completely clear what is "cloud computing" and what is not "cloud computing". A straightforward definition says that cloud computing technologies enable provisioning of computing infrastructure (e.g., memory storage), platforms (e.g., virtualized Linux desktops), and software applications (e.g., customer relationship management suites) over the Internet, as a virtualized utility that can be bought on demand, primarily in the pay-per-use mode. However, very similar concepts, such as on-demand computing and utility computing, had been promoted for a number of years. There is also a long history of closely related technologies, such as cluster computing and grid computing. Some researchers point out that apart from somewhat different business models and new interfaces, cloud computing is not substantially novel and should be viewed more as an evolution of SOC than a revolution. The issue of the definition of cloud computing is complicated because the marketing appeal of the "cloud" buzzword and hype brought that many companies now advertise previously existing products as "cloud" technologies, with minimal technical changes.
There is a wealth of middleware for various types of service oriented computing (SOC) systems, as well as for cluster and grid computing systems. In this workshop, we would like to cut through the marketing hype to determine what concepts, approaches, solutions, and lessons-learned from the previous middleware work can be reused in the cloud space and in which aspects the cloud technologies substantially change the problem space. We would also like to identify and compare open research issues that are characteristic for various SOC middleware in general and those that are specific for cloud middleware. Such topics will be critically examined in the workshop's open discussion session, where all workshop participants are encouraged to contribute their opinions and ideas. The following paragraphs introduce a few related aspects as a first input into the discussion.
One of the aspects to note is the huge diversity of cloud computing technologies, usually classified into infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS). Potentially, the differences between IaaS, PaaS, and SaaS middleware are bigger than between middleware for a particular type of cloud systems (e.g., SaaS) and middleware for other SOC systems. One could argue that IaaS middleware is closely related to middleware for grid systems (with added virtualization), that PaaS middleware draws from distributed operating systems, and that SaaS middleware is a variation of middleware for XML (Extensible Markup Langauge) and RESTful (Representational State Transfer) Web services. Another dimension of diversity of clouds is the classification into public, private, hybrid, and community clouds. As many former data centers are now advertised as "private cloud offerings", it is important to determine what middleware features are necessary to really turn a data center into a private cloud. The fact that different cloud providers have substantially different interfaces, offerings, and even billing conditions, might imply that some cloud middleware might have to deal with this heterogeneity, possibly leading to an "Inter-cloud". The middleware for hybrid clouds also has to cross the domain-of-control boundaries between the private and the public space, leading to a number of challenges, e.g., related to security and privacy. It is likely that the heterogeneity facing cloud middeware is higher than the heterogeneity facing middleware for earlier SOC systems, where XML Web services are standardized to a significant degree.
Elasticity (the ability to scale well with significant increases in demand) is often advocated as one of the main advantages of using clouds. Elasticity is tightly related to the ability to handle various changes – not only in demand, but also other types of changes). However, the ability to change can also sometimes have unexpected negative side-effects. For example, virtual machines can not only be added easily, but also be removed easily (sometimes by mistake), and there are documented cases of virtual machines becoming unresponsive suddenly due to various reasons (e.g., related to the shared use of infrastructure, but also possibly due to low reliability of the used infrastructure). The service level agreements (SLAs) of almost all current public cloud offerings do not provide "hard" guarantees for quality of service (QoS) limits. This all means that cloud middleware must be prepared to gracefully deal with unexpected faults, unresponsiveness or latency increases, as well as a number of other changes. Since adaptation to various changes has been one of the main topics in SOC middleware research, it is important to see whether the scale and types of change in clouds are substantially new or just variations of the ones researched previously.
Management (monitoring and control) of IT systems that use clouds, particularly those that are fully or partially exploiting public or community clouds, also brings middleware-related challenges due to the lack of control (including configuration and adaptation actions, but also security/privacy) that users can have over non-private cloud infrastructure. It can be argued that cloud middleware must be oriented for shared remote management. However, management is also a challenging issue in many other SOC systems and while management middleware solutions for other SOC systems might not completely solve cloud-related challenges, it is appropriate to learn from the past achievements instead of reinventing the wheel.
Last but not the least, it is important to explore how differences in business models between clouds and other SOC systems affect middleware. We hope that you will find this year's workshop program thought-provoking and will be able to join us in discussions at the workshop.
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
This workshop has its own ISBN and will be included in the ACM digital library.