Skip to Content

Ever used a book from the dummies series before? I have. I specially love the way they named it. The simplicity with which they elucidate technolgy is quite amazing.

 

If you ever buy a „Dummies“book, the first point it confirms is that we are accepting that our knowledge on the subject is quite naive. Secondly, we have accepted our lack of expertise in the subject and decided to do something about it. What better way to start on a subject than this?

 

This blog is neither in the genre of dummies nor do I boast of an expertise to write a „Dummies”blog. What this blog does do, is try to unravel the intricacies of SOA and put things in a layman’s perspective, as a dummies book does.

 

What’s SOA?

 

Nowadays, everyone has an iPod. Now if I own a 160 GB iPod, it contains all the music I ever need. It’s great as a personal music device, especially while travelling. But when I sit back and relax at home, it’s a pain to use my ear phones all the time. Also, when I have a device with close to 40,000 songs I would not want to invest on a separate music system. What I would need is a way to utilize my available resources to suit my current needs, without losing out on money, quality and comfort.

 

iPod

 

When I start to look out for options, I realize that if I could find a set of speakers which can take the output from my iPod, I would have what I require. First my iPod should have an interface which allows speakers or external devices to connect to. Second I need a device which takes an output in a way iPod provides and gives the output through a good set of speakers.

 

The need for”Service oriented architecture” in enterprise landscapes is quite similar. Customers have made significant amount of investments in their IT infrastructure. It would prove expensive for them to invest in every new technology available in the market. Even if customers are ready to invest, plugging in a new technology involves ripping, plugging, removing the current IT investment. The synergy between the new technologies and the existing ones is always something to worry about.

 

Instead of a solution of removing and ripping existing solutions, we would require a design paradigm which embraces the current investments, but also doesn‘t make us lose out on the capabilities and features available in new technologies.

 

Like hunting for speakers for my music needs, customers can look for solutions and technologies which give them business leverage over their competitors.

 

My iPod provides me a nice pluggable interface where digital speakers can be plugged in. In IT terms, this translates to our existing system being capable of providing their current services in a standard manner independent of the technology in which they have been implemented. This would enable customers to plug-in services and build their process. That’s service enabling.

 

This way we are utilizing our existing our investments effectively, getting a better ROI. Is that all? Not yet!

 

I have discovered that there are speakers available in the market. I have narrowed down on Apple Hi Fi. It turns out that it’s too costly and white speakers don’t exactly go well with the subtle colors of my entertainment room. So what do I do? I look out for some more options. Then I discover this excellent speaker from Logitech, which is black and suits my requirement.

 

iPod and Logitech

 

In similar terms, for a particular business process we may need a set of services. We can see if SAP is providing a standard enterprise service. In some cases, it might not be suitable for our business process. We can search for services from other vendors or in a worst case scenario model, define and implement our own service.

 

So, Is SOA a way of building systems and processes using business services, with an aim of aligning business and IT.

 

Service enabling solutions and providing an easy way to discover them is just a part of the SOA pie. There is a one critical part still left.

 

Remember the LEGO bricks you played with in your childhood days.

 

 

Ever had a basic LEGO set, and tried to build a van with it. You will soon realize that you are running out of bricks, and some of the actual parts of the van can’t be made with the LEGO bricks. Take the stick, seats and the wheels. Can I make a comfortable seat out of those bricks? Quite tough! We can either buy the van we were trying to build or go to the LEGO stores and buy the LEGO parts.

 

This was possible because all LEGO bricks have a similar interface and any external or custom component can be plugged in as long as it follows the design rules laid out by LEGO. Thus LEGO lays out a framework where people can use their creativity to build tools and plug in other stuff they might need.

 

Drawing parallels here, SOA on a broader perspective is an architecture based on service enabling and using services to build systems. On a deeper look, it is also the frameworks, tools, standards and best practices that enterprise systems should adhere to get the most of this design model. So any technology provider who wants to implement SOA should not only service enable his applications, but also provide tools, standards and frameworks to efficiently achieve this goal.

 

How does SAP ensure this?

Putting things in perspective of the technology provided by SAP, all ERP processes and transactions are being service enabled. To enable ease of discovery, each service has been extensively documented.ES workplace provides customers with easy access to service discovery. Stringent efforts have been made to ensure that all sound design principles are followed.

 

Best practices are important not only because they are good to look at and easier to understand. They are necessary to achieve the most out of any design. To ensure this, SAP provides a slew of tools which includes Enterprise Services Repository&Registry.

 

SAP SOA

 

Enterprise Services Repository is a design time repository where customers can build models to visualize their process. They can store standard enterprise service content or define service interfaces which can later be implemented using the composition as in when the need arises.

 

Services Registry is a UDDI V3 compliant registry that supports publishing, classifying and discovering services. It’s the yellow pages for services in a landscape.

 

SAP NetWeaver Composition Environment is a platform that enables building and running applications based on Service-Oriented Architecture (SOA) principles. It offers a set of capabilities for integrating new and existing services – both by SAP and proprietary, iinto business-specific solutions. It is based on Java EE 5 technology. It supports model driven development using WebDynpro , Visual composer and CAF.

 

