Presentation is loading. Please wait.

Presentation is loading. Please wait.

O VERVIEW OF SOA AND WCF Jinaldesai.net – My Thouths And Learnings.

Similar presentations


Presentation on theme: "O VERVIEW OF SOA AND WCF Jinaldesai.net – My Thouths And Learnings."— Presentation transcript:

1 O VERVIEW OF SOA AND WCF Jinaldesai.net – My Thouths And Learnings

2 A GENDA Overview of Service Oriented Architecture (SOA) Overview of WCF Introducing WCF Contracts Jinaldesai.net – My Thouths And Learnings

3 W HAT IS S ERVICES ? Service is unit of logic(functionality). Example of services are placing airline ticket order online or viewing an online bank statement. Services are loosely coupled. Service interface is independent of implementation. Services are reusable. Jinaldesai.net – My Thouths And Learnings

4 S ERVICE C HARACTERISTICS Handles a business process like calculating insurance quote; or handles relatively technical task like accessing a database; or provides business data and technical details like details needed for constructing GUI. Service Can access another service for performing it’s task. Service is relatively independent of other service or software. Jinaldesai.net – My Thouths And Learnings

5 W HAT IS SOA? Service Oriented Architecture is an evolution of distributed computing. It comprises of one or more services. SOA defines how two computing entities, such as program, interact in such a way as to enable one entity to perform a unit of work on behalf of another entity. Each interaction is independent of any other interaction or it’s implementation. Jinaldesai.net – My Thouths And Learnings

6 SOA K EY C HARACTERISTICS SOA services have self-describing interfaces in platform-independent XML Document(WSDL). SOA Services communicate with messages formally defined via XML schema(XSD). SOA services are maintained in the enterprise by a registry that acts as a directory listing(UDDI) Each SOA service has a quality of service(QoS). Key Qos elements are security requirements, reliable messaging and other policies regarding who can invoke services. Jinaldesai.net – My Thouths And Learnings

7 S TRUCTURE OF SOA Jinaldesai.net – My Thouths And Learnings

8 S TRUCTURE OF SOA The topmost level contains one or more integration services, each of which controls a flow of activities such as processing an applicant's request. Each integration service invokes one or more business services. The second level is composed of services that each fulfill a relatively low-level business task. The third level data access services handles relatively technical task of reading from and writing to data-storage areas such as databases/message queues. Jinaldesai.net – My Thouths And Learnings

9 D ISTRIBUTED A PPLICATIONS Jinaldesai.net – My Thouths And Learnings

10 D ISTRIBUTED A PPLICATION ON W INDOWS Microsoft shipped many communication frameworks to achieve connected system environment. Disadvantages: Each framework comes up with a unique programming model. Each of these framework can be used only in windows platform. Jinaldesai.net – My Thouths And Learnings

11 S ERVICES C OMMUNICATION ™Services were used to expose the units of functionality via messages. Jinaldesai.net – My Thouths And Learnings

12 SOAP AND REST ™To make a service available over http can be done by exposing a SOAP based service or using a REST( non SOAP) based service. ™SOAP XML Messaging using SOAP as the format, enhanced with the WS-* protocols(can be used with any transport protocol). Typically used in enterprise. ™REST Which operates on resources through a unified interface(HTTP). Typically used in public facing web scenarios. Jinaldesai.net – My Thouths And Learnings

13 W HAT IS WCF? ™WCF is the Microsoft next generation technology for developing distributed applications. WCF has been built to facilitate the development of service-oriented applications. It is a fusion of current distributed system technologies designed and developed with the goal of achieving SOA based development. Jinaldesai.net – My Thouths And Learnings

14 W HAT IS WCF? WCF is a programming model that enables developers to build service solutions that are reliable and secure, and even transacted. It simplifies development of connected applications and offers a unified, simplified, and manageable distributed system development approach. Jinaldesai.net – My Thouths And Learnings

15 W HAT DOES WCF SOLVE ? Jinaldesai.net – My Thouths And Learnings

16 W HY HANDLE UNIFICATION ? Jinaldesai.net – My Thouths And Learnings

17 U NIFICATION OF D ISTRIBUTED T ECHNOLOGIES Jinaldesai.net – My Thouths And Learnings

18 WCF IN.NET FRAMEWORK STACK Jinaldesai.net – My Thouths And Learnings

19 WCF A RCHITECTURE At the heart of WCF is a layered architecture that supports a lot of the distributed application development styles. The Layers are: Contracts Service Runtime Messaging Activation and Hosting Jinaldesai.net – My Thouths And Learnings

20 WCF L AYERS - C ONTRACTS WCF contracts define the functionality of WCF services. They are created in code by service developers, and are exposed to clients in the service metadata The five types of contracts: Service Contracts Operation Contracts Data Contracts Message Contracts Fault Contracts Jinaldesai.net – My Thouths And Learnings

21 WCF L AYERS - S ERVICE R UNTIME The Service Runtime layer is the layer that specifies and manages the behaviors of the service that occur during service operation, or service runtime. Some of them are as follows: Metadata Behavior: Controls whether or not metadata is exposed to the outside world. Instance Behavior: Drives how many instances of the service will be available to process messages. Transaction Behavior: Enables transacted operations. Jinaldesai.net – My Thouths And Learnings

