In technical implementation terms, the SAP NetWeaver Developer Studio is made up of three software layers:
· The Eclipse platform, an integration platform for all the plug-ins
· The SAP Tool Integration Framework
· A range of toolsets
The main toolsets and the associated software layers of the Developer Studio are summarized in a single graphic below:
Eclipse provides a set of generic IDE functions for developing and integrating plug-ins. The SAP NetWeaver Developer Studio sits on this platform with the framework layer, which is designed specifically for tool integration. Thus the framework forms the basis for the integration of the SAP tools and consists of two components: The Model Abstraction Layer and the Tool Service Layer.
The Model Abstraction Layer is a generic layer that provides the foundation for both the graphic connection and for representing design time objects at a logical level. This layer is thus an abstraction of the physical files and folders of the objects involved.
The Tool Service Layer sits on both the Model Abstraction Layer and directly on the Eclipse platform. It provides a variety of convenience layers for consistent, uniform tool integration.
The UI Toolkit forms an additional layer in the UI programming model for plug-ins, based on the Eclipse standard model SWT and JFace. The UI toolkit was designed to standardize and simplify the basic steps involved in creating plug-in user interfaces.
In addition, the features of the standard XML, JSP, and HTML Editors were extended. Thus, for example, the XML Editor now includes DTD validation and supports schema-based editing (using XMLInsight). It can also be implemented flexibly as either a standalone editor or as part of a multipage editor.
The implementation of multipage editors for XML files was standardized and simplified using framework functions.
To provide a general action concept for the internal requirements of tool integration, we created the action and menu framework. This framework clearly separates the action function from its visual representation. A particular feature of this framework is that it supports both the Eclipse standard technology and generic UI programming based on the Model Abstraction Layer. This means that actions can be associated not just with the usual SWT/JFace objects such as buttons, menu items, or toolbar items, but with any model element.
The Model Viewer provides a generic UI component for tool integration and represents the element model API in visual form. The Model Viewer orders its elements hierarchically in a tree structure and provides in particular many of the functions usually associated with tree viewers. That is, the Model Viewer possesses the basic generic functions that enable you to implement specific viewers for representing project structures.
The Service Layer also includes special APIs, such as those for archiving, logging, and tracing. All tools can be connected to a tracing configuration easily and in a standardized way.
The Developer Studio offers a range of tools covering all aspects of application development. As is usual in Eclipse, the associated tools are generally bundled together in Perspectives according to the task at hand.
For a short overview of the uses and features of each toolset, refer to the following documents as appropriate: