OData the silo buster

June 14, 2011


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” 



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.



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


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


Finally we can format the response as JSON



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.


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.


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.


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.

    The New SAP UI

    July 2, 2008

    Intrigued by Goodness coming to Web Dynpro Abap near you. I was redirected to this presentation on blip

    Web2.0 meets Business Process. Indeed!!

    SAP Eventus – The Human Face of Business Scenarios was a Composition on Grails prototype, released to public late last year it demonstrated Enterprise 2.0 principles by highlighting a real life collaborative business process scenario.

    The next iteration of Eventus utilizes much more of the SAP products we are familiar with and showcases the “signature design” of the new Business Client “Nova” debuted at SAPPHIRE this year. One thing is for sure with the new look prototype we have a contender for this years Demo Jam.

    SAP never looked better – drop and drag widgets, drag and relate objects, google maps, enterprise and web searches, Flash/Flex/AIR, BSP, Webdynpro, SAP Gui and much more all seamlessly delivered in a single UI, I even saw Textpad in there somewhere, I can only imagine the services and events utilized behind the scenes.

    Sign me up, where’s the project, I want to start imagining the possibilities.

    ABAP – what happened?

    June 11, 2008

    ABAP is an abbreaviation of the German word Allgemeiner Berichtsaufbereitungsprozessor if you run the phrase through babelfish and it translates to “General report preparation processor”. For a long time ABAP was seen as that a report writing language, to the uninitiated it was viewed as a lesser easy to learn language and the programmers who used it were looked down on as coders and not developers. ABAP has gone through many iterations, the biggest of which would have to be the introduction of SAP WebAS where ABAP finally broke away from being a report writing language and became the backbone to a suite of web application development platforms.
    Read the rest of this entry »

    SAP TECHED 2007 LAS VEGAS (redux)

    June 5, 2008

    This years SAP Teched tells us to

  • Connect, collaborate, and co-innovate with the best minds in the IT industry.
  • Get the knowledge, skills, and professional network needed to take advantage of SOA.
  • Learn how to use the power and flexibility of SAP NetWeaver to co-innovate with SAP
  • Inspiring I know. Before you run off to convince your boss that you should go to Vegas for a week long jolly. Enjoy
    Read the rest of this entry »