Show TOC

Background documentationComposite Application Layers Locate this document in the navigation structure

 

SAP NetWeaver CE consists of multiple composite application layers. Some layers offer alternative technologies to let you choose the one that is best suited for your project. The following graphic shows the purpose of each layer and the technologies they offer:

This graphic is explained in the accompanying text.

Composite Application Layers and Corresponding Technologies

Portal Layer

Within the portal layer, the user interfaces and processes are provided in a role-based manner using the Work Center and Control Center concepts.

The smallest visible unit in the portal is an iView (portlet), the basic element of a portal page. It is a small application that retrieves information, processes it, and displays it in the portal. You can use iViews to integrate your composite applications into the portal pages.

More information: Integrating Applications into the Portal

Process Layer

Within the process layer, you define the process steps, the sequence in which they are executed, the roles that execute them, and how the context data of a process is passed between the process steps. You can design processes according to your needs either with the Process Composer or Guided Procedures.

Process Composer

The process composer is a component of SAP NetWeaver Business Process Management (BPM). It is integrated into SAPNetWeaver Developer Studio as a separate perspective and provides BPMN (Business Process Modeling Notation) based process modeling capabilities. This notation allows easy and intuitive process modeling both for business analyst type of users and developers in one common environment. The process composer supports all stages of process modeling from high-level definitions of the process down to the enrichment for the actual development into deployment and execution. Life cycle aspects, for example, versioning and transport, are fully supported through SAP NetWeaver Composition Environment.

BPMN model is a process model that includes a small set of graphical elements and connectors representing the process flow. A process model can describe also a more complex business process that includes different subprocesses producing results that the main process use to reach its goal. BPMN goes further with allowing the process model to show exactly who does what by separating respective events and activities in a graphically differentiated area. SAP’s BPM notation differentiates activities into human and automated activities. Human activities trigger tasks, which are executed through business users, whereas automated activities allow Web services to be executed and therefore provide full integration into SAP’s enterprise SOA enabled business applications.

Guided Procedures (GP)

GP is a framework for composing user-centric process flows. It offers the means to bond diverse back-end applications and services into a single business workflow. It provides role-based access to resources and guidance through the workflows at runtime, thus, helping end users to identify and complete their tasks easily.

Guided Procedures provides a dashboard that allows users assigned to the relevant role to monitor the entire process. The individual work items of each involved user are available in their GP inbox. Exactly one action is executed within each process step. An action is a wrapper around a callable object (user interface or service) with input and output parameters that can be used to pass data across the process context. Actions decouple process steps from services and user interfaces to allow business experts to model processes at a non technical level.

User Interface Layer

This layer provides the user interface (UI) within a composite application.

User interfaces consume Web services either from the business logic layer or the back-end layer to retrieve and update data. They do not contain any business logic. UI and business logic decoupling is implemented by using services of the business logic layer only. User interfaces are integrated in the overall composite process by being wrapped into a callable object.

Visual Composer

Visual Composer is a Web-based graphical tool that enables users to model components (composite views and complex data services) that serve as part of composite applications. Data services – such as BAPIs, RFCs, Web services, SAP enterprise services, or other Visual Composer components – interact with the underlying layers to serve as data sources.

Components modeled in Visual Composer are saved on a central Application Server (AS) Java and can be deployed from there to any other AS Java instance. Visual Composer models are compiled into General Modeling Language (GML) code for subsequent deployment. At runtime, the GML code of the deployed models is interpreted by the relevant runtime engine.

Web Dynpro for Java

Web Dynpro for Java is a client-independent programming model for creating complex user interfaces. In comparison to the Visual Composer, you can also create user interface (UI) elements dynamically and you have full control over every UI element.

The key features of Web Dynpro for Java include several connectors to the business logic layer (Web services, CAF Application Services, BAPIs, RFCs), a fully-integrated infrastructure in SAP NetWeaver Developer Studio and the software lifecycle of the SAP NetWeaver Development Infrastructure, the integration with Business Process Management and Guided Procedures, dynamic UI element generation, clear separation of UI layer and business logic layer (using RFCs and Web services), and personalization of views.

Due to the lower degree of model-driven UI development Web Dynpro Java requires developer skills.

SAP Composite Forms by Adobe

SAP Composite Forms are used for all form-driven process steps within a composite application. They may be implemented as online or offline forms. Online forms are used whenever system access is essential, for example, for value help or data validation. Offline forms are used whenever a system connection is not available or desired.

Business Logic Layer
Composite Application Framework

Within the Business Logic Layer, the business objects (BOs) specific to the composite application are implemented. Business objects encapsulate reusable functionality and may expose services. These services can be either local or remote if published for reuse by others.

An Abstraction Layer is not required but recommended to keep higher layers independent from service implementation details and to make them more flexible. If the services used are configurable, it is useful to have an Abstraction Layer that deals with the configuration rather than to have these configurations performed in the Business Logic Layer. Technically, there is no difference between the Business Logic Layer and Abstraction Layer, it is just a question of design.

From a model-driven aspect, the Composite Application Framework (CAF) should be used to model the business objects (attributes, nodes, and services) and generate and manage the local and remote persistency of the business objects. This helps to reduce manual coding and to get faster and safer results.

Developing Java EE 5 Applications

A valid approach to implementing business objects within this layer is using the Java EE 5 open-standard technologies. In addition to the inherent portability, the latest edition of the platform provides you with a lightweight persistence framework (Java Persistence API) and simplified business logic components (EJB 3.0). With the option to expose your enterprise bean objects as Web services, you can easily consume your Java EE 5-based services in CAF, or directly in the process and user interface layers of a composite application.

Back-End Connectivity Layer

The back-end connectivity layer provides composite applications with transparency regarding implementation specifics of the services in the back end it communicates with. Web Services are the recommended technology for connecting composite applications to target, enterprise SOA-based back-end systems. Back-end independency keeps the composite applications flexible and reduces the effort otherwise needed to adapt to different back-end systems. For this reason, composite applications should be loosely coupled to the components on which they are based, and act only as clients of the enterprise SOA services.

Enterprise Services Repository & Registry

The Enterprise Services Repository (ES Repository) and the Services Registry play a central role in an enterprise service-oriented architecture (enterprise SOA). With both of these you can access information on services in your system landscape centrally:

  • In the ES Repository you maintain services top-down to the level of data structures without the need to specify details that are specific to a given system landscape. The frontend of the ES Repository – the Enterprise Services Builder (ES Builder) – provides graphical editors in order to not only design your services, but also to model how they interact with each other. Both provider side and consumer side can be modeled and designed.

  • In the Services Registry information about services provided in that landscape is maintained, with references to the services’ relevant WSDL metadata and to the locations of the callable service endpoints. Therefore, the information is tied to a given system landscape and has the focus on the service provider side. The registered services are classified using semantic-rich classification systems to enable browsing of services by classification.

While not all composite applications technically need the ES Repository its main benefit is the reuse of standard content which will reduce development efforts in the long run significantly.

Additional Information

If you are not familiar with the general concepts and frameworks related to composite applications, you may read the paper Guidelines for Specifying Composite Applications. It describes concepts such as process flow, roles, user interfaces, business objects, and services in a less technical fashion.

The article is available at SAP's Community Network Web site at https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/20844e88-0d01-0010-de9a-eb2d302df7b7 (registration may be required).