At a high Level the answer is Yes, however not completely.
SOA requires thinking about the system in terms of
- Services (well-defined business functionality)
- Components (discrete pieces of code and/or data structures)
- Processes (Service orchestrations. Generally using BPEL)
Being able to compose new higher level services or business processes is a basic feature of a good SOA. XML, SOAP based Web Services and related standards are good fit for realizing SOA.
另外,社会行动组织也接受了几项原则——。
- Standardized service contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
- Service Loose Coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
- Service Abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.
- Service reusability – Logic is divided into services with the intention of promoting reuse.
- Service autonomy – Services have control over the logic they encapsulate.
- Service granularity – A design consideration to provide optimal scope and right granular level of the business functionality in a service operation.
- Service statelessness - Services minimize resource consumption by deferring the management of state information when necessary
- Service discoverability – Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
- Service composability – Services are effective composition participants, regardless of the size and complexity of the composition.
一个基于SOA的结构预计将有服务定义。 由于科技创新网络服务缺乏明确的服务定义(类似于施舍),因此很难建立基于教育、科学和技术的系统来达到上述多数原则。
为实现同一目标,你需要具备适当的网络服务+交响乐机(可以使用像MuleESB或Camel等一些轻重的ESB)。
还请参看这一资源:From SOA to REST。
在以下评论中添加这一部分内容:
需要进行交响乐,以堆肥工艺。 这为社会行动提供了主要好处。
Say you have a order processing application with operations like
-
- addItem
- addTax
- calculateTotal
- placeOrder
最初,你建立了一种程序(使用BPEL),按顺序使用这些行动。 你们有客户利用这一竞争服务。 几个月后,新的客户出现免税,而不用写新服务,你只能创造新的过程,绕过加泰克斯行动。 因此,只有重新利用现有服务,你才能更快地实现业务功能。 在实践中,这种服务是多余的。
因此,BPEL或类似(ESB或路由)技术对于SOA至关重要。 如果没有商业利用,SOA实际上不是一个SOA。
贴在我的个人博客上——http://blog.padmarag.com
Also check this new resource I came across - REST based SOA