Advantages of SCA over Spring?

后端 未结 3 1848
你的背包
你的背包 2021-02-10 21:41

I have experience developing java web applications with Spring, but not so much with the world of SOA. I was reading about SCA- SCA4J - http://www.service-conduit.org/user-guid

3条回答
  •  梦如初夏
    2021-02-10 22:41

    SCA is being standardized through OASIS (Assembly Specification), so you can chose from different implementations (e.g. Apache Tuscany or Fabric3).

    SCA defines applications in terms of the following basic building blocks:

    • interface: defines available operations
    • component: describes an implementation artifact in terms of which "services" it offers, which "references" it requires, and which configurable "properties" it exposes
    • binding: declares the communication protocol used by a service or reference
    • policy: captures non-functional requirements for services, references, or implementations

    To build SOA applications, concrete "types" of these entities are assembled into composites. For example:

    • interface: WSDL port type, Java interface
    • component implementation: Java class, BPEL process, Python, Spring
    • binding: JMS, Web Service, RMI/IIOP
    • policy: transaction, security

    In addition, SCA defines unified client APIs to invoke components both synchronously and asynchronously (including one-way). For Java this includes annotation-based reference injection.

    Combining these capabilities enables you to easily create distributed applications from heterogeneous technologies and evolve them by adding or swapping binding, implementation, interface, or policy technologies.

提交回复
热议问题