A BSP application is an independent development object that can be created and edited in the SAP development environment (transaction SE80).
Similar to a classic transaction, a BSP application consists of a user interface and business logic, which together forms a logical unit - the BSP application.
The user interface of a BSP application consists of:
Static Web pages
Dynamically generated Web pages, Business Server Pages (BSPs), or templates that contain server-side scripting and executed at runtime to generate a complete static Web site. In addition there may be controllers if the MVC design pattern is used.
Diverse MIME objects such as images, icons, sound files, stylesheets etc., which are part of a typical Web application.
All these objects are integrated as part of the BSP application into the Change and Transport System and are treated as the logical unit. This enables all objects in a system landscape that are relevant to a BSP application to be easily and consistently transported between SAP systems.
The business logic can be addressed from a BSP application as usual in the form of BAPIs, function modules, or class libraries. In addition, the BSP programming model provides a structuring tool, the BSP-Application class, which can be used to encapsulate the business logic functionality in the BSP application.
A BSP application consists of the following components:
Controller
Controllers contain business logic and application data. Controllers assess the data of an incoming request based on a model and then select a suitable view for rendering the response to the user, see also Model View Controller (MVC).
Business Server Pages
BSPs are the Web pages displayed when the application is used in the browser. BSPs can contain static HTML code and dynamic scripting code (ABAP or JavaScript). This scripting code is then evaluated on the server. The exact structure of a BSP is described in Building an BSP.
A page can have the following components:
Page with flow logic
These are simple pages with event handlers, but without application logic or visualization elements. It is possible to build a BSP application exclusively out of pages with flow logic and event handlers.
View
Views are used to visualize data, see also Model View Controller (MVC).
Page fragment
These are created like normal BSPs but then marked as page fragments. Other BSPs can also include these fragments using the include directive (see Include Directive).
Navigation structure
In the navigation structure you can define the pages which are to be navigated to and from for which navigation request.
Application class
The business logic of a BSP application is encapsulated in an application class. This class is implemented by a global ABAP class that enables access to business data, for example, using BAPI calls. Every page of a BSP application can directly reference the components of this class (attributes, methods, and so on) using the predefined Object application.
You can also assign an application class to multiple BSP applications.
For more information, see Applications Class of a BSP Application.
MIME Objects
In the SAP system all MIMEs such as graphics, style sheets (used to define format properties of single HTML tags), audio files, video files, and so on, are managed in a central MIME repository.
For every new BSP application, a directory of the same name is created in the MIME repository. This directory is used as a storage location for all application-specific MIMEs.