Download presentation
Presentation is loading. Please wait.
Published byDenis Hall Modified over 9 years ago
1
May 2, 2006Shawn Mulkey - EECS 816 1 Distributed Computing & Object Oriented Middleware: Part 2 Presented By Shawn Mulkey
2
Shawn Mulkey - EECS 8162 May 2, 2006 Agenda Microsoft.Net Web Services Grid Computing Conclusion
3
Shawn Mulkey - EECS 8163 May 2, 2006 Agenda Microsoft.Net Introduction Remoting Windows Communication Foundation Web Services Grid Computing Conclusion
4
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
5
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
6
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) { … }
7
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
8
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
9
Shawn Mulkey - EECS 8169 May 2, 2006 Basic.Net Remoting Architecture © Microsoft, 2006
10
Shawn Mulkey - EECS 81610 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
11
Shawn Mulkey - EECS 81611 May 2, 2006 Remoting Channel Architecture © Microsoft, 2006
12
Shawn Mulkey - EECS 81612 May 2, 2006.Net Remoting Code Sample public class SampleObject : MarshalByRefObject { public SampleObject() { } public string HelloWorld() { return "Hello World!"; } Object Declaration
13
Shawn Mulkey - EECS 81613 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
14
Shawn Mulkey - EECS 81614 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
15
Shawn Mulkey - EECS 81615 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
16
Shawn Mulkey - EECS 81616 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
17
Shawn Mulkey - EECS 81617 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
18
Shawn Mulkey - EECS 81618 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
19
Shawn Mulkey - EECS 81619 May 2, 2006 WCF Architecture © Microsoft, 2006
20
Shawn Mulkey - EECS 81620 May 2, 2006 WCF Architecture © Microsoft, 2006
21
Shawn Mulkey - EECS 81621 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
22
Shawn Mulkey - EECS 81622 May 2, 2006 Agenda Microsoft.Net Web Services Introduction Architecture Applications Grid Computing Conclusion
23
Shawn Mulkey - EECS 81623 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.
24
Shawn Mulkey - EECS 81624 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.
25
Shawn Mulkey - EECS 81625 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
26
Shawn Mulkey - EECS 81626 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
27
Shawn Mulkey - EECS 81627 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
28
Shawn Mulkey - EECS 81628 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
29
Shawn Mulkey - EECS 81629 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
30
Shawn Mulkey - EECS 81630 May 2, 2006 Demonstration Interlude
31
Shawn Mulkey - EECS 81631 May 2, 2006 Web Services Extensions New standards for specialized functions WS-Trust WS-Transactions WS-Notification See Mulkey, 2006
32
Shawn Mulkey - EECS 81632 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
33
Shawn Mulkey - EECS 81633 May 2, 2006 Agenda Microsoft.Net Web Services Grid Computing Introduction Examples Conclusion
34
Shawn Mulkey - EECS 81634 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.
35
Shawn Mulkey - EECS 81635 May 2, 2006 Grid Computing Concept Grid Interface
36
Shawn Mulkey - EECS 81636 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
37
Shawn Mulkey - EECS 81637 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
38
Shawn Mulkey - EECS 81638 May 2, 2006 Grid Frameworks Globus Framework http://www.globus.org/ Sponsored by IBM & others Popular in research Sun Grid Engine (N1) http://www.sun.com/software/grid/ Built into operating system Strong commercial backing
39
Shawn Mulkey - EECS 81639 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
40
Shawn Mulkey - EECS 81640 May 2, 2006 Conclusion Grid Computing Computer resource virtualization Dynamic use of idle hardware Standards based
41
Shawn Mulkey - EECS 81641 May 2, 2006 The End Distributed Computing & Object Oriented Middleware Presented By Shawn Mulkey
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.