scispace - formally typeset
Search or ask a question
Book ChapterDOI

A coordination middleware for orchestrating heterogeneous distributed systems

TL;DR: This paper introduces a system integration solution based on orchestration workflow and a high-level data-driven coordination abstraction enabling application workflows that are agnostic to the underlying middleware platforms and associated coordination models of the constituent systems.
Abstract: Integration of heterogeneous distributed systems becomes particularly challenging when these systems have diverse coordination models (e.g., client/server, publish/subscribe, tuple space). In this paper, we introduce a system integration solution based on orchestration workflow and a high-level data-driven coordination abstraction enabling application workflows that are agnostic to the underlying middleware platforms and associated coordination models of the constituent systems. Our solution features an extensible generic coordination middleware, which enables middleware designers to easily incorporate support for new middleware platforms and facilitates application designers in designing complex applications.
Citations
More filters
Journal ArticleDOI
TL;DR: A service-based negotiation framework for advanced collaboration in enterprise networks, as a solution to improve the sustainability of interoperability within enterprise information systems is proposed.
Abstract: Information systems support organisations to achieve greater efficiency by automating their activities. Nowadays, in the actual competitive and global business context, the advent of enterprise networking has been challenging collaboration, coordination and continuous interactions among dissimilar information systems to adapt and improve them. Sustainability of interoperability among heterogeneous systems regarding sharing information and knowledge in a collaborative dynamic environment is hard to achieve and maintain. This paper proposes a service-based negotiation framework for advanced collaboration in enterprise networks, as a solution to improve the sustainability of interoperability within enterprise information systems. Validation in industrial scenario is presented and discussed.

25 citations


Cites background from "A coordination middleware for orche..."

  • ...It may also include an agent-based architecture (Luo et al. 2012) to support the complexities of the negotiation operations through the Middleware layer (Georgantas et al. 2011)....

    [...]

Book ChapterDOI
11 Sep 2013
TL;DR: This paper introduces an interoperability solution based on abstraction and merging of the common high-level semantics of interaction paradigms, which is sufficiently general and extensible to accommodate many different protocol technologies.
Abstract: The essential issue of interoperability in distributed systems is becoming even more pressing in the Future Internet, where complex applications will be composed from extremely heterogeneous systems. Open system integration paradigms, such as service oriented architecture (SOA) and enterprise service bus (ESB), have provided answers to the interoperability requirement. However, when it comes to integrating systems featuring heterogeneous interaction paradigms, such as client-service, publish-subscribe and tuple space, existing solutions are typically ad hoc and partial, applying to specific interaction protocol technologies. In this paper, we introduce an interoperability solution based on abstraction and merging of the common high-level semantics of interaction paradigms, which is sufficiently general and extensible to accommodate many different protocol technologies. We apply this solution to revisit the SOA- and ESB-based integration of heterogeneous distributed systems.

24 citations


Cites methods from "A coordination middleware for orche..."

  • ...In our previous work [18], we made a first attempt towards modeling the CS, PS and TS interaction paradigms....

    [...]

Book ChapterDOI
24 Sep 2012
TL;DR: The fundamental principles and solutions underlaying interoperability in software systems with a special focus on protocols are introduced and the solution elaborated in the context of the European Connect project, which revolves around the notion of emergent middleware, whereby mediators are synthesised on the fly.
Abstract: Software systems are increasingly composed of independently-developed components, which are often systems by their own. This composition is possible only if the components are interoperable, i.e., are able to work together in order to achieve some user tasks. However, interoperability is often hampered by the differences in the data types, communication protocols, and middleware technologies used by the components involved. In order to enable components to interoperate despite these differences, mediators that perform the necessary data translations and coordinate the components' behaviours appropriately, have been introduced. Still, interoperability remains a critical challenge for today's and even more tomorrow's distributed systems that are highly heterogeneous and dynamic. This chapter introduces the fundamental principles and solutions underlaying interoperability in software systems with a special focus on protocols. First, we take a software architecture perspective and present the fundamentals for reasoning about interoperability and bring out mediators as a key solution to achieve protocol interoperability. Then, we review the solutions proposed for the implementation, synthesis, and dynamic deployment of mediators. We show how these solutions still fall short in automatically solving the interoperability problem in the context of systems of systems. This leads us to present the solution elaborated in the context of the European Connect project, which revolves around the notion of emergent middleware, whereby mediators are synthesised on the fly. We consider the GMES Global Monitoring of Environment and Security initiative and use it to illustrate the different solutions presented.

