Distributed Architectures for Process Component Support

Size: px
Start display at page:

Download "Distributed Architectures for Process Component Support"

Transcription

1 Distributed Architectures for Process Component Support Kevin A. Gary Electrical Engineering and Computer Science Department The Catholic University of America Washington, D.C Tim Lindquist Computer Science and Engineering Department Arizona State University Tempe, AZ ABSTRACT Component-based process support holds promise for building dynamic, interoperable, and reusable processes. We have espoused the benefits of this approach in other forums by presenting the Open Process Components Framework. Assuming one accepts component-based process support as a viable alternative, the question then becomes: how does one provide a distributed, scalable architecture for process components? We attempt to answer this problem by proposing a set of mechanisms for distributed, component architectures. We demonstrate the natural mapping of logically centralized components to distributed component implementations through the wrapping of a commercial-off-theshelf process tool. We hope that this paper sheds light not only on issues in component-based process architectures, but also contributes to the general discussion of how to build process architectures that scale in a widely distributed environment. Keywords: Process Component, Software Process, Tool Wrapping, Distributed Architectures. 1. INTRODUCTION Open Process Components (OPC) is a framework for supporting component encapsulations of the process space. Process fragments are encapsulated behind component boundaries which provide a uniform means of interacting with process information. We have presented the Open Process Components approach in other forums [5][6], and discuss the merits of this approach for providing interoperable and reusable process models. Our attention in this paper turns to the problem of supporting process components in a distributed, scalable fashion. How does one provide a distributed, scalable architecture for process components? How does such an architecture compare to reference architectures in the literature? We hope to show that process components naturally lend themselves to a distributed architecture. The next section will provide a brief overview of process components. Section 3 presents mechanisms for a distributed architecture for process components. Section 4 describes an implementation of process components in OPC that utilizes a Commercial off-the-shelf (COTS) process tool. 2. PROCESS COMPONENTS In order to discuss architectures for component-based process support, one must first understand what a process component is, and how the traditional activities of process modeling and enactment are performed in a componentbased environment. This section will briefly review the OPC framework. 2.1 Process Components OPC offers the following definitions: Process Component - a process component is an encapsulation of process information and behaviors at a given level of granularity. Component-based Process Model - a component-based process model is a collection of process components that interact in meaningful ways. A component-based process model is itself a process component. Component-based Process Enactment - componentbased process enactment refers to the creation of a component, the dynamic evolution of the component, its interaction with other process components, and its interaction with users and an environment in which the component is situated. It is important to note that our notion of a component differs from how others apply component-based software design to

2 process. Specifically, our approach is a componentization in the process model space, and is not a componentization of process-supporting architectures. In this sense, our approach is similar to the Pynode [1] and DartFlow [3] projects, but unlike the Oz [2] project. A process component is an encapsulation of process information and behaviors at a given level of granularity. The process information is expressed in whatever formalism or language is used to represent the semantics of the component. OPC separates this information three ways: process schema, process states and transitions, and process implementation (see Figure 1). The process schema defines a vocabulary for the component, identifying entities and relationships that have meaning for a particular component. OPC defines a minimal, extendable, common schema for components. Process state and transitions between states are represented as a finite-state machine. The set of process states and valid transitions are defined per component, with a common set of meta-states identified within OPC. The process implementation is the underlying representation of the component and the machinery which interprets this representation. This may be a petri net, a process programming language, or whatever other means are used to represent process semantics. It may also be a process tool that has been wrapped to provide the process implementation, as we will show in Section 4. The implementation is encapsulated within each component, so that components interact without requiring homogeneous representations. schema state implementation Meta-views FIGURE 1. A process component Definer Performer Observer Owner OPC s schema includes process Roles, which help bind process Agents to Processes. Traditional treatments of Roles assume a Role defines the set of performers of a process, and hence have a one-to-one relationship with a Process entity. In OPC, Process and Role entities engage in a one-tomany relationship, with each type of relationship referred to as a meta-role. This allows a separate Role to be identified for definition, enactment, ownership, or observation. Since there are different meta-roles which interact with a component, there are then different views of the process that a component exposes to each Role, called meta-views. For example, a process performer is a meta-role which is not allowed to interact to access the definition view of a component. 3. PROCESS COMPONENT ARCHITECTURE CONSIDERATIONS OPC encapsulates process information and behaviors within process components. A component does not act in isolation to carry out the process; instead it must interact with other components and the outside world. These interactions require a supporting architecture and communication mechanisms for interacting with components. This section provides a high-level overview of OPC s process component architecture. 3.1 Component Interaction Mechanisms An OPC process component supports three mechanisms for interaction: 1. Methods - a process component supports a standard set of methods derived from its process schema and process state transition graph. These methods define behaviors for modifying the process schema and the state transition graph, and enacting the process. 2. Messages - a process component can be sent a message requesting that the component change process state. OPC defines a message type and a message receiving method on a process component. When a component receives a message, it checks that the message is a request for a valid state transition, and if so, executes the transition. 3. Events - a process component generates and receives events. A component typically generates an event when its process state changes, or if its binding information changes. A process component with subprocesses typically receives events indicating when its subprocesses process states have changed. OPC provides a small number of standard event types and a rudimentary event service for components. Components and the supporting architecture make wide use of the event service and their own event types for arbitrary communication. 3.2 Process Component Contexts Process components are situated; at any given time a process component resides in some environment and interacts with that environment, and also with a meta-role and other process components. The situation a component is currently in is called the component s context (see Figure 2).

3 Component Repository: A process component repository FIGURE 3. OPC process component architecture FIGURE 2. Components and Contexts As shown in Figure 2, a component context is important in that it brings together the concepts of meta-roles, metaviews, and component environments. A component is situated in an environment, acted upon by a meta-role, and presents a meta-view of itself. Meta-roles, meta-views, and environments may be extended in arbitrary ways. For example, a meta-role Measurer can be added with the relationship is_measurer added to the process schema. A corresponding OPCMeasurerTool could be provided, and given a reference to an OPCMeasurerEnv. OPC provides a general interface on components for retrieving named tools of arbitrary types. There is not necessarily a one-to-one mapping between meta-roles, meta-views, and environments. There may be many Roles identified as performers or definers of a particular component. A component may also provide more than one performer tool or more than one definer tool. Similarly, more than one instance of a performer environment may exist in a given context. Finally, it is tempting, but incorrect, to think of an environment as a client-side tool like a Worklist Handler. As the next section shows, multiple environments may exist within a single container, and this container should be thought of a participating in a distributed peer architecture, where different architecture components host different process components at different times. 3.3 Architecture Support for Process Components In traditional process support systems, process models are defined in process definition tools, stored in process repositories, instantiated and interpreted by process engines, and linked to users via electronic to-do lists. These are essentially the architecture components described by the WfMC s Workflow Reference Model [7]. A component-based approach to process implies variations on this architecture. We discuss the notions of component repositories, component containers, and an event service in this section. is a logically centralized container of process components and domain-specific process information. The process component repository provides a persistent store of process component references. The repository provides locationtransparency for components by providing a way to reference named process components that may or may not be physically managed by the repository. The repository also manages references to domain-specific information, such as specific users (Agents), and data storage (Product) management facilities. Component Containers: Client programs interact with the repository, but not directly with components. As explained above, meta-roles interact with meta-views (tools) of a component in some environment. In order to interact with a component, the client program requests a meta-view for a named component from the repository, and provides the component with the proper environment reference. The component then interacts with the environment, and may also rely on the client application for presentation services. Therefore, a client program hosts components, and provides them with environment references so they can interact in the environment. Note there are two relationships involved here. One is a client-server relationship between the client program and the repository, the second is a peer-to-peer interaction between component meta-views and environments. A software application that hosts components is a component container. The process component repository is an example component container. An object (or objects) that has the ability to host components, present components tools, and provide components with appropriate environment references is a container. Component containers provide environment-independent information, such as temporary directories and presentation resources. Environment-dependent information is provided by the respective environments. Containers do not interact with components directly, and do not perform process-specific interactions with components. Therefore, OPC does not specify an interface for component containers. It is important conceptually however, to realize that a component is always logically contained somewhere 1.