That‘s not all. SAP has hosted these services through their enterprise systems. Anyone who is a member of SDN can register in ES workplace and test the capabilities of SOA using these systems. There is a free version of CE available on SDN. Developers can install them and learn from it.

 

They say, „It’s a good idea to implement a good idea. “. SAP has exactly done that, in the best possible way.

 

So what are you waiting for? Be a part of the action! Go take a test drive…!

 

In the next part of this series, we would be seeing what consumers can do when they do not find an enterprise service which suits their requirements. How do we model a process, define service interfaces and implement them with tools provided by SAP CE?

 

Exciting isn’t it!

 The second part of this series is available here. Service Provisioning in eSOA – Implementing enterprise services in Java

To report this post you need to login first.

41 Comments

You must be Logged on to comment or reply to a post.

  1. Ted R
    Bharathwaj..
    even after reading many blogs and articles about SOA…..i wasn’t clear waht SOA is …U made it crstal clear..i do recemmend this blog for SOA..Thank you…waiting for ur next blog…..

    Cheers,
    Raghavesh

    (0) 
  2. Nipun Shedhani
    This blog comes into the category of very clearly explained, neatly presented with ideas relating to the real life examples.

    You deserve applause for your work and I will encourage you do write blogs, the same way.

    (0) 
  3. Ankur R Goel
    I am not accepting that my knowledge on the subject is quite naive 🙂

    However I really liked the content and simplicity of this blog. Will follow you now for your other blogs as well. Please keep writing…..

    (0) 
  4. Abhishek Mehra
    SOA is considered to be the “Home Theatre system of IT” where you can just plug-and-play, but your blog has taken it to a much more simpler level with an analogy to an ipod and lego bricks……nice idea…really appreciate it.
    (0) 
  5. Vaibhav Dua
    Hi,

    I liked the way you presented the idea but would like to tell you that i have seen too many theories on SOA. What is it? How it can benefit? etc. etc. But i think having a blog which shed some light on Proof of Concept of SOA, that will be really helpful

    (0) 
  6. Anonymous
    Hello,

    It was very informative and explained well in simple terms along with a good example.

    (0) 
  7. Anonymous
    Hello,

    It was very informative and explained well in simple terms along with a good example.

    (0) 
  8. Rohini Kumar Tatambhatla
    Hi Bharatwaj,

    I had read many postings in SDN to know better about SOA, but i find this is the best of them. Easy to understand in layman words.

    Keep it up.

    Waiting for your next blog.
    Regards,

    Rohinikumar.T

    (0) 
  9. Quisar A Khan
    Excellent Bharathwaj,It is indeed a wonderful explanation of SOA.I started reading it with a very high level of interest and later towards the end i was deviating from the main topic. Nevertheless,I understood what it was intended for. Also, I suggest if this could be explained with the use of a realistic example taking an industry specific scenario, especially the industries where the SOA is to be targetted.
    (0) 
  10. Hermano Claro
    Nice post! It’s difficult to find information that simple and, in the same type, with a high level of interesting content.

    Best Regards!

    (0) 
  11. SherryAnne Meyer
    Your article is clear, concise and very easy to understand.  The analogies you used were perfect. Thanks for this! I’ll be looking for more….what else do you have to share?!
    (0) 
  12. sankara rao bhatta
    hi

    the best explanation of SOA i have ever seen. I am new to the SOA and got some idea after reading your blog. thank you very much.

    I do need one clarification. what is the role of XI or PI in SOA. I mean when we want to build a custom service do we have to compulsorily use PI to create the message interface? if i do not have PI system in my landscape can i build custom services and publish  it to the service registry?

    thanks
    sankar

    (0) 
    1. Bharathwaj Ragothaman Post author
      Hi Sankar,

      You are welcome !

      PI as in other scenarios is like a mediator. In SOA terms it acts as a service bus !

      It is not necessary to use PI to create service interfaces and yes, you can build custom services without PI in the landscape.

      For that matter you do not need even ESR. But having ESR installed would be a good idea as it helps you with governance.

      It would be wise to use PI as it more strictly adheres to the SOA / loose coupling.Otherwise it is just a fancy web service.

      Some people consider a trade off b/w performance and usage of a PI.

      Its finally upto to you  !

      -Bharath

      (0) 
  13. Kazuki Nitta
    Thank you for your clear explanation about SOA.
    Using iPod and Lego blocks as a analogy to explain SOA is very good idea. How nice!

    By the way, I wonder what do you think about composite applications.
    Basic infrastructure which designed well like Lego might let developing cost going down. But if we make a lot of composite applications on existing ones, can we keep the system in good order? Even if we use Lego, the artifact might be very complex.

    A monolithic legacy application is sometimes made up by smaller programs hierarchized, and sometimes it is difficult to maintain because of its complexity. In a similar way, I think there is a same problem on SOA.

    If you have a good idea to solve this problem, please give me some advice.

    (0) 

Leave a Reply