Why did i create a SAP PI/PO course

I have seen many developers who were trying to start using the tool, but many did not know where to start. Others couldn’t afford a PI training that could guide them through SAP PI/PO. In other cases, the developer simply missed the course – if your timing is bad, you might have to wait for months in order to enroll in another course.

If you are a new employee, it is quite difficult to wait for the start of a new course. Until then, your role at the company is on par with that of a paperweight. If you are a new developer just waiting around for a new course, you are unable to use your skills to their fullest extent, and you are basically unable to complete the tasks you were hired to do.

This course offers new developers a good foundation. They will be able to understand what components are there in the PI landscape, they will progress in their ability to develop scenarios, and they will be able to understand the projects created by others working at their company, so they can leverage their accumulated knowledge. Furthermore, understanding the work done by others will also lead them to new enhancement ideas.

As I’ve been working as an SAP consultant for approximately 11 years now, I have seen many scenarios. A lot of them were created after I taught people how to use the tool. Whenever I was leaving, I had to be sure that there was someone in the organization who could manage the scenarios and handle whatever was going on.

My consulting experience has provided me with a lot of insight and inspiration for this course. I created the course in order to help people learn and improve their skills quickly. That is my main goal.

If you want to join my SAP PI Training you can join it at the SAP PI/PO training site. On the site you can also find free tutorials that guides you to how to get started and create an end to end scenario.

SAP Process Orchestration is ready

I have been working on creating a course for PI developers so they could learn how to useProcess Orchestration/BPMN. I was missing a good tutorial to get started with BPMN so I could help my customers move to the single stack.

So I decided to create a course on the topic of BPMN and PI.  One of the things I learned most from was on interview with some of the people how have been suing BPMN for some time.  In this blog I’ll share some of the information that I got from the interviews.

  • BPMN is a beautiful tool that, we as PI developers, must understand how to use. Yes it was the word beautiful on a SAP product. Really nice. The reason is that it enables developers to draw the processes much better and is easier to understand. There is also the concept that there is the Business Rules Management (BRM) which makes some actions easier.
  • BPM is easy to get started with. It was not so difficult to use if you had the background on ccBPM. The basic building blocks are much the same and then it can do a bit more. Most experts agreed that it was a good idea to start small and with a simple process. Then you could enhance it to make sure that you covered the business. If you stared with designing the full process you would have a hard time validating it.
  • Performance is improvement is much better. So there is not the requirement to try to avoid using BPMN for all cost. With ccBPM the goal was to avoid using it because of the negative performance that it had. The people that I interview did not share this concern and thought that BPMN was a much better performing tool and the PO was a good solid platform.
  • BPMN can be eliminated in many patterns in the migration. In a lot of instances we want can avoid using BPMN when migrating. A lot of ccBPM is from old releases of XI where we often had to create collect patterns and async/sync bridges.  Well this mean that you will not end up having the same number of ccBPMs and BPMN if you do a migration. In some scenarios you may also end up creating new processes, to make the business process better supported.
  • Data structures/message types is being validated much more. In ccBPM you could put whatever message into the process. BPMN requires you to have the exact data structure, so you will have to define the data as it are. This is giving some issues if you want to have idoc data into the process. One workaround is to use CDATA structures for the data you don’t want to define.
  • Versioning can cause some challenges. The best is to use NWDI to handle the projects. NWDI did make all of the change management and version control much better. The challenge is that not all clients have NWDI. So there is the option to export the software components

You can get access to the all information on the interview at http://picourse.com/po

*) I don’t know if any of the issues has been change with the newer services packs, but this is the results of my interviews.

New SAP PI/PO Course

I have not been as active as I was hoping on on this blog.

I have been focusing a lot on creating different online products for the SAP Process Integration market and for Experts.

My newest product is a course about SAP PI, which will teach you all the thing you need to know before you get started as a SAP PI consultant.

Book of the week: SAP Netweaver PI – Development 2nd

This week’s book a rather technical book about how to develop in SAP PI.

The book is SAP NetWeaver PI Development: Practical Guide by Valentin Nicolescu et al


I wanted to talk some more about the book, so I have created a video that you can see here.

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.

SAP and Tibco?

Apparently it is time for a lot of mergers and acquisitions with VmWare/Springsource and Facebook/friendfeed. Brian Sommer has found the Reuters story about SAP are considering to by Tibco. Apparently they have tried to get hitched before, but without a final conclusion.

If such a fusion happed it could resemble the merger between Oracle and BEA in January 2008. It also was two companies with the same product suite for the middle layer. Oracle then had select which of the products future development should happen on. For the integration part the BEA product was selected, so all consultants had to learn the new product.

SAP did a similarly integration with Business Objects, which from the side as given a lot of new products or rebranded products. For someone who has not worked with BI the integration of two products happened limited problems. From what I have heard it was the frontend from Business Objects and the backend from SAP BI, which was developed as a product, so a new best of breed application was created.

But Tibco has more than just one area of products they have complementary product whole Netweaver suite. For the integration/SOA part I have heard that Tibco should have some better products in some areas and the portal probably does not match how SAP has created the portal. Come to think of the J2ee stack it was also purchased from a company that I have forgotten. But that was on a time when SAP did not have the java stack.

Dennis Howlett says that SAP have to watch Software AG. And that Tibco’s Silver cloud platform could profit SAP.

If the acquisition is approved, then it would be interesting to see what that mean for customers, SAP and partners.