22 citations


Cites background from "A coordination middleware for orche..."

  • ...The notion of extensible service buses enabling highly heterogeneous systems to interoperate across interaction paradigms has recently emerged but it is in its infancy [28]....

    [...]

Journal ArticleDOI
TL;DR: A concrete implementation of the cloud service bus approach, called JTangCSB, addresses the challenge of handling CEAI properties such as multitenancy, cloud-level scalability, and environmental heterogeneity and demonstrates its feasibility in practice.
Abstract: Cloud and enterprise application integration (CEAI) is a new challenge as more enterprise applications migrate successfully to cloud environments. However, achieving CEAI properties such as multitenancy, cloud-level scalability, and environmental heterogeneity is nontrivial for enterprise applications originally built under the assumption of centralized management. A concrete implementation of the cloud service bus approach, called JTangCSB, addresses the challenge of handling these properties and demonstrates its feasibility in practice.

19 citations

Journal ArticleDOI
TL;DR: A framework to model and support sustainable interoperability of parallel and concurrent negotiations among organisations acting in the same industrial market, using a service-oriented platform is proposed.

16 citations

References
More filters
Journal ArticleDOI
TL;DR: This paper factors out the common denominator underlying these variants: full decoupling of the communicating entities in time, space, and synchronization to better identify commonalities and divergences with traditional interaction paradigms.
Abstract: Well adapted to the loosely coupled nature of distributed interaction in large-scale applications, the publish/subscribe communication paradigm has recently received increasing attention. With systems based on the publish/subscribe interaction scheme, subscribers register their interest in an event, or a pattern of events, and are subsequently asynchronously notified of events generated by publishers. Many variants of the paradigm have recently been proposed, each variant being specifically adapted to some given application or network model. This paper factors out the common denominator underlying these variants: full decoupling of the communicating entities in time, space, and synchronization. We use these three decoupling dimensions to better identify commonalities and divergences with traditional interaction paradigms. The many variations on the theme of publish/subscribe are classified and synthesized. In particular, their respective benefits and shortcomings are discussed both in terms of interfaces and implementations.

3,380 citations


"A coordination middleware for orche..." refers methods in this paper

  • ...For PS, we cover queue-, topic- and content-based systems [ 12 ], integrating the diverse event types under a generic filter parameter....

    [...]

