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

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

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 .

Book review: Data Management at Scale (Piethein Strengholt)

 This blog is a review of the book "Data Management at Scale (See also at bol.com ) Data Management is a hot topic nowadays and this book does a fantastic job at adding value to this topic. It is a must read and one of the few technical books I finished reading in a weekend. The book gives a fantastic overview on how to implement a Data Mesh data architecture. The Data Mesh concept is explained by Martin Fowler here . The book is a good mix between conceptual and implementation architecture level. It gives a lot of examples of how this architecture at scale can work, for both small and big companies. It is practical and I used it to implement it at one of my customers. The book describes an architecture in which the focus is on the DIAL (Data- and Integration Access Layer).  On a high level the book covers the following topics: The key principles for data management at scale - Domain-Driven Design  - Domain Data Stores - Meta data management Ready Data Store The concept of servin