Distributed Internet Applications - DIA. Principles of Object-Oriented Middleware
|
|
|
- Stewart Harris
- 9 years ago
- Views:
Transcription
1 Distributed Internet Applications - DIA Principles of Object-Oriented Middleware 1
2 Why Middleware? Distributed system construction directly on top of a transport layer is rather difficult. The communication will often need to send complex parameters. Different encodings of data types in memory. Parameters and return values might refer to other distributed system components. Developers and administrators would have to implement component activation. Type safety is an important concern. Achieving type safety manually is quite error prone. Implementing synchronization is rather tedious and error prone. 2
3 Using Network Operating System Application engineers could use network operating systems to exchange information based on sending fixedlength messages or writing into a byte stream Application Network Operating System 3
4 Middleware Middleware simplifies distributed system construction by implementing the presentation and session layers. Application Presentation Session Middleware Transport Network Data link Physical 4
5 Types of Middleware 1. Transaction-Oriented Middleware 2. Message-Oriented Middleware 3. Object-Oriented Middleware 5
6 Transaction-Oriented Middleware Transaction-Oriented Middleware is often used with distributed database applications. Object-oriented middleware has transaction-oriented middleware capabilities. 6
7 Message-Oriented Middleware Message-Oriented Middleware is used when reliable, asynchronous communication is the dominant form of distributed system interaction. IBM s MQSeries, Sun s ToolTalk and NCR s TopEnd This paradigm supports: Asynchronous Message Delivery Multi-Casting The degree of fault-tolerance is very high. Message queues store messages temporarily on persistent storage. Object-oriented middleware is starting to be integrated with message-oriented middleware. 7
8 Remote Procedure Calls (RPCs) An Remote Procedure Call (RPC) is a procedure call across host boundaries. It is invented by Sun Microsystems as part of their Open Network Computing (ONC) platform. The origin of object-oriented middleware is RPC. 8
9 RPC Interface Definition Language The server components that execute RPCs are called RPC programs. RPCs are clustered in RPC programs. An RPC program has an interface definition that defines procedures that can be called remotely. Interface definitions also define data types of arguments that can be passed to remote procedures. The DCE (Distributed Computing Environment) includes an interface definition language that is used to define these exports in a way that is independent of programming languages. 9
10 RPC Interface Definition Language Example: An interface definition in Sun s RPC interface definition language. const NL = 64; Struct Player { struct DoB { int day; int month; int year; } struct name<nl>; }; program PLAYERPROG { version PLAYERVERSION { void PRINT (Player) = 0; int STORE (Player) = 1; Player LOAD (int) = 2; } = 0; } = ; 10
11 RPC Presentation Layer RPC presentation layer integration maps application data structures onto a homogeneous and transmissible form. The mappings between application and transport data representations are called marshalling and unmarshalling. Tasks Achieved by the Presentation Layer Implementation 11
12 RPC Presentation Layer An example of marshalling and unmarshalling (generated by the IDL compiler): char * marshal() { char * msg; msg = new char[4*(sizeof(int) + 1) +strlen(name) + 1]; sprintf(msg, %d %d %d %d %s,dob.day, dob.month, dob.year, strlen(name), name); return (msg); }; void unmarshal(char * msg) { int name_len; sscanf(msg, %d %d %d %d, &dob.day, &dob.month, &dob.year,&name_len); name = new char[name_len + 1]; sscanf(msg, %d %d %d %d, &dob.day, &dob.month, &dob.year,&name_len, name); }; 12
13 RPC Presentation Layer Marshalling is specific to the particular remote procedures Marshalling can be implemented statically at compile time or determined dynamically at run-time. Stubs are generated by remote procedure call systems. Client and server stubs are static implementations of marshalling and unmarshalling. RPC systems on Unix provide an interface definition language compiler, called rpcgen, that generates a client stub and a server stub. 13
14 RPC Session Layer The session layer implementation needs to enable clients to locate an RPC server(statically or dynamically). print_person(char * host, Player * pers) { CLIENT * clnt; } clnt = clnt_create(host, , 0, udp ); if (clnt == (CLIENT *) NULL) exit (1); if (print_0(pers, clnt) == NULL) clnt_perror(clnt, call failed ); clnt_destroy(clnt); Is this location transparent? The above C code creates a client stub for the RPC program in previous example. If the creation succeeds, it calls the stub with print_0. 14
15 Dynamic Binding Each host of a Unix network that supports RPCs runs a daemon called portmap. Any RPC server registers its programs with the portmap daemon that runs on the host. Clients can contact a single portmap daemon to get a list of all programs that reside on the server. Clients can also broadcast a search for a program to all portmap daemons of a network and the portmap daemons with which the program is registered will respond. 15
16 Object-Oriented Middleware Object-Oriented Middleware evolved more or less directly from the idea of remote procedure calls. The first of these systems was OMG s Common Object Request Broker Architecture (CORBA). Microsoft added distribution capabilities to its Component Object Model (COM). Sun provided a mechanism for Remote Method Invocation (RMI). The idea here is to make object-oriented principles available for the development of distributed systems. 16
17 Interface Definition Language Every object-oriented middleware has an interface definition language (IDL). IDLs support the concept of object types as parameters; failure handling; and inheritance. A disadvantage of RPCs is that they are not reflexive. This means that procedures exported by one RPC program cannot return another RPC program. A server object that implements an object type can return other server objects. 17
18 An IDL Example interface Player: Object { typedef struct Date { short day; short month; short year; }; attribute string name; readonly attribute Date DoB; }; interface PlayerStore: Object { exception IDNotFound{ }; short save ( in Player p); Player load ( in short id) raises (IDNoFound); void print ( in Player p); }; Objects of type PlayerStore return a reference to another server object in operation load. 18
19 Presentation Layer Implementation The presentation layer implementation of object-oriented middleware is very similar to that of RPCs. Object-oriented middleware also supports client and server stubs. Object-oriented middleware presentation layers need to map object references to the transport format (marshalling and unmarshalling). 19
20 Session Layer Implementation The session layer implementation of object-oriented middleware is more complex than that of RPCs. Transport layer implementations, such as TCP and UDP, use addressing schemes based on host name and port numbers. RPC systems use the portmap daemon in order to map between service names and host names. The session layer of OO middleware needs to map object references to hosts. 1. Addressing of server objects is based on object references. 2. The object references are generated by the middleware. 3. The session layer implementation of object-oriented middleware maps object references to hosts in a fully transparent way. 20
21 Session Layer Implementation Session layer implements object activation policies in the object adapter. The object adapter implements the mapping of object references to active object implementations Object adapters need to be able to start up servers, which register in an implementation repository or registry. Session layer needs to implement operation dispatch. The object needs to invoke the requested operation. This is referred to as operation dispatch. Session layer needs to implement synchronization. Object requests are, by default, synchronous forms of communication. 21
22 Developing with Object-Oriented Middleware Design and Implementation Process Design Interface Definition Server Stub Generation Client Stub Generation Server Coding Client Coding Server Registration 22
23 Design Design the server objects based on requirements that existing and future client objects may have. Use an CASE tool that supports an object-oriented notation (UML). Class diagrams Sequence diagrams State diagrams 23
24 Interface Definition IDLs provide language constructs for all concepts of their underlying object model. Every object-oriented middleware has an object model. Interface definitions add considerable detail to class diagrams. Interfaces can be seen as contracts that govern the interaction between client and server objects. Interfaces are also the basis for distributing type information. Client and server stubs are automatically derived from interfaces. 24
25 Stub Generation Client and server stubs are proxies for servers and clients. Stubs are incarnations of the Proxy Design Pattern [Gamma et al., 1995]. A proxy is placeholder that hides a certain degree of complication. Client and server stubs hide the fact that an operation execution is being requested in a distributed fashion. Client (server) stub resides on the same host as the client (server) object. 25
26 Stub generation Method Calls versus Object Request 26
27 Stub Generation Process Stubs are generated by the IDL compiler that is provided by the middleware. 27
28 Distributed Ruby DRb - a library module - is a distributed object system for Ruby. It is written in pure Ruby and uses its own protocol. It does not rely on or interoperate with other distributed object system such as CORBA, DCOM, RMI, or.net. 28
29 Distributed Ruby DRb allows methods to be called remotely. References to objects can be passed between processes. Method arguments and return values are dumped and loaded in marshalled format. An object in a remote process is locally represented by a DRb::DRbObject instance. 29
30 Example: server code require 'drb/drb' URI = "druby://localhost:8787" class TimeServer def get_current_time return Time.now end end $server_object = TimeServer.new $SAFE = 1 DRb.start_service(URI, $server_object) DRb.thread.join [~/snb] $ ruby dserver.rb 30
31 Example: client code require 'drb/drb' SERVER_URI = "druby://localhost:8787" DRb.start_service timeserver = DRbObject.new_with_uri (SERVER_URI) puts timeserver.get_current_time [~/snb] $ ruby dclient.rb Fri Nov 12 17:30:32 CET
32 Distributed Ruby An instance of DRb::DRbObject acts as a sort proxy for the remote object. Methods called upon this DRb::DRbObject, for example timeserver in the cline code, are forwarded to its remote object, for example $server_object in the server code. 32
33 Components of a DRb Application Server: Start a TCP server socket and listen. Bind an object to the drb server instance. Accept connections from clients and respond to messages they send. Optionally provide Access Control services Client: Establish a connection to a DRb server process. Bind a local object to the remote DRb object Send messages to the server object and receive lts messages. 33
34 Example: Use of Factory Pattern require "drb/drb" URI = "druby://localhost:8787" class Logger # Make DRb send Logger instances as # DRb reference, not copies. include DRb::DRbUndumped def initialize(name, = = fname end def log(msg) # method f = File.new(@file_name,"a+") f.puts("#{time.now}: #{@name}: #{msg}") f.close end end 34
35 Example: Use of Factory Pattern class LoggerFactory def = = {} end def get_logger(name) [email protected]_key? name fname = name.gsub(/[.\/]/, = + "/" + fname) end end end 35
36 Example: Use of Factory Pattern THIS IS ALL SERVER_OBJECT = LoggerFactory.new("/Users/mortezanahrwar/tmp/dlog") $SAFE = 1 DRb.start_service(URI, SERVER_OBJECT) DRb.thread.join 36
37 Example: Use of Factory Pattern require 'drb/drb' SERVER_URI = "druby://localhost:8787" DRb.start_service log_service = DRbObject.new_with_uri(SERVER_URI) 37
38 Example: Use of Factory Pattern t1 = Thread.new{ logger = log_service.get_logger("loga") logger.log("hello, World!") logger.log("goodbye, World!") logger.log("=== EOT ===") } t2 = Thread.new{ logger = log_service.get_logger("logb") logger.log("hallo, beste mensen!") logger.log("dag beste mensen!") logger.log("=== EOT ===") } t3 = Thread.new{ logger = log_service.get_logger("logc") logger.log(" ") logger.log(" ".reverse) logger.log("=== EOT ===") } Client code 38
39 Example: Use of Factory Pattern t1.join t2.join t3.join puts "Bye!" Client code outputs Fri Nov 12 22:30:56 CET 2004: logb: Hallo, beste mensen! Fri Nov 12 22:30:56 CET 2004: logb: Dag beste mensen! Fri Nov 12 22:30:56 CET 2004: logb: === EOT === Fri Nov 12 22:30:56 CET 2004: logc: Fri Nov 12 22:30:56 CET 2004: logc: Fri Nov 12 22:30:56 CET 2004: logc: === EOT === Fri Nov 12 22:30:56 CET 2004: loga: Hello, World! Fri Nov 12 22:30:56 CET 2004: loga: Goodbye, World! Fri Nov 12 22:30:56 CET 2004: loga: === EOT === 39
Middleware 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,
Chapter 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
Infrastructure 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
Chapter 2: Remote Procedure Call (RPC)
Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC
Middleware: Past and Present a Comparison
Middleware: Past and Present a Comparison Hennadiy Pinus ABSTRACT The construction of distributed systems is a difficult task for programmers, which can be simplified with the use of middleware. Middleware
Interface 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
Web 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
Invocació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
Motivation 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
Distributed 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
Lehrstuhl 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
Module 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
Introduction Object-Oriented Network Programming CORBA addresses two challenges of developing distributed systems: 1. Making distributed application development no more dicult than developing centralized
Lecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss
Lecture 7: Java RMI CS178: Programming Parallel and Distributed Systems February 14, 2001 Steven P. Reiss I. Overview A. Last time we started looking at multiple process programming 1. How to do interprocess
Introduction 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
XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
XII. Distributed Systems and Middleware Laurea Triennale in Informatica Corso di Outline Distributed Systems Basics Middleware generalities Middleware for Distributed Objects Distributed Computing Models
Introduction to Distributed Computing using CORBA
Introduction to Distributed Computing using CORBA Rushikesh K. Joshi Dept of Computer Science & Engineering Indian Institute of Technology, Bombay Powai, Mumbai - 400 076, India. Email: [email protected]
SOFT 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
Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis
Middleware and Distributed Systems Introduction Dr. Martin v. Löwis 14 3. Software Engineering What is Middleware? Bauer et al. Software Engineering, Report on a conference sponsored by the NATO SCIENCE
Introduction 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
What 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.
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
Layering 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
Communication. Layered Protocols. Topics to be covered. PART 1 Layered Protocols Remote Procedure Call (RPC) Remote Method Invocation (RMI)
Distributed Systems, Spring 2004 1 Introduction Inter-process communication is at the heart of all distributed systems Communication Based on low-level message passing offered by the underlying network
COM 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
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Chapter 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
Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.
Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport
Report 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
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
Distributed 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
Supporting Interactive Invocation of Remote Services within an Integrated Programming Environment
Supporting Interactive Invocation of Remote Services within an Integrated Programming Environment Bruce Quig Faculty of Information Technology Monash University Australia John Rosenberg Faculty of Information
Event-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
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
Elements 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
Object-Oriented Middleware for Distributed Systems
Object-Oriented Middleware for Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini after Giovanni Rimassa [email protected] Ingegneria Due Alma Mater Studiorum Università di
It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.
Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Network Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
Chapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,
Architecture 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
MIDDLEWARE 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
PERFORMANCE 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
How To Write A Network Operating System For A Network (Networking) System (Netware)
Otwarte Studium Doktoranckie 1 Adaptable Service Oriented Architectures Krzysztof Zieliński Department of Computer Science AGH-UST Krakow Poland Otwarte Studium Doktoranckie 2 Agenda DCS SOA WS MDA OCL
Networks and Protocols Course: 320301 International University Bremen Date: 2004-11-24 Dr. Jürgen Schönwälder Deadline: 2004-12-03.
Networks and Protocols Course: 320301 International University Bremen Date: 2004-11-24 Dr. Jürgen Schönwälder Deadline: 2004-12-03 Problem Sheet #10 Problem 10.1: finger rpc server and client implementation
Outline 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,
Netscape Internet Service Broker for C++ Programmer's Guide. Contents
Netscape Internet Service Broker for C++ Programmer's Guide Page 1 of 5 [Next] Netscape Internet Service Broker for C++ Programmer's Guide Nescape ISB for C++ - Provides information on how to develop and
CORBA. BY VIRAJ N BHAT www.caip.rutgers.edu/~virajb
CORBA BY VIRAJ N BHAT www.caip.rutgers.edu/~virajb Topics to be covered Remote Procedure Calls. Conceptual overview of CORBA CORBA IDL Understanding the Broker-OA and BOA Interoperability Applications
Service-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
3F6 - Software Engineering and Design. Handout 10 Distributed Systems I With Markup. Steve Young
3F6 - Software Engineering and Design Handout 10 Distributed Systems I With Markup Steve Young Contents 1. Distributed systems 2. Client-server architecture 3. CORBA 4. Interface Definition Language (IDL)
WEB SERVICES. Revised 9/29/2015
WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...
Classic Grid Architecture
Peer-to to-peer Grids Classic Grid Architecture Resources Database Database Netsolve Collaboration Composition Content Access Computing Security Middle Tier Brokers Service Providers Middle Tier becomes
Research 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
Implementing 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
Introduction into Web Services (WS)
(WS) Adomas Svirskas Agenda Background and the need for WS SOAP the first Internet-ready RPC Basic Web Services Advanced Web Services Case Studies The ebxml framework How do I use/develop Web Services?
CORBA, DCOP and DBUS. A performance comparison.
CORBA, DCOP and DBUS. A performance comparison. Abstract For quite a while now I have been under the impression that the CORBA IPC/RPC mechanism used by the GNOME desktop environment was bloated and slow.
Service Oriented Architecture
Architectural Approaches, Concepts and Methodologies of Service Oriented Architecture Master Thesis submitted in partial satisfaction of the requirements for the degree of Master of Science in Information
Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
CORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
Apache Thrift and Ruby
Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and
Java and ActiveX Projects
The Open Group Research Institute Java and ActiveX Projects G.N.Madhusudan Principal Research Scientist The OpenGroup Research Institute [email protected] Web and Security - Outline of Projects
COMMMUNICATING COOPERATING PROCESSES
COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the
Distributed Systems. Outline. What is a Distributed System?
Distributed Systems 1-1 Outline What is a Distributed System? Examples of Distributed Systems Distributed System Requirements in Distributed System 1-2 What is a Distributed System? 1-3 1 What is a Distributed
Network Communication
Network Communication Outline Sockets Datagrams TCP/IP Client-Server model OSI Model Sockets Endpoint for bidirectional communication between two machines. To connect with each other, each of the client
What is COM/DCOM. Distributed Object Systems 4 COM/DCOM. COM vs Corba 1. COM vs. Corba 2. Multiple inheritance vs multiple interfaces
Distributed Object Systems 4 COM/DCOM Piet van Oostrum Sept 18, 2008 What is COM/DCOM Component Object Model Components (distributed objects) à la Microsoft Mainly on Windows platforms Is used in large
Client-Server Architecture
Computer Science Program, The University of Texas, Dallas - Architecture s and s / with File s / with Database s / Communication / with Transaction Processing / Groupware Web / Paradigm Shift: Past, Present
Shared file. LINUX Virtual File System. Hard link. Linux ext2fs. Disk layout in general. Linux: ext2fs & ext3fs, Windows NTFS Distributed Processing
Linux: ext2fs & ext3fs, Windows NTFS Distributed Processing Ch 12.8-9 [Stal 05] Ch 10.6.4, 11.6-7 Ch 20.7 [DDC 04] Ch 13 14.3 [Stal05] WEEK 9 Shared file Hard link Direct link from several directories
VisuSniff: A Tool For The Visualization Of Network Traffic
VisuSniff: A Tool For The Visualization Of Network Traffic Rainer Oechsle University of Applied Sciences, Trier Postbox 1826 D-54208 Trier +49/651/8103-508 [email protected] Oliver Gronz University
Mobile Devices: Server and Management Lesson 05 Service Discovery
Mobile Devices: Server and Management Lesson 05 Service Discovery Oxford University Press 2007. All rights reserved. 1 Service discovery An adaptable middleware in a device (or a mobile computing system)
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
A Java-based system support for distributed applications on the Internet
A Java-based system support for distributed applications on the Internet D. Hagimont 1, D. Louvegnies 2 SIRAC Project INRIA, 655 av. de l Europe, 38330 Montbonnot Saint-Martin, France Abstract: We have
Chapter 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
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Mapping of Services on Bluetooth Radio Networks
Mapping of s on Bluetooth Radio Networks J. Dunlop and N. Amanquah University of Strathclyde -Department of Electronic and Electrical Engineering, Glasgow G1 1XW, Scotland Ph.: +44 141 5482081, Fax:+44
Using mobile phones to access Web Services in a secure way. Dan Marinescu
Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
How To Understand The Concept Of A Distributed System
Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz [email protected], [email protected] Institute of Control and Computation Engineering Warsaw University of
CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service
CORBAservices CORBAservices are general purpose and application independent services. They resemble and enhance services commonly provided by an operating system: Service Collection Query Concurrency Transaction
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application Author: Fung, King Pong MSc in Information Technology The Hong Kong Polytechnic University June 1999 i Abstract Abstract of dissertation
A 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
