May 2, 2006Shawn Mulkey - EECS 816 1 Distributed Computing & Object Oriented Middleware: Part 2 Presented By Shawn Mulkey.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
COM vs. CORBA.
General introduction to Web services and an implementation example
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
 Introduction  WCF Definition  WCF Architecture  Implementation  WCF Demo Overview.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Windows Communication Foundation and Web Services.
CSC-8530: Distributed Systems Christopher Salembier 28-Oct-2009.
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Comparison of the RMI and the socket APIs
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Communication in Distributed Systems –Part 2
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
Enterprise Resource Planning
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
第十四章 J2EE 入门 Introduction What is J2EE ?
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
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.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Random Logic l Forum.NET l Web Services Enhancements for Microsoft.NET (WSE) Forum.NET ● October 4th, 2006.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
Mahesh Krishnan, Senior Consultant, Readify Slide 1.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
ProActive components and legacy code Matthieu MOREL.
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.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Presentation 24: Windows Communication Foundation Introduced Objektorienteret Netværkskommunikation.
.NET Mobile Application Development XML Web Services.
Dhananjay Kumar MVP-Connected System 1. WCF  Agenda What is WCF ? Why WCF? Address, Binding, Contract End Points Hosting Message Patterns Programming.
O VERVIEW OF SOA AND WCF Jinaldesai.net – My Thouths And Learnings.
Windows Communication Foundation. Agenda How We Got Here ASMX vs WCF Throwdown WCF Contracts Service Data Message Bindings Security Reliability Declarative.
Windows Communication Foundation and Web Services
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
Presentation 23 .NET Remoting Introduced
Windows Communication Foundation and Web Services
Inventory of Distributed Computing Concepts and Web services
The future of distributed systems architecture
Inventory of Distributed Computing Concepts
Introduction to Web Services
Distributed System using Web Services
Distributed System using Web Services
Inventory of Distributed Computing Concepts
Presentation transcript:

May 2, 2006Shawn Mulkey - EECS Distributed Computing & Object Oriented Middleware: Part 2 Presented By Shawn Mulkey

Shawn Mulkey - EECS 8162 May 2, 2006 Agenda Microsoft.Net Web Services Grid Computing Conclusion

Shawn Mulkey - EECS 8163 May 2, 2006 Agenda Microsoft.Net  Introduction  Remoting  Windows Communication Foundation Web Services Grid Computing Conclusion

Shawn Mulkey - EECS 8164 May 2, 2006.Net Basics Microsoft Development Platform Creates Interpreted Code  MSIL  Many Languages Supported  C#, VB.Net are Primary Platform & Tool Support  Deployment  Security

Shawn Mulkey - EECS 8165 May 2, 2006 Foundation Class Libraries Built-In Functionality For.Net Available to All.Net Languages Basic to Advanced Features  String Manipulation  Graphics  Networking  Threading Encapsulated functionality for common tasks

Shawn Mulkey - EECS 8166 May 2, 2006 Attributes Meta-Data Added To.Net Constructs  Assemblies, Classes, Members Provide Externally Parsed Information  IDE Properties  Security Assertions  Web Services Interactions Example: //Method Level Attribute [FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)] void WriteDataToFile(string data) { … }

Shawn Mulkey - EECS 8167 May 2, 2006.Net Remoting Built in system for object based RPC  Fundamentally similar to Java RMI  Requires homogenous environment Specifically designed for inter-process as well as intra-system use Similar to predecessor Microsoft DCOM .Net Remoting uses standardized transports

Shawn Mulkey - EECS 8168 May 2, 2006.Net Remoting Features Seamless LPC semantics  ‘Proxy’ term instead of stub Interchangeable Protocols  Transport  Data Representation Copy by value or reference  Automatic or Declarative

Shawn Mulkey - EECS 8169 May 2, 2006 Basic.Net Remoting Architecture © Microsoft, 2006

Shawn Mulkey - EECS May 2, 2006.Net Remoting Channels Bundled configuration for RPC Transport IChannel interface can represent any transport  TcpChannel and HttpChannel are commonly used implementations Channels declaratively configured with.Net configuration system

Shawn Mulkey - EECS May 2, 2006 Remoting Channel Architecture © Microsoft, 2006

