Article

Enterprise integration patterns

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... A Message Bus is a combination of a common data model, a common command set, and a messaging infrastructure to allow different systems to communicate through a shared set of interfaces [9]. In order to understand the purpose of a Message Bus consider an integration solution consisting of a set of applications provided by different vendors. ...
... Applications adding messages to the bus may need to depend on message routers to route the messages to the appropriate final destinations. Applications not designed to interface with a messaging system may require channel adapters [9]. ...
... More precisely, the following questions must be answered: how the client side of the system will communicate with the resource side; how the DMB will route message to the correct destination and use the right connection type? According to [9] a system that allows to consume a message from an input destination, evaluate some predicate then choose the right output destination is called a Message Router. The key benefit of using a Message Router is that all surrounding components in the system are completely unaware of its existence. ...
... This was not intended by Alexander et al. [1], who described them as living networks. Some authors created dedicated websites for their pattern languages (e.g., [8,9,10]), which eases the adaptation. Nevertheless, these websites represent only one particular language. ...
... But even if cross-language relations exist, they are often not properly documented. The pattern languages depicted in Figure 1 are published in books [6,4,5] or on dedicated websites [8,10]. Besides scientific publications and dedicated websites, patterns are published in repositories that aim to collect patterns in collaboration [23]. ...
Preprint
Patterns describe proven solutions for recurring problems. Typically, patterns in a particular domain are interrelated and organized in pattern languages. As real-world problems often require patterns of multiple domains, different pattern languages have to be considered to address these problems. However, cross-domain knowledge about how patterns of different languages relate to each other is either hidden in individual pattern descriptions or not documented at all. This makes it difficult to identify relevant patterns across pattern languages. Therefore, we introduce a concept and tooling that enables to capture patterns and their relations across pattern languages for a particular problem context.
... Detecting outdated events is tricky. It requires some support of messaging and data patterns such as Message Expiration, Correlation Identifier from [13] and Executional Context from [21]. Furthermore you have to guard each transition with a tangling invocation of a simple function, which performs the outdated or duplicate event detection based on the information in the event or its header. ...
... Finally, you have to add actions which maintain and add detection support information (e.g. time to life information [13], a transition count sequence number) into each event or its event header. ...
Article
Domain specific languages (DSLs) are a very important approach to raise abstraction and enable an efficient communication between business experts and application software developers. Some DSLs could benefit from the application of ideas from the AOSD world. Therefore, it is a natural idea to enhance an existing DSL with AOP based programming ideas. This paper describes such an attempt. The approach has been successfully applied in several commercial projects. Commercially available DSLs in the domain of application integration, service orchestration and business process management have been enhanced with composition filters.
... The notion of patterns as a means of categorizing recurring problems and solutions in a particular domain is generally attributed to Christopher Alexander [1]. Later the concept of patterns was adopted in software development, resulting in well-known patterns collections such as the design patterns by the " Gang of Four " [7], the business analysis patterns [6], and the enterprise application integration patterns [8]. See http://hillside.net/patterns/patterns-catalog ...
Article
In his paper "Approaches to Modeling Business Processes. A Critical Analysis of BPMN, Workflow Patterns and YAWL", Egon Börger criticizes the work of the Workflow Patterns Initiative in a rather provocative manner. Although the workflow patterns and YAWL are well established and frequently used, Börger seems to misunderstand the goals and contributions of the Workflow Patterns Initiative. Therefore, we put the workflow patterns and YAWL in their historic context. Moreover, we address some of the criticism of Börger by pointing out the real purpose of the workflow patterns and their relationship to formal languages (Petri nets) and real-life WFM/BPM systems.
... The platform is called PICASSO 2 (platform for interoperability and application cooperation in healthcare organizations and hospitals) and is the first Italian HL7-V3 platform. PICASSO relies on the XML technology for data transformation, on advanced algorithms for performance optimization and on the use of patterns design (like Message Broker and Remote Procedure Invocation)[11] for message exchange and component integration. It has already successfully operated in several projects. ...
Conference Paper
Full-text available
In every application domain, achieving interoperability among heterogenous information systems is a crucial challenge and alliances are formed to standardize data-exchange formats. In the healthcare sector, HL7-V3 provides the current international reference models for clinical and administrative documents. Codices, an Italian company, provides the PICASSO platform that uses HL7-V3 as the pivot format to fast achieve a highly integrated degree of interoperability among health-related applications. Given the XML structure of HL7-V3, PICASSO can exploit the XSLT technology to flexibly transform documents. However, Codices spends a large part of the PICASSO deployment workflow for manually validating the required XSL stylesheets. In this paper, we describe a pilot experience in test automation, based on the TAXI tool that applies systematic black-box techniques to generate a set of XML instances from a schema. Observed benefits to Codices development process are reported and discussed.
... We explored a middleware-based integration strategy for LISW. Middleware-based integration has been widely adopted in areas such as enterprise application integration [10], [11] to support complex, distributed applications. There are many distinctive advantages in this strategy. ...
Article
Full-text available
The Earth observation sensor web enables multiple-way interaction between earth observing sensors, sensor networks, Earth science models, and decision support systems. To achieve this goal, flexible and reliable integration between these disparate components is needed. In this study, a middleware-based, message-driven integration paradigm is proposed and implemented with the Land Information Sensor Web (LISW), to link a high-performance land surface modeling system with sensor simulators and other sensor web components, under a service-oriented architecture. OGC Sensor Web Enablement standard is adopted for interoperability. The middleware played a key role in enabling an integrated real-time sensor web with demonstrated simplicity, resilience and flexibility. We recommend that middleware-based integration should be adopted as a standard model in a wide range of sensor web applications, to replace the conventional point-to-point, client-server model.
... The lack of direct support for representing common architectural constructs in UML leads many architects to conclude that it isn't worth the effort of using a standard language and instead, they develop their own notation (and perhaps semantics) using " box-and-line " diagrams or even new icons. A sophisticated example of such a special-purpose notation is Gregor Holpe's notation for enterprise application integration (EAI) systems introduced in [3], commonly known as " Gregorgrams " . In effect, this is an information systems domain specific architecture description language, which specifically addresses the architecture description needs of one aspect of modern information systems development. ...
Article
Full-text available
This short position paper briefly reviews the state of practice in architectural description for information systems, and asks why purpose designed architecture description languages are not more widely used in this domain. It then attempts to answer the question, from the author's perspective, by reviewing the needs that an information systems architect would have for a purpose designed architecture description language.
... As can be seen, the level of abstraction varies greatly between individual approaches in the context of EAI; a majority of methods, however, is focused on the technical side of EAI. Another method to enable enterprise integration on the technical level is the pattern-based approach as presented by Hohpe and Woolf [20], which provides a system of integration relations in the context of EAI. Including different design patterns and the respective areas of applicability, their approach shows potential solutions to individual challenges on a rather technical yet not product-oriented level. ...
... Enterprise Integration patterns (EIP [10]) in combination with Data Integration Patterns cover the necessary process-and data-oriented aspects: The processing of data elements for a source systems includes messaging. These messages are data elements in terms of DIPs. ...
Preprint
Data Integration often plays a central part in Enterprise Data Management, e. g. during the migration from a legacy ERP software to a new system: Data models are not completely compatible, but the ERP data elements need to be transferred, so that complex data conversions, or transformations are necessary. This paper presents a practical example for the usage of Data Integration Patterns in order to demonstrate their advantages. An important aspect is the combination with Enterprise Integration Patterns that focus on messaging while Data Integration Patterns focus on data mappings and transformations. An example for the transformation of a relational to an object-oriented data model shows the approach on a practical level.
Article
Zusammenfassung: Eine effiziente Implementierung überbetrieblicher Geschäftsprozesse setzt ein Integrationssystem voraus, welches den Austausch benötigter Informationen und die darauf aufbauende inhaltliche und zeitliche Abstimmung von Aktivitäten in heterogenen Umgebungen ermöglicht. Hierzu ist eine schnelle Anpassung an verschiedene Geschäftsprozesse und Anwen-dungssysteme von Geschäftspartnern notwendig. In dieser Arbeit wird eine Architektur vorge-schlagen, welche die geforderte Effizienz aus der weitestgehend automatisierten Konfiguration des Integrationssystems mit Hilfe einer Komposition von wieder verwendbaren Black-Box-Komponenten bezieht, welche die jeweils notwendigen Integrations-und Koordinationsmechanis-men implementieren. Für die hierzu erforderliche Abstimmung von Koordinationsprotokollen wird ein Verhandlungsprozess vorgestellt, dessen automatisierte Durchführung eine zusätzliche Dyna-misierung des vorgeschlagenen Konzepts erlaubt.
Article
Computing systems are increasingly designed as a collection of interacting services that constitute a set of functionality offered by a service provider or server to its clients. Many service-oriented computing systems have constraints on the resources they allocate and manage. In these systems, certain types of services should consume resources only when they are accessed by clients, and clients should be shielded from where services are located, how they are deployed, and how their lifecycle is managed. The activator pattern provides an effective means to efficiently and transparently automate scalable on-demand activation and deactivation of services accessed by many clients. This paper motivates the need for the activator pattern, describes the structure and dynamics of canonical implementations of the pattern, and examines the benefits and liabilities of applying this pattern to services in resource-constrained computing systems. Copyright © 2011 John Wiley & Sons, Ltd.
Conference Paper
Quality of Service (QoS) management is critical for service-oriented enterprise architectures because services have different QoS characteristics, requesters have different requirements, and service interactions are decoupled. This paper proposes a QoS Management Architecture for dynamic processing of service- and flow-level quality attributes to support QoS requests and analyses in Web-service-oriented architectures. The architecture is implemented using Business Process Execution Language for Web Services (BPEL4WS), an interoperable integration model that facilitates automated process integration). The proposed approach extends BPEL4WS by integrating it with Web service-level agreements (WSLA) to support QoS and extending the BPEL4WS language to provide a new "" assertion that describes the location of a document's WSLA document. Under the proposed approach, quality attributes are defined, computed, and acted upon as dynamic characteristics of systems, with values constantly changing in operation The feasibility of the proposed approach is demonstrated using an illustrative travel reservation service flow example.
Chapter
Im Jahr 2001 setzte die Schweizerische Mobiliar eine Unternehmensarchitektur um. Diese basiert auf dem Management von Geschäftsprozessen, Applikationen und der Technologie-Infrastruktur als wesentliche Elemente von Veränderungen. Nach einem zweijährigen Betreiben der Unternehmensarchitektur in dieser Form wurde das Potenzial der Service-Orientierung für den ganzheitlichen Ansatz einer Unternehmensarchitektur untersucht. Die Beschränkung auf einzelne Teilarchitekturen ermöglichte dabei jedoch stets nur eine teilweise Realisierung. Aus diesem Grund wurde ein ganzheitlicher Ansatz zum Management einer Service-orientierten Unternehmensarchitektur entwickelt. Ausgehend von deren spezifischen Artefakten wurden dabei die jeweiligen Stakeholder und deren Anforderungen analysiert. Auf dieser Grundlage wurden Stufen des Service-Entwurfs identifiziert, die mit einem bestimmten Nutzen des Einsatzes von Services korrelieren. Diese Stufen bildeten den Ausgangspunkt für das Formulieren von Heuristiken, die die Planung und Bewertung der Entwicklung von Services unterstützen. Dieser Beitrag stellt diesen Ansatz der Schweizerischen Mobiliar zum Management einer Service-orientierten Unternehmensarchitektur vor.
Conference Paper
Full-text available
Organizations, to function effectively and expand their boundaries, require a deep insight into both process orchestration and choreography of cross-organization business processes. The set of requirements for service interactions is significant, and has not yet been sufficiently refined. Service Interaction Patterns studies by Barros et al. demonstrate this point. However, they overlook some important aspects of service interaction of bilateral and multilateral nature. Furthermore, the definition of these patterns are not precise due to the absence of a formal semantics. In this paper, we analyze and present a set of patterns formed around the subset of patterns documented by Barros et al. concerned with Request-Reply interactions, and extend these ideas to cover multiple parties and multiple messages. We concentrate on the interaction between multiple parties, and analyze issues of a non-guaranteed response and different aspects of message handling. We propose one configurable, formally defined, conceptual model to describe and analyze options and variants of request-reply patterns. Furthermore, we propose a graphical notation to depict every pattern variant, and formalize the semantics by means of Coloured Petri Nets. In addition, we apply this pattern family to evaluate WS-BPEL v2.0 and check how selected pattern variants can be operationalized in Oracle BPEL PM.
Conference Paper
The Commander Naval Meteorology and Oceanography Command (COMNAVMETOCCOM) manages a scope of activities that sponsor, create, operate, and maintain capabilities that support the operational goals of Naval Meteorology and Oceanography (METOC). Effective and efficient Naval METOC operations require partnerships and collaborations within the U.S. Navy, with external U.S. Department of Defense (DoD) and U.S. Federal agencies, and with military allies and coalition partners. Partnerships are or will be supported by the integration of operational processes, functional capabilities, and data useful in multiple contexts. The U.S. DoD has followed the global industry base in adopting a Service Oriented Architecture (SOA) architectural pattern as the best technical approach to integration of processes, functionality, and data in heterogeneous, cross-organizational, technical environments. Naval METOC is a domain in the U.S. DoD enterprise that provides critical environmental characterization of the battlespace along with associated impacts on platforms, sensors, weapons, people, and warfighting missions and operations. This information must be efficiently and effectively produced and integrated into sensor systems, warfighter systems and decision processes. It is imperative, therefore, that all Naval METOC information technology (IT) programs that are essential for continued operations and/or business processes migrate towards an SOA environment. The level of migration will vary depending on the resources available and the need for agile integration with internal and external systems. An effective migration requires a clear understanding of the end state SOA environment and its impacts on IT, as well as the current readiness of Naval METOC to make the required transformation. A strategy that matches these assessments with available financial and human capital resources in the Naval METOC domain and the level of acceptable risk must be articulated. This paper first summarizes - the value proposition of Naval METOC for the U.S. warfighter, IT transformation requirements in moving toward a SOA environment, and the end state SOA architecture for Naval METOC. Given this target migration environment, the remainder of the paper describes a strategy that manages SOA migration via a cost, complexity, and risk (CCR) model of the IT project portfolio that is required to support transformation to a domain-wide SOA. Finally, specific technical and management guidance for Naval METOC transformation projects is summarized.
Conference Paper
We present a framework based on object orientation with novel principles for how to store, analyze and integrate electrophysiological data. These principles are: (I) Using a Decorator pattern for storing analysis data in an object model, (II) using a Core Classes data structure for integration through mediation in a service bus architecture, and (III) choosing the single unit as the finest structure of the object model. With these principles, we address the problems of (1) how to relate the analysis data to the original electrophysiological data by utilizing design patterns, (2) how to integrate data from different data sources, both at application and organization levels and (3) avoiding performance problems by choosing the correct level of object granularity for the data.
Conference Paper
This present paper introduces an approach to construct an SOA-based system using a messaging network. The proposed solution uses a messaging networking, which is a type of overlay networking. The proposed approach can reduce the complexity and the maintenance cost of the system, which both makes an information system vulnerable. Therefore, the proposed approach can contribute to the construction of a secure information system. The requirements of a messaging network for an SOA-based system are presented.
Conference Paper
The SOA Innovation Lab investigates the use of standard software packages in a service-oriented context. As a result, we present a holistic approach for developing a service-oriented enterprise architecture with custom and standard software packages. It starts on enterprise level with the identification of domains where both the SOA paradigm and standard software are of relevance. Here SOA capabilities of products from different vendors can be evaluated within a new maturity framework SOAMMI. After pre-requisites and dependencies between distributed components are determined, a high-level architecture can be developed. On the basis of use cases and integration patterns this high level architecture can be refined and verified. Besides methods and related artifacts, we present current adoption issues for standard software packages in service-oriented contexts.
Article
Software architects consider capturing and sharing architectural decisions increasingly important; many tacit dependencies exist in this architectural knowledge. Architectural decision modeling makes these dependencies explicit and serves as a foundation for knowledge management tools. In practice, however, text templates and informal rich pictures rather than models are used to capture the knowledge; a formal definition of model entities and their relations is missing in the current state of the art. In this paper, we propose such a formal definition of architectural decision models as directed acyclic graphs with several types of nodes and edges. In our models, architectural decision topic groups, issues, alternatives, and outcomes form trees of nodes connected by edges expressing containment and refinement, decomposition, and triggers dependencies, as well as logical relations such as (in)compatibility of alternatives. The formalization can be used to verify integrity constraints and to organize the decision making process; production rules and dependency patterns can be defined. A reusable architectural decision model supporting service-oriented architecture design demonstrates how we use these concepts. We also present tool support and give a quantitative evaluation.
Article
Full-text available
This paper introduces UniGeINT -University of Genoa Integration Tool -, a framework designed to provide integration between several existing tools, databases and data repositories we used in internal administrative processes, by exploiting OSS benefits in terms of costs reduction and bug reporting. Moreover, it adopts state-of-art solutions in Enterprise Application Integration, by using specific design patterns able to match existing IT marrow. So we required in final product common features unmissable for a large scale corporative environment: reliability and fault tolerance, besides to a complete integration with anything previously developed.
Conference Paper
This article proposes a unified methodology for designing asynchronous SOA (Service-Oriented Architecture) based on the asynchronous messaging models and patterns. Conventional SOA focuses on synchronous messaging. Although asynchronous messaging provides much efficient and productive way to coordinate services, design of aSOA (asynchronous SOA) is far more complicated due to the variety of messaging and architecture while assuring behavioral consistency of architecture. This paper proposes a model-driven design methodology for aSOA. The methodology is based on aMEPs (Asynchronous Message Exchange Patterns) identified by classifying the messaging in terms of behavioral concerns. Based on the meta-model of aSOA, a set of aSOA patterns is generated by composing aMEPs. Then, an aSOA pattern is selected and transformed to a platform specific aSOA on top of Web services standards. We successfully implemented an aSOA on Apache Axis, which enables to asynchronous messaging of SOAP over SMTP. We demonstrated that conventional methods are subsets of the proposed methodology, which is the major contribution of this work.
Conference Paper
Full-text available
As systems become more service oriented and processes increasingly cross organizational boundaries, interaction becomes more important. New technologies support the development of such systems. However, the paradigm shift towards service orientation, requires a fundamentally different way of looking at processes. This survey aims to provide some foundational notions related to service interaction. A set of service interaction patterns is given to illustrate the challenges in this domain. Moreover, key results are given for three of these challenges: (1) How to expose a service?, (2) How to replace and refine services?, and (3) How to generate service adapters? These challenges will be addressed in a Petri net setting. However, the results extend to other languages used in this domain.
Conference Paper
Full-text available
The Business Process Execution Language for Web Services (BPEL) has emerged as a standard for specifying and executing processes. It is supported by vendors such as IBM and Microsoft and positioned as the "process language of the Internet". This paper provides a critical analysis of BPEL based on the so-called workflow patterns. It also discusses the need for languages like BPEL. Finally, the paper addresses several challenges not directly addressed by BPEL but highly relevant to the support of web services.
Article
Full-text available
The INSPIRE services network architecture establishes rules for the architectural model of the European Spatial Data Infrastructure. Each Member State of the European Union should create new services or adapt existing ones according to the Implementing Rules derived from the INSPIRE directive. A INSPIRE Drafting Team is responsible for the definition of the INSPIRE Implementing Rules which include technical specifications that define a common contract for the operation interfaces, data description and representation. The INSPIRE directive advises to use the existing standards. The OGC standard family is being considered by the drafting team. The Word Wide Web Consortium (W3C) suggestion to use the SOAP messaging protocol for Web Services is also being taken into consideration. This paper proposes the application of well-known design patterns for the adaptation of INSPIRE-unconformable Services (non INSPIRE compatible Services). However, there are several challenges. It does not exist a methodology that facilitates building wrapper services. What is more, the services provided by Member States and offered at state level are not restricted by the INSPIRE Implementing Rules. Nevertheless, the application of the INSPIRE Implementing Rules at levels below the European one (e.g. at Member State level), should decrease significantly the complexity of the development of an application based on the INSPIRE infrastructure. Similarly, applying patterns to any existing service, including commercial ones, would allow transforming this service into an INSPIRE-able Service that would facilitate the creation of any INSPIRE-based application.
Article
Full-text available
Cloud Federation is an emerging computing model where multiple resources from independent Cloud providers are leveraged to create large-scale distributed virtual computing clusters, operating as into a single Cloud organization. This model enables the implementation of environmental diversity for Cloud applications, and overcomes the provisioning and scalability limits of a single Cloud, by introducing minimal additional cost for the Cloud consumer. In such a scenario, it is necessary to leverage on specific networking technologies that enable the effective support of inter-Cloud communication services between Cloud providers. This paper proposes an interconnection solution for Cloud federations based on publish/subscribe services. Moreover, we discuss some fundamental concerns needed to satisfy the inter-Cloud communication requirements in terms of reliability and availability. Finally, we present some experimental results that highlight some key reliability and denial of service vulnerability concerns in this domain.
Chapter
Modeling decision systems has been always a challenging activity as it involves human decision‐makers which means there is a need for modeling complex behaviors. This chapter presents a software tool for modeling and simulating decision systems based on the GRAI model extended to the DGRAI model. DGRAI allows for the execution of the decision‐making processes, providing valuable information for analyzing the dynamic behavior of an enterprise system. The novelty of the DGRAI model was to simulate the decision flows at GRAI net level maintaining the GRAI formalism and extending it for modeling the dynamicity of decision‐making flows. The DGRAI model has been implemented in the DGRAI© software tool by the Research Centre on Production Management and Engineering of the Universitat Politecnica de Valencia and has been transferred to the Spin‐off UPV EXOS Solutions.
Chapter
The health-care sector has stringent needs for CyberInfrastructures (CIs) to improve both its patient-care capabilities and its potential for advanced clinical research. Large-scale projects reveal that economics, technology, science, and people need a careful balance to be successful. In this chapter, we detail our value-based methodology for architecting and implementing CIs for multiple projects in this field. We highlight the requirements and challenges presented by this field, the process for value-cost analysis, proper stakeholder involvement, and architecture evaluation to match a system's timeline and budget. We also discuss lessons learned and typical CI aspects, including data ingestion and sharing, privacy and security, life-cycle management, rapid prototyping and user adoption, performance, and scalability, and their impact on project economics. We conclude with strategic factors for overall project success.
Article
The concepts of processes and services can be used to structure both businesses and software systems. From a business perspective, the use of processes promises efficient management of organizations. From a software perspective, executable process descriptions provide a way to structure software systems according to the business process the systems should support. Furthermore, the concept of software services allows systems to be partitioned in a modular fashion, thereby enabling large-scale system integration on a technical level. By combining process descriptions with software services in service-based processes, it is feasible to address both business and more technical software needs. Aligning the business and software perspectives of processes and software services is, however, challenging, since implemented executable processes and software services need to cater for operational and strategic business needs as well as existing legacy software systems. In this thesis, several instruments are presented that aim at aiding the design
Conference Paper
In many ways cloud computing is an extension of the service-oriented computing (SOC) approach to create resilient and elastic hosting environments and applications. Service-oriented Architectures (SOA), thus, share many architectural properties with cloud environments and cloud applications, such as the distribution of application functionality among multiple application components (services) and their loosely coupled integration to form a distributed application. Existing service-based applications are, therefore, ideal candidates to be moved to cloud environments in order to benefit from the cloud properties, such as elasticity or pay-per-use pricing models. In order for such an application migration and the overall restructuring of an IT application landscape to be successful, decisions have to be made regarding (i) the portion of the application stack to be migrated and (ii) the process to follow during the migration in order to guarantee an acceptable service level to application users. In this paper, we present best practices how we addressed these challenges in form of service migration patterns as well as a methodology how these patterns should be applied during the migration of a service-based application or multiples thereof. Also, we present an implementation of the approach, which has been used to migrate a web-application stack from Amazon Web Services to the T-Systems cloud offering Dynamic Services for Infrastructure (DSI).
Chapter
Capturing and sharing design knowledge such as architectural decisions is becoming increasingly important in firms providing professional Information Technology (IT) services such as enterprise application development and strategic outsourcing. Methods, models, and tools supporting explicit knowledge management strategies have been proposed in recent years; however, several challenges remain unaddressed. In this paper, we extend our previous work to overcome these challenges and to satisfy the requirements of an additional user group, presales architects that are responsible for IT service solution proposals. In strategic outsourcing, such solution proposals require complex, contractually relevant design decisions concerning many different resources such as IT infrastructures, people, and real estate. To support both presales and project architects, we define a common reference architecture and a decision process-oriented metamodel. We also present a tool implementation of these concepts and discuss their application to outsourcing proposals and application development projects. Finally, we establish twelve decision modeling principles and practices that capture the practical experience gained and lessons learned during the application of our decision modeling concepts to both proposal development and architecture design work on projects.
Article
The enterprise service bus (ESB) is the most promising ap-proach to enterprise application integration (EAI) of the last years. It promises to build up a service-oriented architecture (SOA) by itera-tively integrating all kinds of isolated applications into a decentralized infrastructure. This infrastructure combines best practices from EAI, like message-oriented middleware (MOM), (Web) services, routing and XML processing facilities, in order to provide, use and compose (Web) services. Because the term ESB is often used to name different things, for exam-ple an architecture, a product or a "way of doing things", I point out in this paper what exactly an ESB is. Therefore, I first describe what distinguishes the ESB from former EAI solutions. Second, I show what the key components of an ESB are. Finally, I explain how these key components function alone and how they work together to achieve the aforementioned goal.
Article
Full-text available
In most existing software systems, client applications are tightly coupled to database systems (client/server), which imply that when changes occur in the database, those changes also have to be propagated to all connected clients. Another issue is that since several database engines may exist in the organization, in most cases relational databases, the integration may be a very difficult process. To overcome the above-mentioned problems, we propose a solution based on a middleware located between clients and database servers that provide both an abstraction layer and a unified view over a set of databases. The middleware is based in semantic Web technologies and uses a semantic global model specified in OWL. Interoperability with other systems/organizations is achieved providing the middleware services as Web Services. Therefore, our approach allows clients to be loosely coupled from the database servers, minimizing maintenance when changes occur.
Conference Paper
Full-text available
Colored Petri nets (CPNs) extend the classical Petri net formalism with data, time, and hierarchy. These extensions make it possible to model complex processes as CPNs without being forced to abstract from relevant aspects. Moreover, CPNs are supported by CPN tools – a powerful toolset that supports the design and analysis of such processes. The expressiveness of the CPN language enables different modeling approaches. Typically, the same process can be modeled in numerous ways. As a result, inexperienced modelers may create CPNs that are unnecessarily convoluted and bulky. Using a running example and a set of design patterns, we show how to solve typical design problems in terms of CPNs. By following these guidelines, it is possible to create succinct, but also comprehensible, models. In addition, we present some new features supported by CPN Tools 3.0 (e.g., priorities and real time stamps) and show how the software can be used for performance analysis (i.e., comparing design alternatives using simulation).
Article
Full-text available
Event-based communication is used in different domains including telecommunications, transportation, and business information systems to build scalable distributed systems. Such systems typically have stringent requirements for performance and scalability as they provide business and mission critical services. While the use of event-based communication enables loosely-coupled interactions between components and leads to improved system scalability, it makes it much harder for developers to estimate the system’s behavior and performance under load due to the decoupling of components and control flow. In this paper, we present our approach enabling the modeling and performance prediction of event-based systems at the architecture level. Applying a model-to-model transformation, our approach integrates platform-specific performance influences of the underlying middleware while enabling the use of different existing analytical and simulation-based prediction techniques. In summary, the contributions of this paper are: (1) the development of a meta-model for event-based communication at the architecture level, (2) a platform aware model-to-model transformation, and (3) a detailed evaluation of the applicability of our approach based on two representative real-world case studies. The results demonstrate the effectiveness, practicability and accuracy of the proposed modeling and prediction approach.
Book
Full-text available
A set of patterns describing the best ways to connect and integrate the Salesforce.com Cloud apps and Platform with other systems.
Conference Paper
Möglichst präzise und detailliert virtuell abzubilden, wie aus unterschiedlichsten Rohstoffen ein fertiges Produkt hergestellt wird, ist das Ziel des Produktplanungsprozesses. Um ihn ganzheitlich anzulegen, müssen viele verschiedene Faktoren beachtet werden. So muss das Wissen von Experten unterschiedlicher Disziplinen zusammengebracht werden und der Prozess selbst muss dynamisch und flexibel angelegt sein, um an wechselnde Anforderungen adaptiert werden zu können. Da im Produktplanungsprozess viele heterogene und als Insellösungen entwickelte Softwarewerkzeuge eingesetzt werden, die jedoch lediglich Teile der Produktion vorab virtualisieren, ist es für eine durchgängige Darstellung des Prozesses notwendig, diese zu verbinden, um langfristig wettbewerbsfähige Produkte zu planen und herzustellen. Am Beispiel des Herstellungsprozesses eines Stahlrohrs für eine Pipeline wird deutlich, wo die Probleme bei einer durchgängigen Abbildung liegen. So müssen z. B. Veränderungen der Form eines Bauteils mit Veränderungen in der Werkstoffstruktur in Verbindung gebracht werden. Dies kann mit Hilfe der Enterprise Application Integration (EAI) erfolgen. In diesem Beitrag wird ein auf EAI basierendes Datenintegrationswerkzeug vorgestellt, das die Verknüpfung heterogener Simulationen ermöglicht.
Article
Architecture design is an essential phase in software engineering. To effectively re-use pre-verified knowledge is critical for design high-quality architecture. Among several different approaches, architectural patterns are widely investigated as they capture the fundamental structural and behavioral principles of architecture design. Although a lot of patterns have already been defined, the application of patterns is still far from satisfaction because of lacking well-organized framework. In this paper, we introduce the IBM pattern for e-business, which provides a layered framework to organize e-business patterns and also a methodology to apply these patterns systematically across different phases of architecture design. We report a real case study of applying IBM pattern for e-business in designing a retail solution.
Chapter
Patterns describe proven solutions for recurring problems. Typically, patterns in a particular domain are interrelated and can be organized in pattern languages. As real-world problems often require to combine patterns of multiple domains, different pattern languages have to be considered to address these problems. However, cross-domain knowledge about how patterns of different pattern languages relate to each other is mostly hidden in individual pattern descriptions or not documented at all. This makes it difficult to identify relevant patterns across pattern languages. To address this challenge, we introduce pattern views (i) to document the set of related patterns for a certain problem across pattern languages and (ii) to make this knowledge about combinable patterns available to others. To demonstrate the practical feasibility of pattern views, we integrated support for the concept into our pattern toolchain, the Pattern Atlas.
Article
This paper assumes that messages are sent persistently, thus ensuring the greatest level of reliability. 06/21/02 10:49 AM 7 / 59 Copyright 2002, Bobby Woolf and International Business Machines Corp. Permission given to PLoP 2002 conference for reproduction
Permission given to PLoP 2002 conference for reproduction
  • Gregor Hohpe
Gregor Hohpe. Permission given to PLoP 2002 conference for reproduction.