SAP CRM Software Architecture

SAP CRM Software architecture and SAP Web Application Server (WAS) 7.0 accommodates two run time environments: ABAP and J2EE (Java 2 Enterprise Edition). Nonetheless the CRM 5.0 IC web client is absolutely primarily based on the ABAP stack. The user interface (UI) is based on Enterprise Server Page (BSP) technology. BSPs are a mix of ABAP code and BSP extensions. BSP extensions present HyperText Markup Language Business (HTMLB) tags for a constant look and feel all through all applications. HTMLB tags embody advanced and extensible capabilities which are rather more highly effective than commonplace HTML tags.The HTTP Services of the Web Communication Manager (ICM) talk between the Web browser and the BSP run time.

The ICM handles the inbound and outbound connections of the WAS. It is liable for caching and works with an important number of protocols, including Simple Object Entry Protocol (SOAP), HTTPs, Easy Mail Transfer Protocol (SMTP) amongst others. The ICM is an integral part of the SAP WAS. As nicely as an Enterprise Portal can be utilized but is not necessary to run the IC web client.In CRM 4.0 some IC web client options have been Java primarily based (Alert Modeler, Interactive Scripting,Communication Interface). Nevertheless as from SAP CRM 4.0 Service Industries Extension or SAP CRM 5.zero these options of the IC web client are Java free.

The IC web client is based on a multi layer structure on server side. The presentation layer, the business object layer of the IC web client and the CRM database and are strictly separated:

  1. The Business Server Pages (BSPs) are the presentation layer of the IC web client. They're the basis for the HTML page of the IC web client running within the IC agent’s Net browser.
  2. Information of business objects of an IC web client session like business companions, product, transactions, etc. are handled by the enterprise layer of the IC web client. The business layer consists of the Enterprise Object Layer (BOL) and the Generic Interplay Layer (GenIL).
  3. The BOL shops data of business objects like business accomplice or gross sales order at run time of an IC web client session. It was carried out to guarantee the separation of the IC web client user interface and the underlying enterprise logic.
  4. The GenIL handles the information switch from the BOL to the Software Programming Interfaces (APIs) of the underlying (CRM) business engine (utility logic and database tables).
  5. This separation allows to attach any enterprise utility by way of GenIL and BOL to the IC web client UI layer. For instance in mySAP CRM launch 5.0 the IC web client UI is used to handle not solely CRM enterprise objects and processes but additionally objects from my SAP ERP applications.
  6. Examples for ERP objects implemented in the BOL and dealt with by the IC web client are the worker from mySAP HCM (Human Capital Administration) and the ERP sales order from mySAP SCM (Provide Chain Management).


Business Server Pages (BSPs) could be created using totally different programming paradigms and design patterns. The IC web client BSP is predicated on the Model View Controller (MVC) paradigm. MVC is a widely accepted design sample for growing object oriented person interfaces (UI). It offers an efficient way of relating UI layouts to an underlying knowledge model. Because the name implies, a MVC software consists of a mannequin, views and controllers.

The view handles the visual output. It is accountable for rendering the output and related UI controls, reminiscent of data fields and push buttons. All output is acquired from the controller for rendering. All consumer enter is passed from the view again to the controller for processing.Controller.The controller handles the interaction logic and provides the link between a view and a model of a MVC application. A controller receives all keyboard and mouse enter from the view. Based on these events,the controller can decide methods to react e.g. by accessing information from the model or triggering the navigation to a different view.The mannequin of the IC web client BSPs consists of contexts and context nodes that link the fields of a view to the underlying business layer (the BOL). This linking is referred to as binding. Every data subject on a view visualizes an attribute of a context node.

IC Work Bench View