4 Event Service: One of the communication mechanisms for a component is an event. An event may be generated by a process component to indicate a change in process state, a change in the component s schema (bindings), or a failure of the component to perform some operation. OPC does define a small number of commonly used events. Components are free to define other domain-specific events as they see fit. Events that are used to communicate information between two or more process components are referred to as process events. All events do not have to be process events. Events may be used to communicate between any objects in the OPC system. For example, the repository is typically interested in events having to do with schema modifications of the components it stores, so that it may update its set of references. A process component s meta-view tool registers interest in events that happen to the underlying component so that it may update its presentation of the component when the component s state changes. OPC defines a rudimentary third-party event service. The event service allows objects implementing a particular interface to register interest in events. Any object may generate an event, it simply notifies the event service when an event occurs. The event service then notifies registered objects interested in the type of event that the event has occurred. Several different middleware layers, such as CORBA, Microsoft s MAPI-WF, and Enterprise JavaBeans hold potential for realizing scalable component-supporting architectures. Our current implementation of OPC uses Java s RMI facility as the underlying distribution mechanism. Section 4 discusses an application of OPC on top of RMI. 4. EXAMPLE: WRAPPING PROCESS WEAVER This section presents a wrapping of the COTS process tool Process Weaver [4] from CapGemini. Process Weaver was wrapped using Java s RMI facility to provide an implementation for OPC process components. This shows an example of a logically centralized component whose actual implementation is distributed. 4.1 Process Weaver Process Weaver employs a modified petri net formalism for process modeling. Process models are specified as cooperative procedures, and work is presented to users in work contexts. Process Weaver is a distributed, client-server process support system. Distribution is supported by a message bus running over TCP/IP known as the Broadcast Message Server (BMS). Client and server tool components hook into the message bus to send and receive messages. The clientside also runs a separate BMS to support local communication between client-side tool components and third-party 1. Logically somewhere meaning not to imply applets, agents, or any other form of mobile code is mandatory. applications. The Process Weaver architecture is shown in Figure 4. Local Storage cpedit FIGURE 4. Process Weaver architecture Figure 4 shows the Process Weaver and User BMSs, client and server-side tool components, and repositories on both the client and server-sides. The Process Weaver BMS, CoShell interpreter server-side tool component, and Process Repository are relevant to the OPC wrapping of Process Weaver. The Process Weaver BMS is the primary vehicle for client-server and intra-server communications. The BMS defines asynchronous communication between tools. Process Weaver uses a proprietary scripting language called CoShell (for Cooperative Shell language). Process Weaver provides CoShell functions for USM file manipulation and for hooking into the BMS. USM (Universal Storage Mechanism) is a file format for storing process relevant information, including process models (cooperative procedures) and process instance presentations (work contexts). The OPC Process Weaver wrapper uses a CoShell interpreter process to interact directly with Process Weaver server tools. Process Weaver maintains a repository of process information using the Unix file system. Process information is stored in USM-formatted files under a predefined Unix directory tree. The Process Weaver wrapper makes use of the predefined directory structure to perform repository lookups. 4.2 OPC Wrapping of Process Weaver CLIENT P R O C E S S W E A V E R B M S Process Repository cp starter teh wcedit user tool U S E R B M S coshell interpreter clock agenda tracer SERVER The OPC to Process Weaver wrapping architecture is shown in Figure 5. The wrapper exposes Process Weaver through an RMI interface, PWService. PWService defines methods for listing cooperative procedure models and instances, creating cooperative procedure instances, changing the process state of a cooperative procedure instance, retrieving a cooperative procedure or work context, and updating a work context. Process components, process component metaviews, and the OPC process component repository all invoke methods on this service. aim cp interpreter

5 The object model of the server-side implementation of PWService is shown in Figure 6. The RMI server implementation object, RMIServiceImpl, delegates service requests to a PWOPCWrapper object. Requests requiring a CoShell function invocation are in turn delegated to a PWCoShellWrapper object. A PWCoShellWrapper object OPC Repository listings, creation implementation <<Interface>> PWService meta-views R M I <<Interface>> PWService coshell interpreter B M S Process Weaver Repository USM USM USM CLIENT SERVER FIGURE 5. OPC Process Weaver wrapper architecture maintains a Java Process object running a coshell interpreter. The input and output streams of the system process are used to invoke CoShell routines in the interpreter and receive results. Remote UnicastRemoteObject <<Interface>> PW Service RMI interface Process p = Runtime.get Runtime().exec("coshell"); PWServiceImpl delegates PW OPCW rapper coshell_calls PWCoShellWrapper Process FIGURE 6. Process Weaver RMI service object model