Do you have any Tibco product which you would like to have instead of the equivalent SAP products?



Search on SAP SDN/SCN with Ubiquity

Last year I wrote about the SCN search plugin to Ubiquity, which made it easy to search on SCN. Ubiquity is a plugin for Firefox. The problem with writing such utilities is that they need to be updated when the unpublished API changes.

The SCN search has changed to a quite fancy web 2.0 search. It is now possible to filter the results based on type, and then subtype and other parameters. The old search just had the option of choosing between few options, which all were accessible via a GET parameter. The new search uses, as fair as I can see, Google Web Toolkit as javascript framework. It looks quite difficult to interact with this framework, so the new search script just take you to the search page.

Michael Koegel informed me that a new version of Ubiquity has been released. Version 0.5 can be installed here. This new version had some changes in the way scripts was written, so the script had to be changed.

The new script can be installed from Githup.

When the script is install, and the access keys (CTRL + SPACE standard) are pressed the following popup is created. First scn-search is typed and then the query phase is called. When Enter is pressed the query will be performed.

The future of integration consulting

For the last couple of years the job considering integrating legacy systems with the SAP ERP system has stayed the same. Each system is unique, so integration had to start from scratch. There could be some limited reuse between integrations, but they did not have a large impact.

Many of companies are going to use SaaS (at least that is what many company is betting on). SaaS strategies could be seen as a way to get a best-of-breed application. Some of the SaaS applications are probably going to replace old legacy applications or reduce the number of more legacy applications being created. Integration between SAP and SaaS applications are wherefore going to play a large role in the integration work done with PI.

My experience with integration with a systems, is that it takes an average of 10 days pr system (The development could be completed within 2 days, but support during testing and bug tracking is required). If the complexity is getting larger or requires the use on new services in SAP, the number of days will skyrocket. Large parts of the integration work are concern error handling, when some unexpected data is received. The price for 10 day integration is at least €10.000, but with a high uncertainty. Such start prices will many business cases fail in adopting a SaaS application, because of the initial investment.

One way to lower this price is if the SaaS vendors also use the same Enterprise Services that SAP is exposing. Then integration will just be to connect the two interfaces and will just require testing for the business functionality. From a customer perspective this would be the ideal situation, and lower the cost of integration.

If there are no Enterprise Services to cover the SaaS integration, two things should happen; Either an Enterprise Service is created or a PI integration is created. The two options can be produced by a consulting partner and then shared under some license. Open source could be an option if it was supported by the SaaS provider.

Creating reusable integration parts can be difficult, especially in small markets like Denmark. The Danish government was very keen on electronic invoices(OIOXML), using the UBL standard. That led to a race for consultancies to create templates for integrations. I do not know any company, how got a large enough part of the integrations, to have justified a large upfront investment a shrink wrapped solution.

Reuse is possible for some domains. I have been involved in project, where reuse of BPM functions lead to easy integration with the 2th and 3rd application. In this project the Enterprise Service was implemented as a ccBPM in PI. The later integrations needed some adjustments to support the new functions and integration protocols, but the overall framework proved successful.

We asked the vendors of the third party application, if they had any integration to SAP. They all did have some integrations, but for different versions of SAP and application components. Challenges like this are going to continue because of the flexibility in SAP. In some cases can different modules handle the same functions. I doubt an Enterprise Service should handle the functionality in two different modules.

With SaaS application is the marked larger since it is global and allow for packaged solutions. The packaged solutions can both be PI mappings and BPM’s or Enterprise Services and sold via Ecohub or from the SaaS vendor.

A way a business model for this could be to give a lower rate on the first implementation; then sell this integration to other customers. It will take a few iterations before a shrink wrapped integration can be released.

To have an integration for SAP must be a really interesting for SaaS providers, because it will make it easier for customers to start using their services. If the customer is going to spend a large number of days on integrating the application, it is less likely to happen. Without an integration to the ERP system, some of the benefits are removed from the application.

For consultants will it also be interesting, if you only have to produce something once and then be able to sell it multiply times. The issue is then how the global marked can be supported, but remote consulting via VPN can probably solve most of the issues.

I’m looking forward to see if, this is going to be the business model for future PI consultants.


I did not prioritize going to SAPPHIRE this year. I did not expect the value for going was greater than the time an effort it would take to go to the conference. Now the conference is running, I feel it could be fun to participate.

Luckily it is not possible to follow much of SAPPHIRE conference remote. There are a number of resources that can be leveraged. There should be 8.000 watching the conference online.

First some of the interesting part of the conference is the keynotes. All the keynotes can be found at http://www.sap.com/about/newsroom/sapphire/webcasts/index.epx. It is possible to watch the live keynotes and replay of the keynotes from yesterday. They are in a fine quality, though some of the slides or demos can be a little difficult to read.

The SAPClubhouse is also a place to find information on what is going on or being talked about and participate in the conversation.

It is also possible to follow what is going on via twitter, where you can search for #sapphire09 . If you do not want to go to the twitter site, you can find the same search on SAPClubhouse. The Twitter feeds gives a way to share thoughts on presentations with other. It can also be possible to find information about relevant sites or facts.

It is also possible to follow blogs or news report about what is going on.

There are still some issues that you do not get with the live event like:

  • Being able to talk with people face to face.
  • Hearing other sessions than the keynotes, since this are not broadcasted.
  • Going to the events and parties