Understanding Sybase SUP – the basics
At an SAP Mobility event we organised last week, the same questions kept cropping up again and again from clients and non-technical consultants – ‘What is this Sybase SUP thing anyway? What does is it do exactly?”
Trying to explain all of the complexities and intricacies of Sybase Unwired Platform (SUP) is well beyond the scope of a single blog entry – but we thought we’d try and get the basics down in as non-techie a way as possible.
What is it?
Sybase SUP is a Mobile Enterprise Application Platform (MEAP). This is a type of middleware used to manage mobile applications. The main function is to store and pass data between SAP and mobile devices.
To do this it caches a subset of SAP data and synchronises that data between SAP and the mobile devices.
It also includes development tools for creating applications for a (limited) number of platforms.
Sybase SUP provides an alternative to creating mobile applications that talk directly to SAP via web services (without using any middleware products).
How does it work?
SUP integrates with SAP using BAPIs – remote-enabled function modules.
Within SUP, BAPI definitions are used to create objects called Mobile Business Objects – or MBOs . These loosely relate to real world objects such as a customer or a sales order. These objects have attributes (related to parameters of the BAPI) and operations (related to the operations of the BAPI i.e. what it does).
Interestingly, you can pick and choose which BAPI parameters you are interested in which makes the MBOs a bit easier for non-Abappers to understand (in a visual way) than trying to decipher a BAPI definition.
Data is stored in SUP in a cache database – known as the CDB – in relation to the MBOs.http://www.clarimont.com/wp-content/uploads/2011/02/SUP_SAP-Diagram.png
The mobile applications can get and set data against these objects – or, for some applications, you can set them to read directly through to the Enterprise Information Server (in other words, SAP).
So, in most cases, synchronisations need to happen between SAP and SUP, and between SUP and the mobile devices.
SAP/SUP synchronisations can be ‘push’ (i.e. SAP tells SUP when an object is changed) or ‘pull’ (i.e. SUP requests data at specified intervals).
SUP/device synchronisations can be ‘message based’ i.e. SUP sends messages to the device informing of changes or ‘replication based’ i.e. synchronisations happen at specified intervals. The type of synchronisation used is dependent on the mobile device – for example, iPhones and iPads can only accept message-based synchronisations.
Which mobile platforms does it support?
At the time of writing Sybase SUP supports iOS (iPhone, iPad), BlackBerry, Palm and Windows Mobile.
However, the only platforms you can currently build applications for using the IDE are BlackBerry and Windows Mobile – for other platforms you need to create native apps yourself and plug them in.
Also, it’s worth bearing in mind that the user interfaces created by SUP focus on functionality so if your focus is on user experience you may still need to get a designer in to work on the front-end.
Android support is on the roadmap (no release date as yet) and we haven’t heard anything about Windows Phone – we’ll post an update if we do.
Does it provide functionality to roll out, update and withdraw apps to and from devices?
No – that’s handled by another Sybase product, Afaria. We’ll look at that in a later blog entry.
What’s good about it?
Well, SUP is a good option for companies embarking on a comprehensive mobility strategy that want a platform to manage lots of applications or lots of users. It will certainly reduce the number of hits to your SAP system if you have lots of workers using mobile applications (as opposed to them calling web services direct on SAP).
Data transmission is 2-stage (device to SUP, and then SUP to SAP) which may provide come additional security benefits.
Also, users don’t need to log on each time, as the user is required to complete an authentication process the first time that they log on and these credentials are then stored on the phone . This can of course also be achieved outside of SUP.
From a development point of view, the IDE tools are very graphical so it’s quite easy to learn how to use them. The development environment is very similar to Eclipse, which most developers have used before so it’s not a steep learning curve there either.
It can also be a very fast way to develop applications if you need simple, functional applications for BlackBerry or Windows Mobile (not to be confused with Windows Phone).
What needs a little more thought?
There are a few things that I personally think will be improved by SAP and Sybase over the next 12-24 months…
Currently SUP security is in no way related to SAP security. This means that roles and authorisations need maintaining in two different places if users have the ability to work both via the SAPGUI and on their mobile devices.
I’m yet to be convinced of what happens if a user modifies an object such as a sales order on their mobile device and at the same time the same object is modified in the back-end system.
And of course it adds another layer of complexity to mobile solutions. This may not be warranted for a lot of companies who are just ‘testing the water’ with SAP mobility and wish to start out by creating a handful of lightweight applications.
The ‘design once, deploy to many’ is a nice idea but it’s important to remember that native applications do need to be created for each type of device you want to reach.
Finally, SUP applications can only currently be rolled out to internal users (e.g. employees of a company). It isn’t possible at this stage to produce an application for use by a wider audience (e.g. customers and partners).