6 OPC encapsulates USM files behind object interfaces, and uses these objects for both presentation and process data integration. These interfaces are defined as the Java classes CPObject and WCObject, for cooperative procedures and work contexts respectively. Presentation of cooperative procedures and work contexts is done through CPTool and WCTool objects respectively. A CPTool (WCTool) takes a CPObject (WCObject) in its constructor, and creates a presentation of the cooperative procedure (work context) as a Java panel 1. CPTool and WCTool serve as the basis for Process Weaver Representation Layer specific Observer and Performer meta-view tools respectively. Figure 7 shows the object model relationships between CPObject, WCObject, CPTool, WCTool, and the OPC meta-views (the tool interfaces). 1. Specifically, a Java Swing JPanel. CPTool and WCTool derive from JPanel in the current implementation. OPCTool OP CP roces s Perfo rm ertool OPCProcessObserverTool OPCProcessDefinitionTool OPCProcessOwnerTool PW PerformerTool PW ObserverTool PW DefinerTool PW OwnerTool shows_wctx s ho ws_ cp shows_cp shows_cp WCTool uses_u SM_wrapper W CObject CPTool uses_usm_wrapper CPObject FIGURE 7. Process Weaver meta-views object model The Process Weaver wrapper implementation gets quite involved due to the lack of a high-level API in a widelyused programming language (CoShell does not qualify), the lookup of repository information using predefined (hardcoded) Unix directories, the need to parse and modify USM files, the need to interface with the BMS, and the asynchronous nature of the BMS. The ability to wrap Process Weaver, or any process tool in OPC, is a function of the tool itself, not by the process of componentization. This is because a component must still access an underlying implementation, and that implementation, if provided by a process tool, is accessed by whatever means the tool makes available. Despite the complexity of wrapping Process Weaver, conceptually the important point remains that the component implementations are provided by a distributed service by a COTS process tool, and that the details of these implementations are transparent to the end user through componentization in OPC. 5. REFERENCES [1.] Avrilionis, D., Belkhatir, N., and Cunin, P. A Unified Framework for Software Process Enactment and Improvement. Proceedings of the Fourth International Conference on the Software Process (ICSP4). December [2.] Ben-Shaul, I. and Kaiser, G. An Interoperability Model for Process-Centered Software Engineering Environments and its Implementation in Oz. Technical Report CUCS , Computer Science Department, Columbia University [3.] Cai, T., Gloor, P.A. and Nog, S. DartFlow: A Workflow Management System on the Web Using Transportable Agents. Technical Report PCS-TR96-283, Dept. of Computer Science, Dartmouth University [4.] Cap Gemini Sogeti. Process Weaver Reference Manual, Version [5.] Gary, K., Lindquist, T., Sauer, L., and Koehnemann, H., Automated Process Support for Organizational and Personal Processes. Proceedings of the International ACM SIGGROUP Conference on Supporting Group Work (Group97), pp November [6.] Gary, K., Lindquist, T., and Koehnemann, H. Component-based Process Modeling. Proceedings of the

7 13th International Conference on Automated Software Engineering, IEEE Computer Society, Honolulu, Hawaii. November [7.] The Workflow Management Coalition. The Reference Model. WfMC Document Number TC , January 1995.

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

Lesson 3 SOAP message structure

Lesson 3 SOAP message structure Lesson 3 SOAP message structure Service Oriented Architectures Security Module 1 - Basic technologies Unit 2 SOAP Ernesto Damiani Università di Milano SOAP structure (1) SOAP message = SOAP envelope Envelope

More information

Implementation Issues on OHS-based Workflow Services

Implementation Issues on OHS-based Workflow Services Implementation Issues on OHS-based Workflow Services Abstract Weigang Wang and Jörg M. Haake GMD - German National Research Center for Information Technology IPSI - Publication and Information Systems

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

Context-Awareness and Adaptation in Distributed Event-Based Systems

Context-Awareness and Adaptation in Distributed Event-Based Systems Context-Awareness and Adaptation in Distributed Event-Based Systems Eduardo S. Barrenechea, Paulo S. C. Alencar, Rolando Blanco, Don Cowan David R. Cheriton School of Computer Science University of Waterloo

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

A Distributed Environment for Enabling Lightweight Flexible Workflows

