SAP Composite Application Framework

Last updated

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. [1]

Related Research Articles

Jakarta Enterprise Beans is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web container provides a runtime environment for web related software components, including computer security, Java servlet lifecycle management, transaction processing, and other web services. The EJB specification is a subset of the Java EE specification.

Jakarta EE Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components it is deploying.

Eclipse (software) Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

ABAP is a high-level programming language created by the German software company SAP SE. It is currently positioned, alongside Java, as the language for programming the SAP NetWeaver Application Server, which is part of the SAP NetWeaver platform for building business applications.

WebObjects Java web application server and framework originally developed by NeXT Software

WebObjects is a Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

BEA Systems Defunct corporation

BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products which was wholly acquired by Oracle Corporation on April 29, 2008.

Visual programming language Programming language written graphically by a user

In computing, a visual programming language is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

SAP NetWeaver is a software stack for many of SAP SE's applications. The SAP NetWeaver Application Server, sometimes referred to as WebAS, is the runtime environment for the SAP applications and all of the mySAP Business Suite runs on SAP WebAS: supplier relationship management (SRM), customer relationship management (CRM), supply chain management (SCM), product lifecycle management (PLM), enterprise resource planning (ERP), transportation management system (TMS).

Uniface (programming language) Low-code development platform

Uniface is a low-code development and deployment platform for enterprise applications that can run in a large range of runtime environments, including mobile, mainframe, web, Service-oriented architecture (SOA), Windows, Java EE and .NET. Uniface is used to create mission-critical applications.

SAP NetWeaver Application Server or SAP Web Application Server is a component of SAP NetWeaver which works as a web application server for SAP products. All ABAP application servers including the message server represent the application layer of the multitier architecture of an ABAP-based SAP system. These application servers execute ABAP applications and communicate with the presentation components, the database, and also with each other, using the message server.

Jakarta Persistence is a Jakarta EE application programming interface specification that describes the management of relational data in enterprise Java applications.

Micro Focus Unified Functional Testing

Micro Focus Unified Functional Testing (UFT), formerly known as QuickTest Professional (QTP), is software that provides functional and regression test automation for software applications and environments.

Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow service-oriented architecture principles. The technology, created by major software vendors, including IBM, Oracle Corporation and TIBCO Software, encompasses a wide range of technologies and as such is specified in independent specifications to maintain programming language and application environment neutrality. Many times it uses an enterprise service bus (ESB).

Web Dynpro (WD) is a web application technology developed by SAP SE that focuses on the development of server-side business applications. For modern releases the user interface is rendered according to the HTML5 web standard. Since Netweaver 754 a touch enabled user interface is available. The newly released versions usually follow the SAP Fiori design principles. One of its main design features is that the user interface is defined in an entirely declarative manner. Web Dynpro applications can be developed using either the Java or ABAP development infrastructure.

The SAP NetWeaver Developer Studio (NWDS) is an integrated development environment (IDE) for most of the Java part of SAP technology, mainly building business web applications, but also creating SAP Enterprise Portal projects and SAP Interactive Forms by Adobe. The official abbreviation Developer Studio is used seldom whereas NWDS is common, but unofficial.

The Accelerator is a collection of development solutions for IBM i and Windows platforms using .NET Framework, and/or LANSA, technologies provided by Surround Technologies. The Accelerator development architecture is a tool for building Windows and Web apps within a structured framework.

Canigó is the name chosen for the Java EE framework of the Generalitat de Catalunya.

BRFplus is a business rule management system (BRMS) offered by SAP AG. BRFplus is part of the SAP NetWeaver ABAP stack. Therefore, all SAP applications that are based on SAP NetWeaver can access BRFplus within the boundaries of an SAP system. However, it is also possible to generate web services so that BRFplus rules can also be offered as a service in a SOA landscape, regardless of the software platform used by the service consumers.

Oracle TopLink is a mapping and persistence framework for Java developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS, WebLogic, and OC4J servers. It is an object-persistence and object-transformation framework. TopLink provides development tools and run-time functionalities that ease the development process and help increase functionality. Persistent object-oriented data is stored in relational databases which helps build high-performance applications. Storing data in either XML or relational databases is made possible by transforming it from object-oriented data.

References

  1. Colleen Frye, Special report: Java EE 5 faces the SOA test, part 2, SearchWebServices.com, Dec 13, 2006