.NET Remoting in Delphi and C# Alain “Lino” Tadros President & CEO Falafel Software Inc. ComponentScience Inc. BORCON 2004.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

.Net Remoting by James Stone. What is.Net Remoting? RemotingRemoting is a technology that allows.NET applications to communicate. Remoting Same machine,
Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Copyright © 2002 Landl Software, Inc. All Rights Reserved. Twin Cities.NET Users Group Next Meeting - Thursday, April 4, 2002 A Look Inside Reflection.
.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.
XML Web Services in Visual Studio ®.NET NameTitleCompany.
Windows Communication Foundation and Web Services.
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
1 JBus, A Platform Independent Publish/Subscribe Bus for CWave 2000 M.S. Thesis Defense Joseph W. Longson March 30, 2000.
Distributed Systems Tutorial 2 -.NET Remoting. 2 What is Remoting?  Remoting allows you to pass objects or values across servers in different domains.
.NET Deployment Matt Smouse CSE775 – Distributed Objects Spring 2003.
Chapter 12 Extending Web Applications. ASP.NET 2.0, Third Edition2.
Web Services (ASMX 2.0 and WSE 3.0) Mike Taulty Developer & Platform Group Microsoft Ltd
Getting Started with Windows Communication Foundation 4.5 Ed Jones, MCT, MCPD, MCTS Consultant RBA Inc.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
CIS NET Applications1 Chapter 10 – Remoting.
.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.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
CSCI 6962: Server-side Design and Programming Web Services.
Lecture 15 Introduction to Web Services Web Service Applications.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Develop Distributed Applications using.NET Remoting Kate Gregory Regional Director Gregory Consulting Limited
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
.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.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
Copyright © 2003, developerLabs Extending.NET Distributed Applications Stephen Fulcher developerLabs.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
.Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003.
.NET Remoting Chandra sekhar Chandra sekhar. What is.NET Remoting? What is.NET Remoting?.NET Remoting versus Distributed COM..NET Remoting versus Distributed.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
Week Six : Writing Web Services Aims: Creating and Consuming student’s first Web Services Learning Outcomes: Familiarity with VS.NET for creating and consuming.
.NET Mobile Application Development XML Web Services.
1 Nordjyllands Erhvervakademi Net Remoting Architecture Marshalling –Marshalling By Reference(MBR) –Marshalling By Value(MBV) Activation by MBR.
Shani Raba Team Leader & Software Architect
Introduction to Web Services Srinath Vasireddy Support Professional Developer Support Microsoft Corporation.
.NET Remoting. Remoting Introduction The process of programs or components interacting across certain boundaries either different processes or machines.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
Jim Fawcett CSE775 – Distributed Objects Spring 2003
Develop Distributed Applications using .NET Remoting
Presented by: Ramaswamy Krishnan-Chittur
.NET Remoting Priyanka Bharatula.
WEB SERVICES.
Presentation 23 .NET Remoting Introduced
.Net A brief introduction to
10: Remoting Securing System.Runtime.Remoting
Matt Smouse CSE775 – Distributed Objects Spring 2003
Distribution of functionality Webservice using WCF
Presented by: Ramaswamy Krishnan-Chittur
Microsoft .NET Remoting Essentials
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Matt Smouse CSE775 – Distributed Objects Spring 2003
Jim Fawcett Core Technologies Spring 2005
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Matt Smouse CSE775 – Distributed Objects Spring 2003
.NET Web Services by Akram Mohammed.
Presentation transcript:

.NET Remoting in Delphi and C# Alain “Lino” Tadros President & CEO Falafel Software Inc. ComponentScience Inc. BORCON 2004

Agenda.NET Distributed Applications Using Remoting  Providing objects  Configuring  Cross platform  Performance Extensibility

.NET Remoting And SOAP SoapFormatter and HttpChannel do the hard work Complete SOAP 1.1 implementation  Primitives (int, float, string, etc)  Single and multi dimensional arrays of Simple types and Objects.  Objects and References to Objects (also covers Structs / Value types), Trees of Objects, Graphs of Objects  Enumerations, SOAP Faults

.NET Distributed Applications ASP.NET Web Services XML Schema compliance SOAP 1.2 compliance Great tool support Better documentation.NET Remoting Full object fidelity Flexibility in formatting Flexibility in transport Singletons Custom hosting Client-activated

.NET Remoting Terminology Channel: protocol used to carry a message (HTTP, TCP) Formatter: strategy used to create a message (SOAP, binary) Marshalling: moving an object from one AppDomain to another (Marshal by Reference, Marshal by Value)

Building Remoteable Objects Marshal by Reference Inherit from MarshalByRefObject (or a child) Marshal by Value Implement ISerializable Mark class with SerializableAttribute

Hosting objects Internet Information Services (IIS) Custom Hosts  Manually Configuring  Text-based Configuration Windows 2003 Server COM+ Services

Host Configuration files <wellknown mode="SingleCall" type="Hello.HelloService, Hello" objectUri="HelloService.soap“/> In web.Config or host config file Wellknown objects can be SingleCall or Singleton Type must be typename, assembly ObjectUri must end with.soap or.rem

Hosting in XP COM+ Services Turn a COM+ Application of COM+ Components into Web Services Just click in the COM+ Admin Tool  Application Activation Tab Configures the COM components for.NET Remoting  Automatically Creates IIS Virtual Directory  Generates web.config  Generates metadata Ships in Windows XP / Windows Server 2003 Uses.NET Remoting Framework  HTTP, SOAP and WSDL

Using Activator Use Activator.GetObject to get instance Doesn’t use new operator Type type = typeof(HelloService); String url = " HelloService helloService = (HelloService) Activator.GetObject(type, url);

Accessing objects Server activated objects  Single Call  Singleton Client activated objects Accessing  Via code  With configuration files  Windows XP moniker

SoapSuds Clients need metadata at compile time What about metadata for remote object? Soapsuds utility ships with.NET SDK Create Assemblies, Schema, or C# code from WSDL soapsuds -url: -oa:Hello.dll

Accessing through code No Config File necessary Requires recompile to change uri After registering type, just use new Type type = typeof(HelloService); String url = “ ChannelServices.RegisterChannel( new TcpChannel() ); RemotingConfiguration.RegisterWellKnownClientType( type, url ); HelloService helloService = new HelloService();

Using Client Config Files Easy and Flexible Configuration Can be changed without recompile Select channel and formatter After loading config file, just use new … RemotingConfiguration.Configure(configFilename); HelloService helloService = new HelloService(); <wellknown type="Hello.HelloService, Hello" url=" />

Accessing from XP COM COM SOAP Moniker Make SOAP calls from COM to Web Services GetObject(“soap:wsdl=  Downloads WSDL  Uses Remoting Metadata Proxy Generation engine to turn WSDL into TLB – saved to disk  Returns a Remoting Proxy to COM caller Calls on Proxy sent over HTTP SOAP using Remoting

Object Lifetime Leased based lifetime  Singletons  Client-Activated Sponsors

Interoperability SOAP Builders Microsoft, IBM, Borland, ActiveState, HP, Glue, SOAP::Lite (perl), PockeSOAP, many, many others

Performance Intra-Remoting  Comparing formatters, channels Versus ASP.NET Web Services Versus DCOM Your mileage will vary

.NET Remoting Architecture X = Add(5, 2) Int Add(int x, int y) Formatter SOAP BinaryBinary ProxyDispatcher Channel HTTPTCPYourChannel

Extensibility Custom Formatters Replace SOAP, Binary formatters Custom Channels Replace HTTP, TCP channel Channel Sinks Extend existing channels Message Sinks Extend existing formatters

Channel Sink Allow you to extend or modify communication Plugs into existing communication channel Tracing, encryption, security, …

Summary Use.NET Remoting when: You need to get a message between AppDomains You need flexibility in message formatting or transport Resources:

Questions?