What is the Composite Application Framework?
Welcome to my first Weblog about the Composite Application Framework (CAF). Here I’ll give you our vision of what the CAF will be, at what stage it is now and how you can use it. For today I’ll give you some short and visionary explanations of the CAF, as I see it:
Vision in One Sentence
“Building business applications on top of other applications without writing a single line of code.”
Vision in a Couple of Sentences
Imagine a tool, which allows you to build business applications and not have to deal with SQL statements, creation of tables and their relations, selecting the right programming language, finding out about APIs and dealing with a whole bunch of standard stuff; but instead helps you focus mainly on the business logic, the UI, and reusing things other colleagues built. Do not waste your time with SQL debugging and porting a solution to another platform, use the Composite Application Framework. It will revolutionize the way SAP’s future business applications are built, as it did with SAP Business Information Warehouse and analytics.
Just create your Business Object, your Service, drag&drop them together to form complex objects with attributes, set some properties, turn on the language- and time-dependencies settings, map attributes and methods to existing applications if needed and you are nearly done. One click on the “Generate & Deploy All” button separates you from a fully running application, with your coding generated automatically, tables and relations created on the fly and the default UI as a result of your object definition.
And there’s more: you will be independent of the programming language. You have known SAP products for their ability to run on different operating systems and database platforms. Now with coding mostly generated, it will not be a problem to generate Java coding or coding in other programming languages and therefore you can run on your preferred platform.
A dream, a much too high-flying vision?
Well, yes and no, but that’s where the Composite Application Framework shall go; some of the stuff is on the way, to be released soon in its first version.
Official Definition (as found in the documentation)
Based on the SAP NetWeaver integration and application platform, the SAP Composite Application Framework (CAF) provides an environment for the design and use of composite applications which also include SAP xApps. CAF is based on the Enterprise Services Architecture and comprises an abstraction layer for objects, services, and processes as well as design tools.
The abstraction layer decouples systems from the world of business objects and services of composite applications. This ensures the exchangability of the underlying applications. In addition to reusable objects and services from existing applications, it is easy to define new ones. Finally, the abstraction layer allows for any service and object of the composite application to be able to communicate with each other. For example, a task, document, or appointment from a knowledge management system can be related to any business object, such as a customer from a Customer Relations Management system.
When developing composite applications reusability, automatic configuration and easy change management play an important role. Therefore, CAF features include design tools and process pattern libraries (guided procedures) as well as user interface patterns (with WebDynpro).
The abstraction of objects and services together with extensive pattern libraries enable business process building without programming to some degree. Altogether, CAF speeds up application development and the management of cross-functional business processes by combining the strengths of SAP NetWeaver’s open services with SAP’s competence in the business application context.