So you have decided that SAPGUI is not what your users need to be able to do their job in the most efficient way or increasingly you have new users who want to access your SAP data and business logic but SAPGUI isn’t the right answer.
The reasons for this are many and varied but some common issues would be :-
- Too Complex : The SAPGUI screen has many fields (or describes fields in “strange ways”) and options the user doesn’t need to use.
- Unsupported Device : The SAPGUI screen doesn’t work on your chosen device / browser (e.g tablet).
- Missing Business Logic : The SAPGUI screen does not enforce business logic (rules) that your organisation needs which means garbage gets into your system.
- Wrong Screen Flow : The SAPGUI user interface/user experience* does not match the user interface/user experience* imagined/required by the user.
(* I don’t intend to discuss the difference between User Interface and User Experience – Wikipedia does a pretty good job of this and it might help with the rest of this blog if you read their definitions)
If you want to avoid development, you have a few choices :-
- Review your implementation (including Enhancement Packages, Workflow Templates and Packaged Mobile Apps) to make sure you are not missing some standard functionality (including new WebDynpro ABAP screens) or workflows (to try to stop garbage getting in).
- See if NetWeaver Business Client can help to create a more unified/role based user experience
- See if SAPGUI for HTML and roles (perhaps with a help launch/landing page) might do the trick.
- Configure field labels to fit what the business call stuff (bit of a hack).
- Train your users more.
- ……… (probably others).
If the above don’t fix the issue, SAP have an increasing list of supported tools and techniques for fix the issue (and a number of older tools and techniques – which I will not be discussing) – but they all include some level of software development. If development doesn’t scare you (which it shouldn’t , which ones should you use and when ?
In this blog I am going to consider the following tools from SAP :
- User Interface Tools / Frameworks
- Technology Platforms
NOTE : For a real business use-case, a number of the above tools can be used together to achieve the best results. You should consider the right solution for each part of the problem – not look for a silver bullet. I think SAP are trying to provide a tool kit of solutions that can be used by different types of people and are suited for different use-cases – some very technical and some in the business analyst domain.
Below I have tried to summarise these for your convenience, with links for more detall. If you already know what they do, you can jump to part 2 where I recommend which to use.
User Interface Tools / Frameworks
SAP UI5 is the Java Script library and development framework that SAP have just released and will be a common set of libraries across ABAP, Java, HANA and Mobile. It is promoted as the user interface of choice if your use-case is for light-weight / stateless interactions with a backend system (like employee self service). The reason for this positioning is connected to issues like locking and transactionality (having to update more than one item for a transaction to make sense) – which are handled well by Dynpro (and WebDynpro) as sessions are stateful. So I think UI5 can also be used for highly transactional Uis but the developer has to think about how the handle the above issues (websites have been doing this for years). This is a tool for Java Script developers.
SAP Web Dynpro for ABAP (WDA) will be the successor of the traditional Dynpro (SAP GUI) screens and is promoted for highly transactional user interfaces (which need to consider locking and transactionality, if they are running on an ABAP system. With each Enhancement Package, more and more screens become available in WDA. Floorplan Manager has also been introduced which allows for pattern based development – which reduces the level of WDA skill required to create a WDA UI. One fly in the ointment here is SAP CRM where the web frontend is developed using SAP BSP technology (which has been extended and is referred to as CRM UI). The other fly is that the WebDynpro framework UI controls are not designed for tablets – SAP have fixed previous browser support shortfalls (shame this isn’t available to WebDynpro Java). This is a tool for ABAP developers.
SAP Personas is a tool from SAP that allows for the personalisation of SAPGUI screens (or to be more precise SAPGUI for HTML). It is a Silverlight framework over the SAPGUI controls so the screen layout can be completely changed to provide an easy to use web experience (see example here). What you can’t do with Personas is fundamentally change the screen flow across transactions or the embedded business logic. You can hide tabs, skip screens within a transaction and pass data between transactions.
I find the choice of Silverlight as disappointing, I would have preferred HTML5 (or even better UI5). This tool is focused at SAP Business Analysts and can be used by developers.
SAP NetWeaver Gateway comes in two halves, the first half runs on the ABAP stack (deployed as an Add-on or standalone) and the second half is a bunch of consumption tools (iOS, ASP.NET, Android, Java, HTML5, PHP) that speed up UI development for non-SAP developers. The ABAP part lets you wrap up SAP functions and expose them as OData/Atom/JSON. Generally these services are designed round the user interface / experience requirements so the data model that the UI developer sees makes sense to them even if this doesn’t represent the physical way the data is stored in the SAP ABAP system (I know one example that combines data from 11 SAPGUI screens into one OData service). Once you have your OData/Atom service you can either consume these directly (UI5 has libraries that allow direct consumption of OData) or you can use the consumption tools to generate service proxies / applications in the language of your choice. See this iOS demo. It should also be noted that usage of Gateway is included in your SAP User license – so any info that can be accessed by a user type via SAPGUI can be consumed via Gateway with no consumption charge. Specific licenses also exist for Gateway where a scenario extends usage of SAP to employees and people outside your organization (e.g B2C scenario). This tool is focused at ABAP developers for the backend and many different types of UI/UX developers.
DUET Enterprise allows connectivity into Microsoft SharePoint and Microsoft office tools. It uses NetWeaver Gateway for connectivity to SAP, allowing direct publication into the SharePoint Business Data Catalog (BDC). It also provides system management tools that allow for end to end monitoring and syndication for roles between SAP and SharePoint. This tool is focused at Microsoft SharePoint developers and ABAP developers (for the Gateway backend part).
Sybase Unwired Platform / Afaria and Syclo are tools that have been purchased by SAP to boost their offering for the development of mobile apps. I don’t intend to cover the features of each solution in depth in this blog, but if Mobility is a key focus for the user interface / user experience you should look into these platforms. Features they offer that play to the mobile space include, staging / syncing / syndication of data (from SAP and non-SAP), device security / app management (especially at scale), device independent app development and device specific proxy generation. In November UI5 will be released for usage in the Sybase Hybrid Web Container so UI5 can be used for mobile development. This tool is focused at mobile developers.
SAP NetWeaver Process Orchestration is the platform from SAP that now incorporates SAP BPM and SAP PI. The BPM component can be used to create workflows that allow for the distributed collection of data and the approval of this data before it is updated in any backend system (including SAP ABAP systems). Historically User Interfaces have been created using WebDynpro (Java or ABAP), but HTML5 is increasingly being used with full support for UI5 coming in October (with auto generation from a process data context early next year). This tool is focused at Java developers.
SAP NetWeaver Cloud is a Java Platform as a service cloud solution that offers a standards based Java development environment plus some “services” that make development faster. These include Portal, Documents, Persistence, Identify (which can link to your on premise identity) and a cloud connector that allows connection to your on premise systems via secure URLs. SAP NetWeaver Cloud supports SAP UI5 as a front end tools, as well as any other Java UI framework (e.g Spring) or Java script (e.g Angular). You can see an example app here. This tool is focused at Java developers or developers that use languages that have a Java runtime (e.g Ruby). It is possible that other run-times will be offered in the future (e.g Node.js).
It is easy to think of HANA as a database (all be it a very fast in-memory one), but HANA also now has application development capabilities built into the platform in the form of the XS java Script Engine. This means you can develop apps right on top of HANA, and UI5 comes to HANA in November. This tool is focused at Java Script developers and database experts.
In part 2 of this blog series I discuss which tools could be used for different use-case.
In part 3 of this blog series I discuss how you might build the business case for making this UI/UX renovation.