Implementation of a Lightweight Logging Service for CORBA-based Applications
|
|
- Sydney Day
- 6 years ago
- Views:
Transcription
1 Implementation of a Lightweight Logging Service for CORBA-based Applications MARKUS ALEKSY, JAN KÄSTLE, MARTIN SCHADER Department of Information Systems III University of Mannheim D Mannheim GERMANY Abstract: In this paper, we present the implementation of a Lightweight Logging Service for CORBA-based applications. The service is based upon a CORBA specification and is primarily intended for usage in embedded environments. In the description of the details of our implementation, we elaborate on incompleteness of the existing Draft Adopted Specification. We discuss different architectural approaches and conduct a critical analysis of their pros and cons. Finally, we provide some examples that demonstrate potential application areas for the service. Key-Words: - Lightweight Logging, CORBA, Distributed Systems 1 Introduction The Common Object Request Broker Architecture (CORBA) standard [5] is widely used in the area of object-oriented and distributed systems. It allows for independence of the implementation from the computer architecture, the operating system, the programming language, and the vendor of the selected Object Request Broker (ORB). Independence from the underlying programming language is obtained through CORBA s Interface Definition Language (IDL). IDL describes the distributed objects public attributes and behavior in a standardized and implementation-independent way. Independence of a specific ORB product was provided in CORBA 2.0 through the introduction of a unique object reference, the Interoperable Object Reference (IOR), and the definition of a standardized transfer protocol, the Internet-Inter-ORB-Protocol (IIOP). The ORB is the basic component for communication in distributed applications. In order to support application developers, the Object Management Group (OMG) has standardized a number of fundamental services, the CORBAservices [1]. These services enhance the core of an ORB by including additional often-needed functionality, e.g., event handling, trading, or persistence. 2 Problem Formulation The Lightweight Logging Services (LLS) [3] is a CORBAservice that OMG officially categorizes as a Specialized CORBA Specification. It is primarily intended as an efficient, central facility inside an embedded or real-time environment that accepts and stores data sets containing logging information (Log- Records). These LogRecords are generated by other applications residing in the same environment. They are managed by the LLS and stored in its memory area. The service was originally designed as a subset of the Telecom Log Service [4]; it differs, however, in the way the LogRecords are written to or retrieved from the log. Due to resource constraints typically present in embedded or real-time systems, the LLS is subject to some restrictions: Only simple logging is supported. No connection to Event Listeners is provided. Instead, specific interfaces (LogProducer and LogConsumer) are defined. The LLS does not support any federation of logging services. In particular, forwarding of LogRecords to another Log object is not supported. The LogRecords are only stored in memory; persistent logging is not enabled. No means to filter LogRecords are provided. Due to the constraints of an embedded environment, the IDL type any is not supported. As a query operation, only looking up the logtime for a single LogRecord is provided. Otherwise, queries are achieved via a record s RecordId. Several possibilities to filter LogRecords with respect to attributes of the log written by the LogProducer exist. In addition, the LLS enables the reading of small consecutive chunks of a LogRecord, similar to the use of an iterator. Write operations are asynchronous. The log provides no feedback and raises no exceptions.
2 In this way, restrictions of an embedded ORB are taken into account. Bearing in mind that the LLS addresses primarily the needs of embedded systems, it relies only on a minimum set of system resources. The LLS is not dependent on any other component or service. In the definition of the enumeration type LogFullAction, parentheses, (), instead of braces, {} were used. This was corrected in our implementation. The interfaces LogConsumer and LogAdministrator contain (among others) the definitions of operations retrieve_by_id and set_max_size, respectively that may raise an exception of type InvalidParam. However, this exception type is not defined anywhere. In our LLS implementation, we supplied a simple exception type. Naming and usage of a sequence of ProducerLogRecords is inconsistent. It is defined as a LogProducerRecordSequence but then later used as a ProducerLog- RecordSequence. To correct this inconsistency, we adapted the IDL interface of the LLS to the first variant. The specification contains additional inconsistencies with regard to the naming of enum data types. These are defined as LogFullAction or AdministrativeState; however, they are then used later as LogFullActionType and AdministrativeStateType, respectively. In our implementation, we used the identifiers LogFullAction and AdministrativeState. As discussed above, we took measures to eliminate the inconsistencies that occurred in the IDL interface of the Draft Adopted Specification and to be able to conduct the implementation. In parallel, the OMG also undertook efforts to correct its own specification. In the Final Adopted Specification of May 22, 2003 [3], the problems identified above were eliminated. The solutions we and OMG found are largely identical which significantly simplified the adaptation of our implementation. The only notable difference concerned the definition of the InvalidParam exception, which contained no attributes in our original implementation and thus had to be enhanced with an attribute details of type string in order to be standard conformant. 3 Implementation Problems During implementation of the LLS specified by the OMG in the Draft Adopted Specification of Nov. 2, 2002 [2], we detected several deficiencies in the original IDL interface: 4 The Implementation of the LLS In the following sections, we present the architecture of the LLS, explain possible implementation alternatives, and discuss several application scenarios. 4.1 Architecture The LLS specification contains the definition of four interfaces. The interface LogStatus defines operations that allow for queries concerning the current state of a Log object. We find operations that return the current or the maximum size of the log in bytes. The number of stored LogRecords can be queried as well. Furthermore, the interface provides operations that report the administrative or the operational state of the log. Since the LogStatus interface serves as a base interface for the remaining three interfaces of the LLS specification, these common operations are inherited and, therefore, available in these interfaces. In addition to the LogStatus operations, the interface LogProducer provides operations that allow the insertion of new LogRecords into the log. Here, a data structure ProducerLogRecord is used. Besides the current log data (logdata), additional details, e.g., the producer s identity (producerid) and its name (producername), are supplied. In the log, this data is supplemented by the current time (LogTime) as well as a RecordID. The Final Adopted Specification defines not only the operation write_records but also the operation write_record. Both write operations are specified oneway and thus can neither return a result nor raise an exception. In this way, the LogProducer s implementation is decoupled from the implementation of the log so that difficulties in the log will not have side-effects on the LogProducer. Analogous to the LogProducer, the interface LogConsumer is derived from LogStatus and enhances it by providing operations that can retrieve LogRecords from the log. Therefore, it defines a multitude of operations, e.g., retrieve_records, retrieve_records_by_level, retrieve_- records_by_producer_id, and retrie-
3 ve_records_by_producer_name, which return entries from the log considering various criteria. The last interface defined in the LLS specification is the LogAdministrator. Also derived from interface LogStatus, it provides various administrative operations. These can be invoked, e.g., in order to set the maximum size of the log, to clear the log, or to destroy it. It is also possible to configure the actions that are to be taken if the log storage area should become full. In this case, it is possible to reject the acceptance of further LogRecords LogFullAction set to HALT or to overwrite the oldest records in the log LogFullAction set to WRAP. Figure 1 shows the architecture of the LLS. 4.2 Implementation Alternatives In CORBA we can chose between two different approaches when implementing the IDL interfaces of a CORBA-based application: the inheritance-based (POA- Approach) or delegation-based (TIE-Approach) implementation. An inheritance-based implementation defines a Servant class that inherits from a base class, named <interface-name>poa. This base class is generated by the IDL compiler. Due to the inheritance relationship, the servant must implement the operations defined in the IDL interface. It should be noted that, in the case of programming languages that do not support multiple inheritance such as Java, this implementation of the servant uses up its single inheritance by extending the POA base class. Figure 1: Architecture of the LLS
4 In the delegation-based implementation, we define a Delegator class for the respective interface. It adopts the role of the servant class but does not provide operations; instead, each operation invocation is delegated to an implementation class. In the case of Java, this implementation class must define the operations in the interface <interface-name>operations, which is generated by the IDL-compiler. In this way, an implementation class can inherit from multiple interfaces. So, a single delegator could service objects that represent different interfaces. A drawback of this approach is the additional level of indirection, which can have negative effects on the execution speed of the application. 4.3 Required Memory Resources We examined the two approaches discussed above POA and TIE with respect to their memory requirements. This is an interesting comparison since embedded systems with their severe resource constraints are one of the typical application areas of a LLS. First, static memory requirements were compared, i.e., we inspected the size of the class files. When implementing the interfaces with the TIE-Approach, the single resulting class file had a size of 6,722 bytes. For the implementation following the POA-Approach, we generated four class files with a total of 9,867 bytes, an additional 46.8% of bytecode. Subsequently, we measured the storage the two alternatives require when their classes are loaded. Here, both approaches yielded similar results. For the TIE-Approach, an average of 707,704 bytes were necessary; using the POA-Approach, the corresponding value was 707,568 bytes. Both values include the memory allocation for the ORB s runtime library. 4.4 Selection of the Appropriate Data Structure for LogRecords Our implementation of the LLS specification was carried out with the help of Sun s Standard Development Kit (SDK) [8]. In order to store LogRecords in memory, we used the SortedMap data structure provided by the SDK. Only one single implementation of SortedMap, the TreeMap, exists in the SDK. This implementation is based upon a red-black tree [8]. The keys in a TreeMap are always sorted. Their sequence is determined by the interface Comparable that must be implemented by the key. In the case of the LLS, the RecordId is used as a key; it is stored in the Long wrapper class. According to the characteristics of a red-black tree, the TreeMap supplies the methods containskey, get, and remove with logarithmic access times. These methods are invoked in the following situations: When we delete a LogRecord, we can determine the data set to be deleted with the SortedMap s method firstkey and then delete it by invoking SortedMap s remove(logs.first- Key()); note that the RecordIds are generated in ascending order. Also, it is possible to assert with logarithmic effort whether a LogRecord is contained in the log or not (e.g., by calling method retrieve_by_id). With the help of the SortedMap method submap, we can obtain a partial tree, which allows us to generate a sub-sequence of entries in the log within retrieve_records. In order to find a RecordId according to its LogTime in logarithmic time with the method get_record_id_from_time, we have to apply a different access strategy. Here, we implemented our own algorithm based upon binary search. Java offers several alternatives when realizing the data store compared to the TreeMap. A HashMap provides constant access times for its elements with the methods get and put. While this is an advantage, a HashMap stores its elements unsorted, which results in considerable cost when invoking method retrieve_records. First, all entries in the HashMap would have to be inspected, which would yield linear access times; additionally it would be necessary to sort the found LogRecords in order to determine which of those have to be returned. Using a HashMap, the rebalancing of the red-black tree necessary after inserting a LogRecord is dispensable. However, a HashMap s size must be adjusted to the size of the log [8]. An ArrayList also offers constant access time for its elements by invoking the method get. Iteration through a list in order to collect a number of LogRecords is then linear in the number of elements to be found. In amortized constant time, we can insert elements by calling the method add. In that respect, an ArrayList offers better performance than the TreeMap. However, due to the fact that an ArrayList is internally based upon an array, all other methods, including deletion of elements, are linear in time [8]. In the case that the attribute LogFullAction is set to the value WRAP, the method remove is often called. Here, the TreeMap with its O(log(n)) access time is considerably faster. At this point, we have to take into consideration how we want to work with the log. If we set LogFullAction to WRAP, then each write access deletes all existing LogRecords and therefore is O(n). In the case of a HALT strategy, no old LogRecord must be deleted and a write access needs constant time.
5 For our implementation, we decided to use a TreeMap since in both cases it offers an average access time of O(log(n)). Moreover, in many cases it would be recommendable to apply the WRAP strategy since the LLS has to perform under severe resource constraints and only a limited amount of memory will be available. With the HALT strategy, it would only be possible to store a few LogRecords and it would be necessary to reject additional entries. 4.5 An Example for Using the LLS In Figure 2 we show an example scenario of an application using the LLS. In this example, the Log- Administrator client sets the value of the LogFullAction attribute to WRAP. Then, a LogProducer client writes one or more Producer- LogRecord entries to the log. By invoking the operation get_record_id_from_time, a LogConsumer client can obtain a number of data records from the log. Here, the RecordId of the starting record as well as the number of records to retrieve must be specified. 5 Portability We tested our LLS implementation with two different ORBs: JacORB Version [6] and OpenORB [7]. JacORB was developed at the Freie Universität Berlin and is publicly available. OpenORB is an open source project of the ExoLab group. In addition to the ORB core, both distributions contain different CORBAservices. The porting of our LLS implementation from JacORB to OpenORB was successful without any additional coding. 6 Conclusion We encountered several problems during implementation of the LLS based on the Draft Adopted Specification. The reasons were inconsistencies in the definition of the IDL interfaces of that specification. Most of the problems could be solved with minor corrections and considerations that corresponded largely to the improvements introduced by OMG in its Final Adopted Specification. Therefore, only minor adjustments of our own service to the new specification were needed. Bearing in mind the resource constraints that are typical for applications using a LLS in embedded or realtime environments, we compared two different implementation approaches with respect to their memory requirements: the POA-Approach and the TIE- Approach. No relevant differences were detected. In the final section of our research, we analyzed portability of the solution we had implemented. Porting the LLS from JacORB to OpenORB, we did not encounter problems. With the help of our LLS implementation, CORBAbased applications can profit by enhanced functionality. Focusing primarily in application areas where system resources are limited, our implementation can further promote the popularity of the CORBA standard. Figure 2: Example Scenario for Using the LLS
6 References: [1] OMG (2003): Catalog of OMG CORBAservices specifications, [2] OMG (2002): Lightweight Log Service Specification ; Draft Adopted Specification; OMG Technical Document Number , [3] OMG (2003): Lightweight Log Service Specification ; Final Adopted Specification; OMG Technical Document Number , [4] OMG (2003): Telecom Log Service Version ; OMG Technical Document Number , [5] OMG (2002): The Common Object Request Broker: Architecture and Specification Version 3.0 ; OMG Technical Document Number , [6] JacORB, URL: [7] OpenORB, URL: [8] Sun Microsystems Inc. (2003), Java TM 2 Platform Standard Edition Version 1.4.1, API Specification
Today: 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 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 informationWhat is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.
CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object
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 informationCARLA A CORBA-based Architecture for Lightweight Agents
CARLA A CORBA-based Architecture for Lightweight Agents Markus Aleksy, Axel Korthaus, Martin Schader University of Mannheim, Germany {aleksy korthaus mscha}@wifo3.uni-mannheim.de Abstract The field of
More informationMigrating IONA Orbix 3 Applications
Migrating IONA Orbix 3 Applications Contrasting the migration path of Orbix 3 applications to Orbix 2000 and to Borland Enterprise Server, VisiBroker Edition by Will Edwards, Senior Consultant, The New
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 informationImproving the Interoperability between Web Services and CORBA Using Pontifex A Generic Bridge Generator
Improving the Interoperability between Web Services and CORBA Using Pontifex A Generic Bridge Generator Markus Aleksy, Jan Czeranski, Martin Schader University of Mannheim, Germany {aleksy czeranski mscha}@wifo3.uni-mannheim.de
More informationNOKIA M2M PLATFORM ACTIVE NAMINGCONTEXT PROGRAMMING GUIDE. Copyright 2002 Nokia. All rights reserved. Issue
NOKIA M2M PLATFORM ACTIVE NAMINGCONTEXT PROGRAMMING GUIDE Copyright 2002 Nokia. All rights reserved. Issue 1.2 9354562 Contents ABBREVIATIONS...2 1. INTRODUCTION...3 2. ACTIVE NAMINGCONTEXT...4 2.1 ANC
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 informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationDistributed Systems Middleware
Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30
More informationThe Free implementation of CORBA standard
Content licensed under GFDL The Free implementation of CORBA standard Audrius Meška uskas GNU Classpath Why do we need this?... their need for better integration, rapid development tools, and easier-to-manage
More informationA Critical Review of the Resource Access Decision Specification in CORBA
A Critical Review of the Resource Access Decision Specification in CORBA Michael Schneider, Markus Aleksy, Axel Korthaus, Martin Schader University of Mannheim, Germany {schneider aleksy korthaus schader}@wifo3.uni-mannheim.de
More informationDistributed Object-based Systems CORBA
CprE 450/550x Distributed Systems and Middleware Distributed Object-based Systems CORBA Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu March 30, 2004 2 Readings for Today s Lecture!
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD This is a preview - click here to buy the full publication ISO/IEC 19500-3 First edition 2012-04-15 Information technology Object Management Group Common Object Request Broker Architecture
More informationFIPA Agent Management Support for Mobility Specification
1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Management Support for Mobility Specification 7 8 Document title FIPA Management Support for Mobility Specification Document number PC000087B
More informationDLS: a CORBA Service for Dynamic Loading of Code
DLS: a CORBA Service for Dynamic Loading of Code Rüdiger Kapitza 1, Franz J. Hauck 2 1 Dept. of Comp. Science, Informatik 4, University of Erlangen-Nürnberg, Germany SSLBQJU[!DTGBVEFÁ 2 Distributed Systems
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 informationRMI VERSUS CORBA: A MESSAGE TRANSFER SPEED COMPARISON
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume XLIX, Number 1, 2004 RMI VERSUS CORBA: A MESSAGE TRANSFER SPEED COMPARISON FLORIAN MIRCEA BOIAN AND RAREŞ FLORIN BOIAN Abstract. RMI (Remote Method Invocation)
More informationCORBA COMMON OBJECT REQUEST BROKER ARCHITECTURE OVERVIEW OF CORBA, OMG'S OBJECT TECHNOLOGY FOR DISTRIBUTED APPLICATIONS CORBA
CORBA COMMON OBJECT REQUEST BROKER ARCHITECTURE OVERVIEW OF CORBA, OMG'S OBJECT TECHNOLOGY FOR DISTRIBUTED APPLICATIONS Peter R. Egli 1/27 Contents 1. What is CORBA? 2. CORBA Elements 3. The CORBA IDL
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 informationOn the Use of CORBA in High Level Software Applications at the SLS
PAUL SCHERRER INSTITUT SLS TME TA 2001 0183 November, 2001 On the Use of CORBA in High Level Software Applications at the SLS Michael Böge, Jan Chrin Paul Scherrer Institut CH 5232 Villigen PSI Switzerland
More informationSri Vidya College of Engineering & Technology
UNIT I INTRODUCTION TO OOP AND FUNDAMENTALS OF JAVA 1. Define OOP. Part A Object-Oriented Programming (OOP) is a methodology or paradigm to design a program using classes and objects. It simplifies the
More informationArchitectural Design Outline
Architectural Design Outline Prev lecture general design principles. design Today architectural 1. What is a software architecture 2. Components, Connectors, and Configurations 3. Modeling Architectures:
More informationSOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY
SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY FINAL / 15 May 2006 Version 2.2.2 Prepared by: JTRS Standards Joint Program Executive Office (JPEO) Joint Tactical Radio System (JTRS)
More informationAQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA
AQUILA (IST-1999-10077) Adaptive Resource Control for QoS Using an IP-based Layered Architecture Project Defense Development of C++ Client for a Java QoS API based on CORBA http://www-st st.inf..inf.tu-dresden.de/aquila/
More informationLightweight Security Service for CORBA. Bob Burt
Lightweight Security Service for CORBA Bob Burt 1 Why Build A Lightweight Security Service?! Why developing implementation of the Resource Access Decision Facility is driving development of a lightweight
More informationCORBA Navigator, A Versatile CORBA Client and its application to Network Management
APNOMS 2003 CORBA Navigator, A Versatile CORBA Client and its application to Network Management KAWABATA, Taichi YATA, Kouji IWASHITA, Katsushi NTT Network Innovation Laboratories {kawabata.taichi, iwashita.katsushi,
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 informationAnalysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD
Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD PASSIVE CORBA FAULT TOLERANCE All clients send method invocations only
More informationAs related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope
HORB: Distributed Execution of Java Programs HIRANO Satoshi Electrotechnical Laboratory and RingServer Project 1-1-4 Umezono Tsukuba, 305 Japan hirano@etl.go.jp http://ring.etl.go.jp/openlab/horb/ Abstract.
More informationObject Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group
Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Philosophy A standard profile for limited resource systems Simpler means smaller and faster Vendors can profile implementations
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More 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 informationMTAT 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 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 informationChapter 16. Layering a computing infrastructure
: Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management
More informationAchieving Architectural Design Concepts with Remote Method Invocations
Achieving Architectural Design Concepts with Remote Method Invocations L.ilteri ÖNEY E1305937 Computer Engineering Department - METU Dr.Semih ÇETN ABSTRACT Motivation to write this article is based on
More informationibaan OpenWorld Adapter Suite 2.3 Installation and Configuration Guide for Connector for CORBA
ibaan OpenWorld Adapter Suite 2.3 Installation and Configuration Guide for Connector for CORBA A publication of: Baan Development B.V. P.O.Box 143 3770 AC Barneveld The Netherlands Printed in the Netherlands
More informationReal-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java
Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Andrew Foster Product Manager PrismTech Corporation The Case for Java in Enterprise Real-Time Systems
More informationUNIT 4 CORBA 4/2/2013 Middleware 59
UNIT 4 CORBA 4/2/2013 Middleware 59 CORBA AN OBJECT ORIENTED RPC MECHANISM HELPS TO DEVELOP DISTRIBUTED SYTEMS IN DIFF. PLATFORMS OBJECTS WRITTEN IN DIFF., LANG, CAN BE CALLED BY OBJECTS WRITTEN IN ANOTHER
More informationDistributed 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 informationPlug-and-Play Network Service Configuration Using CORBA
Plug-and-Play Network Service Configuration Using CORBA Syed Kamran Raza, Bernard Pagurek, Tony White Dept. of Systems and Computer Engineering, Carleton University 1125 Colonel By Drive Ottawa, ON. Canada
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationSponsored by the Alliance for Telecommunications Industry Solutions. CORBA Implementation Profile for Electronic Communications
Sponsored by the Alliance for Telecommunications Industry Solutions CORBA Implementation Profile for Electronic Communications TCIF-98-014 Issue 1 09/16/1999 Copyright Page TCIF Guideline CORBA Implementation
More informationApplication 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 informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationA Scalable Architecture for Parallel CORBA-based Applications
A Scalable Architecture for Parallel CORBA-based Applications MARKUS ALEKSY MARTIN SCHADER Department of Information Systems III Department of Information Systems III University of Mannheim University
More informationDistributed Object-Based. Systems. Chapter 9
Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction
More informationDistributed Systems Security: Java, CORBA, and COM+ April L. Moreno September 14, Abstract
Distributed Systems Security: Java, CORBA, and COM+ April L. Moreno September 14, 2002 Abstract Security can have varying levels of difficulty for implementation. One factor in determining the difficulty
More informationThe Common Object Request Broker Architecture (CORBA)
The Common Object Request Broker Architecture (CORBA) CORBA CORBA is a standard architecture for distributed objects systems CORBA is designed to allow distributed objects to interoperate in a heterogenous
More information[MS-WDSC]: Windows Deployment Services Control Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-WDSC]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationUsing Java Applets and CORBA for Distributed Application Development
Using Java Applets and CORBA for Distributed Application Development Eric Evans Daniel Rogers Summary December 10, 1996 The Java language environment, the World-Wide Web (WWW), and the Common Object Request
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 informationFine Grained CORBA Services to Build Scalable DRT&E Architectures
Fine Grained CORBA Services to Build Scalable DRT&E Architectures Victor Giddings Objective Interface Systems, Inc. victor.giddings@ois.com Object Model Architecture Application Objects Vertical CORBA
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 informationNetwork Computing (EE906) Part 4: Distributed Object Technology
Network Computing (EE906) Part 4: Distributed Object Technology EE906-DOT Objectives Learn and Understand about Basic principles of socket and its programming Java RMI and its programming CORBA architecture
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More informationAN 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 informationA web application serving queries on renewable energy sources and energy management topics database, built on JSP technology
International Workshop on Energy Performance and Environmental 1 A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology P.N. Christias
More informationInteroperability of Java-Based Applications and SAP s Business Framework State of the Art and Desirable Developments
Interoperability of Java-Based Applications and SAP s Business Framework State of the Art and Desirable Developments Markus Aleksy, Axel Korthaus University of Mannheim, Germany {aleksy korthaus}@wifo3.uni-mannheim.de
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 information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationANSAwise - CORBA Interoperability
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - CORBA Interoperability
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 informationCS555: 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 informationIntegrating Fragmented Objects into a CORBA Environment
Integrating ed Objects into a CORBA Environment Hans P. Reiser 1, Franz J. Hauck 2, Rüdiger Kapitza 1, and Andreas I. Schmied 2 1 Dept. of Distributed Systems and Operating System, University of Erlangen-
More informationSOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY
SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY Version: 4.1 Prepared by: Joint Tactical Networking Center (JTNC) 33000 Nixie Way San Diego, CA 92147-5110 Distribution Statement
More informationPatterns 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 informationIIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol
IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol My Articles: Home Networking Wearable Computing IIOP Meet My Friend Intelligent Agents We are
More informationA Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability
A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability Abstract Paul Grace 1, Gordon Blair 1 and Sam Samuel 2 1 Computing Department, Lancaster University,
More informationService-based Systems Management: Using CORBA as a Middleware for Intelligent Agents
Proceedings of the IFIP/IEEE International Workshop on Distributed Systems: Operations & Management, L Aquila, Italy, October 1996 Service-based Systems Management: Using CORBA as a Middleware for Intelligent
More informationDistributed 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 informationJava For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing
Java For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing Simon McQueen CORBA Technical Lead July 2006 The Case for Java in Enterprise
More informationCORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University
CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard
More informationFIPA Agent Software Integration Specification
FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Software Integration Specification Document title FIPA Agent Software Integration Specification Document number XC00079A Document source FIPA Architecture
More informationQuickSpecs. Compaq NonStop Transaction Server for Java Solution. Models. Introduction. Creating a state-of-the-art transactional Java environment
Models Bringing Compaq NonStop Himalaya server reliability and transactional power to enterprise Java environments Compaq enables companies to combine the strengths of Java technology with the reliability
More information4. CONTAINER DATABASE OBJECT ORIENTED DESIGN
32 4. CONTAINER DATABASE OBJECT ORIENTED DESIGN We propose an Object-oriented design for the Container Database. The abstraction itself is not necessarily dependent on OO technologies nor do we claim it
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 informationCORBA, Java, C++ and ODBMS for Distributed Web Computing
CORBA, Java, C++ and ODBMS for Distributed Web Computing The Taming of the Shrew Steffen Rothkugel and Peter Sturm, University of Trier, Dept. IV/Computer Science, System Software and Distributed Systems,
More informationCORBA vs. DCOM. Master s Thesis in Computer Science
Master s Thesis in Computer Science Preliminary version December 21, 2000 CORBA vs. DCOM Fredrik Janson and Margareta Zetterquist The Royal Institute of Technology Kungliga Tekniska Högskolan Examiner:
More informationApplication Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started
Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features
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 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 informationInformation Systems Distributed Information Systems I: CORBA
Information Systems 2 Information Systems 2 3. Distributed Information Systems I: CORBA Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Business Economics and Information
More informationLars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), Institute BW/WI & Institute for Computer Science, University of Hildesheim
Course on Information Systems 2, summer term 2010 0/28 Information Systems 2 Information Systems 2 3. Distributed Information Systems I: CORBA Lars Schmidt-Thieme Information Systems and Machine Learning
More informationPlatform-Independent Object Migration in CORBA
Universität Ulm Fakultät für Informatik Verteilte Systeme Platform-Independent Object Migration in CORBA Rüdiger Kapitza Holger Schmidt Franz J. Hauck Bericht Nr. VS-R05-2005 2005-10-13 Platform-Independent
More informationWho we are. 2 Copyright Remedy IT
Who we are Remedy IT was founded in 1997 Focus on open standards Our customers are active in various domains such as telecom, finance, aerospace and defense We deliver custom software development For more
More informationMAKING A STATEMENT WITH CORBA
Michael Böge, Jan Chrin Paul Scherrer Institute "SELECT * FROM DRINKS WHERE COFFEE= CAPPUCCINO " Outline Introduction Beam Dynamics Applications @ SLS CORBA Fundamentals scalability of the CORBA database
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationBionic Buffalo Tech Note #23: The France IDL Compiler: C Language Mapping
Bionic Buffalo Tech Note #23 The France IDL Compiler: C Language Mapping last revised Monday 2003.07.07 2003 Bionic Buffalo Corporation. All Rights Reserved. Tatanka and TOAD are trademarks of Bionic Buffalo
More informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationDistributed Computing Overview
Distributed Computing Overview Introduction The rise of networked workstations and fall of the centralized mainframe has been the most dramatic change in the last two decades of information technology.
More informationProtecting the Hosted Application Server
Protecting the Hosted Application Server Paola Dotti, Owen Rees Extended Enterprise Laboratory HP Laboratories Bristol HPL-1999-54 April, 1999 E-mail: {Paola_Dotti,Owen_Rees}@hpl.hp.com application server,
More informationDistributed Object Bridges and Java-based Object Mediator
Distributed Object Bridges and Java-based Object Mediator Konstantinos Raptis, Diomidis Spinellis, Sokratis Katsikas An important aspect of research on software objects, components, and component-based
More informationLimitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component
Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal
More informationCore Java Syllabus. Overview
Core Java Syllabus Overview Java programming language was originally developed by Sun Microsystems which was initiated by James Gosling and released in 1995 as core component of Sun Microsystems' Java
More information