Monday, December 5, 2011

When to use SAP Netweaver Gateway vs. PI

What does integration mean to your SAP implementation?

Integration seems like it should be a very simple problem to solve with SAP. Connect two systems together, either directly or through SAP PI. But what about mobile users or consumers of SAP data that need light-weight integration? I will explain how people often overstate the reasonable use cases of SAP PI. Finally I will show how SAP Netweaver Gateway may now be a legitimate answer to use cases where PI isn't a good fit.

From SAP's web site, this is how SAP PI is introduced:
Over three thousand organizations are using the SAP NetWeaver Process Integration (SAP NetWeaver PI) offering as their enterprise-class, service-oriented architecture (SOA) middleware to perform application-to-application (A2A) and business-to-business (B2B) integration, and to accelerate composite application development.
http://www.sap.com/platform/netweaver/components/pi/index.epx

If you read that carefully, the scenario described above is not very broad. What about mobile-to-SAP? What about Microsoft SharePoint connections to SAP?

PI is best used with asynchronous communication which is described in the Best-Built Application Guide: http://www.sdn.sap.com/irj/sdn/bestbuiltapps?rid=/library/uuid/d0619693-ce8f-2c10-07b5-fc222ad36370.

One of the most interesting new products of SAP is Netweaver Gateway, and in particular the 2.0 release.
http://www.sap.com/platform/netweaver/components/gateway/index.epx

Gateway allows you to expose your SAP systems with REST HTTP service calls instead of cryptic BAPIs, or even highly complex SOAP services (that are better suited for PI). REST is a really simple and fast web service interface that is extremely easy to integrate. If you aren't familiar with BAPI's, they can be very powerful and critically useful. If you are an ABAP programmer they may even be easy to use. However, to a 3rd party, or anyone integrating with SAP, these are downright cryptic:

SAP Netweaver Gateway is an ABAP Add-On for Netweaver 702. It generates these simple REST services (create, read, update, delete, and query) based on the back-end business objects. Once these services are exposed, you can easily consume them from consumers like mobile-devices. 

There are a few challenges I would like to note. This is a relatively new product, and very few of these business objects come out of the box. A good knowledge of the business objects and ABAP is really important to create these. Also the basis and technical setup is not arbitrary. Those points aside, I was able to create a RESTful set of services based on Invoices in ERP in just a few hours. As this product matures, and more objects come out of the box, it will be exciting to see the innovative ways that SAP data can be used throughout the enterprise.


Saturday, September 3, 2011

The Case for Solution Manager On-Demand

On-Demand solutions are one of the most exciting trends in IT. There are some clear benefits for on-demand such as quick deployment, no capital expenses and reduced operational responsibilities.

