SAP Composite Application Framework

SAP Composite Application Framework (SAP CAF) is a composition tool in NWDS (SAP NetWeaver Developer Studio, an Eclipse-based IDE) and runtime on SAP Web Application Server Java for developing, testing, deploying, running and configuring composite applications. It is tightly integrated in the NetWeaver stack and is currently the tool of choice of SAP customers for developing an enterprise application's business logic layer, along with the pure JEE (Java Enterprise edition) development tools provided in NWDS. The CAF IDE tool has a strong model-driven architecture approach to development, resulting in rapid development of a system 's business logic layer.

Overview
Composite applications function by reusing existing functionality to provide a new service; in this they are principally similar to mash-ups, although the domain and business areas of mash-ups and composite applications can be quite different or even unrelated. CAF realizes this reuse by enabling the import, edit, mapping and composition of existing web services and RFCs (RFCs, remote function calls, are special types of ABAP functions that can be reused outside an ABAP system). Another reuse of existing functionality is achieved by CAFs integration with KM (Knowledge Management). KM is a SAP-specific document management system, which is also an integral part of SAP NetWeaver.

Other core functionalities of CAF include Application Services and Business Objects. Application Services are entities with various operations, usually reusing already imported resources (WS and RFC). Also, there can be operations defining new functionality and business logic. Application Services can be rapidly exposed as web services (this is achieved with a single click in the context menu of an Application Service in the IDE). Since these development entities are based on Stateless EJBs, their domain model can easily be reused by upper layers of an application- namely UI layer and Business Process layer. Theoretically, an Application Service can be viewed as an MDA abstraction and approach towards EJBs.

Business Objects (not to be confused with Business Objects, an SAP subsidiary company) are development entities which, as Application Services, have business logic, and also a data model, which can be either persisted in a local or a remote database. They reuse CAF Core data types. BOs are the tool of choice for modeling data objects in the current globally available SAP NetWeaver release.

CAF Core is a library module comprising standard data types and other pre-defined development objects. It enables rapid development, KM integration, and, through standardization, integration of CAF applications with non-SAP systems.

It is a misconception that CAF 'includes' Guided Procedures or any Business Process Modeling framework/tool whatsoever. In the NetWeaver stack, processes are in an upper layer; in fact, they are 'situated' above the UI layer.

CAF designtime is based on the Eclipse 3.2 tools platform.