Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is service-oriented architecture?

What is service-oriented architecture?

like image 653
Jeevan Bhatt Avatar asked Oct 01 '10 06:10

Jeevan Bhatt


People also ask

What do you mean by service-oriented architecture?

Service-oriented architecture (SOA) is a method of software development that uses software components called services to create business applications. Each service provides a business capability, and services can also communicate with each other across platforms and languages.

What is the main purpose of service-oriented architecture?

Service-oriented architecture aims to allow users to combine large chunks of functionality to form applications which are built purely from existing services and combining them in an ad hoc manner.

What is SOA example?

SOA infrastructure is used by many armies and air forces to deploy situational awareness systems. SOA is used to improve healthcare delivery. Nowadays many apps are games and they use inbuilt functions to run. For example, an app might need GPS so it uses the inbuilt GPS functions of the device.

What is the meaning of SOA?

What is SOA, or service-oriented architecture? SOA, or service-oriented architecture, defines a way to make software components reusable and interoperable via service interfaces. Services use common interface standards and an architectural pattern so they can be rapidly incorporated into new applications.


1 Answers

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.

like image 104
Ladislav Mrnka Avatar answered Sep 28 '22 08:09

Ladislav Mrnka