A service interface describes operations and for each operation the input and output parameters. A Java interface does the same thing for the Java methods it exposes. It is [therefore] fairly easy to convert a Java interface into a web service interface described by a WSDL document with XSD types.
SOA Suite works from this notion and allows us to create Java classes that implement one or more interfaces and have these classes expose the web service equivalent of the Java interface(s) they implement in a SOA composite application. To that end, Java classes need to be configured in a Spring context component, defined through an extended Spring framework bean definition file. Beans configured in this component can publish any Java interface they implement as an SCA service to be invoked by other components in the SOA composite.
The Spring framework has at its core an IoC or Inversion of Control container, that can construct beans that are instances of Java classes into which property values and dependencies can be injected. Multiple beans can be configured in a single Spring component – with some beans being injected into others, to satisfy the dependencies of these objects. When a bean has a dependency that cannot be satisfied by another bean in the Spring context, this dependency can be promoted and exposed as an SCA reference that other components in the composite can provide the implementation for.
In this section, we will explore the core integration between SCA and Spring – dependency injection from SCA to Spring (and Java) and from Spring (Java) to SCA.
AMIS Technology Blog (Maarten Smeets): SOA Suite 12c: Getting started with the Spring Component
The end result for this section is in the SpringGreeter folder.