Jim Fawcett CSE775 – Distributed Objects Spring 2003

Slides:



Advertisements
Similar presentations
SOAP.
Advertisements

.Net Remoting Pooja Panjala 06/17/10. Agenda What is.net Remoting? Explanation of terms Architecture Implementation of Remoting Sample example.net Security.
C# and Windows Programming Application Domains and Remoting.
.NET REMOTING CertSIG Tom Perkins. FUNDAMENTALS Distributed Applications Process A Process B Process C Objects can communicate across process boundaries.
Author: Bill Buchanan. Authentication (to identify the clients of your application) Authorization (to provide access controls for those clients) Secure.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
Windows Communication Foundation and Web Services.
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
.Net Remoting Jim Fawcett CSE775 – Distributed Objects Spring 2004.
.NET Deployment Matt Smouse CSE775 – Distributed Objects Spring 2003.
JavaScript & jQuery the missing manual Chapter 11
.NET Remoting Architecture. Slide 2 CITE 4420.NET Remoting Topics Remoting Boundaries Crossing the Boundaries Distributed Applications Marshalling Channels.
.Net Remoting. 2 Distributed Computing under.Net In.Net, there are three levels of access to distributed computing machinery: In.Net, there are three.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
Microsoft ® ASP.NET Presented by Joseph J. Sarna Jr. JJS Systems, LLC.
CSCI 6962: Server-side Design and Programming Web Services.
Lecture 15 Introduction to Web Services Web Service Applications.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
DotNet Michelle Johnston, Firebird Services Ltd. What is Dot Net Aims to simplify web development Language independent – CLR (Common Language Runtime)
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Systems Prog. & Script. - Heriot Watt Univ 1 Systems Programming & Scripting Lecture 11: The Distributed Object Model.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
.NET Mobile Application Development XML Web Services.
.NET Remoting. Remoting Introduction The process of programs or components interacting across certain boundaries either different processes or machines.
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
Java Web Services Orca Knowledge Center – Web Service key concepts.
Jim Fawcett CSE686 – Internet Programming Spring 2014
Windows Communication Foundation and Web Services
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
Introducing the Microsoft® .NET Framework
The Object-Oriented Thought Process Chapter 14
Jim Fawcett CSE686 – Internet Programming Spring 2012
.NET Remoting Priyanka Bharatula.
Using Application Domains Effectively
Apartments and COM Threading Models
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
z/Ware 2.0 Technical Overview
Message-Passing Communication Analyzer By Poonam Bijlani CSE 775- Distributed Objects Prof. Jim Fawcett.
Jim Fawcett CSE687 – Object Oriented Design Spring 2002
Jim Fawcett CSE791 – Distributed Objects Spring 2001
AJAX and REST.
Introduction to Web Services
Presentation 23 .NET Remoting Introduced
Out-of-Process Components
Matt Smouse CSE775 – Distributed Objects Spring 2003
Windows Communication Foundation and Web Services
Chapter 3: Windows7 Part 4.
Chapter 23 – ASP.NET Outline 23.1 Introduction NET Overview
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Chapter 40 Remote Method Invocation
ASP.NET Module Subtitle.
Chapter 46 Remote Method Invocation
Student: Popa Andrei-Sebastian
Chapter 46 Remote Method Invocation
Out-of-Process Components
WEB SERVICES From Chapter 19, Distributed Systems
Matt Smouse CSE775 – Distributed Objects Spring 2003
Jim Fawcett Core Technologies Spring 2005
Jim Fawcett CSE775 – Distributed Objects Spring 2006
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Message Passing Systems Version 2
A Little Bit of Active Server Pages (ASP)
Matt Smouse CSE775 – Distributed Objects Spring 2003
Message Passing Systems
Presentation transcript:

Jim Fawcett CSE775 – Distributed Objects Spring 2003 .Net Remoting Jim Fawcett CSE775 – Distributed Objects Spring 2003

Distributed Computing under .Net In .Net, there are three levels of access to distributed computing machinery: Low Level: System.Net.Sockets Intermediate Level System.Runtime.InteropSerives Access COM objects and Win32 API System.Runtime.Remoting Access channels and CLR activation Channels based on TCP or HTTP over TCP High Level System.Web.Services System.Web.UI .Net Remoting

