At the Process layer, the tool is known as Guided Procedures (GP). GP is a tool for functional people or business process experts (BPX) to compose business processes using a collection of user interfaces (UIs like WebDynpro, BSP, html, even R/3 transactions,…) or services (BAPIs, Web services, Java classes…) and define the process flow and data flow in an environment to is code-free. GP has a design time and a runtime. You design and run. And if you want to change the process you edit and run again. No coding at this level.
At the Service layer, the tool is known as CAF Core. It's a tool for technical people or enterprise architects to define the services that the UI or process layers would consume. In CAF Core you can define Entity Service to represent the data model of your application. You can also reference the entity to a remote persistence system as opposed to being local. For example my composite needs to manipulate customer info but my customer information already is persisted in R/3, then you can define the customer entity in CAF Core and reference the R/3 customer info via a BAPI or Web service. CRUD (Create/Read/Update/Delete) methods are automatically generated for each entity and you can interact with them either via UI Patterns or Web service. No coding is required so far.
If coding is required it's because of there's a need for additional logic and you can represent that into an Application Service that will encapsulate the entity service with the additional code and will be accessible to the UI or process layer via UI Patterns, Web services or CAF Application Services. At this point coding is required.
This was first published in November 2006