New SAP ES Demo: Creating Service Requests

Some weeks ago I made a demo of how SAP ES could be reached from a Google Wave. This was just to show it was possible to call ES. That demo did not help in any workflow; it just showed some data to the user. I have now worked with getting a better idea for coming up with a demo, which shows how wave can be leveraged to implement a better solution. I need this demo for my Virtual Community Day presentation on Thursday the 24 of September at 16 CET.

This demo is about creating services requests for a customer. In the scenario the customer adds the robot, which displays all the equipment items the customer has. The customer then selects the item which is broken, and creates a service request on this item. When the request is created using another enterprise service, a technician is added to the wave to help the customer solve the problem. This will allow the participants to write to each other showing how things work out.

An extension of this demo, would obvious be a place where the two participants could change the status. So the task would be completed, when they have solved the problem.

This demo is also created by SAP as a Composite application (CE), but using CE will only create the request. It will not allow the participants to help fix the problem in just one place. I believe it is in this place the Wave Robots has something value adding compared to normal web applications. There still need to be some development to get a more compelling look and feel. I’m not sure what is possible to do with styling and creating tables but the view should be styled before an Enterprise ready application is created.

How this was done

As with the last demo, I have not been able to run Axis2 on Google App-engine, where robots currently have to be implemented. It seems like Axis2 is using raw sockets, which is not allowed on Appengine. I have therefore created SOAP-XML in hand and just submitted them via the URL connection. This XML I got by using SOAPUI, which is an excellent SOAP client for testing services. By using SOAPUI I could craft and test XML calls before spending time on implementing them in Java. It is also possible to use the Webservice test tool in connected to the Enterprise Repository. For some of the request it is possible to get some basic test data delivered.

When I got a response back I have used a SAX parser to handle the requests. This works great to store the information for later retrieval by the robot. It would have saved some time on this front also if the Axis2 would work. For the three calls I perform, I use three different parsing strategies. I though learned something from this, so I’m happy.

It would probably have been a good idea if someone had the oppertunity to test this on SAP PI/PO. When this was orginial written we did not have the option, so we had to wait until the Integration Regression Tool for SAP PI/PO was created to make automated tests for SAP PI/PO.

Output to the wave was pretty straight forward using the Robot apis. I only had some problems with some of the used keys between the different blips. To remember the item name, I store the item in the Memcache. That way it is easy to store data between different requests. I did have a problem with the robot, which believed that it should react to its own requests. That was not a good idea, and it created a lot of blips in the wave. So when developing robots, do not react to events performed by the robot itself or any of the robots at the domain.

The code for the robot can be found in the sap-wave repository.

Before deploying this code you self you need to change the WebserviceHelper class, and add you own username and password to the SAP ES demo systems as Basic authentication parameters.

Notice this blog is cross posted to SAP SCN.

Bookmark and Share

Wave News for 7 september 2009

For this week there has been some interesting Wave blogs.

  • SAP Research in Brisbane had created a screen cast of their first Gadget. A gadget where people could collaborate on creating a process model. After the collaboration was done it was possible to export the process model and implement the model in SAP BPM. The screen cast show how complex gadgets can be and how they can assist with the collaboration. Also see Richards Hircsh response, which contains some insight full comments about the status.
  • LinkedProcess trying to make a more general protocol for Wave. The blog Social Computing or Let the bots talk! Gives a great overview of the technology, which allows the user to submit scripts to be executed on other hosts via XMPP.
  • CodeBot – A Coding Robot for Google Wave contains a demo on how to syntax highlight code in the wave.
  • Eye on FDA: Google Wave, Part 2 Examples on how Wave can be used in the pharmacy industry to help in some of the processes they have. It is always nice to get some concrete examples on how Wave can be used to help organizations.
  • App Engine SDK 1.2.5 released which is not Wave, but has some very interesting perspectives for Wave. It supports XMPP, which could mean that it is possible create wave clients/servers on Appengine.
  • I found the youtube video embedded below on, it is rather old now. It contains some interesting facts. 50 enginers in Google working on Wave. Make sure the protocol is open. Takes 2½ half year with the first wave application, but they hope that other groups will implement servers faster. Google compliments Twitter, and are working on ways to integrate twitter closer with wave.
  • Björn Wibben has created a blog about using jQuery in gadgets it looks quite interesting.
  • 7 Reasons Why Google Wave Is Going To Be Awesome
    has some interesting summerization of the features of Wave.

Bookmark and Share