Local-Remote Transparency Framework for Passing Mutable Objects to Remote Operations

Size: px
Start display at page:

Download "Local-Remote Transparency Framework for Passing Mutable Objects to Remote Operations"

Transcription

1 Local-Remote Transparency Framework for Passing Mutable Objects to Remote Operations Boydens, Jeroen 1 Steegmans, Eric 2 February 11, KHBO Dept Industrial Science & Technology Zeedijk 101, B 8400 Oostende, Belgium 2 K.U.Leuven Dept Computer Science Celestijnenlaan 200A, B 3001 Leuven, Belgium {Jeroen.Boydens, Eric.Steegmans}@cs.kuleuven.be Abstract This paper focuses on the fact that a developer should not be concerned whether his application will be distributed or not. Because the current remoting infrastructures use serialisation to pass parameters, synchronisation problems exist. We will elaborate on a transparent framework to pass mutable objects to remote operations, in the same way as they are passed to local operations. A number of solutions will be proposed to provide this transparency. Finally, a solution based on a caching mechanism will be implemented using annotations. 1 Introduction In this introduction, we will first identify the transparency problem. Next, we will discuss the mutability of the objects, which is causing the transparency problem. Following this Section, we will discuss the different problem scenarios. Finally, in Section 1.4, we will provide a sample that illustrates the most serious synchronisation problem. J. Boydens is an affiliated researcher at K.U.Leuven, dept CS, research group SOM prof E. Steegmans is head of the research group SOM

2 1.1 The Transparency Problem This paper concentrates on problems appearing in situations where remoting and object distribution is used with mutable objects. These exist in both the Java 2 Enterprise Edition (J2EE) [3, 18, 11] world, where Remote Method Invocation over Internet Inter-Orb Protocol (RMI-IIOP) [6] is used, and in the.net [13, 5] world, where.net Remoting [12, 16] is used. When passing parameters to operations on remote objects the boundary of the executing virtual machine is crossed. The virtual machine uses a serialisation mechanism to pass parameters to remote operations. When parameters with reference semantics are passed to remote operations, the referenced objects are serialised. At the remote side, the serialised version of the parameters is de-serialised, to create a new copy of the objects in the remote program space. In most situations, the remoting mechanism is working fine. In Section 1.3, a number of problem situations will be identified. These are situations in which performance degradation is noted, and one situation in which dirty data can exist. There are no problems when the parameters are immutable during the execution of the remote method. When these parameters are mutable, as is mostly the case, a different version of the parameter is used in local and remote program space. This is not quite the equivalent of the local-calling scheme, since in the local scheme we are actually referring to the same object. In the remote scheme we are referring to two completely different objects in different program spaces. The callee is using a new object with the same initial state as the caller s object. When developing applications the focus should be on the functional requirements of the application, not on its distribution. Passing parameters to local or remote operations is implemented in different ways. Local-remote transparency is required since developers should not worry whether their applications will be distributed or not. To support local-remote transparency, this paper focuses on the caching of objects during remote method calls. It proposes a pattern, which is implemented using annotations, to prevent the use of outdated data. The implementation validates each object request to the cached version, this way providing the mutability of the objects at the remote side. 1.2 Mutability of Objects The problems caused by serialisation, as explained in Section 1.1, depend on the nature of the object passed as a parameter. We can distinguish objects that are immutable and others that are mutable. Immutable objects may be replicated as many times as necessary as syn-

3 chronisation problems will never occur. Their state does not change at the local side, and neither does it at the remote side. Mutable objects are those objects whose state changes during the execution of the operations. These mutable objects are causing trouble. In the following sections, we will provide a mechanism to inform the developer whether or not he is using outdated data. To protect data during remote method calls, we could use distributed transactions. During these transactions, the data is locked as temporary. The heavy machinery of transactions, and the discussion of isolation levels to solve locking, is overkill for this problem. In this paper we want to provide a lightweight solution for knowing whether synchronisation issues occur. 1.3 Problem Scenarios Let us consider all possible scenarios of mutable and immutable, local and remote objects passed as parameters to local and remote operations, as illustrated in Table 1. Nr Object Locality Object Mutability operation Problem 1 local immutable local call No 2 local immutable remote call No 3 local mutable local call No 4 local mutable remote call out-of-sync 5 remote immutable local call No 6 remote immutable remote call degradation 7 remote mutable local call No 8 remote mutable remote call degradation Table 1: Parameter passing scenarios Only the problem scenario where an out-of-sync occurs will be further discussed in detail in this paper. In two scenarios there is possibly a performance degradation, namely in case number 6 and case number 8. Both cases are based on a comparable scenario, in which a remote object is passed to a remote method call. Remote objects are accessed through a stub. When the object is passed to a remote method, not its contents but the stub is serialised. The object can be accessed locally if the remote method resides in the same program space as the remote object. Instead of directly accessing the object, it is now accessed through a stub-skeleton pair. This performance degradation does not lead to incorrect access of information, since the original object is still referred to.