Book
02 Feb 2008
TL;DR: This book teaches you how to use JavaSpaces technology to design and build distributed applications, and a set of common patterns and frameworks for approaching space-based programs, intended for computer professionals, students, and Java enthusiasts.
Abstract: From the Book: PREFACE: Over the next decade the computing landscape will change dramatically as devices become ubiquitous, network-connected, and ready to communicate. As the landscape changes, the way in which we design and build software will change as well: The distributed application (one that involves multiple processes and devices) will become the natural way we build systems, while the standalone desktop application will become nearly extinct. Designing distributed software is remarkably hard, however. The fundamental characteristics of a networked environment (such as heterogeneity, partial failure, and latency) and the difficulty of "gluing together" multiple, independent processes into a robust, scalable application present the programmer with many challenges that don't arise when designing and building desktop applications. JavaSpaces(TM) technology is a simple, expressive, and powerful tool that eases the burden of creating distributed applications. Processes are loosely coupled—communicating and synchronizing their activities using a persistent object store called a space, rather than through direct communication. This method of coordinating distributed processes leads to systems that are flexible, scalable, and reliable. While simple, the space-based model is powerful enough to implement advanced distributed applications—from e-commerce systems to groupware to heavy-duty parallel computations. Space-based programming also leverages the Jini(TM) technology's leasing, distributed event, and transaction features, making it suitable for building robust, commercial-quality distributed systems. This book teaches you how touseJavaSpaces technology to design and build distributed applications. It is intended for computer professionals, students, and Java enthusiasts—anyone who wants experience building networked applications. Through experimentation with the code examples, you'll develop a repertoire of useful techniques and patterns for creating space-based systems. We assume that you already have some programming experience and basic working knowledge of Java programming language fundamentals, but this book doesn't require any specific knowledge of network programming. JavaSpaces technology is new, and writing a book before the technology is in widespread use presents a unique challenge. We've approached the project from complementary perspectives. Two of the authors, Eric Freeman and Susanne Hupfer, spent much of the past decade designing and building space-based systems as part of the Linda research group at Yale University and used the JavaSpaces technology during the two years of its development. The third, Ken Arnold, was in charge of the JavaSpaces project at Sun Microsystems, working with a team of engineers to design and build the technology this book is all about. In this book, we present the foundations of programming with JavaSpaces technology, and a set of common patterns and frameworks for approaching space-based programs. As the technology becomes more widely used, the JavaSpace programming community will discover new ways of using it. We would like future editions of this book to incorporate these new patterns, and we invite you to send comments, suggestions, and ideas to javaspaces@awl.com and to make use of the book's web site at ...

646 citations


"A coordination middleware for orche..." refers background or methods in this paper

  • ...For TS, we integrate support for asynchronous notification [ 3 ] and explicit scoping [5]....

    [...]

  • ...In particular with regard to middleware-supported coordination, the client/server (CS), publish/subscribe (PS), and tuple space (TS) models are among the most widely employed ones, with numerous related middleware platforms, such as: Web Services, Java RMI for CS; JMS, SIENA for PS [1,2]; and JavaSpaces, Lime, DART for TS [ 3 ,4,5]....

    [...]

Book
01 Dec 2000
TL;DR: The Java Message Service (JMS) as mentioned in this paper is a standard Java application program interface (API) from Sun Microsystems that supports the formal communication known as "messaging" between computers in a network.
Abstract: From the Publisher: This book is a thorough introduction to Java Message Service (JMS), the standard Java application program interface (API) from Sun Microsystems that supports the formal communication known as "messaging" between computers in a network. JMS provides a common interface to standard messaging protocols and to special messaging services in support of Java programs. The messages exchange crucial data between computers, rather than between users—information such as event notification and service requests. Messaging is often used to coordinate programs in dissimilar systems or written in different programming languages. Using the JMS interface, a programmer can invoke the messaging services of IBM's MQSeries, Progress Software's SonicMQ, and other popular messaging product vendors. In addition, JMS supports messages that contain serialized Java objects and messages that contain Extensible Markup Language (XML) pages. Messaging is a powerful new paradigm that makes it easier to uncouple different parts of an enterprise application. Messaging clients work by sending messages to a message server, which is responsible for delivering the messages to their destination. Message delivery is asynchronous, meaning that the client can continue working without waiting for the message to be delivered. The contents of the message can be anything from a simple text string to a serialized Java object or an XML document. Java Message Service shows how to build applications using the point-to-point and publish-and-subscribe models; how to use features like transactions and durable subscriptions to make an application reliable; and how to use messaging within Enterprise JavaBeans. It also introduces a new EJB type, the MessageDrivenBean, that is part of EJB 2.0, and discusses integration of messaging into J2EE. About the Authors: Richard Monson-Haefel is a leading expert in Enterprise Java development. He is the architect of OpenEJB, an open source EJB server, and has consulted as an architect on Enterprise JavaBeans, CORBA, Java RMI, and other distributed computing projects over the past several years. Richard is also the author of O'Reilly's Enterprise JavaBeans. Dave Chappell is vice president and SonicMQ chief technology evangelist at Progress Software Corp. Dave has over 18 years of industry experience building software tools and infrastructure for application developers, spanning all aspects of R&D, sales, marketing, and support services. Dave has also been published in Network World magazine and has presented technical topics at numerous speaking engagements including JavaOne and XMLOne. As director of engineering for SonicMQ, Progress Software's award winning JMS Internet Commerce Messaging System, Dave oversaw the design and development of the fastest and most scalable, reliable, and robust implementation of JMS in the marketplace. Dave has under his belt a broad cross-platform background in designing and developing Internet based middleware and distributed object systems across a wide range of technologies including C++, Java, DCOM, CORBA, and EJB. Dave's experience also includes development of client/server infrastructure, graphical user interfaces, language interpreters, and various utility libraries.

