Skip to Content

Some weeks ago I made a SAP Enterprise Service and Google Wave 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.

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 @gwave.com 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 Masteringwave.com.

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Jim Spath
    Daniel:

      Very nice blog pushing the envelope on new technology.  I linked this to the SDN wiki page on Google wave.

      What I’d also like to see, after the time pressure of your session Thursday is over: (1) revisions to the blog, or addition to the wiki, with more background material.  You clearly know the ins and outs of this technology, but the rest of us could benefit from gaps being filled in. (2) discussion of lessons learned being an early adopter.  I’ve seen tweets about instability of Google Wave at times and wondered how/if this affected your project. (3) speculation on what might change in the current offering from Google, and commentary on how this compares to services from other vendors (Amazon, etc.)

    Jim

    (0) 
    1. Daniel Graversen
      Hi Jim,
      1) I’ll try to make some more comments on the technical side of this implementation. That is a good topic.

      2) the performance of Wave or AppEngine is changing. When I recorede the demo, some time I did not get a response. I don’t know where the bottleneck was Wave/appengine bridge, appengine or enterprise service. This instability does make the development of wave a little more shaky.

      3) Could be an interesting discussion from an enterprise perspective.

      (0) 
  2. DJ Adams
    Hi Daniel

    I enjoyed the demo, and think this is a great example of where the enterprise can benefit from mixed and boundary-blurred people / bot interaction.

    Cheers
    dj

    (0) 

Leave a Reply