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