4 1.4 Synchronisation Problem Illustrated #$! " % #& $ '#( ) *+, -. /012 Figure 1: Mutable Local Object in Remote call The illustration in Figure 1 visualizes the problem scenario. A mutable local object z of type Z is created. A remote object y is used through its local stub ry. This remote object has an operation f which takes an object of type Z as a parameter. When a call ry.f(z) is made, the object z is passed to the remote operation as a value, not as a reference. Technically, the value of z is serialised in a byte stream by the remote object-stub ry, and the value is pushed over the network to the remote object skeleton. At the remote side, the value of z is de-serialised out of the byte stream. A second instance of the value of object z is created at the remote side. This causes the out-ofsync problem. The state β at the local side can change after the value is serialised, causing a changed state β at the local side and a state β at the remote side. As a result, any changes made to the local copy of z will not be reflected in the de-serialised copy of z at the remote side. The sample code in Algorithm 1 illustrates this scenario. It uses the Customer class as the mutable local class. First, an Account object is created at the remote side. This object is then exported as a remote accessible object, and an identifying name MyAccount is assigned to it. The name is used by the local side during the lookup of the object-stub RemoteAccount in the context at the local side. The narrow method checks to ensure

5 that the object, returned by the lookup method, can be cast to the desired type RemoteAccount. The local object myfriend is now passed to a remoteaccount operation transferamountto as a parameter. At this point the local value of the Customer objects gets out-of-sync with the remote value. Algorithm 1 Java code out-of-sync //Remote side Account myaccount =new Account( ); // y PortableRemoteObject.exportObject(myAccount ); Context ctx = new InitialContext(someProperties); ctx.rebind( MyAccount, myaccount ); //Local side Context ctx = new InitialContext(someProperties); RemoteAccount myremoteaccount = (RemoteAccount) PortableRemoteObject.narrow( ctx.lookup( MyAccount ), RemoteAccount.class); //ry Money amount = new Money(100.0); //auxiliary object Customer myfriend = new Customer( Laura ); myremoteaccount.transferamountto( amount, myfriend ); 2 Solution to the Transparency Problem In this section, we will first present a number of scope settings to reduce the problem space. To guide us in selecting a solution we will use the following metaphor: objects live in their origins, and are cached in all other locations. Next, we will present a number of solutions, and explain why they do not satisfy the preferred solution. Finally, in Section 2.6, a caching strategy will be presented. And later on in this paper, in Section 3, we will implement this strategy. 2.1 Scope Settings All objects are non-remote per definition, unless otherwise specified. The distributed architecture constitutes of one server (master) and multiple clients (slaves). We will not introduce a remoting infrastructure at the client side, only an infrastructure at the server side. The out-of-sync objects live in the client programming environment. A network with continuous connectivity is presumed. We will present a number of strategies to solve the synchronisation issues and we will motivate why the caching strategy in Section 2.6 is selected as the optimal solution.

