SAP has come a long way from the ‘grim face’ plain user interface it had in early 3.x versions. In those days SAP GUI client at the desktop was the only way users can access SAP. Those who used SAP in those days know how dull the application looked. I am one of those guys and I can tell you from my personal experience, it was depressing to work with those screens. You would get sleep on the keyboard by looking at those screens. But, the evolution SAP brought to this front was remarkable.
They introduced ‘enjoy SAP’ screen design in 4.6x version. Then around the same time, in an attempt to join the growing .com internet phenomena SAP came up with SAP GUI for HTML and SAP GUI for Java. SAP GUI for HTML is an implementation model for SAP Internet applications that dynamically emulates R/3 transaction screens in a Web browser. Another innovation SAP brought to deploy its business functionalities in internet was ITS – Internet Transaction Server.Through ITS the user can design and develop their own front end to leverage SAP’s business solution. Both SAP GUI for HTML and ITS was to get away from client installation. In both of these approaches SAP runs in standard Web browsers without any client footprint.
SAP GUI for Java on the other hand was an attempt to provide platform independent support for Mac OS, OS/2, Linux, and other UNIX platforms, both within and outside a Web browser. Then came the enterprise portal and iViews to eliminate user interfacing hassles and to enhance the usability experience. In this line, the new kid around the block (relatively ) is NWBC – NetWeaver Business Client.
You can call NWBC as cheap alternative for Enterprise Portal. The biggest difference between EP and NWBC is in license fee. NWBC is freely available. NWBC provides an environment to give harmonizing access to SAP standard transactions and custom developed Web Dynpros. SAP’s current intuitive signature design can be rendered in NWBC. NWBC also come in two variations. NWBC for HTML and NWBC for Desktop. NWBC for HTML is a lighter version which does not require any client side footprint, just runs with the browser. It runs with ABAP stack alone and renders all SAP transactions. NWBC for desktop is a .NET based application which sits in your desktop and work through SAP GUI to render SAP transaction. The current version of NWBC available is 3.0, It was initially developed specifically for SAP Business All-in-One product and for SAP Business Suites.
NWBC supports multi window paradigm. One of the huge advantage with NWBC is in its integration with SAP’s role and authorization administration – PFCG or from PCD(Portal role repository) through web services. This enables you to control easily who has access to what in the NWBC environment. The type of objects that can be hosted are few, they are…
- Dynpro (Standard transaction codes)
- Web Dynpro applications
- BSP applications
- Web Addresses or files
- Generic web addresses (URL templates)
- Web client UI applications
With respect to appearance, NWBC will give you the look and feel of Shell and Canvas model. In addition it is possible to have number of open windows, each with its own canvas. Shell enables the navigation through business processes based on the roles assigned to the user. NWBC provides you the flexibility to configure the shell menu options whichever way you want and you can group applications any specific way as per the user requirement. Another cool thing about NWBC is you can store favourites and search functionality which is compatible to windows new search engine.
Now I am going to lose the casual readers. The next paragraph is for curious techies, There are few important class which facilitates the working of NWBC.
NWBC runtime is deeply rooted in the internet Communication Framework ICF. You can find the NWBC HTTP handler class at path /sap/bc/nwbc. The ICF manages various aspects like authentication, System logon etc. NWBC is also defined as HTTP service here. Class CL_NWBC_HTTP manages all HTTP-related aspects for NWBC. It is responsible for parsing the rest of the entry URL to determine the required service. There are quite a few APIs exists – GET_COCKPITS, GET_ROLES, GET_NAVIGATION_TREE etc. are just few of them. Once the service is determined, the specific ABAP-based service is called, and the returned data is handed to the HTTP response. The other important functionality of this class is, it also manages and enforces security.
All NWBC runtime code is implemented within the class CL_NWBC_RUNTIME and the methods are defined on the interface IF_NWBC_RUNTIME. Apart from these there is class called CL_NWBC_HTML which contains complete code for of NWBC for HTML, it has HTML rendering engine itself and all the required MIME objects. Class CL_NWBC is a general static utility class that contains calls for applications to use, mostly to generate NWBC-relevant URLs.
There you go… you know the alternative to Enterprise Portal to deploy SAP solution in harmonized (yes, I like this word. J) way, without cost with full control. Now the cherry on the top… We are going to use this in one of our new project – DB Systel SRM upgrade. We are going to deploy SRM 7.0 in NWBC.