Let me give you an update on my journey onto pastures greener that are the SAP Netweaver Composition Environment (CE). If you’ve missed the first part of this series, go, go, go and catch up now!
“I find your lack of faith disturbing.”, Darth Vader (Star Wars)
Over the past 2 weeks, I’ve spent a lot of time in SAP’s own Enterprise Services Workplace on SDN, which is a pretty good resource to look through SAP’s latest enterprise service offerings. It’s actually more than that: it’s THE place where you can find up-to-date info on documentation for services which you deem appropriate for consumption or exposure in your own landscapes. On their SDN website, the ESW is described as follows: “The ES Workplace is the central place to view consolidated information about all available Enterprise Services delivered by SAP.”. Fair dos.
You can install an ES Repository yourself, but chances are you’re not always on the latest release, so checking the ESW is always a good way to see what’s around the corner.
Now you would think that the ESW gives you an easy overview of the services on offer, describing to you exactly what each service does (especially when you compare them to each other). You would probably also think that the ESW gives you a nifty little search engine which enables you to sieve through the 2000+ services and get what you want quickly.
Well, things have definitely improved and especially the testing part of the service (against SAP’s own Discovery System, ie an ECC app stack) is much better now. However much is still left to be desired as far as documentation, search facilities and test harness is concerned. Oh, and while I’m at it: don’t even think about opening up the ESW in browsers such as Firefox, Safari or Opera.
It simply looks to me as if these services have been arranged in such a way so they fit well together with SAP’s module documentation and education plans. This doesn’t always sit in line how other consultants look for services.
In contrast, here is the way how I approach a service from a developer’s perspective: I know I want to create a sales order in a backend system. From my old BAPI days I remember that I need a few parameters to feed the service in order to get order processing going without those elusive error messages. You can find the “Sales Orders Create” service easily enough, but of course that’s only part of what’s needed. If you’re looking around for services to find sales organisations, sales groups, divisions et cetera, you’ll be surprised how difficult it can be to get the information out of the backend that you’re looking for. Bottom line for me is: finding the services you require and testing them is still far from easy.
“Once you start down the dark path, forever will it dominate your destiny”, Yoda (Star Wars)
Now as a developer there is an underlying danger in all this. Let me tell you what this is: The more time you spend looking for those services and collecting your data, the more you’re inclined to log into the backend using SAP GUI, enter the letters “S-E-8-0” into the top left of the screen and create a little remote-enabled function module, expose it as a web service (using a wizard) and get those pesky sales order related details out of the ERP system. Even worse, you’re even contemplating copying a SAP standard function module to extend it so it does what you want it to do. Do not give in to the powers of the dark side….
Now can I just say one thing here: I bet there are other ways to retrieve data out of the backend system. Whilst I love to hear about them, all I want to illustrate here is that I’m currently on a long journey during which I will learn how to find the services I require quicker and get the backend to do what I want it to do. The benefits will be that the customer I work for have systems that need less support and testing after an upgrade, because services to external systems are provided via standard services which are constantly updated and maintained by SAP.
However a little help from SAP by making the ESW easier to use wouldn’t go amiss!
TO BE CONTINUED!