6 2.2 Make all Objects Remotely Available If this strategy is applied it will give remote access to all objects on all different locations. The remote stub is passed when passing parameters to remote operations. This way, all requests made concerning information in the object are forwarded to the original environment where the object resides. Hence, a symmetrical solution appears, in which both client and server provide objects to each other. Because we do not want to provide remoting infrastructure on the client, this strategy is not wanted. Another disadvantage is that we must add security restrictions to the client. When we make an object remotely available, we must restrict unauthorised access. 2.3 Objects Live Only in One Place Another strategy is to move the object from one location to another. When an operation is started, the object passed as parameter is serialised and removed at the client side. The serialised object is moved over to the server where it is recreated in the last state. The operation is executed in the server program space with the object in the same program space. On completion, the object is serialised and sent back to the client. The server instance of the object is now deleted. On arrival at the client side the object is recreated with its new state, a state which is changed only because of changes at the server side. This strategy reduces the ability to use the object as a parameter to multiple parallel requests. It also prevents a client from using or updating the local value of the object. Therefore this solution is not selected. 2.4 Transactions A transaction [2, 8] is started at the client side, noting all following requests at the client side that this object is in use by some operation. The transaction context can be distributed across the network, so that the remote operation can vote on the completion of this transaction. This voting takes place at the client side, when the remoting operation completes. Because of the transactions, all operations run in isolation of each other. A client is thus unable to change the original object in its local memory, until the object is released by the transaction. Additional settings are needed when remote operations are suddenly aborted. A distributed transaction infrastructure is needed on every client. Every time a remote operation needs a local object, necessary decisions are made on the isolation levels of the transaction (Read Uncommitted, Read Committed, Repeatable Read, Serialisable). Transactions can solve the synchronisation problem, but this mechanism is not selected as a

7 valuable solution, as mentioned in Section 1.2. The transaction infrastructure needed on every client is overkill. As such, interceptions are necessary both at client and at the server side. 2.5 Observer Pattern In the next strategy, we register an observer [7] for every object that is passed to a remote operation. The remote operation is added as an observer at the client side. When changes occur in data at the client side, all observers must be notified and updated. If we want to be able to change the remote version of the object, all changes must be propagated back to the client. In case of a bidirectional association, local changes can propagate to the remote side, and data race situations can occur. Data races are very hard to find and solve. This strategy requires a considerable administration at the client side. What if a remote operation suddenly aborts, then the corresponding observer is not removed from the enlisted observers on the client. The client will try to notify non-existing observers. 2.6 Caching strategy The strategy we will discuss further in this paper uses a caching solution. The sample application is located in the banking business. Imagine branch offices that keep track of extended customer information. Branch offices are responsible for managing all the information concerning their local customers. The head office needs information about all the customers, but is not willing to manage that huge amount of information. When the branch offices are communicating with the central bank, customer information is sent over to this head office. Since numerous applications are sending such information to the central bank, updated values may arrive while handling current requests. The caching solution notifies the executing requests if a more recent version is available. This is illustrated in the sequence diagram [4, 9] in Figure 2. In this illustration, the central bank object is represented twice. This serves to show that multiple requests can arrive in a parallel way. As an extra advantage, we are able to query the cache about cached customer information, even on moments that branches are not connected. As an example, head office applications may offer a business method returning the branch at which a given customer has an account. One may argue that the answers returned by the cache are not guaranteed to be up-to-date, since the cache is only updated when values are passed. To acquire more accurate data in the head office, dummy methods are triggered at the branch offices. These methods pass the changed customers to the head office in a nop-operation on the server. In our vision it is never possible - not even at the branches

8 request1 : BranchOffice : CentralBank : CentralBank : Cache processrequest updatevalues request2 processrequest updatevalues readproperty UpdatedValues Figure 2: Distributed Application themselves - to guarantee the data to be up-to-date, since it may be aging just after recording. We think it is better to have some information, than none at all. On top of this, while using the caching framework, we can warn a client during the processing of a request that he is using aged values. We will not focus on cache validation and cache eviction policies. It is clear that objects are removed from the cache when their time-to-live attribute has expired, or when the cache is cleared. The main goal of this paper is to focus on the transparency of passing arguments to local and remote methods. 3 Caching Strategy Implementation When a developer creates a class, he knows whether the objects will be mutable or immutable. He should not be concerned with the fact whether the application will be distributed or not. The current technology presumes all objects sent over the network are immutable, which is not always the case. By introducing an annotation, we want to give the developer an opportunity to state this mutability. When the annotation is mutable, the framework takes care of the introduction of a caching mechanism at the remote side to support mutable objects as parameters in remote operations. The framework adds all necessary code to cache the values when they are sent to remote methods, and the framework throws exceptions when requests are made to outdated values.

