SAP Web Application Server and Business Server Pages

SAP Web application server and business server pages known as BSP functions are the core component of the SAP WAS development model.They have entry to the total performance of the SAP system; for example they will access BAPIs, make RFC calls, and access the database. They include the following set of parts:

  1. BSP pages. These are pages that comprise the structure of the presentation. These pages have code in both ABAP or JavaScript used to insert the appliance data. BSP pages could have dedicated occasion handlers and parameters. The system distinguishes between two types of pages: correct ages and web page fragments. Web page fragments include small items of data which might be supposed to be inserted in regular pages reminiscent of web page headers and footers.
  2. Navigation structure. It defines the navigation movement that is used to direct requests to Internet pages.
  3. MIME objects and themes. This group incorporates all of the static objects, particularly images, documents, and so forth, that belong to the BSP application. MIME objects are dealt with within the MIME Repository. A theme is a container for MIME objects which are used to customize the looks of the Internet application. Themes are based mostly on CSS (Cascade Type Sheets) and needs to be used to clearly separate the looks from the application and presentation logic. A theme is created as an independent object and subsequently may be assigned to a number of BSP applications.
  4. Software Class. This is a international ABAP class that encapsulates the business logic necessary for the BSP application. The Utility Class should present interfaces (for example by BAPI calls) to the features it defines. All of the components of the class (attributes, strategies, and so on) are directly accessible by the BSP application. The Software Class holds the enterprise core logic of the applying and therefore is the key element to assume about if you're migrating from earlier dynpro-primarily based applications. These functions ought to provide a way to make business capabilities available for use inside BSP applications.

The work center for creating BSP purposes is the Web Utility Builder.The primary interface of the web Utility Builder is the SAP Improvement Workbench, which has been enhanced to offer all the functionality obligatory for Web functions building. The Net Utility Builder is started with transaction SE80.

The display screen of the Net Application Builder has three areas. The large area within the proper side (showing a photograph in Figure eight-3) is the working area. This space will maintain the programmer’s editor and all of the attributes and configuration screens associated to each of the totally different elements which might be parts of the BSP application. The left side is split in two areas. The top left space allows the person to go to the totally different elements of the SAP growth system. The underside left shows a browser permitting entry to the thing hierarchy. The Repository Browser button will allow you to access the zone of the builder that contains the BSP objects.

A BSP Software Instance

An entire Web software is normally a lot more than a set of BSP pages. Application Class interfaces are essential to allow access to enterprise capabilities from BSP. Traditional SAP programming techniques and ideas are still legitimate and needs to be the core of any excessive-high quality Web application.

The first thing to note with this version of the Net Utility Builder (as against the previous ABAP Development Workbench) is that it's not doable to create a Improvement Class. This may occasionally come as a surprise to the skilled ABAP developer, however the idea has not disappeared: the previous Improvement Lessons are actually referred to as Packages. Packages are precisely the same thing; therefore, they act as containers for every type of object in the SAP Growth Workbench, including Dictionary Objects, ABAP Classes, and so on, but in addition to all that, there are now Internet Objects.

So, the first step of our instance will be to create a Package deal that can contain all the elements of the application. For that, choose the Bundle option within the object sort listing box in the prime left space and fill in the identify of the package deal that you want to create (on this case, I title it ZWEBAPPS). Press the Enter key and the system will verify if a package with the given title already exists in the system.

The next steps will create a BSP application. The process goes as follows:

  1. Proper-click on the newly created entry for the bundle (ZWEBAPPS).
  2. Choose the option Create/Internet Objects/BSP Software in the pull down menus.
  3. In the dialog field, select a reputation for the BSP utility (in our example, ZW1) and assign it to a transport request.
  4. As quickly as the BSP utility is created, a hierarchy will seem in the browser area of the Web Utility Builder. The entry for the BSP utility shall be beneath Net Objects/BSP Functions in the Repository Browser menu.

As quickly as the BSP application is created, you need to fill it with pages. To do this, proper-click on on the entry for the BSP utility within the left-hand space and select the choice Create/Page .

This leads to the Create Page dialog field . Right here you'll have the option to tick the small check field in the bottom left if you want this page to be a web page fragment. The page whose identify is default.htm will doubtless be considered by the BSP processor as the default page of the appliance; that is the page that will doubtless be sent to the browser when the person doesn’t request any specific page.

