What is service-oriented architecture?

前端 未结 5 1518
小鲜肉
小鲜肉 2021-02-02 00:08

What is service-oriented architecture?

5条回答
  •  梦毁少年i
    2021-02-02 00:48

    SOA is way to develop service oriented applications and WCF is technology which can be used to develop service oriented applications. BUT SOA defines strict rules (known as SOA tenets) for applications. If you don't follow these rules you are building services but these services do not conform to SOA.

    WCF allows you to develop plenty of types of services. You can develop interoperable SOAP services which conform to SOA or which doesn't. You can develop pure .NET services with non interoperable features and you can develop REST services.

    Moreover in SOA service can have different meaning than in WCF. In WCF service is collection of functionality exposed on endpoints. In SOA the service can be whole application (set of WCF like services) - difference between small and big SOA.

    SOA tenets are:

    • Boundaries are explicit - service doesn't share anything with other services (even database tables and data can't be shared)
    • Services are autonomous - each service is independent, can be separately deployed and versioned
    • Services share schema and contract, not class - services are described in WSDL, transported data are described in XSD, orchestrations (aggregation) are described in BPEL
    • Services compatibility is based upon policy - WSDL contains WS-Policies to describe configuration needed for interoperability

    As you see especially first two tenets can be easily violated when building WCF service.

提交回复
热议问题