22 WCF L AYERS - M ESSAGING The messaging layer defines what formats and data exchange patterns can be used during service communication. Client applications can be developed to access this layer and control messaging details and work directly with messages and channels. Some of the Channels and components are as follows: HTTP Channel TCP Channel MSMQ Channel Jinaldesai.net – My Thouths And Learnings

23 WCF L AYERS – A CTIVATION & H OSTING In its final form, a service is a program. Like other programs, a service must be run in an executable. This is known as a self-hosted service. Services can also be hosted, or run in an executable managed by an external agent, such as IIS or Windows Activation Service (WAS). WAS enables WCF applications to be activated automatically when deployed on a computer running WAS. Services can also be manually run as executable (.exe files). A service can also be run automatically as a Windows service. COM+ components can also be hosted as WCF services. Jinaldesai.net – My Thouths And Learnings

24 WCF S ERVICE FROM THE OUTSIDE A service is a collection of one or more endpoints. A service must have at least one endpoint. An endpoint is the component of the service that communicates with the client and provides the service operations. Each endpoint has its very own address, which makes it distinguishable from the other endpoints on the service. Jinaldesai.net – My Thouths And Learnings

25 WCF S ERVICE FROM THE INSIDE Jinaldesai.net – My Thouths And Learnings

26 WCF C ONTRACTS – S ERVICE C ONTRACTS A service contract defines the operations that a service supports, and maps to a portType in Web Service Description Language (WSDL). Service contracts are implemented as.NET Framework interfaces that are annotated with the ServiceContract attribute. [ServiceContract] public interface IBookOrder { … } Jinaldesai.net – My Thouths And Learnings

27 WCF C ONTRACTS – O PERATION C ONTRACTS Operation contracts define the individual operations that a service supports and map to operations in WSDL. Operations are defined by adding methods to a Service Contract interface that is annotated with the OperationContract attribute. [OperationContract] void SomeOperation(); Jinaldesai.net – My Thouths And Learnings

28 WCF C ONTRACTS – D ATA C ONTRACTS A data contract is a formal agreement between a service and a client that abstractly describes the data to be exchanged. Data contract can be explicit or implicit. Simple type such as int, string etc has an implicit data contract. User defined object are explicit or Complex type, for which you have to define a Data contract using [DataContract] and [DataMember] attribute. [DataContract] Class Employee { [DataMember] public string FirstName { get; set; } [DataMember] public string LastName { get; set; } } Jinaldesai.net – My Thouths And Learnings

29 WCF C ONTRACTS – M ESSAGE C ONTRACTS Message: Message is the packet of data which contains important information. WCF uses these messages to transfer information from Source to destination. Message Pattern: It describes how the programs will exchange message with each other. It can be Simplex – one way communication, Request/Reply – two way communication but at a time only one can send a message and Duplex – two way communication both source and destination can send message simultaneously. In most of the cases WCF will automatically take care of message, but at some point developer will also require control over the SOAP message format. In that case WCF provides Message Contract to customize the message as per requirement. Jinaldesai.net – My Thouths And Learnings

30 WCF C ONTRACTS – M ESSAGE C ONTRACTS The most common scenario for this is inserting custom SOAP headers. Another common scenario is to define security properties for the message’s headers and body, that is, to decide whether these elements are digitally signed and encrypted. WCF supports either RPC(Remote Procedure Call) or Message style operation model. In the RPC model, you can develop operation with Ref and out parameter. WCF will automatically create the message for operation at run time. In Message style operation WCF allows to customize the message header and define the security for header and body of the message. Jinaldesai.net – My Thouths And Learnings

31 WCF C ONTRACTS – M ESSAGE C ONTRACTS Defining Message Contracts: Message contract can be applied to type using MessageContract attribute. Custom header and body can be included to message using MessageHeader and MessageBodyMember attribute. [MessageContract] public class EmployeeDetails { [MessageHeader] public string EmpID; [MessageBodyMember] public string Name; [MessageBodyMember] public string Designation; } Jinaldesai.net – My Thouths And Learnings

32 WCF C ONTRACTS – F AULT C ONTRACTS By default when we throw any exception from service, it will not reach the client side. WCF provides the option to handle and convey the error message to client from service using SOAP Fault contract. SOAP faults are message types that are included in the metadata for a service operation and, therefore, create a fault contract that clients can use to make their operation more interactive. In addition, because SOAP faults are expressed to clients in XML form, they are highly interoperable. Jinaldesai.net – My Thouths And Learnings

33 WCF C ONTRACTS – F AULT C ONTRACTS Fault Contract Example: [ServiceContract()] public interface IService { [OperationContract] [FaultContract (typeof(MyFaultExcept ion))] string GetMessage(); } [DataContract] public class MyFaultException { private string _reason; [DataMember] public string Reason { get { return _reason; } set { _reason = value; } } Jinaldesai.net – My Thouths And Learnings

34 T HANKS Jinaldesai.net – My Thouths And Learnings


Download ppt "O VERVIEW OF SOA AND WCF Jinaldesai.net – My Thouths And Learnings."

Similar presentations


Ads by Google