SAP Enterprise Service and Google Wave

I would expect that you know what Google Wave is; otherwise you are not viewing this post. If not please look at Starting on Google Wave, to get more information on the future of communication.

For a while I have been working on how to create Google Wave applications and how they can interact with enterprise application. It is an interesting area with a lot of integration work possible and productivity enhancements.

From what I have learned so fair the features of Wave can connect very well with enterprise applications and make an environment where the users can work.

I created a demo on how Google Wave can be used to manage a simple workflow application. The demo features a loan application, with possible collaboration between the customer and the bank. The demo is made without any backend integration, but it is possible to make this integration.

A more detailed description of how this works can be found at the blog.

So it is possible to create simple “workflows”. Hardcore ABAP workflow programmers will laugh of this type of workflow, since they are missing a lot of the functionality they are using. With time and implementation of a workflow framework, creating workflows will be easier. Wave workflows will be have the advantage of being a much better tool for collaborating and contain semi structured data.

With a lot of Enterprise Services on the SAP systems, it is fairly easy to find the services that you need to enable you to implement ERP functionality in third party applications. You browse the ESR to find the webservice, which you want to use. Then you create a proxy for the service and can call this from your application, in this instance Google Wave. And then when the bank employee has approved the loan the SAP system is informed about the change.

I did have some problems with calling the ES from the Google Appengine, where it is only possible run robots currently. On Appengine there are some limitations on what you can call of Java classes, and I did not manage to get Axis working with ES. Therefore I have just used Plain HTTP calls to ES, where I have created the SOAP envelope manually. Then parsing is also done using XML parsers. From an architectural point I’m not real proved of the solution, but for the demo it is ok.

An example of how it is possible to use Google Wave in SAP is showed in the following video. In this video the user enters a command. The robot then responds with a list of orders this customer have.

The integration still has some short comings, which needs to be addressed, before Wave can be used in organizations.

The list of orders is displayed as plain text, so it is not possible to interact with the text. It would be possible to add buttons or check boxes to perform some simple processing of the orders.

There is a need for a more clear communication with the robot. Using a command like the one used in this example, is not useable. Controlling of the robot can performed using a form like in the workflow demo.

When do you get rid of old text data? Using a SAP CE and BPM it is possible to design dashboards which just shows the data a user needs to see. This is not possible in Wave. It is possible to delete Blips (the boxes with text), but it might be difficult to know when the data is not useful anymore. The user can always scroll back with the replay function.

I will be sharing some more of my examples with you as I get further in my research with Google Wave and SAP. You can follow the progress at http://masteringwave.com.

Mastering wave project

I want to learn some more about how to use Google Wave and how wave could be implemented in organizations. I therefore would like to develop some applications which could be used in organization. I started out very optimistic and thought at I could make an application on Google App Engine easily. I had a lot of free time, since I was not on a project, and could therefore concentrate on developing.

I tried to find a framework which could run on appengine both Jruby on Rails and Groovy on Grails. Both of the frameworks worked on app-engine, but it was too early to start on high performance development on App-engine for a beginner. I therefore spend a lot of time on working getting the frameworks to work, time which could be spend on being productive and creating a Ruby on Rails app which could be hosted on a private server.

I found a solution to my problems. I talked to Rasmus about hiring people from abroad. Rasmus recommend using replacemyself.com to hire a Pilipino using bestjobs.ph. I found some Java programmers and writers there for much less, that I would be able to hire one in Denmark. So it was an affordable way to hire on. It would be more convinent to hire a Dane, but then the price would be much more different.

So now my status has change, I’m an employer instead of a developer. I now need to specify what I want in stead of trying to get it working.

I have startet the Mastering wave project a website where we will share some to the knowledge that we have learned. I don’t have a business plan for the site, except generate a lot of excellent content for developers. I have some ideas for products that I hope to be able to implement and make a living off, but it will probably require a lot of work.

I’ll post more information as get further in this project.