9 The caching strategy is implemented by annotating the initial class with a mutability-tag, see Section 1.2. The developer has the option to annotate the class with a or with a By the developer states that the objects are mutable, that their value is expected to change during the execution of operations. Since most objects will be mutable, tag is the default option. The retention policy of this annotation is runtime, meaning they are to be recorded in the class file by the compiler and retained by the VM at run time, so they may be read in a reflective manner. Local Branch Office Client (satellites) * myfriend : Customer {annotation id lastname givenname birthdate city country Network myfriend : Customer {annotation id lastname givenname birthdate city country Cache Remote Central Bank Server 1 myremoteaccount : RemoteAccount myaccount : Account nr customerid balance minbalance : AccountSkeleton Interception at Server Side Stub marshall(customer) Skeleton unmarshalling(customer) myremoteaccount.transferamountto( amount, myfriend) Figure 3: As illustrated in Figure 3, the class Customer is annotated with tag. During the marshaling, or serialisation, of the parameters of the remote operation myremoteaccount.transferamountto( ), the annotation is retained. The object is de-serialised during the un-marshaling phase at the remote side. At this point, an interceptor detects the annotation, sends the object to the cache, and makes sure all following requests on the object are verified to the cached version. The code to verify the cached version is based on a decoration pattern [7]. Every request that is made to the object is first verified with the cached version. When conflicts are detected an exception is thrown.

10 4 Future Work We want to implement the annotation based approach as a language construct, this way adding an extra keyword to the language so the developer has the ability to state the mutability of the objects. The performance degradation problems stated in Section 1.3 should be avoided. We plan to use smart references to solve this problem. Smart references are references that know internally if they refer to a local or a remote object. The proposed solution is implemented in J2EE, based on Enterprise Java Beans [17, 10]. Since the same problem exists in the J2EE world and in the.net [14] world, this strategy could be implemented for.net. 5 Conclusion In this paper we have elaborated on a local-remote transparency problem that exists with current remoting infrastructures. We proposed the developer to annotate the mutability of the class he develops, so the remoting infrastructure can intercept accordingly. When the infrastructure receives a mutable object as a parameter to a remote operation, a caching mechanism will be introduced. During the request on information in the objects, the cached version is checked. This way, the developer will create a transparent solution for both the local and the remote parameter passing scheme. References [1] T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O. Killijian, E. Marsden, and F. Taiani. Implementing simple replication protocols using corba portable interceptors. [2] P. Bernstein and E. Newcomer. Principles of transaction processing: for the systems professional. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, [3] S. Bodoff, E. Armstrong, J. Ball, and D. B. Carson. The J2EE Tutorial, Second Edition. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, [4] G. Booch, J. Rumbaugh, and I. Jacobson. Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series). Addison-Wesley Professional, 2005.

11 [5] B. Clark. Enterprise Application Integration Using.NET. Addison- Wesley Professional, [6] B. Eckel. Thinking in Java (2nd ed.): the definitive introduction to object-oriented programming in the language of the World-Wide Web. Prentice Hall PTR, Upper Saddle River, NJ, USA, [7] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, [8] J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, [9] C. Larman. Applying UML and Patterns: An Introduction to Object- Oriented Analysis and Design and the Unified Process. Prentice Hall PTR, Upper Saddle River, NJ, USA, [10] F. Marinescu. Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Poster. John Wiley & Sons, Inc., New York, NY, USA, Foreword By-Ed Roman. [11] V. Matena, B. Stearns, and L. Demichiel. Applying Enterprise JavaBeans: Component-Based Development for the J2EE Platform. Pearson Education, [12] S. McLean, K. Williams, and J. Naftel. Microsoft.Net Remoting. Microsoft Press, Redmond, WA, USA, [13] H. Moessenboeck, W. Beer, D. Birngruber, and A. Woess..NET Application Development: With C#, ASP.NET, ADO.NET, and Web Services. Pearson Addison Wesley, [14] C. Nagel. Enterprise Services with the.net Framework: Developing Distributed Business Solutions with.net Enterprise Services (Microsoft Net Development Series). Addison-Wesley Professional, [15] C. Pohl and A. Schill. Client-side component caching. In IFIP, [16] I. Rammer. Advanced.Net Remoting. Apress, Berkely, CA, USA, [17] E. Roman, S. W. Ambler, and F. Marinescu. Mastering Enterprise Javabeans. John Wiley & Sons, Inc., New York, NY, USA, [18] I. Singh, B. Stearns, and M. Johnson. Designing enterprise applications with the J2EE platform. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002.

Model-View-Controller

Model-View-Controller CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns

More information

JavaPolis 2004 Access Control Architectures: COM+ vs. EJB

JavaPolis 2004 Access Control Architectures: COM+ vs. EJB JavaPolis 2004 Access Control Architectures: COM+ vs. EJB Dr. Konstantin Beznosov Assistant Professor University of British Columbia Overall Presentation Goal Learn about the capabilities of COM+ and EJB

More information

Java RMI Middleware Project

Java RMI Middleware Project Java RMI Middleware Project Nathan Balon CIS 578 Advanced Operating Systems December 7, 2004 Introduction The semester project was to implement a middleware similar to Java RMI or CORBA. The purpose of

More information

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Borland Application Server Certification Study Guide Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Introduction This study guide is designed to walk you through requisite

More information

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida

More information

Evictor. Prashant Jain Siemens AG, Corporate Technology Munich, Germany

Evictor. Prashant Jain Siemens AG, Corporate Technology Munich, Germany 1 Evictor Prashant Jain Prashant.Jain@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Evictor 2 Evictor The Evictor 1 pattern describes how and when to release resources such as memory

More information

Software Architecture

Software 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 information

Middleware for Heterogeneous and Distributed Information Systems

Middleware 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 information

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

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

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003 Outline Web-based Distributed EJB BugsTracker www.cs.rit.edu/~sha5239/msproject San H. Aung 26 September, 2003 Project Goal Overview of J2EE Overview of EJBs and its construct Overview of Struts Framework

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

A Taxonomy of the Quality Attributes for Distributed Applications

A 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

Object-Oriented Software Development Goal and Scope

Object-Oriented Software Development Goal and Scope Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic

More information

Broker Revisited. Markus Voelter Copyright 2004, Kircher, Voelter, Jank, Schwanninger, Stal D5-1

Broker Revisited. Markus Voelter Copyright 2004, Kircher, Voelter, Jank, Schwanninger, Stal D5-1 Broker Revisited Michael Kircher, Klaus Jank, Christa Schwanninger, Michael Stal {Michael.Kircher,Klaus.Jank,Christa.Schwanninger, Michael.Stal}@siemens.com Markus Voelter voelter@acm.org Copyright 2004,

More information

Patterns for Asynchronous Invocations in Distributed Object Frameworks

Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Markus Voelter Michael Kircher Siemens AG, Corporate Technology,

More information

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 CS551: Advanced Software Engineering Service-Oriented Architecture Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 Yugi Lee STB #560D (816)

More information

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar Distributed Programming with RMI Overview Distributed object computing extends an object-oriented programming system by allowing objects to be distributed across a heterogeneous network, so that each 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

Irbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems

Irbid 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 information

Proposal for Business Transaction Protocol Version 1.0

Proposal 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 information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [RPC & DISTRIBUTED OBJECTS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey XDR Standard serialization

More information

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01 Introduction & RMI Basics CS3524 Distributed Systems Lecture 01 Distributed Information Systems Distributed System: A collection of autonomous computers linked by a network, with software to produce an

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

A Grid-Enabled Component Container for CORBA Lightweight Components

A 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 information

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 10.0 Document Revised: March 30, 2007 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems. The main method of distributed object communication is with remote method invocation Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY SUN CERTIFICATION CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY TABLE OF CONTENTS Introduction..............................................

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

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

Lookup. Michael Kircher & Prashant Jain Siemens AG, Corporate Technology Munich, Germany

Lookup. Michael Kircher & Prashant Jain Siemens AG, Corporate Technology Munich, Germany Lookup Michael Kircher & Prashant Jain {Michael.Kircher,Prashant.Jain}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Copyright 2000 by Prashant Jain and Michael Kircher The lookup pattern

More information

Lightweight RPC. Robert Grimm New York University

Lightweight RPC. Robert Grimm New York University Lightweight RPC Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? The Structure of Systems Monolithic kernels

More information

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus BCS Higher Education Qualifications Diploma in IT Object Oriented Programming Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved

More information

Test Case Generation Based on Sequence Diagrams

Test Case Generation Based on Sequence Diagrams Test Case Generation Based on Sequence Diagrams Yao-Cheng Lei Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan 621, R.O.C. {lyc94,naiwei}@cs.ccu.edu.tw

More information

System Architecture Design

System Architecture Design System Architecture Design 158 161........1 161..... 1.1 161...... 2.1 162..... 3.1 162..... 4.1 162... 5.1 163... Moving from Analysis to Design.2 164... System Architecters.3 164... Server-based Architecture

More information

Software Components and Distributed Systems

Software Components and Distributed Systems Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design

More information

2 Introduction and Roadmap

2 Introduction and Roadmap Oracle Fusion Middleware Programming JNDI for Oracle WebLogic Server 11g Release 1 (10.3.6) E13730-05 November 2011 This document explains how to set up WebLogic JNDI. It is intended for programmers who

More information

Chapter 4 Remote Procedure Calls and Distributed Transactions

Chapter 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 information

Communication and Distributed Processing

Communication 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 information

Software Architectural Modeling of the CORBA Object Transaction Service

Software Architectural Modeling of the CORBA Object Transaction Service Software Architectural Modeling of the CORBA Transaction Service Susanne Busse Fraunhofer ISST Mollstr. 1 D-10178 Berlin, Germany Susanne.Busse@isst.fhg.de Stefan Tai Technische Universität Berlin Sekr.

More information

The WebShop E-Commerce Framework

The WebShop E-Commerce Framework The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software

More information

Communication Framework

Communication Framework Communication Framework G.Riviere Guillaume.Riviere@inrialpes.fr www.objectweb.org Contents RMI Overview Multi-Protocol with RMI-IIOP Multi-Name Services with JNDI RMI Context Propagation Conclusion www.objectweb.org

More information

metaxa and the Future of Reflection

metaxa and the Future of Reflection metaxa and the Future of Reflection Michael Golm, Jürgen Kleinöder University of Erlangen-Nürnberg Dept. of Computer Science 4 (Operating Systems) Martensstr. 1, D-91058 Erlangen, Germany {golm, kleinoeder}@informatik.uni-erlangen.de

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON. DISTRIBUTED SYSTEMS 121r itac itple TAYAdiets Second Edition Andrew S. Tanenbaum Maarten Van Steen Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON Prentice Hall Upper Saddle River, NJ 07458 CONTENTS

More information

BEA WebLogic Enterprise. Technical Articles

BEA 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 information

MIND THE GAP! - MAPPING ENTERPRISE JAVA OBJECTS TO THE DATABASE. David Parsons Valtech

MIND THE GAP! - MAPPING ENTERPRISE JAVA OBJECTS TO THE DATABASE. David Parsons Valtech MIND THE GAP! - MAPPING ENTERPRISE JAVA OBJECTS TO THE DATABASE Summary David Parsons Valtech One of the key challenges facing an enterprise Java system is the integration of object-oriented systems with

More information

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software {s1669021, s1598011, yccheng, hsieh}@ntut.edu.tw SyncFree Abstract People who use different computers at different

More information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise

More information

Applications MW Technologies Fundamentals. Evolution. Applications MW Technologies Fundamentals. Evolution. Building Blocks. Summary.

Applications MW Technologies Fundamentals. Evolution. Applications MW Technologies Fundamentals. Evolution. Building Blocks. Summary. Summary Mariano Cilia cilia@informatik.tu-darmstadt.de 1 2 Communication Mechanisms Synchronous Asynchronous 3 4 RPC - Abstraction Remote Procedure (RPC) s System used interface interface definition logic

More information

Broker Pattern. Teemu Koponen

Broker Pattern. Teemu Koponen Broker Pattern Teemu Koponen tkoponen@iki.fi Broker Pattern Context and problem Solution Implementation Conclusions Comments & discussion Example Application Stock Exchange Trader 1 Stock Exchange 1 Trader

More information

Server and WebLogic Express

Server and WebLogic Express BEAWebLogic Server and WebLogic Express Programming WebLogic JNDI Version 9.0 Document Revised: July 22, 2005 Copyright Copyright 2005 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This

More information

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS ITT Technical Institute ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 67 (41 Theory Hours, 26 Lab Hours Prerequisite(s and/or Corequisite(s:

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

Middleware Reliability Implementations and Connector Wrappers

Middleware Reliability Implementations and Connector Wrappers Middleware Reliability Implementations and Connector Wrappers J.H. Sowell and R.E.K. Stirewalt Department of Computer Science and Engineering Michigan State University East Lansing, Michigan 48824 USA

More information

Introduction to Information Systems (IS)

Introduction to Information Systems (IS) Introduction to Information Systems (IS) 2 5.......... 5..... 1.1 5......... 2.1 5..... 3.1 6...... 4.1 6...... 5.1 7... Information Systems and their Characteristics 9... Types of Information Systems

More information

Electronic Payment Systems (1) E-cash

Electronic 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 information

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture 1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté

More information

Modeling Software Evolution by Evolving Interoperation Graphs 1

Modeling Software Evolution by Evolving Interoperation Graphs 1 Annals of Software Engineering, Vol. 9, 2000, pp. 235-348. Modeling Software Evolution by Evolving Interoperation Graphs 1 Václav Rajlich Department of Computer Science Wayne State University Detroit,

More information

J2EE for Glast. Matthew D. Langston (SLAC) 4/25/2004

J2EE for Glast. Matthew D. Langston (SLAC) 4/25/2004 J2EE for Glast Matthew D. Langston (SLAC) 4/25/2004 What is J2EE? Java 2 Platform, Enterprise Edition Current specification is J2EE version 1.4 A platform-agnostic operating system for developing componentbased

More information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 4 REMOTE COMMUNICATION CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics

More information

Work groups meeting 3

Work groups meeting 3 Work groups meeting 3 INF5040 (Open Distributed Systems) Amir Taherkordi amirhost@ifi.uio.no Department of Informatics University of Oslo September 18, 2008 Design Patterns J2EE Design Patterns AntiPatterns

More information

Java EE Architecture, Part Two. Java EE architecture, part two 1

Java EE Architecture, Part Two. Java EE architecture, part two 1 Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,

More information

Patterns for Three-Tier Client/Server Applications

Patterns for Three-Tier Client/Server Applications Patterns for Three-Tier Client/Server Applications Amund Aarsten, Davide Brugali, Giuseppe Menga Dept. of Automatica e Informatica Politecnico di Torino, Italy email: {amund,brugali}@athena.polito.it,

More information

Communication and Distributed Processing

Communication 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 information

Modeling software evolution by evolving interoperation graphs

Modeling software evolution by evolving interoperation graphs Annals of Software Engineering 9 (2000) 235 248 235 Modeling software evolution by evolving interoperation graphs Václav Rajlich Department of Computer Science, Wayne State University, Detroit, MI 48202,

More information

Advanced Topics in Operating Systems

Advanced Topics in Operating Systems Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:

More information

Operating Systems. Lecture 09: Input/Output Management. Elvis C. Foster

Operating Systems. Lecture 09: Input/Output Management. Elvis C. Foster Operating Systems 141 Lecture 09: Input/Output Management Despite all the considerations that have discussed so far, the work of an operating system can be summarized in two main activities input/output

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 Technologies - overview & GIPSY Communication Procedure

Distributed Technologies - overview & GIPSY Communication Procedure DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component

More information

Concurrency Control with Java and Relational Databases

Concurrency Control with Java and Relational Databases Concurrency Control with Java and Relational Databases Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Recife, PE, Brazil scbs,phmb @cin.ufpe.br Abstract As web based

More information

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A Contents Java RMI G53ACC Chris Greenhalgh Java RMI overview A Java RMI example Overview Walk-through Implementation notes Argument passing File requirements RPC issues and RMI Other problems with RMI 1

More information

Introduction To Web Architecture

Introduction To Web Architecture Introduction To Web Architecture 1 Session Plan Topic Estimated Duration Distributed computing 20 min Overview of Sun Microsoft Architecture 15 min Overview of Microsoft Architecture 15 min Summary 15

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

[MS-TPSOD]: Transaction Processing Services Protocols Overview. Intellectual Property Rights Notice for Open Specifications Documentation

[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 information

Using CORBA Middleware in Finite Element Software

Using 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 information

26.1 Introduction Programming Preliminaries... 2

26.1 Introduction Programming Preliminaries... 2 Department of Computer Science Tackling Design Patterns Chapter 27: Proxy Design Pattern Copyright c 2016 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents 26.1 Introduction.................................

More information

A domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation

A domain model-centric approach to J2EE development. Keiron McCammon CTO Versant Corporation A domain model-centric approach to J2EE development Keiron McCammon CTO Versant Corporation 1 Patterns of Enterprise Application Architecture Martin Fowler, at. al. Overview What is a domain model centric

More information

Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE

Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE Mastering RMI: Developing Enterprise Applications In Java And EJB By Öberg, Rickard Oberg, Rickard READ ONLINE Mastering RMI: Developing Enterprise Applications in Java and EJB. Your search for "Ejb Application

More information

A short introduction to Web Services

A short introduction to Web Services 1 di 5 17/05/2006 15.40 A short introduction to Web Services Prev Chapter Key Concepts Next A short introduction to Web Services Since Web Services are the basis for Grid Services, understanding the Web

More information

AN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING

AN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING AN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING DR. ROGER EGGEN Department of Computer and Information Sciences University of North Florida Jacksonville, Florida 32224 USA ree@unf.edu

More information

Objects Meet Relations: On the Transparent Management of Persistent Objects

Objects Meet Relations: On the Transparent Management of Persistent Objects Objects Meet Relations: On the Transparent Management of Persistent Objects Luca Cabibbo Dipartimento di Informatica e Automazione Università degli studi Roma Tre cabibbo@dia.uniroma3.it Abstract. Many

More information

Language Support for Distributed Proxies

Language Support for Distributed Proxies Language Support for Distributed Proxies Darpan Saini dsaini@andrew.cmu.edu Joshua Sunshine sunshine@cs.cmu.edu Jonathan Aldrich aldrich@cs.cmu.edu ABSTRACT Proxies are ubiquitous in distributed systems.

More information

Plan. Department of Informatics. Advanced Software Engineering Prof. J. Pasquier-Rocha Cours de Master en Informatique - SH 2003/04

Plan. 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 information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

SCENTOR: Scenario-Based Testing of E-Business Applications

SCENTOR: Scenario-Based Testing of E-Business Applications SCENTOR: Scenario-Based Testing of E-Business Applications Jeremiah Wittevrongel, Frank Maurer The University of Calgary jeremiah@cpsc.ucalgary.ca, maurer@cpsc.ucalgary.ca Abstract E-business software

More information

XIX. Software Architectures

XIX. Software Architectures XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

Unit 7: RPC and Indirect Communication

Unit 7: RPC and Indirect Communication SR (Systèmes Répartis) Unit 7: RPC and Indirect Communication François Taïani Outline n Remote Procedure Call è First Class RPC è Second Class RPC (RMI) n Indirect Communication è Group Communication è

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad Course Name Course Code Class Branch INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK 2015-2016 : DISTRIBUTED SYSTEMS

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote

More information

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9 Transactions Kathleen Durant PhD Northeastern University CS3200 Lesson 9 1 Outline for the day The definition of a transaction Benefits provided What they look like in SQL Scheduling Transactions Serializability

More information

Mapping UML Component Specifications to JEE Implementations

Mapping UML Component Specifications to JEE Implementations Journal of Computer Science 3 (10): 780-785, 2007 ISSN 1549-3636 2007 Science Publications Mapping UML Component Specifications to JEE Implementations Jyhjong Lin Department of Information Management,

More information

BD - Databases

BD - Databases Coordinating unit: Teaching unit: Academic year: Degree: ECTS credits: 2018 270 - FIB - Barcelona School of Informatics 747 - ESSI - Department of Service and Information System Engineering BACHELOR'S

More information

Adaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University

Adaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University Adaptive Middleware Self-Healing Systems Guest Lecture Prof. Priya Narasimhan Assistant Professor of ECE and ISRI Carnegie Mellon University Recommended readings and these lecture slides are available

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

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

RMI-P4. Harsimrankaur PDMCEW, Bahadurgarh

RMI-P4. Harsimrankaur PDMCEW, Bahadurgarh RMI-P4 Harsimrankaur PDMCEW, Bahadurgarh Abstract: SAP is one of the leading providers of business software. Its product portfolio for enterprise application software is organized around the various key

More information