After assigning the web page to a transport request, the Growth Workbench will open the text editor in the work space with a primary HTML template in it. You may now begin typing your individual code .As quickly as the typing is finished, it is time to save the page. Then, it's possible to test it by pushing the Check button. An Internet browser window ,exhibiting the HTML generated.

When accessing the page with a browser, it'll require the consumer to present a username and password. The SAP username and password used to create the appliance or any SAP person with administrative rights will be granted access. The URI within the server name house used to access the BSP software is often /bc/bsp/sap//.The Web page proven in does nothing fascinating; it is just a static HTML page and utilizing a SAP WAS for serving it's probably overkill. The greatest way to do extra fascinating things is by embedding programming code within the HTML code. Within the BSP page:

<%@ page language="abap" %>

A line like that is obligatory for BSP pages. It indicates the programming language that is going to be embedded within the page. There are solely two programming languages out there in the mean time of this writing: ABAP and JavaScript (the server side implementation). Observe the <% and %> enclosing tags. These are the characters used to indicate to the BSP parser that the textual content enclosed between them is programming code and ought to be interpreted. The @ is a modifier to point that the textual content contained in the tags is a programming directive. This tags are borrowed from the Microsoft ASP syntax rules and are commonly utilized in varied SAP WAS environments.

The applying you're going to create is a simple utility that can permit the user to checklist the contents of a table and to add new entries to the table. You might be going to have the next three BSP pages within the utility:
  1. default.htm. This would be the starting page of the application. It can present only hyperlinks to entry the opposite pages in the application.
  2. list.htm. This page reads the contents of desk ZWEBUSERS and presents them in a desk in HTML format.
  3. add_entry.htm. This page shows a kind for the person so as to add a model new entry to the desk and will course of the insertion of information when the person presses the submit button.

The Internet Control Framework

The WCF consists of a set of predefined controls oriented to ease the generation of Web layouts. The WCF supplies controls for page containers, tables, type components like record boxes, verify boxes, input fields, buttons, and so on.

Each Net management is actually a wrapper that automatically generates HTML when parsed by the BSP processor. The principle cause for utilizing Net controls instead of plain HTML is the benefit that they supply for associating programming events with controls. For instance, instead of dealing directly with all the rows of a table and inserting in all of them a type if you wish to make a user action on considered one of them to create an event,WCF controls mean you can suppose by manner of a full table to which occasions could be related.

The other benefit of Net controls resides in the uniformity of side and appearance of all the elements within the Net page.WCF makes intensive use of style sheets, thus ensuring that each one the elements of a Internet page have a constant appearance.

In the event you evaluate the HTML code in Determine eight-10 with the WCF code easy to see that the WCF code prevents the programmer from the necessity to handle the loop on the rows of the table. The default look of the table is also quite a bit better than the default look of a simple HTML . WCF controls can be immediately drag-and-dropped from the control browser within they left aspect of the Development Workbench to the page layout. That makes all the potential choices that a given management can have immediately available. Some options are immediately converted to HTML tags modifiers, and a few others are fairly advanced and can generate programming code meant to ease the event of superior applications.

Extensive documentation is included with the WCF. It may be accessed by double clicking the management for which you want information. The documentation comes in HTML format and is instantly served by the SAP WAS. WCF documentation may be very complete and has working examples for all of the controls . The Net software developer should always preserve it handy.

The WCF supplies a management-based mostly orientation that makes improvement simpler and converts the SAP WAS in a fast software development tool. The advantages it gives of consistency of programming and layout design ought to clearly compensate for the time invested in learning how all the controls might be absolutely exploited.


The ICF is the atmosphere that gives the application programming interface crucial for handling HTTP requests and responses at the HTTP protocol level. That is actually an object-oriented extension to the ABAP programming setting particularly created to offer the basis for enhancing the SAP system to be fully integrated with the Internet. The ICF is accessed by the use of an ABAP class that provides an interface to the HTTP dealing with functionality defined in the C SAP kernel.The classes of the ICF permit programming of generic Internet-oriented applications operating contained in the SAP system. Two points of view may be thought of when talking about Web-oriented purposes: Web purchasers and Web servers. Web consumer programming deals with generating HTTP requests and reading responses, whereas Net server programming is aimed toward interpreting requests and generating responses. Both duties are intently associated, and there are programming courses allowing the programmer to create both types of functions inside the SAP WAS.

The interplay mannequin between HTTP servers and purchasers has been introduced in part, “How the Web Works,” earlier on this chapter. Contained in the SAP WAS, for every request received, an object of type CL_HTTP_SERVER is created. This object will likely be filled with all the information that belongs to the request, and it could be accessed by the appliance by the thing interfaces. Packages oriented completely to receive requests are outlined as classes. The request will probably be processed by defining a technique referred to as HANDLE_REQUEST. It's necessary to associate this class with a given URL so that the strategy will be run at any time when this URL is called.The ICF thus supplies the necessary methods that are wanted for doing superior Net server programming on the HTTP protocol stage, as was defined earlier on this chapter . Corresponding get_* strategies additionally exist for reading knowledge coming from shopper requests.You probably have an in depth look at the window of transaction SICF, you additionally see that the BSP processor is there, as is the WCF entry and different handlers for requests of sort SOAP (Simple Object Entry Protocol) and WEBDAV. All these packages are made in ABAP with the Web performance given by the ICF. The ICF is thus the choice when there is a need for a more complex application or to extend the options and possibilities of the SAP WAS.

Configuration Choices

The configuration options associated to the SAP WAS are maintained as part of the instance profile, so it is potential to vary its worth with SAP transaction RZ10. The first parameter that you need to take into consideration is the parameter that starts the ICM process. The opposite parameters that affect the behaviour of the dispatcher and the configuration of the ICM can be modified there. The table of configuration choices given under is just not comprehensive and is likely to have been modified or enhanced in the manufacturing release of the SAP WAS. Within the release, some of these parameters will not be recognized by the syntax checker of transaction RZ10.
Nonetheless, most of them will work as described. It is usually attainable that some of these parameters will discover their manner into being considered parameters that may be changed dynamically (dynamic switching) as they deal largely with Net server (ICM) tasks. Thus, there needs to be no cause for them to require a full SAP system restart so as to be activated.

SAP WAS 5.0 FCS (First Customer Ship)

This model was released in November 2000 as a check preview model to help SAP prospects familiarize themselves with the new Net-oriented development model. It was built on a SAP foundation release 5.0A. The most important target was to combine the foremost elements for the development model: the ICF, the BSP engine, the MIME Repository, and the WCF. The HTTP and the HTTPS plug-ins have been practical, however they still lacked some Web server superior features. This launch was only for the Linux and the Home windows NT working techniques and just for the SAPDB relational database system.SAP WAS 6.10

This would be the official first release of the SAP WAS. This model is anticipated sometime on the third quarter of 2001. It will handle a few of the superior features that had been lacking or not fully practical in the preview version. These new features are:

  1. An XML/XSLT engine
  2. Purposeful SMTP plug-in
  3. Assist for the SOAP
  4. A graphical development device
  5. Enhanced event model
  6. Controls for developing WML functions for the Wi-fi Access Protocol (WAP)
As this is an official model, it will be released for all the operating methods and database platforms SAP often has supported. This model is the primary in which the previous SAP Basis part will be often called SAP Web Software Server.Future Orientation

The SAP ITS has been the most used Net-enabling part within the system. It's expected that every one ITS capabilities will in all probability be progressively integrated in SAP WAS, thus considerably simplifying the deployment of Internet-based mostly SAP applications. The ITS move logic method for creating Internet purposes is no longer essential, because the BSP-based improvement mannequin already covers this functionality. Though present flow logic applications might be maintained, it's strongly encouraged to make use of the BSP model for model new projects. Probably the most feasible enhancement to count on in future variations is full assist for Java functions programmed with Java 2 Enterprise Version ( J2EE) standard. Java assist, not only for development of Internet functions, will probably be built-in into the SAP system. Two development languages, Java and ABAP, will coexist, and Java could be used for all SAP developments, together with interfaces, administration, software logistics, and so on. The SAP WAS is strategically defined as the key piece for future application components. SAP Web Application Server and Business Server Pages thus helps to run the business in a a better way.

Related posts

sap internet transaction architecture
SAP internet transaction application components

SAP authorization and client administration in
Mysap web application server


No comments :

Post a Comment