OData the silo buster

June 14, 2011

Introduction

Like many others I am eagerly awaiting the release of SAP Netweaver Gateway, a technology which promises to simplify SAP integration. By exposing SAP Business Suite functionality as REST based OData services Gateway will enable SAP applications to share data with a wide range devices, technologies and platforms in an easy to understand and consume manner.

The intention of this blog is to give a high level overview to the Open Data Protocol (OData), showing by example how to access and consume the services.  For a more concise definition I recommend the following recently released article – Introducing OData – Data Access for the Web, the cloud, mobile devices, and more

What is OData?

“OData is to Rest what MS Access is to databases”  a complimentary tweet I read, because MS Access is very easy to learn it allows users to get close to the data and empowers them to build simple and effective data centric applications.

“OData can be considered as the ODBC API for the Web/Cloud” Open Database Connectivity (ODBC) is a standard API independent of programming language for doing Create, Read, Update and Delete (CRUD) methods on most of the popular relational databases.

“OData is a data silo buster” 

image

Source: SAPNETWEAVER GATEWAY OVERVIEW

Essentially OData is an easy to understand extensible Web Protocol for sharing data. Based on the REST design pattern and AtomPub standard, it provides consumers with a predictable interface for querying a variety of datasources not only limited to traditional databases.

OData Services

Odata.org provides a sample of the Northwind Database exposed as OData formatted services, this is a great resource for exploring the protocol.

**If you are using IE you may want to disable the feed reading view.

The link below is to the Northwind service document, it lists all of the service operations, each operation represents a collection query-able data.

http://services.odata.org/Northwind/Northwind.svc/

image

To access the Customers collection we append the link provided above to the base url as follows

http://services.odata.org/Northwind/Northwind.svc/Customers/

We can accesses specific Customers via the links provided in the feed http://services.odata.org/Northwind/Northwind.svc/Customers(‘ALFKI’)

With the query string operations we can start to control the data provided, for example paging Customers 20 at a time.

http://services.odata.org/Northwind/Northwind.svc/Customers?$top=20 http://services.odata.org/Northwind/Northwind.svc/Customers?$skip=20&$top=20

Using filters we can search for Customers in a particular city or Products in our price range

http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=City eq ‘London’

http://services.odata.org/Northwind/Northwind.svc/Products?$filter=UnitPrice le 200 and UnitPrice gt 100

Once we have found the data we wanted we can use the links to navigate to the related data. http://services.odata.org/Northwind/Northwind.svc/Suppliers(2)/Products

http://services.odata.org/Northwind/Northwind.svc/Products(5)/Order_Details

Finally we can format the response as JSON

http://services.odata.org/Northwind/Northwind.svc/Products(5)?$format=json

image

Consuming OData

To illustrate how easy it is to consume OData, I am sharing simple JQuery Mobile application, it uses the following tables and relationships.

image

OData Sample Application – hopefully the 100 lines of HTML code, JavaScript and annotations are easy to follow, copy the source to a html file, save it locally and run in a browser. Best viewed in the latest versions of Firefox, Chrome and IE.

image image image

Opening up more than data

A couple of months ago I set off on a exercise to learn all I could about OData, along the way I started investigating some of the available opensource libraries like datajs and odata4j, rediscovering a passion for JavaScript and Java.  Through the many examples and resources available it was surprising how easy it was to take my limited skills into the world of Cloud and Mobile application development.

Conclusion

Similar in many ways to ODBC and SOAP, OData is an initiative started by Microsoft as means for providing a standard for platform agnostic interoperability. For it to become successful it needs to be widely adopted and managed.

From a high level the strengths of OData are that it can be used with a multitude of data sources, it is easy to understand and consume. From what I have seen it will be great for simple scenarios and prototyping. Early to tell what its real weaknesses are, however to be simple and easy to use there has to be either a lot of pipes and plumbing or constraints and limitations when used on top of technologies like BAPI’s and BDC’s, things like managing concurrency, transactions and state come to mind. Conversely the threats of not being adopted and competing standards and initiatives like RDF and GData represent some big opportunities for an extensible protocol.

Advertisements

Netweaver Portal not needed anymore?

July 17, 2010

I recently sat in on a number of Ramp Up Knowledge Transfer (RKT) sessions for SAP ERP HCM Employee Self Service (ESS) and Manager Self Service (MSS). Over the last couple of years SAP have talked to many customers about their requirements in this area, in particular smaller customers, who want to reduce the current cost of ownership, in short the portal environment is too expensive for them.

The majority of SAP Netweaver Portal deployments have typically been vertically focused only, providing access to SAP applications in particular ESS and MSS. Only large enterprises and wall-to-wall SAP shops seem to use SAP Portal for content management, application integration and collaboration. The feedback from many customers who have reluctantly implemented the Netweaver Portal to take advantage of SAP functionality is that it is a bloated collection of un-pluggable applications, too rigid and constrained for them to consider as a complete horizontal portal solution.

Starting with Enhancement Pack 5 (Ehp5), the SAP Enterprise Portal infrastructure is not mandatory for ESS and MSS functionality. All role content will be ABAP based and applications will be deployed using Webdynpro for ABAP (WD4A) Floor Plan Manager (FPM).

The move from Java to ABAP potentially means for a lot of custmers no more dependence on the Portal, no need for a Java stack or Java development and technical resources.

Could the porting of ESS from Java to ABAP be the beginning of the end of SAP Netweaver Portal or is this part of a strategy for meeting the different customer technology requirements?

Gartner adds insight in its Magic Quadrant for Horizontal Portals report 2009

Some customers are looking to expose SAP transactions in other portals.

SAP has shifted from its original strategy of Netweaver Portal being the only portal necessary across large enterprises to one accepting the existence of other portal technologies.

The report also says

Netweaver Portal has some gaps when compared with other leading horizontal portal products in content management, collaboration, social networking and enterprise mashup capability.

This would explain some of the other more predictable ways SAP are improving the cost of owning Netweaver Portal for their customers, including:

  • an enhanced configurable Ajax framework with widgets and drop and drag functionality
  • an improved WYSIWYG Web Page Composer with mashup capabilities
  • personal and shared Workspaces
  • Wiki and Forum applications
  • automated and integrated transports
  • greater interoperability and openness through industry standards
  • Not to mention some of complimentary ECM, BPM and EIM applications available from SAP and partners

    For many who were looking for an out these changes will represent the beginning of end of thier Netweaver Portal journey. For those companies identified as already having a multi portal landscape these changes will be seen as options and opportunities, likewise for those who haven’t yet thought about it.  For the companies who have chosen Netweaver as a platform for compostition and collaboration they will see the changes as a sign of a platform maturing.


    SAP Business Rules Framework (BRFplus)

    July 10, 2010

    Very effective video for explaining the benefits of BRFplus.

    For a while now I have been meaning to write about the potential of BRFplus. It makes a lot of sense for the business rules to be available as webservices and reused where ever possible.  One such use case would be in PI/XI where traditionally we would save mapping rules in the Java cache, being a fan of separating concerns replicating business rules has never sat well with me.

    Unfortunately someone beat me to it PI/XI: BRFPlus – an alternative for value mapping tables and Z-tables for integration


    SAP NWBC and BSP

    May 11, 2010

    I have really enjoyed coding in Business Server Pages since my days in the late 90’s specializing in SAP CRM. Lately I haven’t had much need to put my skills to action. Not that I dont enjoy WD4A, I just find the flexibility of BSP development more condusive to providing a better user experience.

    Imagine how happy I was when I loaded the Gadgets Page Framework for NWBC 3.0 and found it was written using BSP.