432 citations


"A coordination middleware for orche..." refers methods in this paper

  • ...In particular with regard to middleware-supported coordination, the client/server (CS), publish/subscribe (PS), and tuple space (TS) models are among the most widely employed ones, with numerous related middleware platforms, such as: Web Services, Java RMI for CS; JMS, SIENA for PS [ 1 ,2]; and JavaSpaces, Lime, DART for TS [3,4,5]....

    [...]

Journal ArticleDOI
TL;DR: The model underlying LIME is illustrated, a formal semantic characterization for the operations it makes available to the application developer is provided, its current design and implementation is presented, and lessons learned are discussed in developing applications that involve physical mobility.
Abstract: LIME (Linda in a mobile environment) is a model and middleware supporting the development of applications that exhibit the physical mobility of hosts, logical mobility of agents, or both. LIME adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Linda by a globally accessible persistent tuple space, is refined in LIME to transient sharing of the identically named tuple spaces carried by individual mobile units. Tuple spaces are also extended with a notion of location and programs are given the ability to react to specified states. The resulting model provides a minimalist set of abstractions that facilitates the rapid and dependable development of mobile applications. In this article we illustrate the model underlying LIME, provide a formal semantic characterization for the operations it makes available to the application developer, present its current design and implementation, and discuss lessons learned in developing applications that involve physical mobility.

284 citations


"A coordination middleware for orche..." refers background in this paper

  • ...In particular with regard to middleware-supported coordination, the client/server (CS), publish/subscribe (PS), and tuple space (TS) models are among the most widely employed ones, with numerous related middleware platforms, such as: Web Services, Java RMI for CS; JMS, SIENA for PS [1,2]; and JavaSpaces, Lime, DART for TS [3, 4 ,5]....

    [...]

  • ...Inherent properties of the TS model, such as time and space decoupling among communication entities [ 4 ], make it sufficiently generic for abstracting complex distributed applications that integrate heterogeneous systems....

    [...]

Journal Article
TL;DR: It is argued that the needs of many classes of modern applications, especially those targeted at mobile or wireless computing, demand the services of content-based publish/subscribe middleware, and that this middleware in turn demands a new kind of communication infrastructure for its proper implementation.
Abstract: We argue that the needs of many classes of modern applications, especially those targeted at mobile or wireless computing, demand the services of content-based publish/subscribe middleware, and that this middleware in turn demands a new kind of communication infrastructure for its proper implementation. We refer to this new communication infrastructure as content-based networking. The service model of this network must directly support the interface of an advanced content-based publish/subscribe middleware service. At the same time, the implementation must be architected as a true distributed network, providing appropriate guarantees of reliability, security, and performance. We do not propose content-based networking as a replacement for IP, nor do we advocate an implementation of a publish/subscribe middleware at the network level (i.e., within routers). Instead, we argue that content-based networking must be designed according to established networking principles and techniques. To this end, in this paper, we formulate the foundational concepts of content-based networking, and relate them to the corresponding concepts in traditional networking. We also briefly review our experience with content-based publish/subscribe middleware and suggest some open research problems in the area of content-based networking.

203 citations