soa via wcf

Upload: phani

Post on 10-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 SOA via WCF

    1/29

    SOA VIA WCF

    Mohammed H. El-Shreief.Software Engineer Team Lead

    SilverKey Egypt.

  • 8/8/2019 SOA via WCF

    2/29

    Agenda

    Part I: Service Oriented ArchitecturePart I: Service Oriented Architecture Background

    Motivations

    What is a Service

    Message Exchange Patterns (MEP)

    Industry Standards

    Web Standards

    Part II: Introducing WCFPart II: Introducing WCF What is WCF

    WCF Architecture Overview

    Demos

  • 8/8/2019 SOA via WCF

    3/29

    SERVICE ORIENTEDARCHITECTURE

    Part I

  • 8/8/2019 SOA via WCF

    4/29

    Procedural

    Oriented

    ObjectOriented

    Component

    Oriented

    ServiceOriented

    Time Machine

    Background

  • 8/8/2019 SOA via WCF

    5/29

    Motivations

    Integration Between Systems is not an

    Option.

    Heterogeneous Systems.

    Different Environment / Operating Systems.

    Loosely Coupled.

  • 8/8/2019 SOA via WCF

    6/29

    Do you recall LEGO ?

  • 8/8/2019 SOA via WCF

    7/29

    What is a Service ?

    Self Contained business function

    Functionality exposed via a structuredmessaging scheme

    Not just XML, not just HTTP XML, SOAP, JSON, Images .. etc

    TCP, HTTP, Message Queues etc

  • 8/8/2019 SOA via WCF

    8/29

    What is a Service ?

    Versioning Independence

    Different Message Exchange Patterns

    One way, Request/Reply & Duplex

  • 8/8/2019 SOA via WCF

    9/29

    Message Exchange Patterns

    (MEP) One-way (Datagram)

    Request / Reply

    Duplex

    Sender

    Sender

    Sender

    Receiver

    Receiver

    Receiver

  • 8/8/2019 SOA via WCF

    10/29

    Industry Standards

    SOAP

    Simple Object Access Protocol

    XML Based WS-* Specifications

    Set of specifications to coordinate reliability,transactions, faults, security etc

    Agreed upon many vendors (IBM, ORACLE, MS )

    WS-Addressing, WS-Security, WS-AtomicTransaction, etc

  • 8/8/2019 SOA via WCF

    11/29

    Web Standards

    REST

    Representational State Transfer

    URI is the key to the data http://demoday.us/visitors/all

    Data can be

    XML, JSON, Binary etc

  • 8/8/2019 SOA via WCF

    12/29

    Give SOAP a REST

    REST is not a WS-* or SOAP alternative

    or vice-versa

    Each has its use

    REST: Easy to understand, simple for data listing

    WS-*: Rich MEP

    , Reliability, Transactions, etc

    Choose whichever fits

  • 8/8/2019 SOA via WCF

    13/29

    Examples of online services

  • 8/8/2019 SOA via WCF

    14/29

    INTRODUCING WCF

    Part II

  • 8/8/2019 SOA via WCF

    15/29

  • 8/8/2019 SOA via WCF

    16/29

    What is WCF

    CommunicationsCommunications

    RemotingRemoting

    WebWebServicesServices

    SocketsSocketsMessageMessageQueuesQueues

    EnterpriseEnterpriseServicesServices

    WCFWCF

  • 8/8/2019 SOA via WCF

    17/29

    What is WCF ?

    The most extensible framework

    You can add or modify layers upon your need

    Built-in support for WS-* Choose the right Binding

    Enterprise Features

    Logging, Tracing, Instance Control, Throttling etc

    Makes life easier for everybody

    Architects, Developers & Administrators

  • 8/8/2019 SOA via WCF

    18/29

    DEMO

    Simple Service

    ServiceContractAttribute

    OperationContractAttribute Hosting

    Service Endpoint

    Address

    Binding

    Contract

  • 8/8/2019 SOA via WCF

    19/29

    WCF Architecture

    WCF RuntimeWCF Runtime

    Channel StackChannel Stack

    DispatcherDispatcher

    TransportTransport

    EncodingEncoding

    ProtocolProtocol

    ProtocolProtocol

    ProtocolProtocol

    Service InstanceService Instance

    MethodMethod MethodMethod

    MessageMessage

    .Net.NetAssemblyAssembly

    ContractContract

    Data, Message, ServiceData, Message, Service

    ContractContract

    ConfigurationConfiguration

    BindingBinding

    Protocols, Encoding,Protocols, Encoding,

    TransportTransport

  • 8/8/2019 SOA via WCF

    20/29

    WCF Architecture

    End PointEnd Point

    AddressAddress BindingBinding ContractContract

  • 8/8/2019 SOA via WCF

    21/29

    A network address wherewhere the EndPoint

    resides

    Examples http://silverkey.com/services/demoday.svc

    net.tcp://192.168.1.200:3000/service1

    net.msmq://myserver/private/testQueue

    AddressAddress

  • 8/8/2019 SOA via WCF

    22/29

    Specifies howhow the EndPoint communicates

    with the world

    Defines things like Transport (eg. HTTP, TCP)

    Encoding (Text, Binary, MTOM )

    Security Options (SSL, Message security)

    Examples

    BasicHttpBinding, NetTcpBinding,NetMsmqBinding, NetNamedPipesBinding etc

    BindingBinding

  • 8/8/2019 SOA via WCF

    23/29

    Specifies whatwhat the EndPoint communicates

    Defines things like

    Message Exchange Patterns (one-way, duplex ) Service Operations

    Behaviors (Exchange Meta-Data, Impersonation,Authorization etc)

    ContractContract

  • 8/8/2019 SOA via WCF

    24/29

    Example

    Callbacks

    Tracing

    Logging Security

  • 8/8/2019 SOA via WCF

    25/29

    Before The End

    WCF 2.0

    Comes with netfx 3.5

    Workflow enabled services (WCF + WF) Use WCF Services in WF

    Expose workflows as WCF services

    REST Enabled Services

    JSON Encoding

    RSS & ATOM support in WCF

    More .

  • 8/8/2019 SOA via WCF

    26/29

    Resources

    SOA http://www.microsoft.com/soa http://msdn.microsoft.com/architecture/soa/

    WCF http://wcf.netfx3.com http://www.idesign.net

    http://msdn.com/wcf

    Books WCF Step By Step Pro WCF

  • 8/8/2019 SOA via WCF

    27/29

    Questions

  • 8/8/2019 SOA via WCF

    28/29

    Contacts

    Blogs

    http://www.Bashmohandes.com

    Email

    [email protected]

    [email protected]

  • 8/8/2019 SOA via WCF

    29/29

    THANKS