Doorgaan naar hoofdcontent

Book review: Understanding SCA

I bought this book to get a global overview of the possibilities of SCA, because it is also implemented within the Oracle SOA Suite 11g. It is the first book on the fairly new SCA standard.



If you want to get a global overview the first chapter will already do. The next chapters go deeper into the concepts with Java as the example programming language.

Chapter 1 - Introducing SCA

The book starts with a global introduction of SCA and its place w.r.t. SOA, J2EE, .NET, Spring and distributed computing. SCA focuses on being able to describe assemblies of components which have been written in a variety programming models and protocols. It does not cover presentation and persistency.

Within this chapter the main terms are explained: Service, Component, Composite and Domain.
Why another standard? Because there are still some issues with J2EE and .NET, namely complexity and reusability. You have to understand a lot of different technologies like JAX-WS, JMS, EJB, ASP.NET, .NET Messaging.

Chapter 2 - Assembling and deploying a composite
This chapter describes the creation of composites and deploying them into a domain as a contribution. Fabric3 (open source Java SCA implementation) with Java is taken as example language.

Chapter 3 - Service-Based development Using Java
This chapter shows how to create Java services (asynchronous and synchronous) and it is described how the life cycle of components are handled.

Chapter 4 - Conversational Interactions Using Java
Chapter about implementing conversational interactions in which several interface calls belong together as one conversation.


Chapter 5 - Composition
This chapter describes in more detail how applications are assembled into composites. Its about service bindings, performance, properties, including other composites.

Chapter 6 - Policy
This chapter is about policies wich include authentication, encryption, signing, reliability, transaction propagation.

Chapter 7 - Wires
This focuses more in details the possibilities with wiring components. It uses the Inversion of Control pattern to inject dependencies. This can be automatically done by the SCA runtime or at configuration level.

Chapter 8 - Bindings
Bindings are used to expose the services of components to external clients. This chapter describes it in more detail. It covers the usage of WSDL and JMS.

Chapter 9 - The Domain
The domain is the SCA runtime in which management, policies administration, communication infrastructure and resource sharing is handled. There are local, distributed and federated domains. Components are installed as contributions within the domain.

Chapter 10 - Service-Based development using BPEL
The BPEL is also taken as an example to develop SCA components. Some SCA extensions to bpel are covered.

Chapter 11 - Persistence
This chapter describes a way to incorporate persistency into the services. Persistency is not part of the SCA standard. It covers JDBC and JPA.

Chapter 12- Presentation
Also the presentation layer is not part of the SCA. This chapter describes the way to integrate with technologies like JSP and servlets.



Conclusion
SCA is Spring in the large that uses the Dependency Injection pattern to wire components into composite services. Note however that Spring also has Spring Integration for integrating distributed components.

Oracle SOA Suite 11g supports the SCA way of working, so that is a good base for its adaptation, but I wonder if you always need this kind of flexibility of protocols used between components. And the configuration based approach may also be a reason for some not to use it.
I have not seen it used within the projects i worked for, but i am curious in using it within the Oracle SOA Suite.
It is a great book to get you introduced into the SCA standard.

Some interesting links on SCA

Reacties

Populaire posts van deze blog

Microservices mindmap

"The tree" - See also   my photo page When you are fairly new within the Microservices land, there are a lot of terms fired at you. So also for my own understanding i have made a mindmap. I think it has a good status now, so that i can share it with you. As always feedback is very welcome ! You can download the mindmap here .

OSB 10gR3 and SWA and MTOM

This blog is about using soap with attachments and the use of MTOM within the OSB (10gR3). A service is created that accepts a soap with attachment (DocumentService) and translates it to a service that accepts a binary element. MTOM is used for performance reasons for the second. Some notes: * For the use of attachments you need RPC-style document instead of the usual document-style. This due to the fact that the document-style limits a message to a single . * A service can not have both SWA and MTOM within OSB. First a WSDL is setup for the DocumentService: The $attachments variable holds the attachments and the body holds the attachment data. Also other data is stored within the attachment element (see h

Installing Oracle SOA Suite/JDeveloper 11g

This post guides you through the installation of the Oracle SOA Suite 11g with JDeveloper 11 with the use of Oracle XE database (for Windows). Note: It is assumed that Oracle XE database is already installed. Required downloads Oracle Weblogic Server 10.3.1   SOA Suite   Repository Creation Utility JDeveloper Studio The detailed steps are nicely described here . The next picture gives a nice overview of the directory structure created. Step1 -  Create Schemas for Oracle SOA Suite and Oracle BAM (RCU) Unzip the files Run bin/rcu.bat At the Database Connection Details fill in the XE details. If you encounter the next fault you have probably not started the XE database.   Ignore all warnings Click OK Select all components I ran into the following problem: When you click Ok you see the following error: And this is about the Processes DB Init parameter that is wrong. To fix this goto the Database Home page, Sql Editor and execute the following statements: a