A Distributed Environment for Enabling Lightweight Flexible Workflows A Distributed Environment for Enabling Lightweight Flexible Workflows Wonhee Sull Microelectronics and Computer Technology Corporation (MCC) Austin, Texas, USA sull@mcccom Abstract As evident in the healthcare

More information

INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL

INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL Zhengli Zhai 1,2 1 Department of Computer Science and Technology, Tongji University, China zhaizhl@163.com 2 Computer Engineering

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

A Technical Comparison of XPDL, BPML and BPEL4WS

A Technical Comparison of XPDL, BPML and BPEL4WS A Technical Comparison of XPDL, BPML and BPEL4WS Robert Shapiro 1 Introduction XML-based business process languages represent a new approach to expressing abstract and executable processes that address

More information

N-Tiered Enterprise Styles. Example 1. Key Concepts. Component-Based Software Engineering. ECE493-Topic 4 Winter 2006

N-Tiered Enterprise Styles. Example 1. Key Concepts. Component-Based Software Engineering. ECE493-Topic 4 Winter 2006 Component-Based Software Engineering ECE493-Topic 4 Winter 2006 Lecture 14 Enterprise Styles/Patterns (Part B) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo N-Tiered

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Managing Application Configuration Data with CIM

Managing Application Configuration Data with CIM Managing Application Configuration Data with CIM Viktor Mihajlovski IBM Linux Technology Center, Systems Management Introduction The configuration of software, regardless whether

More information

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management Second OMG Workshop on Web Services Modeling Easy Development of Scalable Web Services Based on Model-Driven Process Management 88 solutions Chief Technology Officer 2003 Outline! Introduction to Web Services!

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns. Heiko Ludwig, Charles Petrie

Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns. Heiko Ludwig, Charles Petrie Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns Heiko Ludwig, Charles Petrie Participants of the Core Group Monika Kazcmarek, University of Poznan Michael Klein, Universität

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal

More information

Distribution and Integration Technologies

Distribution and Integration Technologies Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1 Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets:

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

Chapter 2 Distributed Information Systems Architecture

Chapter 2 Distributed Information Systems Architecture Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

P-NET Management with Java based Components

P-NET Management with Java based Components P-NET Management with based Components Martin Wollschlaeger Abstract The introduction of based software components is a challenge for developers and users of fieldbus products. The paper shows concepts,

More information

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010 Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights

More information

FIPA Agent Software Integration Specification

FIPA Agent Software Integration Specification FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Software Integration Specification Document title FIPA Agent Software Integration Specification Document number XC00079A Document source FIPA Architecture

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

The Architecture of Federations From Process to Software

The Architecture of Federations From Process to Software The Architecture of Federations From Process to Software (Position Paper) First Working IFIP Conference on Software Architecture 22-24 February 1999, San Antonio, TX, USA J. Estublier, Y. Ledru, P.Y. Cunin

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

Lesson 5 Web Service Interface Definition (Part II)

Lesson 5 Web Service Interface Definition (Part II) Lesson 5 Web Service Interface Definition (Part II) Service Oriented Architectures Security Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Controlling the style (1) The

More information

presentation DAD Distributed Applications Development Cristian Toma

presentation DAD Distributed Applications Development Cristian Toma Lecture 12 S4 - Core Distributed Middleware Programming in JEE Distributed Development of Business Logic Layer presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department

More information

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING Güray YILMAZ 1 and Nadia ERDOĞAN 2 1 Dept. of Computer Engineering, Air Force Academy, 34807 Yeşilyurt, İstanbul, Turkey 2 Dept. of

More information

Work groups meeting 3

Work groups meeting 3 Work groups meeting 3 INF5040 (Open Distributed Systems) Sabita Maharjan sabita@simula.no Department of Informatics University of Oslo September 07, 2009 Design Patterns J2EE Design Patterns Outline EIS

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

MPEG-21: The 21st Century Multimedia Framework

MPEG-21: The 21st Century Multimedia Framework MPEG-21: The 21st Century Multimedia Framework Jan Bormans, Jean Gelissen, and Andrew Perkis IEEE Signal Processing Magazine, March 2003 Outline Context and motivation of MPEG-21 An overview of MPEG-21

More information

Experiences in the management of an EJB-based e- commerce application. Abstract

