Skip to Content
This is the second blog in a sequence of several about the Composite Application Framework. Please take also a look into the first blog What is the Composite Application Framework?

Working within a framework without proper tools is like taking a hot pot from the stove without mitts: you burn yourself, you’ll feel the pain for a long time, you lose time and it’s no fun. That’s why we have some tools for you to work with in SAP’s Composite Application Framework…

Anatomy of a Business Application

Simply speaking, a business application contains four main layers:

  • a layer where the data is stored (persistency layer)
  • a layer where the business logic is stored (business logic layer)
  • a layer where the business process is stored (business process layer)
  • a layer, which presents the data to the user (user interface layer).

All 4 layers interact with each other: the persistency layer stores data in and retrieves data from a database or storage that is received or requested from the business logic layer. The business logic layer receives data from the business process layer and the user interface layer shows the data that it retrieved from the underlying layer (the business process layer).

Confused? How was that again? OK, we can give you an example. We were able to record a conversation between those layers some days ago, here is a short extract of the transcript:

—snip—
Business Logic Layer: “Hey database, could you give me the items for Ms. Carter’s order from yesterday?”
Persistency Layer: “For you its always a pleasure! Let me see … voilà! Here are five items for Ms. Carter, sorted in alphabetical order, as you like it best.”
Business Logic Layer: “Thanks, that was quick. Now let me calculate the total price and convert it to $US. Business Process Layer, can you tell me if the items are available and hand the order over to shipping?”
Business Process Layer: “You should know in the meantime that with my good relations to all my business processes I can do that in no time. All 5 items are in stock (thanks Stocky!) and here goes the shipping!”
Business Logic Layer: “Don’t forget to inform the hydrogen-carbon-based life-form in front of the screen!”
Business Process Layer: “Yep, nearly forgot. Here is the information, UI.”
User Interface Layer: “What UI shall I dress the data in today ? I have nothing to wear.”
Business Process Layer: “Come on, your wardrobe is full of bar-charts, tables, lists,… and you still have nothing to wear?”
User Interface Layer: “It’s OK, I found something, I think I will dress in a light-blue list, with some nice dark blue buttons on the bottom.”
—snap—

The Composite Application Framework basically deals with those 4 layers and provides a toolset for each of them, either for design-time only or also in run-time. Of course there are other parts involved in the framework, but let’s focus on those four for now.
The toolsets are called:

  • Business Object Modeler (for the persistency layer)
  • Service Modeler (for the business logic layer)
  • Guided Procedures (for the business process layer)
  • WebDynpro & Webdynpro Patterns (for the user interface layer)

Business Object Modeler

Focus: talk business object, but don’t hassle with table-diagrams, SQL, authorization-mess etc.
With the Business Object Modeler, Business Objects, ValueSets and methods can be created. A Business Object consists of a couple of tables and methods and an EJB. The task of a Business Object is mainly to store and access data. Business Objects only contain life-cycle methods. Methods which have the characteristic of business logic or which are accessing data from other Business Objects will be created with the Service Modeler. The CAF object layer offers an object modeler to model the structure of the object, the relations, the mapping to XI proxies if needed and other technical and semantic properties of a business object. It provides an object metamodel (as part of the service metamodel), a generation framework to generate runtime implementations of business objects and runtime extensions for these objects like a data access framework.

Service Modeler

Focus: talk business logic, and cure the pain of finding the right APIs, selecting the programming language and deciding to Web-service, or not to Web-service?.
The CAF service layer supports creating all kinds of services through modeling, coding or a mixture of both. A service modeler, a service metamodel and a generation framework to create implementation of services out of the metadata will be offered.

Guided Procedures

Focus: talk business process.
Guided Procedures is a framework (design-time and run-time) which supports the highly interactive and dynamic scenarios in composite applications. It makes use of the underlying Java adhoc workflow engine but restricts the usage to a few simple patterns which can easily be understood and adopted by end users.

User Interface

Focus: talk reusable GUIs and forget costly user training for each new business application.
CAF leverages Java WebDynpro as the UI layer for composite applications. For achieving a homogeneous user experience UI patterns like the dashboard pattern, search pattern are developed and configuration screens are provided.

How Does the CAF Use and Leverage SAP NetWeaver?

The Composite Application Framework uses SAP NetWeaver as the underlying platform with all its services and tools like persistency, database- and OS-independence, transport logistics (DTR = Design Time Repository), collaborative development,… Furthermore, integration and leverage of functionality from KM, Collaboration, BI, EP and XI is also provided by the Composite Application Framework. The mapping of Business Objects and their methods to R/3-backends, 3rd-party and legacy systems is stored in XI; the Business Objects Document, Task and Discussion use functionality from and are stored in the KM; collaboration services are used from the integration platform; data-structures for BI are generated; and services from the EP (like user management, single-sign-on, etc.) are used.

Your ToDos

Now that I told you about all involved pieces, start getting familiar with the technologies involved. This will help you to understand the framework and where it really enables you and simplifies your life and your user’s tasks.

Coming to This Theater:

Next week we will have as our guest stars the object layer and the Business Object Modeler on this stage.

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Narcis Geafar
    Very good article. I am only missing the following:
    – we have R/3 systems and BW systems
    – what do I need to get started with all the apps (do I need to install some extra things?!, how do I start these components?!)
    I am having the feeling that this article should be read by somebody familiar with all these things in SAP.
    For somebody who is hearing this for the first time most probably will get confused as I am.

    People always should be able to materialze / visualize the tools. W/o these remains a nice talk.

    (0) 
    1. Mario Herger Post author
      Thanks fo the comment:
      The intent of my first weblogs is to give you a sneak preview of terms and technology that SAP is going to deliver. As we are currently finishing development and preparing all materials and documents, I thought it is a good idea to make you familiar with the vision, the terminology and the tools before the “official” materials hits you unprepared 🙂
      In my weblog for this week I will become more specific and give you a first screenshot and explanation of the Business Object Modeler. I will also shortly explain the integration with backends like an R/3- or BW-system.

      Mario

      (0) 
  2. Ashutosh Jain
    Great job Mario.

    Making something appear simple and easy (in first exposure) is so uncharateristic of SAP world. This article is a very good change.

    A quick question:

    We have SAP Enterprise running on WEB AS (6.2). Will CAF , be made availablle on WAS 6.2? Will it be a kind of extension or separate add on?

    Regards

    Ashutosh

    (0) 
    1. Mario Herger Post author
      Hi Ashutosh,
      the CAF is based on the current NW04-Release and that is WAS 6.40. That mens the CAF itself runs on 6.40, but in order to use backend-functionality and -persistency, the release (nearly) doesn’t matter. You use then JDO, JCO or Webservices.

      Mario

      (0) 

Leave a Reply