I recently had a long walk at the park trying to get my young son to sleep in his stroller. While I walked, I was thinking about a question I had this week from a potential client, and wondering about SAP integration, and whether or not we need PI/PRO, or if we might be able to use ECC for webshops instead.
The potential clients were doing web service, or a portal, and they wanted to know if they could connect with an ECC backend. I told them that’s fine; the conventional wisdom in PI communities has been that we want to make sure everything is governed through the PI, so we’ve used SOS services. This has been the mantra since I started with PI/XI, it’s been the standard approach.
Recently, however, I see that this standard has loosened up a little, and developers are exposing things in different ways. The first thing that comes to mind is Gateway, which is almost the same thing as using the PI, but enables you to access the ECC data directly using the OData and other similar operations. So Gateway is probably one of the more capable technologies.
We’ve also got solutions like API management, which usually goes through Gateway, or in some instances through PI/PRO. This is a bit of a change, which makes me think again about what the benefits are of using a PI. Obviously, you’ve got the element of governance — you know who’s calling the server – and you’ve got a way of exposing all kinds of different services to the outside world. In this case, the developers just need to worry about web services, and not about RFCs, proxies, or whatever you are calling on the back end. Other benefits include security and scalability, which allow you ensure that that the web service/front end, would not bog down the ECC system with too many requests all at one time. The PI allows you to configure that in different ways. Those are some of the good capabilities of the PI.
On the other hand, the PI is adding some latency to the web service calls, and the development process takes a little bit longer because it is more complicated to call through different layers.
So, ultimately, I guess people need to figure out what a project’s integration strategy is, and whether they have a PI or an HCI, and especially how they all fit in together. For example, if you want an HCI and are calling the ECC back-end, things can become a little complicated! With that in mind, in a lot of instances, it may even be possible to call ECC directly, and let the web guys worry about that part. Sure, as a PI developer, I would prefer to get this extra work, but if it’s not adding a lot of value for my client and it’s just me logging hours, I don’t know if I can justify using it.
What are your thoughts? Please share your input, so I can share with my clients.