Experiences in the management of an EJB-based e- commerce application. Abstract Experiences in the management of an EJB-based e- commerce application Juan I. Asensio, Víctor A. Villagrá, Jorge E. López de Vergara, Roney Pignaton, Julio J. Berrocal. Department of Telematic Systems

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges

More information

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4 EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen Project Reports Java- and CORBA-Based Network Management Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen Nokia Research Center Nokia developed the Distributed Computing Platform prototype to support

More information

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common

More information

Synopsis by: Stephen Roberts, GMU CS 895, Spring 2013

Synopsis by: Stephen Roberts, GMU CS 895, Spring 2013 Using Components for Architecture-Based Management The Self-Repair case Sylvain Sicard Université Joseph Fourier, Grenoble, France, Fabienne Boyer Université Joseph Fourier, Grenoble, France, Noel De Palma

More information

Chapter 16. Layering a computing infrastructure

Chapter 16. Layering a computing infrastructure : Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use

More information

Executing Evaluations over Semantic Technologies using the SEALS Platform

Executing Evaluations over Semantic Technologies using the SEALS Platform Executing Evaluations over Semantic Technologies using the SEALS Platform Miguel Esteban-Gutiérrez, Raúl García-Castro, Asunción Gómez-Pérez Ontology Engineering Group, Departamento de Inteligencia Artificial.

More information

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics. Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined

More information

Software Design COSC 4353/6353 DR. RAJ SINGH

Software Design COSC 4353/6353 DR. RAJ SINGH Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications

More information

Advanced Lectures on knowledge Engineering

Advanced Lectures on knowledge Engineering TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

CHAPTER 2. Introduction to Middleware Technologies

CHAPTER 2. Introduction to Middleware Technologies CHAPTER 2. Introduction to Middleware Technologies What is Middleware? General Middleware Service Specific Middleware Client/Server Building blocks RPC Messaging Peer to Peer Java RMI. BHUSHAN JADHAV 1

More information

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Design Patterns What are design patterns? Why design patterns? Example DP Types Toolkit, Framework, and Design Pattern A toolkit is a library of reusable

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and

More information

Hospitality Industry Technology Integration Standards Glossary of Terminology

Hospitality Industry Technology Integration Standards Glossary of Terminology Hospitality Industry Technology Integration Standards Glossary of Terminology Abstract Class Account API Application Architecture Association Attribute Bandwidth Base Class Behavior Binding Blind Post

More information

The B-Fabric Life Sciences Data Management System (Extended Abstract)

The B-Fabric Life Sciences Data Management System (Extended Abstract) The B-Fabric Life Sciences Data Management System (Extended Abstract) Can Türker Dieter Joho Fuat Akal Christian Panse Simon Barkow-Oesterreicher Hubert Rehrauer Ralph Schlapbach Functional Genomics Center

More information

Bull. HACMP 4.4 Programming Locking Applications AIX ORDER REFERENCE 86 A2 59KX 02

Bull. HACMP 4.4 Programming Locking Applications AIX ORDER REFERENCE 86 A2 59KX 02 Bull HACMP 4.4 Programming Locking Applications AIX ORDER REFERENCE 86 A2 59KX 02 Bull HACMP 4.4 Programming Locking Applications AIX Software August 2000 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008

More information

Enterprise Java and Rational Rose -- Part I

Enterprise Java and Rational Rose -- Part I Enterprise Java and Rational Rose -- Part I by Khawar Ahmed Technical Marketing Engineer Rational Software Loïc Julien Software Engineer Rational Software "We believe that the Enterprise JavaBeans component

More information

Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD

Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD PASSIVE CORBA FAULT TOLERANCE All clients send method invocations only

More information

Middleware Mediated Transactions & Conditional Messaging

Middleware Mediated Transactions & Conditional Messaging Middleware Mediated Transactions & Conditional Messaging Expert Topic Report ECE1770 Spring 2003 Submitted by: Tim Chen John C Wu To: Prof Jacobsen Date: Apr 06, 2003 Electrical and Computer Engineering

More information

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure

More information

Chapter 18. Software Reuse

Chapter 18. Software Reuse Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some

More information

Aspect-Based Workflow Evolution

