SAP Mobile On-Site
In my career as performance engineer, I’ve tested many applications including SAP, PeopleSoft, Web applications, SOAP & JSON web services, .NET and Java applications, databases, Citrix, etc…, but definitely one of the most challenging and exciting applications has been SAP Mobile On-Site Billing. This innovative system not only challenged my performance testing abilities but my programming skills as well.
SAP Mobile On-Site Billing is an extension for SAP IS-Utilities; it enables companies to optimize their on-site billing processes through an automated data acquisition and transmission system based on a more modern and accurate meter reading and billing process. For utility companies such as energy, gas and water consumption, it reduces the on-site billing process to four simple steps:
1. Travel to customer location and download daily tour and Meter Reading Orders (MROs)
2. Capturing meter readings on-site
3. Generating invoices from customer location
4. Print and deliver invoices to the customer in the moment
You may be wondering, with such an innovative solution, what about performance? The readings of thousands and even millions of meters and invoicing require a high availability infrastructure. To be honest performance testing was quite a challenge, and this challenge resided not only in the amount of data transmitted to the system, but also in providing an ad-hoc and specialized solution for performance testing, overcoming a couple of technical obstacles, not to mention this was the very first implementation of its kind worldwide. To solve this challenge I had to come up with an innovative way to put everything together.
Before jumping into the solution, I would like to share a brief diagram on how the SAP Mobile On-Site Billing works.
Not only can you send the recorded meter readings to the back-office system of the billing center, also the final bill can be printed quickly and directly on-site in order to hand it over to the customer
SAP On-site billing system provides a mobile platform to send information via SOAP channel in which data is transmitted using XML. Due to the large amount of data transmission all the information needs to be compressed and encoded inside each SOAP envelope. Handling a single XML is an easy task, and performance testing tools as HP LoadRunner is prepared for that, but think about handling thousands of them and each one with data dependencies, considering each MRO has different types which need to be evaluated and send different responses back to the server accordingly.
This level of complexity made standard Web Services protocol not a viable option. So, to test a system with such complex logic we had to use an object oriented programming language. One of the advantages that HP LoadRunner has over other performance testing tools is the ability to test multiple protocols using multiple programming languages, and one of them is Java. Bingo!
One by one each of the obstacles was overcome, from capturing data packets, sniffing and decoding packets; parsing, evaluating, and storing data using DAO classes, and dealing with efficiency, we finally succeeded in providing a very innovative and stable solution. For the very first implementation of such new technology its very first performance testing solution was developed.
Over 30 performance executions, 3 scripts, profiling and tweaking techniques, we ended up with a very satisfied customer with an exceptional system performance. By early 2012, the client announced its successful go live and by mid-year they achieved more than a million users in the system. In October 2013, this same solution was applied to a different customer proving the stability of the solution by adding minimum adjusting.
For more information, or to discuss how you can use this application for your business, please reach out to us at email@example.com, or leave a comment below!