Interception Demonstration

Slides:



Advertisements
Similar presentations
.Net Remoting by James Stone. What is.Net Remoting? RemotingRemoting is a technology that allows.NET applications to communicate. Remoting Same machine,
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
RBAC and JXTA 1 Role Based Access Control and the JXTA P2P Framework Mark Stamp Dept. of Computer Science San Jose State University
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.
Using the UCI templates in Cascade Server for your site. (a first glance)
.NET Remoting A Distributed Application Cookbook.
Distributed Systems Tutorial 3 -.NET Remoting – Crossing Application Boundaries.
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
Printing Terminology. Requirements for Network Printing At least one computer to operate as the print server Sufficient RAM to process documents Sufficient.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Introducing ETIS n Express Term Internet Server is Express Term ‘on the Net’ n All the features of Express Term, plus –Complete control of your site look.
Chapter 1: Introduction to Web
.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.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
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.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Copyright © 2003, developerLabs Extending.NET Distributed Applications Stephen Fulcher developerLabs.
Mahesh Krishnan, Senior Consultant, Readify Slide 1.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
.Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003.
FTP File Transfer Protocol Graeme Strachan. Agenda  An Overview  A Demonstration  An Activity.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Transportation Agenda 187. Transportation About Web Parts Web parts are reusable “containers” that reside on web pages and interact with lists, libraries.
Winter 2001C.Watters1 Apache Proxy Notes. winter 2001C.Watters2 Proxy Intermediary between clients and the web Configure browser to go to the proxy Proxy.
MSc Publishing on the Web Week 4 Image Maps. Aims and Objectives Discover what are image maps To understand the different types of image map To understand.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
COMP3121 E-Commerce Technologies Richard Henson University of Worcester December 2009.
ClickOnce Deployment (One-click Deployment)
Jim Fawcett CSE775 – Distributed Objects Spring 2006
Windows Communication Foundation and Web Services
Jim Fawcett CSE775 – Distributed Objects Spring 2003
Data Virtualization Demoette… ODBC Clients
Presented by: Ramaswamy Krishnan-Chittur
Contents Software components All users in one location:
Configuration and Monitoring
Project Management: Messages
Business Directory REST API
11: COM+ Securing System.EnterpriseServices
Web Development Web Servers.
Data Virtualization Demoette… ADO.NET Client
Using Application Domains Effectively
Accelerator Reliability and Software
Web Services Primer Overview of Web Services
Presentation 23 .NET Remoting Introduced
10: Remoting Securing System.Runtime.Remoting
Matt Smouse CSE775 – Distributed Objects Spring 2003
Presented by: Ramaswamy Krishnan-Chittur
Test Case Structure Test Case Module(depend on framework) MocoServer
Windows Communication Foundation and Web Services
Software for Eligible Beneficiaries Accession
WEB API.
Partnership.
ASP.NET Module Subtitle.
SharePoint services Provides team collaboration through SharePoint Sites and makes it easy for communities to work together on documents, tasks, contacts,
Requests and Server Response Codes
WEB SERVICES From Chapter 19, Distributed Systems
Distributed Applications on Windows Vista
Message Queuing and Asynchronous Inter Process Communication
Jim Fawcett CSE775 – Distributed Objects Spring 2004
Matt Smouse CSE775 – Distributed Objects Spring 2003
Jim Fawcett Core Technologies Spring 2005
ClickOnce Deployment (One-click Deployment)
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2007
Matt Smouse CSE775 – Distributed Objects Spring 2003
Presentation transcript:

Interception Demonstration Presented by: Ramaswamy Krishnan-Chittur

Content In the current presentation, I would like to demonstrate a very simple interception experiment; the purpose being a walk-through for Setting up a remoting interception library. Developing a very basic interception function. Discussing some other relevant points on interception, extraneous to this experiment though.

1] Experiment description The project aims at setting up a server that sends back to the client, the current time at its end. The project is very simple, and hence I didn’t go for a separate communication class. Let us have a quick look at the code.

2] The client-side interceptor: Goal Now let us set up a client side interceptor. The interceptor is supposed to act as a firewall which will block all out-going calls with the following URL: tcp://localhost:2020/Clock.binary

2] The client-side interceptor: Goal

2] The client-side interceptor: Structure We need to develop two classes to set up the interceptor – The Interceptor sink class, MyChannelSink, which does the interception The sink provider class, MySinkProvider, which adds the sink to the sink chain.

2] The client-side interceptor: Class layout

3] The Interceptor Sink class: Code Let us have a look at the Sink class:

3] The Interceptor Sink class: Code As we see, the client interceptor sink class, MyChannelSink, derives from BaseChannelSinkWithProperties, IMessageSink, IClientChannelSink We do all the necessary processing in just one function, public IMessage SyncProcessMessage(IMessage theMessage) We will just stuff in the other functions with some basic code, just for satisfying the interface definitions.

3] The Interceptor Sink class: Processing function

4] The Sink Provider class: Code We have seen the code for the interceptor sink class. Now we need a sink provider class which would add this custom sink to the sink chain. Let us see the code for the sink provider class that we have developed for this application, MySinkProvider.

4] The Sink Provider class: Code

5] The configuration file Now that we have the client interceptor sink, and the sink provider, we need to create a configuration file, which will be used by the client to include the interceptor in the remoting chain.

5] The configuration file The name of the sink provider class. <configuration> <system.runtime.remoting> <application> <channels> <channel ref = "tcp" port = "0"> <clientProviders> <provider type = "Interceptor.MySinkProvider, Interceptor" /> <formatter ref = "binary" /> </clientProviders> </channel> </channels> </application> </system.runtime.remoting> </configuration> Namespace in which the sink provider class resides. Name of the library that defines the sink provider. Need NOT be same as the namespace name.

5] The configuration file: Naming; A weird little problem Config files can have any name. Jeff Prosise, though, advises to name the config file as the < client Exe name > + “.config” i.e., if the client executive is MyClient.exe, the config file would be MyClient.exe.config It works fine with .NET 1.0 .NET 1.1 simply deletes the config file if we name it like that. I realized it the hard way! Bizarre!

6] Including the Config file in the client

7] Reference Remoting with C# and .NET - David Conger http://www.msdn.microsoft.com/msdnmag/issues/03/11/RemotingChannelSinks/print.asp MSDN documentation Advanced .NET Remoting - Ingo Rammer Microsoft .NET Remoting - Scott McLean, James Naftel, Kim Williams Essential .NET, volume 1 - Don Box, Chris Sells Programming Microsoft .NET – Jeff Prosise