The distributed object computing paradigm: concepts and applications
|
|
- Rudolf Hodges
- 8 years ago
- Views:
Transcription
1 The Journal of Systems and Software 47 (1999) 125±131 The distributed object computing paradigm: concepts and applications Kassem Saleh a,b, *,1, Robert Probert b, Hassib Khanafer a a Kuwait University, Department of Electrical and Computer Engineering, P.O. Box 5969, Safat, Kuwait b University of Ottawa, School of Information Technology and Engineering, P.O. Box 450, Stn. A, Ottawa, Ont., Canada K1N 6N5 Abstract The computing world is shifting toward a new paradigm, the Distributed Object Computing (DOC) paradigm. This paradigm exploits the bene ts of object-oriented technology and uses the Internet and its communications infrastructure as a vehicle for the delivery of a wide range of sophisticated value-added distributed services. Applications of this paradigm are characterised as being open, client/server and multi-tiered applications using collaborating distributed objects. The integration of the Common Object Request Broker Architecture (CORBA) and object-oriented programming languages such as Java will facilitate the introduction and deployment of such applications in a platform-independent distributed environment. In this paper, we introduce both CORBA and Java as tools to facilitate the development of DOC-based applications, and we present examples from two areas of applications, namely, telecom and electronic commerce (EC) applications. Ó 1999 Elsevier Science Inc. All rights reserved. Keywords: CORBA; Distributed computing; Electronic commerce; Java; Object-orientation; Telecommunications 1. Introduction The adoption of object-oriented technology is currently a major trend in the software industry (Jacobson, 1994). The basic component of this technology is the object, a software component that encapsulates both data and code, and interacts with the outside world through well-de ned interfaces. This technology emphasises the importance of reusability, maintainability, exibility and modularity in the software development process, thus enhancing the quality of the software and reducing its development cost, especially when amortized over several iterations. Because of the rapid growth of network and internet users, there is a high demand for the development of highly reliable and easily maintainable distributed computing software in a wide range of application domains, from tele-medicine to tele-education. These sophisticated software applications are inherently complex in nature, and are further complicated by communication, concurrency and synchronization issues. * Corresponding author. Fax: ; ksaleh@site.uottawa.ca 1 On a one-year sabbatical leave from Kuwait University, Department of Electrical and Computer Engineering. From the marriage of object-oriented computing and distributed computing comes the Distributed Object Computing (DOC) paradigm (Special issue on distributed object computing, 1997). This paradigm exploits the bene ts of object-oriented technology and uses the Internet and its communications infrastructure as a vehicle for the delivery of a wide range of sophisticated value-added distributed services. Applications of this paradigm are characterised as open, client/server, multitiered and using collaborating distributed objects. The integration of the Common Object Request Broker Architecture (CORBA) (Orfali and Harkey, 1997) and object-oriented programming languages such as Java will facilitate the introduction and deployment of such applications in a platform-independent distributed environment. The telecommunication industry is one of the main industries investing in client/server and distributed applications. The DOC paradigm has a great potential for integrating di erent telecommunication services including video, audio and data retrieval, and for the management of heterogeneous computer networks. Another emerging industry that will involve the deployment of collaborating distributed objects is Electronic Commerce or e-commerce. In this paper, we rst introduce two important components of our strategy to facilitate the implementation /99/$ ± see front matter Ó 1999 Elsevier Science Inc. All rights reserved. PII: S ( 9 9 )
2 126 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125±131 of the DOC paradigm, namely, CORBA and Java. CORBA is considered to be a vehicle for performing transparent, internet-based distributed computations. Java, an object-oriented programming language, provides features supporting distributed object communication and computing, such as Remote Method Invocation (RMI) and servlets (Saleh, 1999). We then discuss the integrated DOC paradigm using two possible application domains based on the integration of COR- BA and Java. The rest of the paper is organized as follows. Section 2 provides some preliminary background on internet-based distributed computing and the Java programming language. Section 3 introduces CORBA. Section 4 describes two possible applications drawn from the telecommunications and electronic commerce domains. Finally, in Section 5, we conclude the paper and discuss issues for future work. 2. Preliminaries In this section, we provide some preliminary concepts and background information on DOC and Java's support for it. Typical distributed object applications consist of cooperating objects. Some of them acting as clients requesting services, others acting as servers providing these services, with the provision that the same object acting as a server could act as a client to another server and vice-versa. These objects may reside in the same process in the same machine, or in di erent processes in the same machine or in completely di erent machines. Typically, distributed applications are multi-tiered (3 tiers or more). For example, the rst tier is normally the Presentation tier handling the interface with the user. The second tier o ers functionality and connectivity (a bridge between the rst and third tier) achieving the business function and logic of the application. The third tier is the data tier (i.e., data storage) (Saleh, 1999). Hence, we are dealing with thin-clients with minimum responsibilities (Graphical User Interface ± GUI and input validation), connected to data storage through a tier that contains the business logic. These applications exploit the bene ts of the objectoriented programming paradigm. The building objects of these applications have a clear separation between their interface and their implementation. Client objects will only need to know the interface of their servers to access their services without any concern about the implementation of these services. Moreover, distributed objects interoperate transparently. A client object is not concerned about the location of the server object. A client object invokes the operations o ered by a server object as if it is residing in the same machine. Ideally, nding these objects in a distributed computing environment, and the involved communication details should not be the responsibility of the client. Similarly, the server object receives a request, processes it and sends its reply to the client without caring about the client's location and the communication details. The internet is a perfect vehicle for delivering distributed object applications and services. Millions of heterogeneous computers are connected to the network of networks (the web). The web provides a typical client/ server architecture, in which a web browser is the client and a web server is the server. However, the popular HTTP/HTML/CGI combination is fundamentally far from satisfying the requirements of distributed object applications. The Java programming language, introduced by Sun Microsystems, is an object-oriented, multi-threaded and portable programming language, whose object model covers advanced features such as concurrency, mobility and persistence (Farley, 1997). Java eliminates the ine ciencies of the HTTP/HTML/CGI combination and provides the means for achieving distributed object computations on the internet. Java introduced to the web the concept of mobile agents. Using Java, a developer can write an applet: a self-contained program installed in a web server and integrated as part of a web page. Once the browser requests an HTML le pointing to an applet, a TCP connection will be dedicated for downloading the applet to the local host of the browser (i.e., client). A Java-enabled browser (which includes a run-time Java environment or virtual machine) will then execute the applet in the local host. Moreover, Java mobile agents or applets are portable and platform-independent. Also, applets also o er GUI facilities that are more exible than pure HTML pages, and they allow part of the application code to be executed at the client-side (such as input validation), relieving the server and reducing network tra c. Furthermore, applets also reduce the cost incurred in the software set-up and maintenance process. Code could be installed in the server and distributed across the network without any e ort from the programmer. An important feature of Java is its Application Programming Interface (API) for executing SQL statements, called Java Database Connectivity (JDBC). This API consists of a set of classes and interfaces written in the Java programming language (Saleh, 1999). Using JDBC, programmers can write programs containing SQL statements that can access popular relational databases, such as Oracle, Sybase, Microsoft Access and Informix. Transparent database access is a very important feature of real-time applications, especially applications involving on-line access to data sources (e.g. a directory for telephone service subscribers). This feature facilitates the separation between the business logic (second tier) and the data (third tier). Moreover, this
3 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125± separation allows easy maintenance of the business logic and provides a transparent access to multi-platform databases. Although Java is a big step toward deploying distributed object along with the Internet and the web, yet it does not introduce an integrated distributed object infrastructure. Java does not o er the mechanisms and services needed to manage distributed objects. For example, Java does not address how a local client-object can invoke the method of a remote object, how this server-object can be found, collecting the results of requests, activation of remote objects, etc. To overcome this shortcoming, Java introduced the Remote Method Invocation (RMI) class library to support the concept of cooperating distributed objects. However, RMI allows the interoperability of client and server objects both written in Java. The interworking with objects written in other languages such as ADA, C++ and Smalltalk was not addressed in RMI. However, this issue has been addressed by CORBA and is discussed in the next section. 3. CORBA The Object Management Group (OMG), a consortium of 700+ software vendors, developers and users, introduced the Object Management Architecture (OMA), a high-level vision of a complete distributed environment. The OMA consists of four components that can be roughly divided into two parts: system-oriented components (Object Request Broker and Object Services) and application-oriented components (application objects and common facilities) (Orfali and Harkey, 1997). The most important component of this architecture is the Object Request Broker (ORB). It allows objects to interact in a platform- independent heterogeneous distributed environment. ORBs take care of locating and activating servers, marshalling requests and responses, handling concurrency and exception conditions. The standard adopted by OMG is called CORBA, which speci es a system that provides interoperability between objects in a heterogeneous distributed environment. The services used for developing distributed objects are called CORBAservices. Services intended for use primarily by distributed application objects are called CORBAfacilities. Applications developed using these services are called Application objects. The object model introduced in CORBA is described as a group of cooperating objects that reside in the same machine or in di erent machines. The client side objects can invoke methods of the server side objects (object implementation is the term used by CORBA to name the server side objects) using its object reference (object ID), as it invokes the method of any other local object. Any request will be intercepted and executed by the ORB which is responsible for locating the remote object and delivering the request to it. The server object processes the request and sends the result to the client again via the ORB. In this object model, the client object does not need to know about the implementation of the server. The server o ers just an interface which serves as a gateway to its o ered services. Consequently, there is a clear separation between the interface and the implementation of the objects. One important feature of CORBA is that these cooperating objects could be written in different languages such as Java, C, C++ and ADA. To achieve such interoperability, CORBA introduces a strong typed, neutral and declarative language, called Interface De nition Language (IDL). IDL is similar to Java and C++ and can be mapped to many languages. The interfaces of interoperating objects are written in IDL. Then, using special compilers (or translator) the IDL interface is converted to Java, C++ or any other language (provided the IDL compiler is available). A client/server DOC-based application can be developed using the following procedural steps: 1. The interface of the server object is written in IDL. This interface is actually a skeleton containing the methods which provide both the services of the server object and access to its instance variables. In the code, we nd the signatures of methods but not their implementations. 2. The IDL code is compiled (mapped) to the language of implementation using special compilers (such compilers exist for Java and C++). The compiler will produce two types of classes: stub classes are linked to the client-object code, and skeleton classes are linked to the server-object code. 3. The implementation of the methods of the skeleton has to be written in the language to which the IDL code was mapped. 4. The codes of the client and server applications have to be compiled using the native language compilers. After performing the above procedure, client and server objects are ready to invoke each other's methods. These objects will be bound to di erent client and server applications. Fig. 1 shows the interactions between client and server objects (usually referred to as ORB invocation): The ORB invocation can be summarized as follows: 1. The client object calls a server method through the stub (usually called Proxy object). 2. The ORB hands the request to the BOA which activates the implementation (server object). 3. The implementation invokes the BOA to say it is active and available.
4 128 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125±131 Fig. 1. Client server object interactions in CORBA. 4. BOA passes the request to a method in an object implementation (server) via its skeleton. 5. The implementation returns the results back to the client object through the ORB. Basic Object Adapter (BOA) sits on top of the ORB's core communication services and accepts requests for services on behalf of server objects. BOA provides the run-time environment needed for instantiating server objects, passing requests to them and assigning them object Ids. The stub and skeleton classes implement location transparency. Once instantiated, the server will be given an object reference. Using that reference, the client can locate the server through the ORB, without knowing where it resides. The above method of invoking server methods is called static invocation. Clients can use a facility o ered by CORBA architecture, called the Interface repository, to make dynamic invocation. At run-time, the client can access the Interface repository to determine the available objects, their interface and their parameters and form a request on-the- y. While static invocation is characterized by its ease of programming, dynamic invocation is exible but hard to program, and is used when the available objects and their interfaces are not known at compile time. The standard communication protocol, the ORB uses for communication between distributed objects running on the internet is the Internet Inter-ORB protocol (IIOP). IIOP is an application protocol that runs on top of TCP/ IP. In contrast to the stateless HTTP, IIOP can preserve the state of the sessions. It can also handle multiple requests per session. Once the connection is established between CORBA objects, messages do not go through the web server. Unlike the bottleneck in the CGI/HTTP case, all inter-object communications are performed directly between the objects using IIOP. Other CORBA features that are characteristics of distributed object technology include: (1) freeing programmers from network programming, where they no longer have to worry about low level networking details (Saleh, 1999); (2) multi-threading of clients and servers, and (3) the introduction of callback objects. A client object who needs a feedback does not have to wait for the server reply. Alternatively, it can create a callback object (a separate thread), submit the callback object reference to the server and continue executing its tasks. Once the server is ready, it forwards its reply to the callback object. Java and CORBA complement each other. Each o ers the other the service it lacks and together support a computing world made of objects running in a heterogeneous environment and interoperating transparently. While Java o ers CORBA its mobile agents (applets) that can be written once and run every where, its strong security model and multi-threading facilities, CORBA o ers Java the needed distributed objects infrastructure. Using Java and CORBA, the interaction scenarios between browsers and web severs are as follows: 1. The browser requests an HTML page from the web server. Using HTTP, the page and its embedded applet will be downloaded into the browser. 2. The local Java run-time environment of the browser executes the applet. 3. If the applet needs to invoke the methods of remote objects, it will use the client ORB which will communicate with the server ORB using IIOP protocol. The web server will not be involved during this interaction. The server object will receive the request through its ORB, and if it can satisfy it, it formulates a reply and sends it back through its ORB. Using IIOP, the reply is forwarded to the client through its ORB. Clearly, CORBA provides a better support for DOC than Java's RMI and HTTP/CGI. In addition, CORBA retains its superiority over DCOM, Microsoft's middleware for distributed objects, due to its wide support in the industry, platform heterogeneity, maturity, less complexity and rich set of object services (Orfali and Harkey, 1997). 4. Applications In this section, we brie y describe the integration of Java and CORBA in two applications. Our aim is to show how both components, Java and CORBA, can be used to support the DOC paradigm in two di erent domains (Saleh et al., 1999). The use of Java applets and CORBA in multi-user distributed applications was also described in Evans and Rogers (1997) Distributed object computing in a telecom application The internet/web and CORBA/Java are considered ideal vehicles for delivering various telecommunication services, such as telephony services, faxes and video conferencing. This is due to the fast growth of the in-
5 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125± ternet community, the increase of the available bandwidth due to the introduction of new networking technologies (such as ATM), the widespread use of WWW, the DOC infrastructure introduced by COR- BA/Java, the ease of programming using Java and the introduction of Java APIs, that handle di erent kinds of media. In the following, we introduce a client/server application that implements a primitive telephone exchange using CORBA/Java over the web. An informal description of this application was introduced in (Jacobson, 1994). In this application, we have three major actors: the telephone exchange, subscribers and the operator. The subscribers are parties that call each other by starting a calling session. The telephone exchange is responsible for establishing a dedicated network connection between the subscribers for each calling session. Operators are superusers who access the exchange to monitor the tra c in the network, and to review and update subscribers' information. In this application, all subscribers' information is stored in a relational database. Subscribers can be called or calling parties. They are implemented as multithreaded Java applets. When an applet makes a call to another applet (starting a calling session,) it acts as a client to the exchange, but when the applet is receiving probes and data from the exchange, it acts as a server to the exchange. Each applet contains a callback object running in a high priority thread and listening continuously to the exchange messages, thus allowing the applet to act as a server. The telephone exchange consists of three servers: the database server, the time server and the coordinator. Each server is instantiated in a separate active process, and includes methods exposed to all subscribers. The server objects are not processes with in nite loops but shared objects with multi-threading capabilities (by default) and without any e ort from the programmer. The database server is responsible for maintaining a permanent connection to the database using the JDBC- ODBC bridge. Any object that needs to review and manipulate information in the database has to call the methods of this object. Clients of this object are subscribers and operators. The validity of a subscriber's user id and password is veri ed using this server. Furthermore, the Operator needs to review and update the subscribers' information stored in the database. The time server object is responsible for timing the duration of terminating calls for accounting purposes. Using the services of this object, time is recorded at the startup and termination yielding the session duration. The coordinator is the backbone of the exchange. Its responsibilities range from registering the active subscribers once they are guaranteed access to the exchange, establishing a permanent connection between subscribers once the called party is ready to receive the call, transfer the talk between the two parties of the calling session, and compute the time duration of the calling sessions. The coordinator maintains two registries, one for all the active users and the other one for the active calling sessions. The operator is implemented as a multi-threaded Java applet that has the ability to add new subscribers to the RDBMS, review subscribers' information, monitor the active calling sessions in the network, and monitor the tra c on the other server objects. Fig. 2 shows a high level architectural view of the telecom application including all interacting objects described above. Fig. 3 shows the di erent actors in the system and their interactions using the IIOP of CORBA as the transport mechanism. The object-oriented design and implementation of the telecom application is described in detail in Saleh and Khanafer, submitted. Although the distributed object-oriented design allows the transparent distribution of objects all over the network, objects can be colocated for convenience. For example, the time server, database server and coordi- Fig. 2. Architectural view of telecom objects and their interactions. Fig. 3. The distributed objects of the telecom application.
6 130 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125±131 Fig. 4. The distributed objects of an EC application. nator objects can coexist in the same internet node or computer. Also, objects can be written in di erent programming languages. For example, we can have the time server object written in C Distributed object computing in an electronic commerce application Electronic Commerce (EC) systems are considered as specialized instances of distributed processing systems (Saleh and Probert, 1998). As for any distributed system, an EC system is architecturally composed of multiple, decentralized and autonomous processing entities or agents exchanging messages across the network. EC systems are also reactive, real-time, concurrent and open systems. Basically, an EC software system provides many functionalities that are distributed among several business areas. The degree of distribution and complexity varies among these areas. These areas may include product cataloging, advertising and marketing, order execution and post-order support and management. A typical EC system requires the collaboration of several entities (or agents) to complete an order transaction. The orderly and timely exchange of messages among those agents ensures the correct execution of an EC transaction. These agents are, in addition to the consumer and business, the nancial institution, the payment server, the shipper and the supplier. Because of the distributed nature of this application, it seems intuitive to have an object acting on behalf of each of the collaborating agents listed above. Using CORBA's ORBs as a secure delivery platform for this application, distributed objects can collaborate to successfully complete the requested business function. Fig. 4 shows the di erent actors in the system using the IIOP as the transport mechanism. As in the previous example, some objects can be colocated and written in di erent languages. 5. Conclusions From the exploitation of object-oriented and distributed computing technologies, a new and promising computing paradigm emerged: the DOC paradigm. A wide variety of sophisticated value-added internet applications can be developed based on this paradigm, such as EC, telecommunication services and network management. Although there are many candidate tools that facilitate the development and deployment of such applications, CORBA and Java are gaining popularity in the computer software industry. While Java o ers intelligent, multi-threaded, portable and mobile objects, CORBA o ers the infrastructure that allows these objects to communicate and interoperate in a transparent manner. We are currently working on facilitating the description of DOC applications design using existing and emerging design notations for object-oriented systems such as the Uni ed Modeling Language (UML). Acknowledgements The authors would like to thank the reviewers for their comments. Also, the authors would like to acknowledge the support of this work by a Kuwait University Research Administration Grant EE-107 and a Grant from the Natural Sciences and Engineering Research Council (NSERC) of Canada. References Evans, E., Rogers, D., Using java applets and CORBA for multiuser distributed application. IEEE Internet computing. Farley, J., Java distributed computing. O'Reilly. Jacobson, I., Object-Oriented Software Engineering: A Use Case Driven Approach, 4th ed. Addison-Wesley, Reading, MA. Orfali, R., Harkey, D., Client/Server programming with Java and CORBA. Wiley, New York. Saleh, K., Java object model: elements and application. Journal of Information and Software Technology, 41 (4), 235±241. Saleh, K., Khanafer, H., Probert, R., Ural, H., CORBA-based telecom application of distributed object computing. Proceedings of the 17th IASTED International Conference on Applied Informatics (AI'99), Innsbruck, Austria. Saleh, K., Khanafer, H. Object-Oriented Design and Implementation of a Telecom Application Using Java and CORBA, submitted. Saleh, K., Probert, R., Issues in testing electronic commerce systems, First IBM International Workshop on Technological Challenges in Electronic Commerce, Toronto, Canada. Special issue on distributed object computing, IEEE Communications Magazine 35 (2). Kassem Saleh received a B.Sc., M.Sc. and Ph.D. from the University of Ottawa in Canada in 1985, 1986 and 1991, respectively. He worked at Bell Canada from 1985 to 1991 and Concordia University for one year before joining Kuwait University in He is currently an Associate Professor in the Department of Electrical and Computer Engineering, College of Engineering and Petroleum at Kuwait University. Dr. Saleh was placed in eighth position among the top scholars in the Field of Systems and Software Engineering in an annual assessment published by the Journal of Systems and Software in October 1997 and October He was awarded the distinguished teacher prize in 1996 both from the College of Engineering and
7 K. Saleh et al. / The Journal of Systems and Software 47 (1999) 125± Petroleum at Kuwait University. Dr. Saleh serves on the editorial advisory board of the Computer Communications journal. His current research and teaching activities are in software engineering, communications software, distributed systems and internet computing. Dr. Saleh has presented many tutorials at international conferences and universities worldwide.
Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary
C H A P T E R 1 1 Overview of CORBA 11.1 Introduction to CORBA 11.2 CORBA architecture 11.3 Client and object implementations 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary In previous
More informationWhat Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
More informationChapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
More informationElements of Advanced Java Programming
Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the
More informationA Web-Based Real-Time Traffic Monitoring Scheme Using CORBA
A Web-Based Real-Time Traffic Monitoring Scheme Using CORBA Yuming Jiang, Chen-Khong Tham, Chi-Chung Ko Department of Electrical Engineering, National University of Singapore, 10 Kent Ridge Crescent, Singapore
More informationSOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
More informationModule 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur
Module 17 Client-Server Software Development Lesson 42 CORBA and COM/DCOM Specific Instructional Objectives At the end of this lesson the student would be able to: Explain what Common Object Request Broker
More informationImplementing Java Distributed Objects with JDBC
Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University
More informationWeb Services. Copyright 2011 Srdjan Komazec
Web Services Middleware Copyright 2011 Srdjan Komazec 1 Where are we? # Title 1 Distributed Information Systems 2 Middleware 3 Web Technologies 4 Web Services 5 Basic Web Service Technologies 6 Web 2.0
More informationMiddleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
More informationIntroduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture
Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit
More informationCharacteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
More informationIntroduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University
Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns
More informationClient/server is a network architecture that divides functions into client and server
Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate
More informationThe Advantages of CorBA For Network Based Training Systems
Support of multimedia services for distributed network training applications in CORBA-3 Fausto Rabitti CNUCE-CNR, Via S. Maria, 36, Pisa, Italy Abstract In this paper, fundamental technological issues
More informationCase Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
More informationWhat is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
More informationMIDDLEWARE 1. Figure 1: Middleware Layer in Context
MIDDLEWARE 1 David E. Bakken 2 Washington State University Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is
More informationEnabling Technologies for Web-Based Legacy System Integration
Enabling Technologies for Web-Based Legacy System Integration Ying Zou Kostas Kontogiannis University of Waterloo Dept. of Electrical & Computer Engineering Waterloo, ON, N2L 3G1 Canada Abstract With the
More informationInformation integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A
Title Information integration platform for CIMS Author(s) Chan, FTS; Zhang, J; Lau, HCW; Ning, A Citation IEEE International Conference on Management of Innovation and Technology Proceedings, Singapore,
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 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 informationA Generic Database Web Service
A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey edogdu@etu.edu.tr Yanchao Wang and Swetha Desetty Georgia State University
More informationBuilding Java Servlets with Oracle JDeveloper
Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual
More informationThe Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,
More informationResearch on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
More informationArchitecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U
Architecture Design For Web-based Application Systems Instructor: Dr. Jerry Gao Class: CMPE296U Architecture Design For Web-Based Application Systems - (1994-1995) Hypertext Web Systems: Graphic Web Browsers
More informationLehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware
Middleware 1 Middleware Lehrstuhl für Informatik 4 Middleware: Realisation of distributed accesses by suitable software infrastructure Hiding the complexity of the distributed system from the programmer
More informationClient-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture
More informationInfrastructure that supports (distributed) componentbased application development
Middleware Technologies 1 What is Middleware? Infrastructure that supports (distributed) componentbased application development a.k.a. distributed component platforms mechanisms to enable component communication
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationDistributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
More informationEnabling the Information Age
Enabling the Information Age Web Application Server 4.0 Agenda Architecture Overview Features 2 1 (OAS) 4.0 Strategy Provide High Enterprise Quality of Service Scalable: Multithreaded, Distributed Server
More informationAGENT TECHNOLOGY ASA SOLUTION FOR NETWORK-ENABLED GIS
AGENT TECHNOLOGY ASA SOLUTION FOR NETWORK-ENABLED Saeid M. Kalantari a, Ali A. Alesheikh b a Graduate student of master, Dept. of Eng. sm_kalantary@yahoo.com b Assistant Professor, Dept. of Eng. alesheikh@kntu.ac.ir
More informationMotivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
More informationDetailed Table of Contents
Detailed Table of Contents Foreword Preface 1. Networking Protocols and OSI Model 1 1.1 Protocols in Computer Communications 3 1.2 The OSI Model 7 1.3 OSI Layer Functions 11 Summary 19 Key Terms and Concepts
More informationJava-technology based projects
Java-technology based projects TietoEnator Corporation Oyj Simo Vuorinen simo.vuorinen@tietoenator.com 1 TietoEnator 2000 Agenda Java: language, architecture, platform? Javan promises and problems Enterprise-APIs
More informationA Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
More informationPERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE
PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request
More informationWeb Services and Seamless Interoperability
Web Services and Seamless Interoperability João Paulo A. Almeida, Luís Ferreira Pires, Marten J. van Sinderen Centre for Telematics and Information Technology, University of Twente PO Box 217, 7500 AE
More informationThe EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
More informationEvent-based middleware services
3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events
More informationEJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes
University of Dublin Trinity College EJB & J2EE Component Technology with thanks to Jim Dowling The Need for Component-Based Technologies The following distributed computing development paradigms have
More informationDistributed Network Management Using SNMP, Java, WWW and CORBA
Distributed Network Management Using SNMP, Java, WWW and CORBA André Marcheto Augusto Hack Augusto Pacheco Augusto Verzbickas ADMINISTRATION AND MANAGEMENT OF COMPUTER NETWORKS - INE5619 Federal University
More informationJNMWare: Network Management Platform Using Java Technologies
JNMWare: Network Platform Using Java Technologies Jae-Oh Lee and Jae-Yeol Kim Dept. of Network, WarePlus Inc. {jolee, kimjy}@wareplus.com Abstract As many Java applications are deployed in the real system,
More informationChapter 2: Enterprise Applications from a Middleware Perspective
Chapter 2: Enterprise Applications from a Middleware Perspective In this chapter, we give an introduction to enterprise applications from a middleware perspective. Some aspects have already been outlined
More informationOracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
More informationInterface Definition Language
Interface Definition Language A. David McKinnon Washington State University An Interface Definition Language (IDL) is a language that is used to define the interface between a client and server process
More informationProject Proposal Distributed Project Management
Proposal Distributed Management by Passakon Prathombutr Ashok Emani CS551 Fall 2001 CSTP UMKC 1 Contents Introduction...3 Goal and Objectives...4 Overall goal... 4 Specific objectives... 4 Significance...
More informationLayering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure
University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware
More informationArchitecture of the CORBA Component Model CORBA 3.0
Architecture of the CORBA Component Model CORBA 3.0 What is CORBA CORBA (Common Request Broker Architecture) is a distributed object-oriented client server platform. It provides: An object oriented remote
More informationLatte Rapid Application Development. William Dunlap Product Manager Borland International wdunlap@wpo.borland.com
Latte Rapid Application Development William Dunlap Product Manager Borland International wdunlap@wpo.borland.com Business Computing Evolution C/S Application Development Collaborative App Development Web
More informationContents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
More informationInternet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007
Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application
More informationEnterprise Application Integration
Enterprise Integration By William Tse MSc Computer Science Enterprise Integration By the end of this lecturer you will learn What is Enterprise Integration (EAI)? Benefits of Enterprise Integration Barrier
More informationDistributed Systems Architectures
Software Engineering Distributed Systems Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the advantages and disadvantages of different distributed systems
More informationComponent Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006
Sophie Chabridon INT - INF Department - Distributed Systems team 2006 Outline 1. Introduction................................................................... 3 2. Overview of EJB Technology.................................................
More informationInvocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.
Departament d Arquitectura de Computadors Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application http://www.csc.calpoly.edu/~mliu/book/index.html) Local Objects vs. Distributed
More informationAsk a network designer what middleware
DISTRIBUTED COMPUTING Managing Complexity: Middleware Explained Andrew T. Campbell, Geoff Coulson, and Michael E. Kounavis Ask a network designer what middleware is, and he ll characterize it as part of
More informationWhite paper. IBM WebSphere Application Server architecture
White paper IBM WebSphere Application Server architecture WebSphere Application Server architecture This IBM WebSphere Application Server white paper was written by: Jeff Reser, WebSphere Product Manager
More informationOracle Application Server 4.0: The Integration Platform for Oracle Products and the Internet. An Oracle White Paper August 1998
Oracle Application Server 4.0: The Integration Platform for Oracle Products and the Internet An Oracle White Paper August 1998 The Integration Platform for Oracle Products and the Internet INTRODUCTION
More informationLegacy System Integration Technology for Legacy Application Utilization from Distributed Object Environment
Legacy System Integration Technology for Legacy Application Utilization from Distributed Object Environment 284 Legacy System Integration Technology for Legacy Application Utilization from Distributed
More informationOutline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
More informationPERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS
PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS Adrian Mos, John Murphy Performance Engineering Lab, Dublin City University Glasnevin, Dublin 9, Ireland Tel: +353 1 700-8762,
More informationA framework for web-based product data management using J2EE
Int J Adv Manuf Technol (2004) 24: 847 852 DOI 10.1007/s00170-003-1697-8 ORIGINAL ARTICLE M.Y. Huang Y.J. Lin Hu Xu A framework for web-based product data management using J2EE Received: 8 October 2002
More informationA Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu
More informationJDBC Drivers, Bridges and SequeLink. Edward M. Peters Vice President & General Manager DataDirect
JDBC Drivers, Bridges and SequeLink Edward M. Peters Vice President & General Manager DataDirect DataDirect s Business Provide world class data connectivity from any application, to any data source, from
More informationCOM 440 Distributed Systems Project List Summary
COM 440 Distributed Systems Project List Summary This list represents a fairly close approximation of the projects that we will be working on. However, these projects are subject to change as the course
More information2 establishment and coordination of virtual enterprises shared business processes. Moreover, each of the underlying technological areas poses signican
1 A Survey of the Current State-of-the-Art in Electronic Commerce and Research Issues in Enabling Technologies Asuman Dogac Software Research and Development Center Department of Computer Engineering Middle
More informationA Layered Architecture based on Java for Internet and Intranet Information Systems
A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad
More informationSystem Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications
System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications Jun Han, Peninsula School of Computing and Information Technology, Monash University, McMahons Road, Frankston,
More informationService-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
More informationJava in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
More informationJReport Server Deployment Scenarios
JReport Server Deployment Scenarios Contents Introduction... 3 JReport Architecture... 4 JReport Server Integrated with a Web Application... 5 Scenario 1: Single Java EE Server with a Single Instance of
More information1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
More informationTechnical overview of IBM's Java initiatives
1 of 16 Technical overview of IBM's Java initiatives by E. Gottschalk IBM Corporation Note: You can download the PDF version of this paper. PDF files can be viewed and printed with Adobe's Acrobat (TM)
More informationJava Server Programming: Principles and Technologies. Subrahmanyam Allamaraju, Ph.D.
Java Server Programming: Principles and Subrahmanyam Allamaraju, Ph.D. Java Server Programming: Principles and By Subrahmanyam Allamaraju, Ph.D. Copyright Subrahmanyam Allamaraju 2001 All rights reserved
More informationGenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student tawbi@irit.fr Bilal CHEBARO Assistant professor bchebaro@ul.edu.lb Abstract
More informationJava and Distributed Object Models: An Analysis
Abstract Java and Distributed Object Models: An Analysis Marjan Hericko *, Matjaz B. Juric *, Ales Zivkovic *, Ivan Rozman *, Tomaz Domajnko *, Marjan Krisper ** * University of Maribor, Faculty of Electrical
More informationReport of the case study in Sistemi Distribuiti A simple Java RMI application
Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by
More informationFrameworks for Component-Based Client/Server Computing
Frameworks for Component-Based Client/Server Computing SCOTT M. LEWANDOWSKI Department of Computer Science, Brown University, Providence, RI 02912-1910 scl@cs.brown.edu 1. INTRODUCTION This article introduces
More informationSeamless Integration of Distributed Real Time Monitoring and Control Applications Utilising Emerging Technologies
Seamless Integration of Distributed Real Time Monitoring and Control Applications Utilising Emerging Technologies V. Kapsalis, A. Kalogeras, K. Charatsis, G. Papadopoulos Industrial s Institute University
More informationA Framework for Virtual Enterprise Support Services
A Framework for Virtual Enterprise Support Services Vaggelis Ouzounis, Volker Tschammer ECCO Electronic Commerce Center of Competence, GMD-Fokus, Kaiserin-Augusta-Allee 31, D-10589, Berlin, Germany Tel:
More information2. Accessing Databases via the Web
Supporting Web-Based Database Application Development Quan Xia 1 Ling Feng 2 Hongjun Lu 3 1 National University of Singapore, Singapore, xiaquan@comp.nus.edu.sg 2 Hong Kong Polytechnic University, China,
More informationChapter 7, System Design Architecture Organization. Construction. Software
Chapter 7, System Design Architecture Organization Object-Oriented Software Construction Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) Overview Where are we right
More informationExtending Desktop Applications to the Web
Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 arno@sfsu.edu Abstract. Web applications have
More informationCore J2EE Patterns, Frameworks and Micro Architectures
Core J2EE Patterns, Frameworks and Micro Architectures Deepak.Alur@sun.com Patterns & Design Expertise Center Sun Software Services January 2004 Agenda Patterns Core J2EE Pattern Catalog Background J2EE
More informationChapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component
More informationVersion 14.0. Overview. Business value
PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing
More informationService Mediation. The Role of an Enterprise Service Bus in an SOA
Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7
More informationIf your organization is not already
Before you build your Web site, you need a solid design. Eden Watt At a Glance When you develop your first e-commerce site, you will discover that there are a few new things to learn about application
More informationThe Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1
S C H E D A E I N F O R M A T I C A E VOLUME 20 2011 The Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1 Zdzis law Onderka AGH University
More informationCache Database: Introduction to a New Generation Database
Cache Database: Introduction to a New Generation Database Amrita Bhatnagar Department of Computer Science and Engineering, Birla Institute of Technology, A 7, Sector 1, Noida 201301 UP amritapsaxena@gmail.com
More informationNew Methods for Performance Monitoring of J2EE Application Servers
New Methods for Performance Monitoring of J2EE Application Servers Adrian Mos (Researcher) & John Murphy (Lecturer) Performance Engineering Laboratory, School of Electronic Engineering, Dublin City University,
More informationFrameworks For Component-Based Client/Server Computing
Frameworks For Component-Based Client/Server Computing Scott M. Lewandowski Department of Computer Science Brown University Providence, RI 02912-1910 scl@cs.brown.edu Abstract This paper presents two frameworks
More informationB. WEB APPLICATION ARCHITECTURE MODELS
B. WEB APPLICATION ARCHITECTURE MODELS 1. Web application, what, why and how? 2. N-Tier architecture 3. Historical review of architecture models 4. How does this relate to MVC? 83 B.1 Web application,
More informationAn Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents
An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents M. Anber and O. Badawy Department of Computer Engineering, Arab Academy for Science and Technology
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationWhat can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4
More informationEnterprise Application Integration: Integration and Utilization of SAS Products
Paper 237-25 Enterprise Application Integration: Integration and Utilization of Products Matthew K. Hettinger, Mathet Consulting, Schaumburg, IL ABSTRACT The enterprise today requires many applications
More information