Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Communication Foundation and Web Services.

Similar presentations


Presentation on theme: "Windows Communication Foundation and Web Services."— Presentation transcript:

1 Windows Communication Foundation and Web Services

2 Slide 2 A Word About Attributes The statements inside the brackets are considered attributes Attributes are declarative information about c# code Don’t confuse the term Attribute here with an HTML attribute

3 Slide 3 A Word About Interfaces An interface contains the signatures of methods, properties, events or indexersmethodspropertieseventsindexers A class that implements the interface must implement the members of the interface that are specified in the interface definition The interface name typically start with the letter I (capitalized)

4 Slide 4 A Word About Interfaces The class named ImplementationClass implements ISampleInterface

5 Slide 5 WCF (Introduction) It’s Microsoft’s current inter-machine communication foundation used to integrate HTTP requests and responses Web Services Messaging Lower-level TCP/IP Ajax / REST services And everything else

6 Slide 6 WCF (Introduction) And I’ll start out by saying it’s complicated

7 Slide 7 WCF Fundamentals Simply put, it’s a set of APIs used to send messages between services and clients Messages are sent between endpoints using a transport protocol (such as (such as HTTP / TCP and others)

8 Slide 8 WCF Model (1)

9 Slide 9 WCF Model (2)

10 Slide 10 WCF Model (Contracts) Service contracts describe the precise format of messages This is done using HTTP or another protocol The service contract defines the interface to the outside world Operation contracts belong to a service contract These are really the methods of the contract

11 Slide 11 WCF Model (Contracts) We are talking about the format of Function calls Parameters Return types These are message signatures The programming model defines how we write the code to do all of this

12 Slide 12 WCF Model (Contracts)

13 Slide 13 WCF Model (Contract) Request-Reply Request-Reply services This is the default type of service Clients make a request for service (synchronously or asynchronously) Clients receive a response Duplex services

14 Slide 14 WCF Model (Contract) One Way In a One-Way service, the client sends a request but does not expect a response To detect errors, create two One-Way service contracts

15 Slide 15 WCF Model (Contract) Duplex Both endpoints can send messages independently These are implemented using the idea of a callback To implement, create two interfaces The first is the one-way client interface The second is the callback contract Refer to http://msdn.microsoft.com/en- us/library/ms731064(v=vs.110).aspxhttp://msdn.microsoft.com/en- us/library/ms731064(v=vs.110).aspx

16 Slide 16 WCF Model (Service Runtime) This layer defines the behavior of the runtime service (server configuration) We configure the service runtime using behaviors There is much more detail here beyond the scope of this course

17 Slide 17 WCF Model (Service Runtime) How many messages are processed at a time InstanceContextMode / ConcurrencyMode How many instances of a server can run (singleton) InstanceContextMode Threading and reentrancy ConcurrencyMode

18 Slide 18 WCF Model (Messaging) Transport channels are of two types Transport channels send and receive messages TCP, HTTP, MSMQ Protocol channels implement the messaging protocols HTTP

19 Slide 19 WCF Model (Hosting) Simply put, it’s where the application runs (is hosted) Might be IIS or WAS

20 Slide 20 WCF Model (Hosting)

21 Slide 21 WCF Model (Hosting)

22 Slide 22 WCF Model (Hosting - IIS) This is the easiest way to host your service IIS treats the service as an ASP.NET Web Site If you are using IIS6, then only HTTP and HTTPS are supported You can create a self-hosted console (or forms) application that listens for requests at a particular port We can also host through Azure Services

23 Slide 23 WCF and Web Services WCF has changed the.net picture of Web Services They used to be a standalone product type etc… They are now just another service within the context of WCF

24 Slide 24 The Goal of Web Services Supply a standard means for e-commerce applications to communicate using different hardware and software platforms Supply a way for legacy applications to communicate Provide a universal way to discover the available services and the methods supplied by a particular service so that any consumer can call those methods

25 Slide 25 Logical Web Service Model

26 Slide 26 Web Service Vendors IBM – WebSphere Studio Application Developer SAP – SAP Web Application Server SUN – Sun ONE Web Services Platform Developer Edition And of course Microsoft and Visual Studio.NET Others are likely to follow No matter the vendor, Web services will always work the same way Any consumer should work with any provider

27 Slide 27 Web Service Protocols Web services provide a hardware and software agnostic way to call remote functions and return data from those remote functions Protocols HTTP is the message transfer agent Simple Object Access Protocol (SOAP) Web Service Description Language (WSDL)

28 Slide 28 SOAP Encapsulates an XML document for the purpose of serialization SOAP messages are exchanged between providers and consumers SOAP is a message envelope containing an XML document Consumers send SOAP requests to providers Requests are method calls serialized into an XML document Providers send responses to consumers in the form of another XML document All of this happens behind the scenes and is not that significant to the developer

29 Slide 29 WSDL A WSDL document fully describes a Web service All methods are defined Method signatures are also defined A WSDL document is a well-formed and valid XML document A WSDL document is almost always generated automatically They become very complex very quickly.NET uses the WSDL document along with Intellisense technology to display member calling conventions (signature prototypes)

30 Slide 30 Creating A Web Service Create a new Web side using the WCF Service project type

31 Slide 31 Web Service (Steps to Create) Design the service contract Implement the service contract This is done via attributes Configure the service endpoints Host the service Build client applications

32 Slide 32 Web Service Implementation (Steps) Declare the members of the interface that will be implemented in the.svc file Implement those members in the corresponding class

33 Slide 33 The Role of App.Config App.Config operates similarly to Web.Config Here, it’s used to configure a Web Service All of this appears inside of We could also hardcode this

34 Slide 34 App.config (Bindings) Bindings define the transport protocol details needed for a client to communicate with a service Predefined (provided) bindings Custom bindings

35 Slide 35 App.config (Bindings) Here we bind to three different services

36 Slide 36 App.config (Endpoints) Endpoints allow clients to access a Web service Consists of An address (URL that points to the service) Name of a binding (how to communicate with the endpoint) The contract defining the methods available

37 Slide 37 App.config (Endpoints) We communicate with three services

38 Slide 38 Service Contract A service contract exposes one or more service operations A ServiceContract defines the types of messages used in a conversation A ServiceOperation defines the messages themselves

39 Slide 39 Service Contract (Example 1)

40 Slide 40 Service Contract (Example 2) Use a class instead of creating an interface and implementing that interface

41 Slide 41 Data Contract Simply put, simple types do not require a data contract. Complex types do Serializable parameters do not require a data contract A DataContract describes a type that will be serialized by the service A DataMember describe the members of the DataContract type

42 Slide 42 Data Contract (Example 1)

43 Slide 43 Configure Service Endpoints (1) Communication occurs through service endpoints and four properties Address of the endpoint A binding that specifies how a client can communicate with the endpoint A contract the defines the allowable operations Local implementation details

44 Slide 44 Configure Service Endpoints (2) We can configure endpoints via Code In the config (web.config) file

45 Slide 45 Configure Service Binding (1) Most bindings are provided with WCF Use BasicHttpBinding for most Web services

46 Slide 46 Host the Service IIS must be installed on the server

47 Slide 47 Compiling the Service The service is compiled the same way as any other.NET app. If you run it, you see a “special” test client window The code is generated by.NET itself

48 Slide 48 Test Service (Illustration 1)

49 Slide 49 Test Service (Illustration 2)

50 Slide 50 Creating the Test Client Create a WPF or Windows forms application Insert the template code created by Svcutil.exe into this project While the service is running locally, add a service reference In a production app, you will have this URL Change the name of the endpoint in app.config

51 Slide 51 Adding the Service Reference (Example)

52 Slide 52 Changing the endpoint Rename the end point in the app.config file


Download ppt "Windows Communication Foundation and Web Services."

Similar presentations


Ads by Google