Distributed Computing under .Net System.Net.Sockets Provides low-level access to socket objects You create listeners and send and receive just like we did in CSE691 – Software Modeling and Analysis System.Runtime.Remoting Provides access at a medium level of abstraction. You create channels and proxies and do RPCs on remote objects Data marshaling is much richer than under COM. You can send anything the CLR understands as long as it has a [serializable] attribute or derives from MarshalByRef. Basically you just add those .Net identifiers and the CLR takes care of everything else. .Net Remoting

Remoting .Net Libraries System.Runtime.Remoting.Activation Activate remote objects System.Runtime.Remoting.Channels Sets up channel sinks and sources for remote objects System.Runtime.Remoting.Channels.HTTP Uses SOAP protocol to communicate with remote objects System.Runtime.Remoting.Channels.TCP Uses binary transmission over sockets System.Runtime.Remoting.Contexts Set threading and security contexts for remoting System.Runtime.Remoting.Messaging Classes to handle message passing through message sinks System.Runtime.Remoting.Metadata Customize HTTP SoapAction type output and XML Namespace URL System.Runtime.Remoting.Proxies System.Runtime.Remoting.Services .Net Remoting

Distributed Computing under .Net System.Web.Services Servers are hosted under IIS Use HTTP-GET and HTTP-POST or higher level SOAP Simple Object Access Protocol (SOAP) Wraps XML message in SOAP envelope (XML tags) SOAP messages are interpreted by IIS and ASP Typically use standard and/or custom COM components in ASP pages. Active Server Pages (ASP) are XHTML pages with embedded server-side and client-side scripts that may access COM and C# objects for a significant part of their processing. .Net Remoting

Web Related .Net Libraries System.Web System.Web.Hosting Communicate with IIS and ISAPI run-time System.Web.Mail System.Web.Security cookies, web authentication, Passport System.Web.Services – close ties to ASP.NET System.Web.Services.Description System.Web.Services.Discovery System.Web.Services.Protocol – raw HTTP and SOAP requests System.Web.SessionState – maintain state between page requests System.Web.UI – access to WebForms .Net Remoting

Remoting Architecture .Net Remoting uses System.Runtime.Remoting It is built on processing that supports: Channels A channel is a socket-based communication mechanism that can use either basic TCP protocol or the higher HTTP layer. Activation Activation is basically the same process that the CLR uses to create local objects. You just have to tell the CLR what object you want. The CLR manages its lifetime and marshals data and references back and forth, using a channel. .Net Remoting

Remoting Architecture .Net Remoting

Basic .Net Remoting – Remote Object First create a remote-able object: Design an object to be invoked remotely, derived from MarshalByRef Implement the class as a C# library – this creates a dll. Any objects that you need to pass to that object need to be serializable. The basic types like ints and strings already are serializable. Your class objects need to have the [Serializable] attribute and contain only serializable data members. Or they can derive from MarshalByRef. .Net Remoting

Remoting Architecture .Net Remoting

Basic .Net Remoting – the Server Create a server: Design a C# class, using a C# Console Application, or Empty Project in which you will create a WinForm. In a member function – main will work: Create a TcpServerChannel Register the Channel with ChannelServices Register the type of object clients want to use remotely by calling RegisterWellKnownServiceType Then, block the main thread. The object will be created by the CLR on its own thread and remote clients will access the object through the CLR. You don’t have to write any server code to support this access – the CLR takes care of it for you. Create a reference to the remote-able object’s assembly, build, and run the server. .Net Remoting

Remoting Architecture .Net Remoting

Basic .Net Remoting – the Client Create a client: Design a C# class, using a C# Console Application, or Empty Project in which you will create a WinForm. In a member function – main will work: Create a TcpServerChannel Register the Channel with ChannelServices Create a proxy to access the remote component. You do this by calling Activator.GetObject(…) and casting the result to the type of the remote object. Note that both client and server need the assembly for the remote-able object. Then, make calls on the remote object as needed. You simply use the proxy as if it were the real object. Create a reference to the remote-able object’s assembly, build, and run the client. .Net Remoting

Remoting Architecture .Net Remoting

Server Notifications The previous slides described a classic client/server configuration. We often need something a little more sophisticated. In a classic client/server only the client initiates communication. For some applications you will have to have the “server” make notifications back on the “client”. The next presentation discusses a callback reference mechanism that will work effectively for notifications by the server. .Net Remoting