SAP has finally started to catch on to this trend by offering a handful of products on-demand for the large enterprise (I'm not including SMB products like ByDesign):
  • Sourcing
  • Business Objects BI
  • Sales
  • Carbon Impact
  • Travel (coming soon)
  • Career (coming soon)
In my discussions with large enterprises, there has been a consensus to continue investing in on-premise systems, but to consider on-demand for applications that are not critical, not heavily integrated with other systems, and that do not contain sensitive data. That sounds like Solution Manager to me.

Solution Manager 7.1
My clients have always had mixed reactions to Solution Manager. Primarily that they are forced to use it. While the business case for the functionality is fundamentally positive, it comes at a high cost. SAP is expensive and complicated to install, configure, and maintain. When customers want to upgrade ECC, first they have to upgrade Solution Manager. When they want to apply a simple patch, first they have to approve this request through Solution Manager. It slows everything down.

Now what if Solution Manager were on-demand?

  • Always up-to-date. We would never have to start our ECC upgrade with a SolMan upgrade.
  • Reduced infrastructure. The system takes a lot of resources, though processes very few transactions relative to other systems.
  • Newest content. Sub-components like the SLD could have the newest content, eliminating steps to constantly update.
  • SAP would have access to the system landscape and monitoring components for even simpler troubleshooting.
Also, this component meets the requirements for on-demand for large enterprises:
  • Non-critical to business operations.
  • Minimal interface bandwidth.
  • No sensitive data.
Now, if SAP would combine this with a HANA-based on-demand reporting, I think some customers would really get excited.


Friday, April 8, 2011

Ups and Downs of Duet Enterprise Implementation

Duet Enterprise recently hosted a Launch Summit showing off some of the ways that Microsoft SharePoint 2010 can utilize SAP's vital information.

In case you aren't familiar with Duet Enterprise, here are some highlights:
- SharePoint 2010 can read and update data directly in SAP
- No user plug-ins or downloads required
- Security and technical architecture are provided for integration
- Sample business objects are provided to get started

If the Summit's popularity (the website stopped responding due to traffic) is any indication of the product's interest, then we can expect to see loads of companies diving in. While the end-user experience may be incredible, one of the big questions is how complicated and ultimately how costly is the implementation?

Let's discuss a likely Duet Enterprise implementation:
An SAP customer wants to expose their live inventory view from SAP to employees through SharePoint 2010 without having to login to SAPGUI or use the SAP Portal.

Microsoft SharePoint 2010 uses BCS (Business Connectivity Services) to connect to SAP. This is supposed to simplify the access of line of business systems to Microsoft SharePoint. The problem is that by making the Microsoft integration simpler, the SAP integration became significantly more complex. This would be okay but in my experience SAP resources are far more expensive than Microsoft.

For reference, I've followed the fantastic Duet Enterprise Developer Guide available on sdn.sap.com.

The following are some of the high-level implementation steps:

  1. Identify Enterprise Services for both search and read inventory (in SAP they are always separate).
  2. Use the ESR (Enterprise Service Repository - which is installed on CE, or PI) to extend your own custom fields for these Inventory Enterprise Services.
  3. Create proxies in the back-end to implement in ABAP the customizations of these Enterprise Services.
  4. Expose these services to the Service Consumption Layer (SCL) of the Duet Enterprise Middleware (Netweaver 702 ABAP).
  5. In the SCL, create connections to the back-end services via the Back-end Abstraction Layer.
  6. In the ESR for the SCL (getting complicated yet?), create a new simplified and flat web service which combines the read and search of back-end services.
  7. Extend the SCL service to include Duet-specific fields for activities such as session tracking.
  8. Implement the Generic Interface Layer Model
  9. Expose the SCL web service to SharePoint where it can be added as a BCS external list.

Not exactly trivial. But to be fair, Duet Enterprise does provide tools and generators for a lot of this work.

Is there another way?
One of the keys to Duet Enterprise is the security model. There needs to be a way to authenticate a user in SharePoint 2010 and authorize that same user in SAP. The Duet Enterprise middleware, Netweaver 702,  provides SAML2 authentication for this purpose. This works perfectly between SharePoint2010, the identity provider, and Netweaver 702, the service provider.

Ultimately the back-end SAP Enterprise Services can authenticate with one of the following methods:

  • Username and password
  • X.509 ticket
  • SAP Logon Ticket
  • SAML2 (starting with Netweaver 702)


Another option would be to flatten and combine the SAP Enterprise Services for inventory directly in the SAP back-end (or the ESR) and add the SharePoint 2010 specific fields. If this back-end were also upgraded to Netweaver 702 this would avoid the usage of the middleware environment and reduce about 75% of the custom development.

In either case, SharePoint 2010 offers tremendous capabilities for employees who want to use the vital information in SAP without having to learn to navigate the dark passages of SAP GUI. In my opinion, even if it is difficult, the costs are well worth it to finally give users a pleasant experience with SAP.

Saturday, February 26, 2011

Mobility: Unshackle SAP Users from their Cubicles

When was the last time someone asked you: "Why do you need a mobile phone, why not just use the phone at your desk?" It seems like a pretty ridiculous question to ask these days.  Then why are most SAP users still shackled to their cubicles?

SAP has acquired Sybase to try to finally make some progress on mobility. Currently there are only two applications delivered by SAP on this platform: one for Mobile Sales and one for Workflow. Well that's nice for those two types of users but what about the rest of us? Sybase Unwired Platform can be used for developing mobile applications for the enterprise. Sybase Afaria can be used for managing these applications.

There are definitely some great reasons to use this platform, and those reasons have been covered by many blogs and marketing folks. However, there may also be some challenges:

  1. Developers now have to learn to use this platform, beyond the technologies this platform covers.
  2. The platform itself may have bugs, adding to the complexity of development.
  3. When developing cross-platform, what happens when Android comes out with a new feature first? Or the iPhone? Do we have to wait for a new update from Sybase to take advantage? Can we even use that feature until all phones use it?

With these points to overcome, I wanted to create a mobile application without any of the restrictions of middleware, or any custom platforms. I wanted to use only standard iPhone elements, and only standard interfaces, and only standard SAP code.

The following is an example from MindSet Consulting of this very accomplishment.

Login to SAP on the iPhone:

Login to SAP

Enter a Sales Order:
Enter a Sales Order
Read the Details of the Sales Order:
Read Sales Order Details
This was all done with a RESTful interface into SAP with no middleware (no Project Gateway) on a Netweaver 7 system, and would work perfectly on ECC 6 or any other relatively new version of SAP with no additions.

The iPhone development is all standard. Simply calling a web service is arbitrary for an iPhone developer.

Any set of UI elements could be used to display this data. String together a set of operations (Create, Read, Update, Delete, Search) on any business object in SAP and you create some truly powerful solutions for your business processes (and some happy users).

Now, let's walk away from our desks and really get something done.

Friday, January 7, 2011

SAP Development on Amazon's Cloud

SAP has a number of programs for software developers, none of which are easy or cheap. Unlike most other major software vendors, it seems as if SAP is almost trying to push away developers.

There is a terrific website (for SAP) called SDN, which includes a wealth of information for SAP development projects ranging from Mobile to Business Process. From this site you can download trial editions of SAP and developer editions of SAP. Apparently there is a difference. The problem with these systems are that they are empty, and therefore not very useful.

SAP ABAP 7.02 Trial
How am I supposed to demonstrate any integration scenarios when there is nothing to integrate with?

SAP does have this system called IDES or Internet Demonstration and Evaluation System. However, this again has a terrible flaw. It is only for customers or partners! Wouldn't a potential customer or partner be the proper audience for an evaluation? In any case I cannot get one for less than a few years of salary.

We're going to have to work with the development system the best we can.

I don't know about you, but I don't have any extra servers sitting around my home to install SAP on. So I used the EC2 Cloud Computing service from Amazon. I followed this blog: Install SAP on Amazon Web Services

With a few tweaks I was able to get the system up and running. So far I have spent less than $50 to install and host this server. Far less than the SAP offering, RAC, which charges 1167 Euros per month for a short trial.

A few quick pointers on the Amazon Cloud SAP installation:

  • Get a cloud system with EBS (permanent storage). If you don't, when you hit stop, all of your SAP installation will be gone.
  • Use a service like dyndns.org. The Amazon IP address constantly changes.
  • Use a Windows 2003 i386 (not x64) image. Otherwise you will have to start over like I did.

Now that the server is installed I should be able to start integrating some mobile applications. I doubt a little bit how useful they will be without a proper business scenario. Unless of course someone has an IDES to lend me?

Friday, December 10, 2010

You May Have Heard of NetWeaver Business Client?

SAP GUI, the SAP user interface client that for years or even decades, is basically known for being ugly, and just getting the job done.
SAP GUI
After all this time, there would seem a lot of interest in delivering a modern, simple, light and fast replacement for this legacy client. SAP tries to answer with the NetWeaver Business Client (NWBC). Here is how SAP describes this new product:

What is NetWeaver Business Client?
The SAP NetWeaver Business Client (NWBC) is a rich desktop client that offers a unified environment for and a single point of entry to SAP applications. It provides a solution for hosting classical dynpros (SAP GUI UIs), Web Dynpro applications, BSP pages, portal pages, and other content. You can use the SAP NWBC either with or without the portal depending on whether you want to access ABAP back ends directly or not.
The SAP NWBC also supports generic desktop functions, like drag and drop, popup windows, and so on through the utilization of the corresponding APIs. The result is an efficient, modern and attractive client environment ideally suited to the power user.
NWBC
Most people talk about NWBC as a fancy new client that replaces SAPGUI. This isn't true.

Here are some issues with NWBC:

  • Requires Enhancement Package 2 of SAP.
  • Requires a significant amount of effort to install.
  • The download is over 500MB!
  • The user still needs SAP GUI installed.
  • It only works on Windows with Internet Explorer.
Why is SAP still tying users to Windows and Internet Explorer with huge downloads? Why not utilize a light, browser-independent, fast, zero-footprint environment that can satisfy all users? Why not phase out any form of thick client application?

The path that customers want is clear. Will SAP ever figure this out?

Friday, November 12, 2010

The AJAX SAP Portal, Finally!

AJAX is a beautiful thing (Asynchronous JavaScript and XML).

What that really means is that data on a web page can be updated without completely reloading the page. One example of this is Google Search: start typing in the search box and Google will complete your sentence. Another example on Facebook is watching your News Feed fill with updates about the latest extraordinary events of your friends: “Going to see what’s on TV.”

These are some basic examples. But in practice it can really do a lot of great things, especially when it comes to speed.

That brings me to the SAP Portal. One of the biggest complaints about the SAP Portal is speed. The SAP Portal downloads a lot of content, and it takes a lot of clicks to get where you need to go. If every page takes 10 seconds to load and you need to click six times to get there, that’s a full minute of waiting.

Welcome the AJAX Portal Framework Page.

Now imagine only one page load with the subsequent clicks (instantaneously with AJAX) bringing you to your destination. You’ve just reduced the navigation time from one minute to just over 10 seconds.

Plus, it looks really good.

SAP Portal AJAX Framework Page