Tuesday 8 May 2012

Web User Interface

WebUI Architecture

Architectutre of SAP CRM Webclient UI application is built up of 3 different layers

Business engine and business layer are responsible for linking CRM business functionalities within the CRM Webclient UI and presentation layer represents the main development environment for webclient ui where single screens of webclient ui are developed.


The business server pages (BSP's) represent the presentation layer of the CRM Webclient. They are used to generate the HTML Page of the CRM Webclient running in the users Browser

The business Logic of CRM business objects and processes are not controlled by the BSP's but by the business layer and the business engine.

Business objetcs of a CRM Webclient session like Business Partner, Product, Transactions etc are hold in the business object layer



The MVC application located in the presentation layer is a non SAP Programming Model. It is a general description of  how to develop a software with a clear separation of business logic and data model. Here we shall discuss three distinct parts of a software with their own responsibilities. We distinguish between Model, View and Controller of an application.

Within the application there is a strict separation of reading /changing/showing the data and reacting to the user inputs.


The Model is a kind of Black box entity which contains all the necessary methods to get access to the business data and functions

In case of webclient UI the model corresponds to SAP CRM's business layer and business engine. All available business objects can be found here.

The View's responsibility is to display the data coming from the model and to offer an interface to the end user for working on the data

The Controller acts as a intermediate element between View and the Model. It receives and processes user requests to call certain business functionalities with in the model and invokes data output in the view


For example when a user clicks on a button to get the more detailed data to be shown , The controller processes the button Click and fetches the data from the Model and puts it on to the view for display












1 comment: