Open for Business

Noam Tamarkin

REST and SOA in real life

user-pic
Vote 0 Votes

Hello,


My current project requires REST services called to the ESB from a sel-service portal.

As a additional treat the payload is Json.

So, where is SOA in the picture?

Initially I tried to convince the portal architect that the REST service would be "SOA like" services. For example: URI rest/updateCustomer/ and the rest is in the HTTP body.

I had to face the argument that this is not REST. The minimal URI with REST must have the object id e.g. rest/updateCustomer/{customer_id}. 

I suggested the following pattern (we agreed on that) /rest/[Business entity]/[operation]/{business entity id}. 

For example: the URI will look like /rest/Customer/update/123456 and the data to update is in the body.

The question still hanging: where is SOA?

The SOA is in the back-end services. For example, the CRM application will have a Customer service with Update operation, all in HTTP/SOAP according to SOA best practice.

So, now, the ESB have a REST like this: /rest/Customer/update/123456. 

The ESB is doing the following steps in this example:

1. Parse the URI and identify the CRM service Customer with the Update operation.

2. Transform the Customer ID 123456 from the URI and the body data to a SOAP message

3. Call the CRM service operation Customer.Update

I have designed some tables and class to manage this in the ESB implementation.

For now it works, I hope that when more and more services are required, it will prove to be a comprehensive solution.


Feel free to use this idea for your own projects. Just remeber where you read it first ...

Yours always,

Noam

Enhanced by Zemanta

Leave a comment

In this blog, Noam Tamarkin provides ideas for improving and better integrating your applications.

Noam Tamarkin

Senior software architect and CTO. Experience in solution design and implementation. Holds the ability to understand complex business processes and translate them to technology. Expert in Enterprise applications, integration, SOA, SaaS. Experienced in project management, technical infrastructure, procurement and manufacturing.

Subscribe

Recently Commented On

Monthly Archives

Blogs

ADVERTISEMENT