This is a third blog in a series of blog about ESOA. In this blog I will explain what I learnt in an ESOA workshop organized by SAP through set of question and answers.

 

What are the main drivers behind ESOA?

  • Business drives IT landscape. IT should not drive the business.
  • Flexibility is the main important factor which can take any organization to next level by enabling the organization to grow through amalgamations and mergers.
  • One Software Product / Solution or vendor may not be able to provide solution for all the business needs - Hence the need for integration with other products / softwares
 So what is required for making enterprises flexible or ready to grow?
  • Business process platform should be established to automate business processes using enterprise services.
  • These enterprise services may be available with a standard SAP solution
  • Custom Enterprises may be necessary to fill the gaps to completely automate a business process.
What is Enterprise Service?
  • Web service
  • Should be implemented using a methodology and governance rules
  • It should be published in a central repository - Service Registry
  • Enterprise Service registry is preferred by SAP - Available with PI or as a standalone product

In the next blog , I am planning to explain the design methodology to design/implement a business process using ESOA.

Experts say that ESOA enables enterprises to adapt to the rapidly changing environment, requirements, customers, vendors and technologies. Yes I think: Service enabling business process has its own advantages and disadvantages.  

The one important aspect that comes to my mind while thinking about service enabling is Performance. I have developed many web based applications and users are always critical of the performance of any web based system.  Users want quicker response after seeing unbelievable response times from websites & search engines like Google.

 

As many of the technical experts may be aware of, web service introduces some performance overheads compared to the native technology.

 

For example, Retrieving data using RFC protocol seems to be faster than Web services. I did a simple exercise to prove my point. I exposed BAPI_USER_GET_DETAIL as a web service. (If you want to know the procedure to service enable a Remote function module, click here - Creating and Exposing BAPI as Web Service and using it in Web Dynpro ). I created one webdynpro Java application to call the RFC directly, display the address details of the user in the screen and another webdynrpro component to call the web service, display address details. These webdypros were designed to output the time taken to execute the corresponding RFC / Web service. The following table shows the time taken to execute the RFC and web services for each run (in ms).

 

image

 

As you can see, Web Services takes 145 ms (avg) more than the native RFC. Developers also need to keep in mind the network round trip involved in each web service call. So the real time business applications designed based on Web services might be slow. If the developer decides to provide one web service to retrieve header details and another service to retrieve corresponding details, the application will go through two round network trips to retrieve the data. This may be avoided by providing once service to retrieve both header & detail data. But this might bring some unwanted data in some cases.

  

I asked a question regarding this performance issue to SOA experts at the “Mastering of Technologies 2007 - Melbourne” They rightly pointed out that Service enabling business process enables enterprises to be flexible and adapt to changes and the advantages should be weighed up against the cost involved in upgrading the hardware to provide better results. So service enabling comes with the cost!  

 One should also keep in mind that one of the design goals for Web Services is to allow companies and developers to share services with other companies in a simple way over the Internet. Hence Service enabling business services is essential but application built internally may not need to utilize the web service when there is an alternative better mechanism to retrieve the data faster and provide better response times!    

In my next bog, I will try to share some of the points discussed in the “SOA Design and Governance Workshop”.

Many people have already written about SOA. Check these blogs. I would like to explore the concept of ESOA - in technical point of view, through series of blogs.

I start this series sharing my view point about SOA and SAP products & technologies.

I had an argument with one of my friends about maturity and usability of SAP technologies for the purpose of implementing Service oriented architecture. He said that SAP technologies are not mature enough to be used effectively in SOA based implementations and they have just started adapting to SOA. He also mentioned that SAP does not provide a tool which integrates different systems and also provide a simple user interface generation tool without much programming unlike some other products in the market.

I am not sure which product is providing the full capability to integrate different legacy systems and also provide easy to use user interface generation tool. However the main advantage of SAO is that it enables enterprises to use specialized softwares to meet customer’s requirement. Requirements of customers are always changing. SAP may not be able to provide tools for everything where as some other vendor may have a specialized software for a specific requirement. So by service enabling standard ERP – SAP Processes, SAP is allowing customers to seamlessly integrate with other products. If a specific product / user interface tool satisfy certain requirements, customers have the option of using other softwares provided that software can consume enterprise services exposed by SAP ERP System.

In my next blog, I will try to explore the cost of service enabling a custom SAP based solution.

Filter Blog

By author: By date:
By tag: