Could point me to some good links, or share experiences of the differences / similarities between the JBI and SCA specifications?
Many thanks :-)
This article can provide the beginning of an answer (even though it does not detail the specifications)
SCA allows multiple technologies to be used to implement services (e.g. Java, BPEL, C++) and multiple bindings for communicating with services (e.g. Web services or JMS). However, SCA does not describe how you would introduce a new implementation type or new binding into a runtime. This is exactly where JBI is targeted.
JBI is a Java Platform integration 'micro kernel' standard that provides an open architecture in support of multi-vendor Java Composite Application Platform tools and infrastructure. It defines a set of service provider interfaces for middleware providers to implement if they want to install new service engines (which correspond to SCA's implementation types) or binding components (which correspond to SCA's bindings) into a JBI-compliant runtime.
You can find a quick feedback and some reactions in this article: SCA and JBI, Best of Both Worlds?.