Aspect-Based Workflow Evolution Aspect-Based Workflow Evolution Boris Bachmendo and Rainer Unland Department of Mathematics and Computer Science University of Essen, D - 45117 Essen {bachmendo, unlandr}@cs.uni-essen.de Abstract. In this

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE UDC:681.324 Review paper METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE Alma Butkovi Tomac Nagravision Kudelski group, Cheseaux / Lausanne alma.butkovictomac@nagra.com Dražen Tomac Cambridge Technology

More information

On Performance of Enterprise JavaBeans

On Performance of Enterprise JavaBeans On Performance of Enterprise JavaBeans Radek Pospíšil, Marek Procházka, Vladimír Mencl 1 Abstract Enterprise JavaBeans (EJB) is a new-sprung technology for Java-based distributed software components. During

More information

Workshop on Web of Services for Enterprise Computing

Workshop on Web of Services for Enterprise Computing Workshop on Web of Services for Enterprise Computing Fujitsu Submission v0.2 Authors: Jacques Durand Tom Rutt Hamid BenMalek Acknowledgements: Masahiko Narita Paul A. Knapp 1. The Great Divide The fundamental

More information

A Tutorial on The Jini Technology

A Tutorial on The Jini Technology A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on The Jini Technology Lian Chen Introduction Jini network technology provides a simple

More information

Internet Management Overview

Internet Management Overview Internet Management Overview Based on the Manager-Agent Model Initially SNMPv1 (1990), SNMPv2 1996 Managed Objects similar to OSI attributes, specified through ASN.1 Macros the SNMP Structure of Management

More information

Transaction Management in EJBs: Better Separation of Concerns With AOP

Transaction Management in EJBs: Better Separation of Concerns With AOP Transaction Management in EJBs: Better Separation of Concerns With AOP Johan Fabry Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium Johan.Fabry@vub.ac.be March 8, 2004 1 Introduction The long-term

More information

Lecture 5: Object Interaction: RMI and RPC

Lecture 5: Object Interaction: RMI and RPC 06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket

More information

Topics on Web Services COMP6017

Topics on Web Services COMP6017 Topics on Web Services COMP6017 Dr Nicholas Gibbins nmg@ecs.soton.ac.uk 2013-2014 Module Aims Introduce you to service oriented architectures Introduce you to both traditional and RESTful Web Services

More information

Distributed Composite Objects: A New Object Model for Cooperative Applications

Distributed Composite Objects: A New Object Model for Cooperative Applications Distributed Composite Objects: A New Object Model for Cooperative Applications Guray Yilmaz 1, Nadia Erdogan 2 1 Turkish Air Force Academy, Computer Eng. Dept., Yeşilyurt, 34149 İstanbul, Turkey g.yilmaz@hho.edu.tr

More information

Mohsin Qasim Syed Abbas Ali

Mohsin Qasim Syed Abbas Ali 2005-5-18 Final version Table of Content 1 -Introduction to CORBA...3 1.1 Overview...3 1.2 Why is CORBA important in a networked environment?... 4 1.3 HOW DOES CORBA WORKS?...4 1.4 CORBA Architecture...

More information

Patterns Architectural Styles Archetypes

Patterns Architectural Styles Archetypes Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine

More information

Using Tcl Mobile Agents for Monitoring Distributed Computations

Using Tcl Mobile Agents for Monitoring Distributed Computations Using Tcl Mobile Agents for Monitoring Distributed Computations Dilyana Staneva, Emil Atanasov Abstract: Agents, integrating code and data mobility, can be used as building blocks for structuring distributed

More information

FIPA Agent Management Support for Mobility Specification

FIPA Agent Management Support for Mobility Specification 1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Management Support for Mobility Specification 7 8 Document title FIPA Management Support for Mobility Specification Document number PC000087B

More information

Requirements for TINA Platform towards Information Sharing Business. Long-term Trend of Telephone Business

Requirements for TINA Platform towards Information Sharing Business. Long-term Trend of Telephone Business TINA 99 Hawaii, USA: DPE Workshop 1 Requirements for TINA Platform towards Information Sharing Business April 12 1999 KITAMI, Kenichi NTT Information Sharing Laboratory Group Long-term Trend of Telephone

More information

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.

More information

Software Architecture

Software Architecture Software Architecture Lecture 6 Event Systems Rob Pettit George Mason University SWE 443 Software Architecture Event Systems 1 previously data flow and call-return styles data flow batch sequential dataflow

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information