Doorgaan naar hoofdcontent

Two Services or One?

The SOA Patterns of Thomas Erl contains a great pool of patterns that can be usefull for your SOA implementation. I want to use it within a project and especially the Service Layering Pattern.
I expose Services always through an ESB.

The next scenario puzzled me to introduce two or just one Service:
1) I have an Employee Entity (Common Data Model)
2) I have a TelephoneGuide (also a business entity?) that contains information about Employees
3) The telephone data is stored within a database

I encapsulated the database through a webservice (I implemented it with OpenJPA because we use ALSB)
Next I had two options which I will describe:
Option 1
Expose the database webservice as a separate Service, because it is an Application/Data/Utility Service. This Service does not contain CDM data but data that is more close to the database tables data.
Expose another Service that uses the Employee CDM entity and this is the TelephoneGuide Business Service.


Option 2
Only expose a Business Service with the Employee CDM entity.


Option 1
This gives you two Services in separate service layers. The Business Service uses the Data Service.
The Data Service can be reused by other Services. The Data Service can be governed separately and the scaled when necessary.

Option 2
The Data Service is seen as an implementation detail that is hidden and only one Service is exposed.

The project decided to go for option 2, but my feeling says it should have been option 1.

Of couse it is always a matter of context. Will there be a possibility of reuse for the Data Service or is this always related to the TelephoneGuide service?

Feel free to leave your comment or own experience.

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 ...