Are there any additional frameworks integrated in the Composite Designer?
Yes, there are several quite interesting and useful frameworks that help you a lot when you develop your composite application.
Extensibility Configuration Framework
The extensibility configuration framework demonstrates an innovative conceptual approach, which allows different interface implementations of the application parts to be exchanged during the runtime of an application.This would save a lot of time for you when minor changes in the application behavior are necessary.This framework represents the terms extension point and extension.To exchange application parts, first you need to define extension points in your application. An extension point is a reference to a development object interface of a redirectable technology.The extension point allows exchanging, or actually redirecting to different interface implementations during the runtime of an application.The usual scenario is that you create an extension point in your composite application (product) and then you ship it to your customers. Then the customers create extensions in their composite applications (products).You can create extension points for the interfaces of the following development objects:
- Enterprise JavaBeans (EJBs)
- Composite Application Framework (CAF)
- Web Dynpro (WD)
In the (Individual) Adobe Interactive form (AIF) use case the extension point is not an interface, it is a single form marked as extensible.
To create an extension point there must be at least two development objects of one of the above types, as there must be a relation between them. If there are no limitations such as in the CAF use case, you create the relation using the relation wizard in Composite Designer.
The picture below illustrates the integration with the Composite Designer as you create the extension point namely from there. You need to select the available relation between the objects and from the context menu you create the extension point.
Once your application is shipped to your customers, and they decide some minor changes need to be made for the runtime of the application – they can create additional interface implementations for the specified extension points. The additional interface implementation is called an extension. For one application it is possible that you have several extensions for one interface.
For example, your application has a Web Dynpro based user interface (with defined extension points) and it is shipped to your customers. But one of your customers requests a slightly different user interface that fits into an already established company outlook. So using the extensibility configuration framework, the application user interface which is implemented using Web Dynpro development objects can be modified in a way that meets the customer’s needs.
In a similar case, your application has Java EE based business logic (with defined extension points) and it is shipped to your customers. A customer requests a small modification of the business logic to comply with specific state or local financial regulations. Then using the extensibility configuration framework, the implementation of several business logic development objects can be exchanged to comply with the regional or company regulations such as calculating the company year taxes (bonuses), tracking personnel vacations, and so on.
The picture illustrates an example how you have already created several extensions for Bean 2, but the example is done within one composite application only. The usual scenario might be different. The aim here is to show you how the extensibility configuration framework is integrated in the Composite Designer user interface.
There is, of course, a possibility to select which of the available extensions to be executed at runtime. This relates to which extension is deployed last, and also whether the extension is activated or deactivated during the design time. Additionally, in a team development, a deployed extension with the highest time stamp becomes active. The Time Stamp is the exact time of the last design time activation for each extension.
Another feature is the possibility to monitor the available extension points and extensions using the SAP NetWeaver Administrator. This monitoring is done after the components containing the extension points and extensions are deployed on your AS Java.
The future plans for the Extensibility Configuration Framework is that it covers most of the technologies available in the Composite Designer, so the customer can take advantage of its functionality for a wider set of technologies.
To receive a more detailed view and to understand the concepts of this framework, you can have a look at the official documentation:
For detailed information you can review the official documentation of the Extensibility Configuration Framework.
Additional integrated framework in the Composite Designer is the Search Console. It allows you to connect to various backend systems and to find already existing services that can be imported and used in your composite.Search Console is a central location which allows you to discover different development artifacts. The console is an extensible tool which comprises multiple search functions and enables you to discover the artifacts that are developed with the corresponding toolsets. Using the Search Console you can browse for service interfaces on systems of the Solution Composer, also Java EE Web services in the local workspace, and remote function call modules (RFC) on AS ABAP business systems.
The picture below illustrates the outlook of the Search Console that is displayed in the Composite Designer.
Once the service is found you can directly drag it from the “Results” window of the Search Console and drop it in the Composite Designer graphical overview.
The following picture shows an example case for a search result that you can easily drag and drop on the graphical overview.
For detailed information about how to use the Search Console you can review Browsing Services in Search Console.
The Composite Designer is not the only perspective from which you can start and use the predefined templates.
The aim of the predefined templates is to automatically generate parts of applications. The applications often implement well-known patterns that haveto be reused many times by developers, and in most cases, this requires writing a lot of code and executing many manual steps in the Developer Studio.The Composite Designer allows you (as a developer) to produce development artifacts automatically, generated by predefined templates and to develop your application faster. You can easily customize the generated artifacts according to the specific needs and purposes of the different business applications.Each template provides some fragments of your application, or an entire application. By applying these templates you can generate essential parts of an application — from database operations to the user interface.
The following picture represents how you can apply a template for a JPA Entity from the Composite Designer.
The next picture prompts you to select from the available templates – for example – a session bean CRUD façade.
For detailed information about how to work with predefined templates you can review Generating Applications Based on Predefined Templates.