Transaction BSP_WD_WORKBENCH displays all improvement objects of the IC web client BSP
applications.The views and their corresponding controllers and contexts of IC web client BSPs like CRM_IC might be accessed in the IC Workbench.Be aware that
  1. Within the IC web client BSP Applications each view has its personal view controller (syntax instance: title of view MyView.htm; corresponding controller MyView.do.
  2. The IC web client includes a special sort of views referred to as a view sets. A view set comprises placeholders - the so called view areas - that could be filled with different views. This fashion a number of views might be mixed on a display in a particular layout.


Views of the IC web client consist primarily of a structure definition which is usually applied in HTMLB, an SAP extension of HTML. HTMLB tags embrace advanced and extensible capabilities which are way more powerful than regular HTML tags. Also HTMLB tags guarantee a constant feel and look throughout all applications. (To search out out more about HTMLB tags go to transaction SE80 and select the Tag Browser).HTMLB tags are used to structure the view layout and to explain all it’s UI elements. The view format definition structures the out there area as a grid of columns and rows. Cells of this grid may be crammed with UI parts like enter fields, area labels, and buttons. A discipline is represented by an HTMLB InputField tag. The syntax for binding the sphere information to a context node attribute is: //Contextnode/attribute for example //Customer/LastName.


The model of the IC web client BSPs consists of contexts and context nodes that link the fields of a BSP view to the underlying business layer (the BOL). This linking is referred to as knowledge binding. Each data discipline on a view visualizes an attribute of a context node. Each attribute of the context node is connected to a area in a BOL structure.Context nodes and contexts are both carried out as ABAP classes. Yow will discover the context nodes by trying at the view’s Web page Attributes tab or by increasing the view construction in transaction BSP_WD_WORKBENCH.

Right here you see the context class (suffix _CTXT) which is an attribute (TYPED_CONTEXT) of the view controller class. The context accommodates several context nodes (suffix CN00, CN01, CN02 …). Every context node class incorporates a quantity of attributes. The attributes are implemented as GET_- and SET_-methods that read and write information to the BOL. Every time a view controller and thus a view is known as the context manages the instantiation of the context nodes. However, when the view is not seen it is faraway from memory. This also removes the context and context nodes and thus the data. Nonetheless typically it is sensible to maintain the info in reminiscence while a view will not be displayed. For example to pass knowledge from one view to another or in case the person desires to navigate back to the view.

This manner knowledge may be shared between totally different view controllers so that the retrieval of information from the BOL may be reduced. This may be realized by custom controllers which have an unrestricted lifespan.Customized controllers are described in a lide of the appendix of this unit.Navigation from view to view is managed by strategies of the view controller classes in addition to by navigational links. Navigational hyperlinks are saved within the run time repository. A navigational link consists of an identifier, a supply view, an outbound plug, a target view, and an inbound plug.The navigation flow is visualized above. The following text describes the example given within the determine above: The navigation from the Business Associate Search view to the Business associate create view:

  1. Person interface (UI) elements resembling buttons can trigger occasions, which are processed by methods of the view controller class. In this case the event is that the Button “New” was pressed by the user.
  2. This triggers the methods DO_HANDLE_EVENT which is liable for the event handling of this view typically and calls:
  3. Methodology EH_ONNEW liable for the particular occasion and calls:
  4. the outbound plug Technique OP_CREATEBUPA which incorporates the identify of the navigational link: createBuPa
  5. The navigational hyperlink createBuPa is a half of the XML files of the run time Framework and contains the name of the target view BuPaCreate and its inbound plug.

The inbound plug technique IP_INBOUNDPLUG is executed and the goal view is displayed. Observe: These strategies of the source and target views may comprise directions which can be executed earlier than the supply view is left and the target view is displayed (e.g. wrap up the information of the supply view and move them to the goal view by means of a custom controller).

Related Posts

Roles in SAP CRMSAP CRM Organizational Model
People Centric SAP CRM IntroductionCRM Technical Infrastructure
CRM Interaction Center Agent Perform
Mysap market place introduction
Customer interface in mysap market place
MySAP environment security solutions
SAP security authentication and authorization
SAP security infrastructure for data productionSAP safety infrastructure
SAP Network Level Security

No comments :

Post a Comment