CHAPTER 7 COM and.net
|
|
- Wesley Hudson
- 6 years ago
- Views:
Transcription
1 1
2 CHAPTER 7 COM and.net Evolution of DCOM Introduction to COM COM clients and servers COM IDL & COM Interfaces COM Threading Models. Marshalling, Custom and standard marshalling. Comparison COM and CORBA. Introduction to.net. Overview of.net architecture.net Remoting. 2
3 Evolution of COM COM is a Component Model Developed by Microsoft namely Component Object Model. To Support distributed application Microsoft uses Microsoft Distributed Component Architecture (MDCA). MDCA used Distributed COM i.e. DCOM 3
4 Evolution of COM 1)Clipboard -:Initially clipboard was used as fundamental method for sharing data between two applications. 2)Dynamic Data Exchange-:In 1990 DDE was primarily used for dynamically exchanging data between two applications. It was used in office applications. As it build 4 at the top of Message passing architecture of windows, it was slow, hard to program, inflexible. 3)OLE 1.0 -:DDE evolved to OLE 1.0.OLE was capable of maintaining active links between two documents or even embedding one type of document in to another. it uses DDE for interprocess Communication. 4)16 bit OLE -: used in VB2.0 & MSOFFICE 4.0 uses Virtual function table to communicate client & server
5 Evolution of COM 5)OLE 2.0 -:Introduced in 1993, it s a reimplementation of OLE 1.0 using COM instead of VTBL.COM is a binary standard Specifies how to communicate with Objects, Control Object lifecycle & expose functionality to user 6)OCX -: OCX is a OLE Control used in VB 4.0 uses 5 container to load it. Container & OCX Communicate with each other through interfaces. 7)ActiveX -: it s a Light weighted COM Object. Deals with active content management of web Pages. 8)DCOM -:DCOM uses ms RPC for communication with remote System.DCOM extends COM by marshaling the arguments & return value of method call over the Network.
6 Evolution of COM 9)COM +-:Introduced to handle functionality of Microsoft Transaction server(mts). 10).NET -: it provides rapid development tools for both windows form & web forms. 11).NET Remoting -:Allows objects to be transparently marshaled by reference or values across machines boundaries. it uses MS API to send message from client process to server process & to receive reply in assistance of OS & network agents. 6
7 Introduction to COM Traditional Monolithic Applications we distributed as single like.exe they needed to rebuild even if one line of code changed Component oriented Design solved this problem by breaking application down into components that can be distributed in separate binary files like DLL or exe. COM enables developer to package their functions into reusable software Components. It defined Standard architecture & protocol for interacting objects on heterogeneous platforms. It provides Location transparency to objects so that it uses Remote procedure call (RPC) for Remote instance of Object 7
8 Introduction to COM An application can interact with each other through interfaces.com object must support at least one base interface called IUnknown. The use of interfaces are 1)Fast & Simple object interaction 2)Location transparency 3)Programming language independence 4)It s a true Object Model as it provides Distributed Capablities,Provide Object level Security, encapsulate lifecycle of objects, provide methods for reusability etc. 5)Provide evolution of Application Functionality 8
9 COM Clients & Server A COM is a body of Source code that implements COM interface. It has Class identifier(clsid) & interface identifier (IID). One or more COM classes are packaged into Server. A COM server can be packaged as DLL or EXE. 1) If it packaged as DLL that is loaded in to client process & accessed by server called in-process server. 2) If it packaged as EXE that is Run on same as a client or remote machine that is accessible through DCOM called Out-of-process Server. 9
10 COM Clients & Server On the basis of packaging they are of 4 types 1)In-Process Server -: if the component is a local & designed to be an in process server the client instantiate it & Communicate through COM. e.g. ActiveX 2)Out-of-Process Server -: if the component is a local & designed to be a local out-of process server,the client instantiate it & Communicate through COM,Proxies & registry. E.g. Excel 3)Out-of-Process Remote Server -: if the component is Remote but client did not specify Remote System, then client registry contain name of machine on which component is created. They Communicate using DCOM. 4)In-Process Remote Server -: if the Remote component is written to take advantage of MTS,it can run in-process to MTS & uses DCOM to communicate clients. 10
11 Types of COM Server
12 DCOM DCOM is also called as COM on Wire supports Remoting objects by using objects remote procedure call (ORPC) protocol This ORPC layer is built on top of DCE s RPC & interact with COM s runtime services To invoke remote function Client make a call to client stub.stub packs the call parameters in to request message to server. At server side wire protocol delivers the message to server stub which then unpack the request message & call actual function on Object. In DCOM Client stub is referred as Proxy & server stub is stub. 12
13 13 DCOM Architecture
14 DCOM Architecture The Architecture of DCOM Consist of three layers Top, Middle & Bottom layer. The Top layer is the basic programming Architecture. It describes Clients requests & creation of object instance in the Server transparent to client. In DCOM creation of remote object requires the server name & CLSID.The SCM in COM libraries on client machine connects to the SCM on server machine & requests creation of remote Object. Class factory creates instance of COM Class which having 14 CLSID & SCM return pointer to interface of Object.
15 DCOM Architecture The Middle layer consist of Remoting Architecture. It takes care of sending data across different address spaces using Marshalling & unmarshalling.marshalling packs the parameter in to standard format at clients address space while Unmarshalling unpacks standard format to appropriate data representation. 15
16 DCOM Architecture The Bottom layer is a wire protocol Architecture which further extends the Remoting architecture to work across different machines. DCOM wire protocol is based on DCE-RPC Specification it also clear garbage collection of remote object reference when client abnormally terminates. When server is started by Server side SCM (DCOM SCM is a DCOM interface to Service Control manager which allows Controlling of services like Starting/Stopping Services on windows system) its assigned an object exporter identifier(oxid). 16
17 DCOM Architecture An object reference is created to represent the interface pointer. it contains IID,OXID & address of OXID Resolver. The client side OXID resolver check if it has mapping of OXIS If not then it get registered in RPC binding & return it to object proxy. It enables connection between Object Proxy & Interface proxy. 17
18 COM INTERFACE & IDL COM provide interface definition language (IDL) which is used to define interfaces. COM IDL is based on DCE IDL. The COM interface can be viewed in two perspective A logical perspective focuses on the interface method & operation they perform. A physical perspective focuses on memory,netword packets & runtime environment. IDL provide Both Network & Location transparency & Programming Language Independence. 18
19 COM IDL The file that contains interface & type librrary definition is called IDL file & has as.idl extension. It contain one or more interface definitions. It is defined by keyword interface & parsed by Microsoft Interface Definition Language(MIDL) Compiler. IDL has four components Interface name Base interface name Interface body Interface attributes -: Specifies characteristics of interfaces & of data & methods within the interface it enclosed in square brackets. 19
20 COM INTERFACS COM SUPPORTS THREE STANDARD INTERFACES 1) IUnknown Interface 2) Idispatch Interface 3) IClassFactory Interface 20
21 1) IUnknown interface All COM objects support an interface called IUknown This interface provides control of objects lifetime through IUknown:AddRef & IUknown:Release methods & ability to retrieve other interfaces implemented by objects through IUknown:QueryInterface method. IUknown:AddRef & IUknown:Release methods & IUknown:Release methods maintain objects reference count. When first object is created then reference count is set to one & Function used in interface must call IUknown:AddRef through the pointer to increment reference Count. Before pointer can be destroyed IUknown:Release method is called. After reference count reaches to 0 the object is destroyed & all interfaces to it become invalid. 21
22 IUnknown interface The IUknown:QueryInterface method determines whether or not an object supports specific interface. If an object supports an interface,the QueryInterface returns a pointer to that interface. 22
23 Idispatch Interface IDispatch is a standard interface that expose the functionality of Application programmatically. Idispatch interface exposes object, methods & properties to application that support automation. It has proxy & stub to take care of marshalling & each method in a interface is identified by DISPID. It uses CoCreateInstance function to initialize ActiveX or OLE. Components using Idispatch can be accessed by following method 1)Late binding -: here client fetches DISPID by invoking GetIDsOfNames.its advantage is it do not need type library. but it is less flexible. 23
24 Idispatch Interface 2) Early Binding -: In this method compiler consult the typelib to obtain DISPID so that the client can make single call using invoke method. 24
25 IClassFactory Interface A COM class object normally implement IClassFactory interface & thus referred to as class factories. CoCreateInstance() function enable client to instantiate class which calls IClassFactory internally. The IClassFactory interface contains two methods The first method CreateInstance creates uninitialized object of specified CLSID. The second method LockServer,locks the objects server in memory,keeping the component Open in memory & allowing object to be created more quickly. 25
26 COM Threading Model Initially COM had no support for Multi-threading but when Threading model was included in windows COM extended to include threading. its used to enhance performance of application COM has basically 2 types of threading models 1)Threading Model for User-driven GUI applications it synchronized with message queue. 2)Threading Model for Worker components its needed to improve performance of the system. A thread is a path of execution through process which enables an application to perform functions concurrently. 26
27 COM Threading Model Microsoft has defined different levels of thread safety using threading model. (i.e. safety of shared data used by 2 processes simultaneously) The basic unit of thread safety in COM is called apartment There are three types of apartments 1) Single-threaded Apartment (STA) 2)Multi-threaded Apartment (MTA) 3)Rental-threaded Apartment (RTA) 27
28 1) Single-threaded Apartment (STA) It has only one thread executing per apartment Here method call automatically synchronized & dispatched using Microsoft message queuing(msmq). This components are accessible through STA only Call from other client is marshaled by COM to main STA & is received by proxy in one apartment & send to stub in another. To improve system components can be accessed through main STA. 28
29 2) Multi-threaded Apartment (MTA) It has More than one thread executing per apartment Here method calls are not synchronized automatically Special synchronization mechanism used for this purpose. This components supporting this model call it from any thread If object is present in MTA & client call through STA then marshalling is needed. 29
30 3) Rental-threaded Apartment (RTA) It allows More than one thread to enter an apartment. When thread enters an apartment it requires an Apartment wise lock that prevent other threads from entering Apartment. Its released when thread exits the Apartment. Its more efficient & flexible than STA because it does not start with single thread. 30
31 Single threading Model The object receives only client request at a time. As single process can have several threads that are employed to facilitates the concurrent use of COM objects The windows messaging queue is used to synchronize & dispatch COM method calls to objects. Message queue synchronize calls serially. When 2 clients want to access same object they uses following sequence of steps 1)first client creates Objects 2)second client call is queued in MSMQ until first client complete his work 3) Second client will connected to same object when no 31 other client calls are in queue
32 APARTMENT THREADING MODEL Apartment is a logical container that creates association between Objects & threads. Every object is associated with one & only one Apartment. Its more than just Logical construct, their rues describes behavior of COM System. This model is used in object with visual control, batch processing & object active over long time. This model improves systems performance. Its used for stateful data application 32
33 FREE THREADING MODEL In this model multiple clients concurrently executes an object method from different threads. In this model interface do not need to marshaled between the apartments. All client threads running STA/MTA can call objects directly instead of going through proxy. Its used for stateless data application 33
34 NEUTRAL THREADING MODEL It s a variation of FTM Multiple client can call the objects on diffeent threads at the same time. COM ensures that no two calls conflicts. If free objects are present COM allocate them to clients This Model is Available in only COM+ Its used in high load stateless data applications. 34
35 Marshalling The issue of passing parameters in DCOM is major area of concern. Marshaling is a process of packaging method call & their parameters into a packet & transmitting them over the network. COM Offers three types of Marshalling. 1)Standard Marshalling 2)Custom Marshalling 3)Type Library Marshalling 35
36 Types Of Marshalling Relation Between Types Of Marshalling 36
37 Custom Marshalling It s a fundamental Marshalling mechanism in COM & this method allows the client to gain a complete control over marshalling process. As it is difficult to implement & is more generic Standard marshalling mechanism is used In custom marshalling COM has no support for transmission of data between proxy & stub. Marshalling interface is dine by loading the proxy DLL in clients address space however no stub DLL is created. Custom marshalling is used in situations to generate customized proxy to improve speed of transmission, reduce network traffic,improve security. It is used in Image processing applications to improve the speed of multimedia file transmission by compressing code. 37
38 Custom Marshalling It is also used to communicate between intra-process components. Custom marshalling makes use of Imarshal interface it marshals interface pointer into stream object & back. It has following Functionalities 1) Marshall Interface 2) UnMarshall Interface 3) Release Marshal Data 4) Disconnect Object. 5) Get UnMarshall Class 6) Get Marshall Size Max 38
39 Standard Marshalling It is used when object does not implement marshalling but generates it using user defined interface for the object. In standard marshalling COM generic proxy & stub communicate using RPCs. These custom interfaces are compiled by MIDL Compiler to generate Standard marshalling code. MIDL generate following files 1)A Header file 2)A file containing definition for IID & CLSID. 3) A file containing Marshalling code 4)A type Library file These files are compiled & linked to produce the stub/proxy DLL to marshal the interface. 39
40 Standard Marshalling The stub/proxy must be registered & SCM loads the required proxy on the basis of IID returned to the client. The standard marshalling has four interfaces 1) IRpcfactoryBuffer that is used to instantiate IRpcProxyBuffer in the server 2) IRpcProxyBuffer used to connect STUB. 3) IRpcStubBuffer has invoke method to instantiate stub. 4) IRpcChannelBuffer used for communicate between Stub & Proxy. 40
41 41 Standard Marshalling
42 Type library Marshalling It uses IDispatch marshaller. COM has efficient as marshalling code generated. It is generic it is not as efficient as marshalling code generated. It took more time for lookup & more time is consumed but its more flexible & easy to use No proxy/stub is needed to build & registered. It is available in windows. Handler Marshalling Its between standard & custom marshalling Its useful for objects that perform work in clients address space, making remote call only when needed. It supports IStdMarshallInfo that retrieve CLSID of handler object to be loaded into clients address space. 42
43 43.NET Architecture
44 .NET Architecture The architecture of.net is tired, Modular & hierarchical. Each tier of.net framework is a layer of Abstraction. The.NET languages(most abstracted) are the top tier while CLR(least abstracted) is a bottom tier..net framework is partitioned into separate modules, each having its own responsibility. The Components of.net Framework is described as follows 1) Common Language Runtime (CLR) 44 CLR monitors the execution of.net applications & provides essential services. It manages code at execution time & provide Core services like remote communication, memory management & thread management. CLR is.net equivalent of JVM it s the runtime that converts MSIL code to host machine language code that is executable
45 .NET Architecture 2) Standard System Services Standard services like ADO.NET & XML are made universally available & standardize across language by bringing them under Control of.net framework 3)User & Program interface It includes windows forms & web forms that provide user interface for windows & web applications. It contain web services which provide a mechanism to communicate over internet using SOAP which is analogous to ORPC in DCOM. 4) The.NET framework class library (FCL) 45 It is a set of managed classes that provide access to system services. it is comprehensive & object oriented collection of reusable types that can be used to develope UI/non UI web applications.
46 .NET Architecture Remoting,xml,sockets,file i/o,database access comes under FCL. ITS hard to avoid FCL & this improves portability & security of applications. Base Class Library (BCL) is subset of FCL & has core set of classes that serve as API of CLR. 5) Common type systems (CTS) It specifies rules related to data types that languages must follows. as all programs are converted to standard intermediate language (MSIL) their datatypes must be converted to standard datatypes. CLS is a subset of CTS. The.NET types are separated in to value & reference type value are primitive types inherit from system. The lifetime of reference type is controlled by garbage collector. 46
47 .NET Architecture 6)Common Language Specification It s a set of specifications or guidelines defining a.net language. Shared specifications promote language interoperablity.cls defines common type of managed languages, which is subset of CTS. 47
48 .NET Remoting.NET Remoting is used instead of DCOM because DCOM relies on ORPC Protocol that does not support object model which prevents interoperability across platform. DCOM communicate using ports that are blocked by firewall.net Remoting eliminate the difficulties of DCOM by supporting transport protocol format & Communication protocol. Web Services Vs.NET Remoting 1)web services can only be accessed through HTTP while.net Remoting can use across any protocol. 2)Web Services works in stateless environment whereas.net Remoting supports state management. 3)Web services relies on SOAP while.net Remoting Relies 48 on CLR Assembler.
49 .NET Remoting Client object Server object Proxy Remoting System Channel Remoting System 49 Remoting Process
50 .NET Remoting.NET Remoting allows an application to make an object available across Remoting boundaries. The Steps in.net Remoting Process is as follows 1).NET Remoting makes remote object available to client through activation URL. 2)The client Creates a new instance of server class & uses it like a local object. 3)The Remoting System creates a proxy object that represent the class & return to the client object a reference to the proxy. The proxy does not implement the remote objects functionality but provide interface to it. 4) When client calls a method the remoting infrastructure handles the call, check the type information & send call over 50 the channel to server process.
51 .NET Remoting 5) A listening channel picks up the request & forward it to server Remoting system, which locate & calls the requested object. The process is reversed as server Remoting system bundles response to message that the server channel send to client channel & Finally client Remoting system return the result of call to client object through proxy. 51
52 52 COMPARISON BETWEEN CORBA,DCOM & RMI
53 53
Distributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationOutline. COM overview. DCOM overview. Comparison DCOM and Corba
DCOM Overview 1 Outline COM overview DCOM overview Comparison DCOM and Corba 2 COM overview Standard for component interoperability binary standard specifies how the component should be represented in
More informationApartments and COM Threading Models. Jim Fawcett CSE775 - Distributed Objects Spring 2008
Apartments and COM Threading Models Jim Fawcett CSE775 - Distributed Objects Spring 2008 COM Marshaling Architecture Client Process Local Server Process In-Process Object In-Process Server stub Local Object
More informationCOM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli peteregli.net. peteregli.net. 1/20 Rev. 1.
COM, DCOM - COM+ DCOM, COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES Peter R. Egli 1/20 Contents 1. Evolution of COM 2. COM, DCOM, ActiveX, OLE, COM+ 3. Structure of COM Components
More informationComponent models. Page 1
Component Models and Technology Component-based Software Engineering Ivica Crnkovic ivica.crnkovic@mdh.se Page 1 Overview Introduction ACME Architectural Description Language Java Bean Component Model
More informationMicrosoft.NET Programming (C#, ASP.NET,ADO.NET, VB.NET, Crystal Report, Sql Server) Goal: Make the learner proficient in the usage of MS Technologies
Microsoft.NET Programming (C#, ASP.NET,ADO.NET, VB.NET, Crystal Report, Sql Server) Goal: Make the learner proficient in the usage of MS Technologies for web applications development using ASP.NET, XML,
More informationIntroduction to.net Framework
Introduction to.net Framework .NET What Is It? Software platform Language neutral In other words:.net is not a language (Runtime and a library for writing and executing written programs in any compliant
More informationLimitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component
Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal
More informationIntroduction. ActiveX, OLE, and the Internet
ACTIVEX - AN INTERNET STRATEGY FOR APPLICATIONS DEVELOPMENT Roşca Doina University of Craiova, 200585 Craiova, str. A. I. Cuza, nr. 13, tel.: 0721632019, rosca2na@yahoo.com Bănică Logica University of
More informationLecture 16. What is COM? Principles of COM. COM Design Principles. Example (UML Diagram) Microsoft IDL (MIDL) COM/DCOM February 23, 2005
What is? Lecture 16 /D February 23, 2005 = Common Model. Platform-independent, distributed OO system for client-server implementations. objects can be created in a variety of languages (like CORBA). Not
More information(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO
(D)COM Microsoft s response to CORBA Alessandro RISSO - PS/CO Talk Outline DCOM What is DCOM? COM Components COM Library Transport Protocols, Security & Platforms Availability Services Based on DCOM DCOM
More information1.264 Lecture 16. Legacy Middleware
1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationNew programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other
C#.NET? New programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other OO languages. Small learning curve from either
More informationIntroduction to.net Framework Week 1. Tahir Nawaz
Introduction to.net Framework Week 1 Tahir Nawaz .NET What Is It? Software platform Language neutral In other words:.net is not a language (Runtime and a library for writing and executing written programs
More informationINTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)
INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-
More informationCHAPTER - 4 REMOTE COMMUNICATION
CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationDistributed Systems Middleware
Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More information.Net. Course Content ASP.NET
.Net Course Content ASP.NET INTRO TO WEB TECHNOLOGIES HTML ü Client side scripting langs ü lls Architecture ASP.NET INTRODUCTION ü What is ASP.NET ü Image Technique and code behind technique SERVER SIDE
More informationCOM & COM+ (Component Object Model) Bazsó-Dombi András, Group 251.
COM & COM+ (Component Object Model) Bazsó-Dombi András, Group 251. What is COM? Low level Objects created independently need to be used in other applications Create an object, add some special attributes
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More information.NET-6Weeks Project Based Training
.NET-6Weeks Project Based Training Core Topics 1. C# 2. MS.Net 3. ASP.NET 4. 1 Project MS.NET MS.NET Framework The.NET Framework - an Overview Architecture of.net Framework Types of Applications which
More informationC# Syllabus. MS.NET Framework Introduction
C# Syllabus MS.NET Framework Introduction The.NET Framework - an Overview Framework Components Framework Versions Types of Applications which can be developed using MS.NET MS.NET Base Class Library MS.NET
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationA Report on RMI and RPC Submitted by Sudharshan Reddy B
A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in
More informationDepartment of Computer Applications
MCA 512:.NET framework and C# [Part I : Medium Answer type Questions] Unit - 1 Q1. What different tools are available and used to develop.net Applications? Hint a).net Framework SDK b) ASP.NET Web Matrix
More informationUnit 1: Visual Basic.NET and the.net Framework
1 Chapter1: Visual Basic.NET and the.net Framework Unit 1: Visual Basic.NET and the.net Framework Contents Introduction to.net framework Features Common Language Runtime (CLR) Framework Class Library(FCL)
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen many of these, across all layers E.g.,
More informationUNIT V COMPONENT OBJECT MODEL
UNIT V COMPONENT OBJECT MODEL CONTENTS COM Data types Interfaces Proxy and Stub Marshalling Implementing Server Client Interface Pointers Object Creation, Invocation, Destruction Comparison COM and CORBA
More informationMessage Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1
Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects
More informationCOMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)
COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure
More informationInterfacing Ada 95 to Microsoft COM and DCOM Technologies
Interfacing Ada 95 to Microsoft COM and DCOM Technologies Interactive Intelligence, Inc. 600 West Hillsboro Blvd., Suit 325 Deerfield Beach, Florida 33441 (954) 698-0030x187 David Botton David@Botton.com
More informationDOT NET Syllabus (6 Months)
DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL
More informationDistributed Systems. The main method of distributed object communication is with remote method invocation
Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,
More information.NET CLR Framework. Unmanaged Hosts - Assembly Access
Unmanaged Hosts - Assembly Access ptrex 8/08/2017 WHAT : is.net Common Language Runtime (CLR) Framework The Common Language Runtime (CLR) is a an Execution Environment. Common Language Runtime (CLR)'s
More informationJAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)
Estd: 1994 Department of Computer Science and Engineering Subject code : IT1402 Year/Sem: IV/VII Subject Name JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli - 621014 (An approved
More informationCORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationSoftware Architecture Patterns
Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationRPC. Remote Procedure Calls. Robert Grimm New York University
RPC Remote Procedure Calls Robert Grimm New York University Assignments! You need (more) time for interoperability testing!! Your server should be running by midnight Sunday! Assignment 3 test case posted!
More information.Net Interview Questions
.Net Interview Questions 1.What is.net? NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who
More informationDOT NET COURSE BROCHURE
Page 1 1Pointer Technology Chacko Towers,Anna nagar Main Road, Anna Nager(Annai Insititute 2nd Floor) Pondicherry-05 Mobile :+91-9600444787,9487662326 Website : http://www.1pointer.com/ Email : info@1pointer.com/onepointertechnology@gmail.com
More informationMohsin Qasim Syed Abbas Ali
2005-5-18 Final version Table of Content 1 -Introduction to CORBA...3 1.1 Overview...3 1.2 Why is CORBA important in a networked environment?... 4 1.3 HOW DOES CORBA WORKS?...4 1.4 CORBA Architecture...
More informationHCIM SUMMER WORKSHOP Introduction to C#
HCIM SUMMER WORKSHOP Introduction to C# .NET.NET is: Microsoft s Platform for Windows Development CLR (Common Language Runtime) the Virtual Machine that runs MSIL (Microsoft Intermediate Language Code)
More informationSaikat Banerjee Page 1
1.What is.net? NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who need.net to run an application
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2002 Lecture 22: Remote Procedure Call (RPC) 22.0 Main Point Send/receive One vs. two-way communication Remote Procedure
More informationA NET Refresher
.NET Refresher.NET is the latest version of the component-based architecture that Microsoft has been developing for a number of years to support its applications and operating systems. As the name suggests,.net
More informationC# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści
C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop. 2016 Spis treści Preface xi 1. Introducing C# and the.net Framework 1 Object Orientation 1 Type Safety 2 Memory Management
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS Communication Fundamental REMOTE PROCEDURE CALL Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Communication Architecture Fundamentals
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationCOMERA: COM Extensible Remoting Architecture
The following paper was originally published in the Proceedings of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS) Santa Fe, New Mexico, April 27-30, 1998 COMERA: COM Extensible
More informationEEE-425 Programming Languages (2013) 1
2 Computer programming: creating a sequence of instructions to enable the computer to do something Programmers do not use machine language when creating computer programs. Instead, programmers tend to
More informationDistributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar
Distributed Programming with RMI Overview Distributed object computing extends an object-oriented programming system by allowing objects to be distributed across a heterogeneous network, so that each of
More informationChapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCSci Introduction to Distributed Systems. Communication: RPC
CSci 5105 Introduction to Distributed Systems Communication: RPC Today Remote Procedure Call Chapter 4 TVS Last Time Architectural styles RPC generally mandates client-server but not always Interprocess
More informationLecture 15: Network File Systems
Lab 3 due 12/1 Lecture 15: Network File Systems CSE 120: Principles of Operating Systems Alex C. Snoeren Network File System Simple idea: access disks attached to other computers Share the disk with many
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationRemote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI
Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient
More informationObject Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)
Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry
More informationNetworks and Operating Systems Chapter 3: Remote Procedure Call (RPC)
Systems Group Department of Computer Science ETH Zürich Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC) Donald Kossmann & Torsten Höfler Frühjahrssemester 2013 DINFK, ETH Zürich.
More informationPerformance comparison of DCOM, CORBA and Web service
Performance comparison of DCOM, CORBA and Web service SeongKi Kim School of Computer Science and Engineering Seoul National University, 56-1 Sinlim, Kwanak Seoul, Korea 151-742 Abstract - The distributed
More informationTeam Developer and.net
Team Developer and.net Unify Corporation Table of Contents Abstract...3 PART I - Consuming Team Developer Code from VB.NET...6 PART II - Consuming a VB.NET Assembly from Team Developer...8 Conclusion...11
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
More informationINTERNAL ASSESSMENT TEST 1 ANSWER KEY
INTERNAL ASSESSMENT TEST 1 ANSWER KEY Subject & Code: C# Programming and.net-101s761 Name of the faculty: Ms. Pragya Q.No Questions 1 a) What is an assembly? Explain each component of an assembly. Answers:-
More informationBringing COM Technology to Alignment Software * Abstract
SLAC-PUB-9592 November 2002 * Lothar Langer Stanford Linear Accelerator Center, Stanford University, Stanford, CA 94309, USA Abstract Software tools for alignment purposes should be versatile and flexible
More informationChapter 3 Introduction to Distributed Objects
Chapter 3 Introduction to Distributed Objects Distributed object support all of the properties of an object created in compiled object oriented language, namely,data and code encapsulation, polymorphism
More informationLecture 8: February 19
CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and
More informationChapter 1:- Introduction to.net. Compiled By:- Ankit Shah Assistant Professor, SVBIT.
Chapter 1:- Introduction to.net Compiled By:- Assistant Professor, SVBIT. What is.net? 2 Microsoft s vision of the future of applications in the Internet age Increased robustness over classic Windows apps
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCOMPONENT BASED TECHNOLOGY (IT-1401)
COMPONENT BASED TECHNOLOGY (IT-1401) TWO MARK QUESTIONS: UNIT-I 1. Define software component. A software component is a system element offering a predefined serviceable to communicate with other components.
More informationB.E /B.TECH DEGREE EXAMINATIONS,
B.E /B.TECH DEGREE EXAMINATIONS, November / December 2012 Seventh Semester Computer Science and Engineering CS2041 C# AND.NET FRAMEWORK (Common to Information Technology) (Regulation 2008) Time : Three
More informationDistributed Object-Based. Systems. Chapter 9
Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction
More information.NET XML Web Services
.NET XML Web Services Bill Buchanan Date Title Kalani Unit 0: Introduction to.net - Unit 0: Introduction to.net - Unit 1: Creating/Manipulating Datasets Unit 1 Unit 1: Creating/Manipulating Datasets Unit
More informationChapter 12 Microsoft Assemblies. Software Architecture Microsoft Assemblies 1
Chapter 12 Microsoft Assemblies 1 Process Phases Discussed in This Chapter Requirements Analysis Design Framework Architecture Detailed Design Key: x = main emphasis x = secondary emphasis Implementation
More informationUNIT 1 PART A PART B
UNIT 1 PART A 1. List some of the new features that are unique to c# language? 2. State few words about the two important entities of.net frame work 3. What is.net? Name any 4 applications that are supported
More informationCSCI-1680 RPC and Data Representation John Jannotti
CSCI-1680 RPC and Data Representation John Jannotti Original Slides from Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen
More information5 Distributed Objects: The Java Approach
5 Distributed Objects: The Java Approach Main Points Why distributed objects Distributed Object design points Java RMI Dynamic Code Loading 5.1 What s an Object? An Object is an autonomous entity having
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Administrivia TCP: talk to the TAs if you still have questions! ursday: HW3 out Final Project (out 4/21) Implement a WebSockets server an efficient
More information.NET. Inf 5040, Outline. Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim
.NET Inf 5040, 02.11.04 Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim Outline Introduction An overview of.net framework architecture More focus on.net core components.net features Web
More informationIntroduction to.net. The path. The Distributed Group University of Seville Spain - España. Introduction The elements of.net. Assessments Conclusions
to.net The Distributed Group University of Seville Spain - España The path 1 1996 Internet 1 st Gen IE/IIS 1992 Client/Server The Way to.net 1997 Internet 2 nd Gen WinDNA 2001 Internet 3 rd Gen.NET Win32
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and
More informationTop 40.NET Interview Questions & Answers
Top 40.NET Interview Questions & Answers 1) Explain what is.net Framework? The.Net Framework is developed by Microsoft. It provides technologies and tool that is required to build Networked Applications
More informationIBD Intergiciels et Bases de Données
IBD Intergiciels et Bases de Données RMI-based distributed systems Fabien Gaud, Fabien.Gaud@inrialpes.fr Overview of lectures and practical work Lectures Introduction to distributed systems and middleware
More informationOverview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36
Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure
More informationCS551 Object Oriented Middleware (II) Outline. Who is the OMG?
CS551 Object Oriented Middleware (II) (Chap. 4 of EDO) Yugi Lee STB #555 (816) 235-5932 yugi@cstp.umkc.edu www.cstp.umkc.edu/~yugi 1 Outline CORBA CORBA Object Model CORBA Interface Definition Language
More information