Shawn Mulkey - EECS May 2, 2006.Net Remoting Code Sample public class SampleObject : MarshalByRefObject { public SampleObject() { } public string HelloWorld() { return "Hello World!"; } Object Declaration

Shawn Mulkey - EECS May 2, 2006 public class SampleServer { public void Start() { // Create an instance of a channel TcpChannel channel = new TcpChannel(8080); ChannelServices.RegisterChannel(channel); // Register as an available service with the name HelloWorld RemotingConfiguration.RegisterWellKnownServiceType( typeof(SampleObject), "HelloWorld", WellKnownObjectMode.SingleCall ); } …… } Server Code

Shawn Mulkey - EECS May 2, 2006 public class SampleClient { public void DoSomething() { // Create a channel for communicating w/ the remote object // Notice no port is specified on the client TcpChannel chan = new TcpChannel(); ChannelServices.RegisterChannel(chan); // Create an instance of the remote object SampleObject obj = (SampleObject) Activator.GetObject( typeof(RemotingExample.SampleObject), "tcp://localhost:8080/HelloWorld" ); Console.WriteLine(obj.HelloWorld()); } …. } Client Code

Shawn Mulkey - EECS May 2, 2006 Windows Communication Foundation Platform for distributed computing integration  Formerly known as ‘Indigo’  Presents abstract framework for program interaction Unifies previous Microsoft distributed APIs  DCOM  Microsoft Message Queues  Web services .Net Remoting

Shawn Mulkey - EECS May 2, 2006 Windows Communication Foundation Every system partitioned into ‘services’  Similar to original CORBA metaphor  Directly supports Service Oriented Architecture (SOA) Unified feature set and programming model  Example: Message oriented communication with transactional guarantees Leverages.Net platform extensibility features  Declarative run-time attributes  Configuration

Shawn Mulkey - EECS May 2, 2006 WCF Basics Three important service attributes  Address  Binding  Contract Service Contract  Decorated with attributes to denote meta-functionality Data Contract  Explicitly declares structure and members to be exposed

Shawn Mulkey - EECS May 2, 2006 WCF Contract Examples using System.ServiceModel; [ServiceContract] public interface ICalculate { [OperationContract] double Add( double a, double b); [OperationContract] double Subtract( double a, double b); } using System.ServiceModel; [DataContract] public class Person { [DataMember] public int Id; [DataMember] public string FirstName; [DataMember] public string LastName; } Service ContractData Contract

Shawn Mulkey - EECS May 2, 2006 WCF Architecture © Microsoft, 2006

Shawn Mulkey - EECS May 2, 2006 WCF Architecture © Microsoft, 2006

Shawn Mulkey - EECS May 2, 2006 Microsoft’s WFC Strategy Offers interoperability with other platforms  Web services  Extensible transport interfaces Locks developers into unified.Net framework Similar strategy to Sun’s J2EE

Shawn Mulkey - EECS May 2, 2006 Agenda Microsoft.Net Web Services  Introduction  Architecture  Applications Grid Computing Conclusion

Shawn Mulkey - EECS May 2, 2006 Web Services Introduction Web Service Definition: A distributed computing system in which standardized network protocols are used to connect clients with services capable of providing data in a common textual format.

Shawn Mulkey - EECS May 2, 2006 Web Services Introduction Common Practical Definition: A distributed computing system in which web-based network protocols such as HTTP are used to connect clients with services providing XML based data via the SOAP messaging standard.

Shawn Mulkey - EECS May 2, 2006 Web Services Application Stack HTTP Client  Custom code or generated middleware  Leverages HTTP error semantics  TCP underlying socket transport SOAP messages  Simple Object Access Protocols  XML based messaging standard  Wraps data in common envelope

Shawn Mulkey - EECS May 2, 2006 Web Services Application Stack XML Data Encoding  Textual format  Hierarchical organization  Standardized type encoding Benefits and challenges of XML  Extremely interoperable  Processing intensive

Shawn Mulkey - EECS May 2, 2006 Simple Object Access Protocol Header Block SOAP Envelope Header 1 ….. Header N Message Body Data Block 3 Data Block 1 Data Block 2 Application level message packet Brackets message content Provides header inclusion  Contextual information  Standardized behavior Contains versioning information

Shawn Mulkey - EECS May 2, 2006 Web Services Data Encoding Structured XML text  Simple to parse  Expensive in time and space Standardized types  Simple types in W3C DTD  Complex types in WS-* standards Lingua Franca in enterprise computing

Shawn Mulkey - EECS May 2, 2006 Web Services Middleware Many development platforms .Net  J2EE  Allows interaction using familiar language constructs Web Services Description Language  Standardized way to represent web service  Similar to CORBA IDL  Used to generate stubs and skeletons

Shawn Mulkey - EECS May 2, 2006 Demonstration Interlude

Shawn Mulkey - EECS May 2, 2006 Web Services Extensions New standards for specialized functions WS-Trust WS-Transactions WS-Notification  See Mulkey, 2006

Shawn Mulkey - EECS May 2, 2006 Web Services Evolution Popular means to connect enterprise systems  Legacy databases  Web-centric applications Extensibility provides for standardization  Header types  Data types  Meta-data Competing visions going forward

Shawn Mulkey - EECS May 2, 2006 Agenda Microsoft.Net Web Services Grid Computing  Introduction  Examples Conclusion

Shawn Mulkey - EECS May 2, 2006 Grid Computing Introduction Grid Computing Definition: A virtualization of computing resources which abstract a network of interoperating nodes into a single computer system.

Shawn Mulkey - EECS May 2, 2006 Grid Computing Concept Grid Interface

Shawn Mulkey - EECS May 2, 2006 Grid Computing Highlights Designed for heterogeneous computing environments Standards based  Web Services specs used extensively Exploits underutilized resources  Uses idle cycles  Job load balancing

Shawn Mulkey - EECS May 2, 2006 Grid Computing Applications Must access grid framework  Two or more non-client machines  Non-trivial administration  Fast network Application must run in grid environment  Remote job  Parallel partition and processing Local overhead must be significantly more than grid overhead  Long jobs  Complex parallel jobs

Shawn Mulkey - EECS May 2, 2006 Grid Frameworks Globus Framework   Sponsored by IBM & others  Popular in research Sun Grid Engine (N1)   Built into operating system  Strong commercial backing

Shawn Mulkey - EECS May 2, 2006 Conclusion Microsoft’s distributed computing .Net Remoting  Web Services  Window Communication Foundation Web Services  Open standards based HTTP, SOAP, XML  Highly interoperable  Wide middleware tool support

Shawn Mulkey - EECS May 2, 2006 Conclusion Grid Computing  Computer resource virtualization  Dynamic use of idle hardware  Standards based

Shawn Mulkey - EECS May 2, 2006 The End Distributed Computing & Object Oriented Middleware Presented By Shawn Mulkey