Software Architectural Modeling of the CORBA Object Transaction Service
|
|
- Tamsin Webb
- 5 years ago
- Views:
Transcription
1 Software Architectural Modeling of the CORBA Transaction Service Susanne Busse Fraunhofer ISST Mollstr. 1 D Berlin, Germany Susanne.Busse@isst.fhg.de Stefan Tai Technische Universität Berlin Sekr. E-N 7, Einsteinufer 17 D Berlin, Germany stai@cs.tu-berlin.de Abstract The OMG s Transaction Service (OTS) is an important CORBAService that provides transaction processing facilities on top of object request broker technology. With the OTS, specific interfaces and interaction models are introduced that intrinsically impact the design of single components and of component configurations that are to participate in transactional computation. In this paper, we argue to record impacts as introduced by the OTS as distinct abstractions of design, and propose a software architectural approach to software system representation. We present a pattern-like connector abstraction for one processing model of the OTS, and discuss its use for modeling CORBA applications that interface the OTS. Using our concepts of connector and component abstractions, a vocabulary of design can be established, and design rationales for introducing component features can be well recorded, supporting continuous development of ORB-based systems. 1. Introduction The Management Group s (OMG) Common Request Broker Architecture (CORBA) [5] specifies a standard technology that aims to facilitate the integration of diverse software components in distributed, heterogeneous environments [13]. CORBA is a constituent part of the OMG s Management Architecture (OMA) [4], a reference model for distributed, integrated object systems that complements the CORBA specification with generalpurpose object services the CORBAServices [6], and with domain-specific facilities. Among the CORBAServices are services for naming, events, or trading support, and the Transaction Service (OTS) for building transactional applications in CORBA environments. The OTS builds on the notion of transactions as employed in database management systems and Transaction Processing (TP) monitors of client-server systems. The concept of transactions supports the development of reliable (distributed) applications which require concurrent access to shared data. Transactions are characterized by the ACID properties atomicity, consistency, isolation, and durability [2], and these transactional properties must be guaranteed to all programs that run under the control of the transaction monitor. The OTS can be considered a TP monitor concept that is based on ORB technology, as has been adverted a major trend for next generation transaction processing [8]. The OTS, like other CORBAServices, defines standard required interfaces and interaction models for cooperating objects, and so introduces kinds of interconnection and interoperation patterns for software system design. These patterns exist both on the coding level of design, and on the software architecture level of design. Abstracting and understanding patterns (and pattern scales) that originate from, or are specific to systems built using object request broker technology, has been subject in a number of studies [14], [3]. In order to express software architectural patterns for ORB-based systems, however, dedicated modeling techniques are missing. Common traditional (object-oriented) modeling languages and notations have several shortcomings to representing ORB-based software system structures, as they typically structure designs around low-level programming language units like classes. As has been argued for in the research area of software architecture [9], software modeling techniques for the abstract representation of system-level structural concerns are needed. In this paper, we describe an approach to software architectural modeling of complex component compositions in ORB-based systems that are built using object services like the OTS. We argue for representing interconnection and interoperation patterns of ORB-based software infrastructure as distinct abstractions of design. We present a connector abstraction for the CORBA Transaction Service that captures one processing model of the OTS as a pattern to support modeling of applications that interface the OTS.
2 Our concept and understanding of connectors is embedded in a conceptual model for software architectural representation of integrated object systems [10], [12]. 2. The CORBA Transaction Service The OTS [6], [1] supports a nested transaction model, where a transaction may recursively spawn any number of subtransactions. The scope of a transaction is represented by a transaction context that is shared between all objects that are involved in the transaction. The transaction context can either be implicitly transmitted to all transactional participants by the ORB, or explicitly passed as a parameter of a request. The two modes of the OTS are therefore referred to as implicit and explicit. The OTS also distinguishes two modes of client-side transaction context management: indirect management via the use of a (local) pseudo object called Current, ordirect management via the use of the transaction context objects: the Control, Coordinator, and Terminator objects. The OTS correspondingly provides a number of interfaces that are used in either combination of implicit and explicit, and indirect and direct transaction processing. We will refer to and present interfaces for indirect transaction processing in more detail in the following section 3.0. An overview of the OTS can be described as follows: Transaction creation and beginning is supported by the Current and the TransactionFactory interfaces. A client typically uses one of these according to the processing mode chosen. Transaction management is supported by the Control interface that provides operations to return the respective Coordinator object and Terminator object for a specific transaction. The Coordinator object provides a number of operations for creating subtransactions, relating transactions, querying about the status of transactions, or for registering resources (persistent data that is affected by the transaction). The interface comprises operations similar to the X/Open XA interface for driving the twophase commit protocol (like prepare, rollback, or commit). These operations are called by the transaction management objects of the OTS. Alternatively, the OTS supports XA interoperability and can make use of transactional facilities of a database management system via the database s XA interface. A client can roll back or commit (terminate) a transaction by using the Current interface (in indirect management), or the Terminator interface (in direct management). Other interfaces of the OTS include the SubtransactionAware interface providing operations for committing or rolling back subtransactions (invoked by the OTS), and the empty Transactional interface that must be inherited by all objects that participate in implicit transaction context propagation. 3. Connector Indirect Transaction Processing This section presents the connector Indirect Transaction Processing as a pattern-oriented abstraction for software architectural modeling of CORBA applications that interface the OTS. The concept of connectors as proposed in [11] is here exemplified to describe component interdependencies of indirect processing for flat transactions using role abstractions, role interfaces, and interaction protocols Roles Roles represent the participants in the collaboration. Role abstractions serve for modeling collaboration responsibilities independent of specific components. Roles will be played by specific components when instantiating the connector (as in our modeling example, subsection 3.4). As roles abstract behavioral responsibilities (provided and/or required services), roles may be derived from other roles to incrementally define additional behavior. Note that we use specialization of roles exclusively to add behavior by leaving all inherited role behavior unchanged. For indirect transaction processing, the following roles exist: // Transactional client: any program invoking transactional // operations. TClient, // Transactional client that begins the transaction. TOriginator :TClient, // Transactional object: any object involved in the transaction. T, // Transactional object using implicit transaction propagation. ImplicitT :T, // Transactional object using explicit transaction propagation. ExplicitT :T, // Recoverable object Recoverable :T // object R, // Transaction context manager TManager. Figure 1. Roles
3 The OTS uses the term recoverable object to refer to transactional objects that have data that needs to be committed or rolled back when terminating the transaction. In our connector abstraction, a recoverable object is a transactional object with an associated resource object that represents the recoverable object s data Role Interfaces Role interfaces contain service specifications for a specific role, i.e. describe the externally visible behavior of the role. Role interfaces may be expressed using an interface definition language like OMG IDL. A role provides zero, one, or multiple role interfaces. // T interfaces T.Transactional { // ImplicitT interfaces ImplicitT.<SomeInterface>:Transactional { <t_operation()>; // ExplicitT interfaces ExplicitT.<SomeInterface> { <t_operation(arg, in Control c)>; // R interfaces R. { Vote prepare(); void rollback(); void commit(); void commit_one_phase(); void forget(); // TManager interfaces TManager.Current { void begin(); void commit(in boolean report_heuristics); void rollback(); Control get_control();... TManager.Control { Terminator.get_terminator(); Coordinator get_coordinator(); TManager.Terminator { void commit(in boolean report_heuristics); void rollback(); TManager.Coordinator { RecoveryCoordinator register_resource(in r);... TManager.RecoveryCoordinator { Status replay_completion(in r); Figure 2. Role Interfaces The role interfaces of our connector (Fig. 2) correspond to the IDL interfaces defined in the transaction service specification, module CosTransactions [6]. Between the roles and other role s interfaces, different directed usage relationships exist. These are described in Fig. 3. The semantics of the usage relationships is that a component playing a specific role has at one point of time knowledge of another role s interface and uses it. There is no information given about whether a role uses interfaces in a certain order or in certain states of the collaboration. For clarity, the figure also describes the role specialization relationships. TClient TOriginator Current 3.3. Interactions TManager <SomeInterface> Control Terminator Coordinator Recovery Coord. Implicit T {complete} T Recoverable <SomeInterface> Explicit T Figure 3. Role Interface Usage R Interaction protocols describe actions and orders of actions for the collaboration along with pre- and postconditions to be considered. They describe behavioral aspects of the collaboration for multiple participating roles. Our connector abstraction describes Transaction Initialization, Implicit and Explicit Transaction Propagation, Registration, and Transaction Termination by means of interaction protocols (Fig. 4). We use the UML notation of generic sequence diagrams [7] to describe role interactions. The preconditions specified for an interaction can be fulfilled using other interaction protocols. For example, the interaction Transaction Initialization serves for the precondition of the interaction Transaction Propagation. A typical transaction processing scenario is a sequence of transaction initialization, several transaction propagations and resource registrations, and transaction termination Modeling Example In the following, we provide a small example that illustrates software architectural modeling with the connector Indirect Transaction Processing. The example demonstrates use and impact of applying the OTS to a specific domain-oriented component composition. The modeling
4 Transaction Initialization A pseudo object supporting the Current interface is local to TOriginator. A transaction context is created and automatically associated with the client s thread. Registration An invocation has arrived at a recoverable object (with implicit or explicit transaction propagation). The recoverable object knows the control object of the transaction. A object is created and registered. :TOriginator :Recoverable Current::begin() robj:r Implicit Transaction Propagation Transaction has been initialized. The transaction context is associated with the ImplicitT s thread. :TClient <SomeInterface>:: <t_operation()> :Implicit T Control::get_coordinator() Coordinator:: register_resource(robj) Transaction Termination // Note, that an implemention of the transaction service may // permit that other TClient objects than the TOriginator terminate // the transaction. Transaction has been initialized. All functions that are executed within the scope of the transaction are either committed, or rolled back. Explicit Transaction Propagation Transaction has been initialized. The transaction context is associated with the ExplicitT s thread. :TOriginator [T nok] [T ok] Current:: rollback() :: rollback() :R * :TClient Current:: get_control() :Explicit T Current:: commit(false) vote :: prepare() ctrl_ref <SomeInterface>:: <t_operation(arg,ctrl_ref)> twophase commit protocol [votes ok] [votes nok] :: commit() :: rollback() Figure 4. Interaction Protocols example consists of descriptions of specific components,an abstract architecture, and a concrete architecture. Components. Components model computational entities of the system and are for our purposes defined as abstractions of systems of related programming objects that are encapsulated by ORB-level interfaces. Component descriptions are structured into three different parts: Interface specifications group all ORB-level interfaces of the component. Interfaces are expressed using an interface definition language like OMG IDL. The coding level design of the component is expressed using class modeling. The public classes describe the programming level entry-points for the component (Representation-Map), the non-public classes describe the internal component realization (Representation). Our simple example scenario concerns transactional money transfering between different banking accounts. Fig. 5 depicts a domain-oriented component abstraction of a bank. The bank component comprises the two IDL interfaces and, the respective programming level classes, and classes that implement the component functionality. The interface offers operations for creating and deleting accounts (as an factory), the interface is an abstraction of an account to deposit money onto, or to withdraw money from. Abstract Architecture Using Connectors. The connector Indirect Transaction Processing can now be used to model the abstract architecture of a component collaboration. Specific components are related on an abstract level of
5 _1 Interface Specifications _1 // OMG IDL interface { exception InvalidValue { float value; Transactional BOAImpl _i 1 1..* main() BOAImpl _i void Deposit (in float amount) raises (InvalidValue); void Withdraw(in float amount) raises (InvalidValue); Representation-Map // C++ class InvalidValue : public CORBA::UserException { class : CORBA:: { virtual void Deposit (CORBA::Float amount, ) virtual void Withdraw(CORBA::Float amount, ) Representation Figure 5. Component, Domain Abstraction Client TOriginator ImplicitT Recoverable R _1 Indirect Transaction Processing _2 TManager OTS_Implementation ImplicitT Recoverable R Transactional <class model of representation> // C++ class : CosTransactions::Transactional, CosTransactions:: { virtual CosTransactions::Vote prepare () virtual void rollback () virtual void commit () virtual void Deposit (CORBA::Float amount, ) virtual void Withdraw(CORBA::Float amount, ) Figure 7. Component, OTS Collaboration View example. The concrete architecture comprises component abstractions only and exhibits the internal structure and interconnections of the multiple components involved. The scheme serves as an abstraction over component programming structure using a uniform component model. Fig. 8 depicts only one bank component for reasons of brevity (another bank component may have the same or a completely different internal representation structure and external services). 4. Conclusions and Discussion Figure 6. Component Collaboration, Abstract Architecture software system representation by means of the connector: the roles of the connector are assigned to specific components to indicate that these components interoperate according to the interfaces and interaction protocols as specified in the connector. Fig. 6 depicts the abstract architecture for our example using the OTS connector. This component collaboration describes the application of the indirect OTS processing model for two (different) bank components, a banking client, and a component that implements the OTS. Concrete Architecture. The impact of adapting the OTS, i. e. of transactionalizing CORBA components, is illustrated for the specific component 1 in Fig. 7. The component now has additional interfaces and objects that exist because of transaction processing rationale. The bank component is in role Recoverable of the connector, as it manages account objects that are in role of. Fig. 8 shows the concrete architecture for our modeling In this paper, we proposed the concept of connectors as pattern-oriented abstractions for software architectural modeling of distributed integrated object systems. We introduced the connector Indirect Transaction Processing that captures one processing model of the CORBA Transaction Service, and illustrated the use of the connector for modeling component compositions. Using connectors like Indirect Transaction Processing, complex component interconnections and interoperations that result of software technological rationale can be well abstracted and described in software system design. Connectors particularly serve for describing component-level patterns, which appear inherently in CORBA-based systems, especially when regarding the OMG s common object service specifications (CORBAServices). Connectors abstract from specific components, but provide expressive capabilites for modeling component interdependencies, as shown in this paper. Connectors are an abstraction concept symmetrical to components. Our structured component descriptions relate well to today s component implementation technologies as represented by object request brokers: Interface and implementation abstractions are separated, and interfaces of the component (on the system-level) are distinguished from
6 Client _1 References <IDL Component Interfaces> <Client Public Classes> main() Current Control Coordinator Control Current OTS Coordinator BOAImpl _i <IDL Component Interfaces> Transactional 1 RecoveryCoord. 1..* main() Terminator Recovery Coordinator <OTS implementation> Terminator BOAImpl _i Figure 8. Component Collaboration, Concrete Architecture the programming level interfaces that realize the component s services. Different views on a component can be expressed, focusing on domain-specific functionalities in one view, or focusing on collaboration-specific component features in another. Component views result from different connector adaptations (role implementations). This describes design rationales for having introduced certain system-level interfaces, or internal design structures of a component. Such information is of high importance for future system modifications (component change and exchange), as domain functionalities and interconnection mechanisms of software infrastructure have been separatedly described and motivated. We have concentrated in this paper on the indirect processing model of the OTS for flat transactions. Other OTS connectors can be defined for the direct model of transaction context management, for nested transactions (using the interfaces SubtransactionAware and Coordinator), or for transaction processing using native DBMS support (X/Open XA interfaces). This is subject to future work, as well as defining OTS connectors for more specialized design problems like object caching in transactional CORBA environments. [1] E. Grasso. Implementing interposition in corba object transaction service. In Proc. First International Enterprise Distributed Computing Workshop. IEEE, [2] J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, [3] T. Mowbray and R. Malveau. CORBA Design Patterns. Addison-Wesley, [4] OMG. Management Architecture Guide, Rev 2.0, OMG TC Doc Number , [5] OMG. The Common Request Broker: Architecture and Specification, Rev 2.0, [6] OMG. CORBAServices: Common Services Specification, Rev 2.0, OMG TC Doc Number , [7] OMG. Unified Modeling Language, Version 1.1, [8] R. Orfali, D. Harkey, and J. Edwards. The Essential Distributed s Survival Guide. Wiley, [9] M. Shaw and D. Garlan. Software Architecture Perspectives on an Emerging Discipline. Prentice Hall, [10] S. Tai. abstractions in the design of corba systems for air traffic control simulation. Technical Report 27/96, EUROCONTROL Experimental Centre, [11] S. Tai. A connector model for object-oriented component integration. In Proc. ICSE-98 Intl. Workshop on Component-Based Software Engineering, [12] S. Tai and S. Busse. Connectors for modeling object relations in corba-based systems. In Proc. 24th Intl. Conference on the Technology of -Oriented Languages and Systems. IEEE, [13] S. Vinoski. Corba: Integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine, 14(2), February [14] K. Wallnau, N. Weiderman, and L. Northrop. Distributed object technology with corba and java: Key concepts and implications. Technical Report CMU/SEI-97-TR-004, Carnegie Mellon University, 1997.
CORBA Object Transaction Service
CORBA Object Transaction Service Telcordia Contact: Paolo Missier paolo@research.telcordia.com +1 (973) 829 4644 March 29th, 1999 An SAIC Company Telcordia Technologies Proprietary Internal Use Only This
More informationMiddleware and Distributed Systems. Transactions. Martin v. Löwis
Middleware and Distributed Systems Transactions Martin v. Löwis Terminology Financial Transaction (purchase, loan, mortgage,...) Database Transaction: unit of interaction between a process and a relational
More informationDesign of Object Caching in a CORBA OTM System
Design of Object Caching in a CORBA OTM System Thomas Sandholm 1,StefanTai 2, Dirk Slama 1,andEamonWalshe 1 1 IONA Technologies plc The IONA Building, Shelbourne Road, Dublin 4, Ireland {tsndhlm, dslama,
More informationThe Object Model Overview. Contents. Section Title
The Object Model 1 This chapter describes the concrete object model that underlies the CORBA architecture. The model is derived from the abstract Core Object Model defined by the Object Management Group
More information3C03 Concurrency: Distributed Transactions
3C03 Concurrency: Distributed Transactions Wolfgang Emmerich 1 Outline Roles in Distributed Transaction Processing Two Phase Commit Protocol (2PC) Impact of 2PC on Concurrency Control CORBA Object Transactions
More informationBEA WebLogic Enterprise. Technical Articles
BEA WebLogic Enterprise Technical Articles BEA WebLogic Enterprise 4.2 Document Edition 4.2 July 1999 Copyright Copyright 1999 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software
More informationProposal for Business Transaction Protocol Version 1.0
Proposal for Business Transaction Protocol Version 1.0 Sanjay Dalal (sanjay.dalal@bea.com) Pal Takacsi-Nagy (pal.takacsi@bea.com) Abstract Long lasting business transactions spanning multiple enterprises
More informationCORBA access to telecommunications databases
CORBA access to telecommunications databases P. Porkka and K. Raatikainen University of Helsinki, Department of Computer Science P.O. Box 26 (Teollisuuskatu 23), FIN-00014 University of Helsinki, Finland.
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
More informationVisiBroker VisiTransact Guide
VisiBroker 8.5.2 VisiTransact Guide Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 2009-2014. All rights reserved. VisiBroker contains
More informationOrbix CORBA OTS Guide: C++
Orbix 6.3.8 CORBA OTS Guide: C++ Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 2015. All rights reserved. MICRO FOCUS, the Micro
More informationODMG 2.0: A Standard for Object Storage
Page 1 of 5 ODMG 2.0: A Standard for Object Storage ODMG 2.0 builds on database, object and programming language standards to give developers portability and ease of use by Doug Barry Component Strategies
More informationOrbixOTS Programmer s and Administrator s Guide
OrbixOTS Programmer s and Administrator s Guide IONA Technologies PLC September 2000 Orbix is a Registered Trademark of IONA Technologies PLC. While the information in this publication is believed to be
More informationDeveloping 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 informationDistributed Transactions Brian Nielsen
Distributed Transactions Brian Nielsen bnielsen@cs.auc.dk Transactions SAS Travel reservation Begin_transaction if(reserve(sas.cph2paris)==full) Abort if(reserve(paris.hotel)==full) Abort If(reserve(KLM.Paris2Ams)==full)
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationcostransactions Copyright Ericsson AB. All Rights Reserved. costransactions April
costransactions Copyright 1999-2012 Ericsson AB. All Rights Reserved. costransactions 1.2.12 April 1 2012 Copyright 1999-2012 Ericsson AB. All Rights Reserved. The contents of this file are subject to
More informationOTS 1.1 vs. OTS 1.2 Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments
Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments REFERENCE : 000xxx CLASSIFICATION: Information OWNER : Arjuna Lab CONTENTS Page 1 Introduction... 3 1.1 Scope... 3
More informationDistributed 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 information5. Distributed Transactions. Distributed Systems Prof. Dr. Alexander Schill
5. Distributed Transactions Distributed Systems http://www.rn.inf.tu-dresden.de Outline Transactions Fundamental Concepts Remote Database Access Distributed Transactions Transaction Monitor Folie 2 Transactions:
More informationMiddleware 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 information1 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 informationDistributed Systems Engineering. Related content. Recent citations. To cite this article: J Liang et al 1997 Distrib. Syst. Engng.
Distributed Systems Engineering Object Management Group object transaction service based on an X/Open and International Organization for Standardization open systems interconnection transaction processing
More informationOracle 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 informationA SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
More informationOrbix CORBA OTS Guide: Java
Orbix 6.3.9 CORBA OTS Guide: Java Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 2017. All rights reserved. MICRO FOCUS, the Micro
More informationToday: 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 informationIntegrating the Object Transaction Service with the Web
Integrating the Object Transaction Service with the Web Mark C. Little and Santosh K. Shrivastava Department of Computing Science, Newcastle University, Newcastle upon Tyne, England, NE1 7RU (M.C.Little@ncl.ac.uk,
More informationJironde: A Flexible Framework for Making Components Transactional
Jironde: A Flexible Framework for Making Components Transactional Marek Prochazka INRIA Rhône-Alpes 665, avenue de l Europe, Montbonnot, 38334 Saint Ismier Cedex, France Marek.Prochazka@inrialpes.fr Abstract.
More informationSoftware Architecture
Software Architecture Prof. R K Joshi Department of Computer Science and Engineering IIT Bombay What is Architecture? Software Architecture? Is this an Architecture? Is this an Architecture? Is this an
More informationJOTM: Overview and Perspectives
JOTM: Overview and Perspectives Marek Prochazka Marek.Prochazka@inrialpes.fr www.objectweb.org Presentation Outline JOTM overview What is it (interfaces, services, functionality) Relation to standards
More informationOutline. Chapter 5 Application Server Middleware. Types of application server middleware. TP monitors CORBA Server-side components and EJB Summary
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 5 Application Server Middleware Outline Types of application server
More informationArchitecture-Centric Evolution in Software Product Lines:
Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu
More informationPart 6: Distributed Objects and EJB. 2003, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations rèpartis Part 5-1
C o n c e p t i o n o f I n f o r m a t i o n S y s t e m s Part 6: Distributed Objects and EJB 2003, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations rèpartis Part 5-1 PART VI - Distributed
More informationTowards Choreography Transactions
Towards Choreography Transactions Oliver Kopp, Matthias Wieland, and Frank Leymann Institute of Architecture of Application Systems, University of Stuttgart, Germany Universitätsstraße 38, 70569 Stuttgart,
More informationDistributed Computing
Distributed Computing 1 Why distributed systems: Benefits & Challenges The Sydney Olympic game system: see text page 29-30 Divide-and-conquer Interacting autonomous systems Concurrencies Transactions 2
More informationAppendix 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 informationCORBA OTS Guide Java. Version 6.1, December 2003
CORBA OTS Guide Java Version 6.1, December 2003 IONA, IONA Technologies, the IONA logo, Orbix, Orbix/E, Orbacus, Artix, Orchestrator, Mobile Orchestrator, Enterprise Integrator, Adaptive Runtime Technology,
More informationMiddleware for Heterogeneous and Distributed Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Middleware for Heterogeneous and Distributed Information Systems http://wwwlgis.informatik.uni-kl.de/cms/courses/middleware/
More informationDatabase Technology. Topic 8: Introduction to Transaction Processing
Topic 8: Introduction to Transaction Processing Olaf Hartig olaf.hartig@liu.se Motivation A DB is a shared resource accessed by many users and processes concurrently Not managing concurrent access to a
More information[MS-TPSOD]: Transaction Processing Services Protocols Overview. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-TPSOD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationA Grid-Enabled Component Container for CORBA Lightweight Components
A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications
More informationCoordination Patterns
Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch
More informationAn Evaluation of Distributed Computing Options for a Rule-Based Approach to Black-Box Software Component Integration *
An Evaluation of Distributed Computing Options for a Rule-Based Approach to Black-Box Software Component Integration * Susan D. Urban, Akash Saxena, Suzanne W. Dietrich, and Amy Sundermier Department of
More informationCoordinating Open Distributed Systems
Coordinating Open Distributed Systems Juan Carlos Cruz 1, Stephane Ducasse University of Bern 2, Switzerland Abstract. Open Distributed Systems are the dominatingintellectual issue of the end of this century.
More informationAn Approach to Software Component Specification
Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software
More informationComponent-Based Applications: A Dynamic Reconfiguration Approach with Fault Tolerance Support
Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 9 pages Component-Based Applications: A Dynamic Reconfiguration Approach with Fault
More informationAutomatic Code Generation for Non-Functional Aspects in the CORBALC Component Model
Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and
More informationMiddleware: Challenges and Evolution from Procedural to Service Orientation
Middleware: Challenges and Evolution from Procedural to Service Orientation Bruno Traverson (bruno.traverson@edf.fr) IWAISE 2008 APRIL 2008 1-1 Middleware [Meeting in the Middle, Ruth Palmer] Contraction
More information2-PHASE COMMIT PROTOCOL
2-PHASE COMMIT PROTOCOL Jens Lechtenbörger, University of Münster, Germany SYNONYMS XA standard, distributed commit protocol DEFINITION The 2-phase commit (2PC) protocol is a distributed algorithm to ensure
More informationThe impact of object technology on commercial transaction processing
The VLDB Journal (1997) 6: 173 190 The VLDB Journal c Springer-Verlag 1997 The impact of object technology on commercial transaction processing Edward E. Cobb IBM Corporation, Department DQGA/A230, 555
More informationIrbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems
Developing Enterprise Systems with CORBA and Java Integrated Technologies Safwan Al Salaimeh, Amer Abu Zaher Irbid National University, Irbid, Jordan ABSTRACT: The questions of corporate systems development
More informationDomain-Driven Development with Ontologies and Aspects
Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft
More informationOutline. Chapter 5 Application Server Middleware WS 2010/11 1. Types of application server middleware
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 5 Application Server Middleware Outline Types of application server
More informationOutline. Chapter 5 Application Server Middleware. Types of application server middleware. TP monitors CORBA Server-side components and EJB Summary
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 5 Application Server Middleware Outline Types of application server
More informationDistributed Environments. CORBA, JavaRMI and DCOM
Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationSEMATECH Computer Integrated Manufacturing (CIM) Framework Architecture Concepts, Principles, and Guidelines, version 0.7
Computer Integrated Manufacturing (CIM) Framework Architecture Concepts, Principles, and Guidelines, version 0.7 Technology Transfer 96123214A-ENG and the logo are registered service marks of, Inc. 1996,
More informationFlowBack: Providing Backward Recovery for Workflow Management Systems
FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The
More informationStrategies for Integrating Messaging and Distributed Object Transactions
Strategies for Integrating Messaging and Distributed Object Transactions Stefan Tai and Isabelle Rouvellou IBM T.J. Watson Research Center, New York, USA {stai,rouvello}@us.ibm.com Abstract. Messaging,
More informationInterconnection of Distributed Components: An Overview of Current Middleware Solutions *
Interconnection of Distributed Components: An Overview of Current Middleware Solutions * Susan D. Urban, Suzanne W. Dietrich, Akash Saxena, and Amy Sundermier Arizona State University Department of Computer
More informationImplementing Software Connectors through First-Class Methods
Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,
More informationFault tolerance with transactions: past, present and future. Dr Mark Little Technical Development Manager, Red Hat
Fault tolerance with transactions: past, present and future Dr Mark Little Technical Development Manager, Overview Fault tolerance Transaction fundamentals What is a transaction? ACID properties Distributed
More informationSoftware 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 informationCORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba
More informationPattern Density and Role Modeling of an Object Transport Service
Pattern Density and Role Modeling of an Object Transport Service Dirk Riehle. SKYVA International. 25 First Street, Cambridge, MA 02129, U.S.A. E-mail: driehle@skyva.com or riehle@acm.org Roger Brudermann.
More informationManaging Complexity of Designing Routing Protocols Using a Middleware Approach
Managing Complexity of Designing Routing Protocols Using a Middleware Approach Cosmina Ivan 1, Vasile Dadarlat 2, and Kalman Pusztai 3 1 Department of Computer Science & Information Systems University
More informationReference Model of Open Distributed Processing (RM-ODP): Introduction
Reference Model of Open Distributed Processing (RM-ODP): Introduction Kerry Raymond kerry@dstc.edu.au CRC for Distributed Systems Technology Centre for Information Technology Research University of Queensland
More informationObject Query Standards by Andrew E. Wade, Ph.D.
Object Query Standards by Andrew E. Wade, Ph.D. ABSTRACT As object technology is adopted by software systems for analysis and design, language, GUI, and frameworks, the database community also is working
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request
More informationA Flexible Framework for Adding Transactions to Components
A Flexible Framework for Adding Transactions to Components Marek Prochazka INRIA Rhône-Alpes 665, avenue de l Europe, Montbonnot 38334 Saint Ismier Cedex, France Marek.Prochazka@inrialpes.fr Abstract:
More informationPlan. Department of Informatics. Advanced Software Engineering Prof. J. Pasquier-Rocha Cours de Master en Informatique - SH 2003/04
Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Transactions 7. Prise de recul critique Enterprise
More informationCreating and Analyzing Software Architecture
Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published
More informationIntroduction to Distributed Systems (DS)
Introduction to Distributed Systems (DS) INF5040/9040 autumn 2009 lecturer: Frank Eliassen Frank Eliassen, Ifi/UiO 1 Outline What is a distributed system? Challenges and benefits of distributed system
More informationTransaction Processing in a Mobile Computing Environment with Alternating Client Hosts *
Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Sven Buchholz, Thomas Ziegert and Alexander Schill Department of Computer Science Dresden University of Technology
More informationAdvanced 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 informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationChapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationA Model for Scientific Computing Platform
A Model for Scientific Computing Platform Petre Băzăvan CS Romania S.A. Păcii 29, 200692 Romania petre.bazavan@c-s.ro Mircea Grosu CS Romania S.A. Păcii 29, 200692 Romania mircea.grosu@c-s.ro Abstract:
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationWhy 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 informationDesign, Share and Re-use of Data and Applications into a Federate DataBase System. 1. Introduction
Design, Share and Re-use of Data and Applications into a Federate DataBase System Thierry MILLAN, Myriam LAMOLLE Team of Pierre BAZEX IRIT - CNRS (UMR 5055) - Université Paul Sabatier 118, route de Narbonne
More informationRequirements Stage Design(Architecture)
Design and Evaluation of Distributed Component-Oriented Software Systems Michael Goedicke Torsten Meyer Specication of Softwaresystems, Dept. of Mathematics and Computer Science, University of Essen, Germany
More informationPattern for Structuring UML-Compatible Software Project Repositories
Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp
More informationPROFESSOR: DR.JALILI BY: MAHDI ESHAGHI
PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and
More informationUsing CORBA Middleware in Finite Element Software
Using CORBA Middleware in Finite Element Software J. Lindemann, O. Dahlblom and G. Sandberg Division of Structural Mechanics, Lund University strucmech@byggmek.lth.se Abstract. Distributed middleware technologies,
More informationTopics. Advanced Java Programming. Transaction Definition. Background. Transaction basics. Transaction properties
Advanced Java Programming Transactions v3 Based on notes by Wayne Brooks & Monson-Haefel, R Enterprise Java Beans 3 rd ed. Topics Transactions background Definition, basics, properties, models Java and
More informationCorrectness Criteria Beyond Serializability
Correctness Criteria Beyond Serializability Mourad Ouzzani Cyber Center, Purdue University http://www.cs.purdue.edu/homes/mourad/ Brahim Medjahed Department of Computer & Information Science, The University
More informationAn Object-Oriented HLA Simulation Study
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 15, No 5 Special Issue on Control in Transportation Systems Sofia 2015 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.1515/cait-2015-0022
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationThe CORBA Activity Service Framework for Supporting Extended Transactions
The CORBA Activity Service Framework for Supporting Extended Transactions I. Houston 1, M. C. Little 2,3, I. Robinson 1, S. K. Shrivastava 3 and S. M. Wheater 2,3 1 IBM Hursley Laboratories, Hursley, UK
More informationCS5412: TRANSACTIONS (I)
1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of
More informationA Taxonomy of the Quality Attributes for Distributed Applications
A Taxonomy of the Quality Attributes for Distributed Applications Jorge Enrique Pérez-Martínez and Almudena ierra-alonso University Rey Juan Carlos E.. of Experimental ciences and Technology C/ Tulipán
More information[MS-TPSOD]: Transaction Processing Services Protocols Overview
[MS-TPSOD]: This document provides an overview of the Protocol Family. It is intended for use in conjunction with the Microsoft Protocol Technical Documents, publicly available standard specifications,
More informationJBoss Enterprise Application Platform 5
JBoss Enterprise Application Platform 5 Transactions Development Quick Start Guide Edition 5.2.0 Getting Started with JBoss Transaction Service Last Updated: 2017-10-13 JBoss Enterprise Application Platform
More informationITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References
ITCS 3160 Jing Yang 2010 Fall Class 16: Object and Object- Relational Databases (ch.11) Slides come from: References Michael Grossniklaus, Moira Norrie (ETH Zürich): Object Oriented Databases (Version
More information