Service Implementation Workbench (BC-ESI-SIW)
Use
In today's world of Service-Oriented Architecture (SOA), companies need to quickly build up new, standardized, flexible, and innovative business processes that are easy to adapt to specific business situations and requirements. For this purpose, they need to define and to implement services that ensure reusability of business functionality and thus support enhanced agility in responding to market changes.
Enterprise services meet these requirements due to their characteristics. Up to now, companies have created and implemented not standardized services, one by one in a sophisticated development process. The implementation of such services was time-consuming and costly.
Service Implementation Workbench (SIW) enables you to create, implement, and re-create enterprise services quickly and easily in a semi-automated and guided process. It offers you a single point of entry for your service development. Thanks to systematic and simplified monitoring and guided mapping support it helps you to avoid additional monitoring overhead and recurring manual tasks during the whole development process and after implementation. By using standardized templates and reusable coding, it improves quality, speed, and harmonization of service implementations.
SIW supports different types of service creation processes, the outside-in approach (proxy-based service creation type Proxy-based) and the inside-out approach (API-based service creation type). For more information, see Services within SIW. The tool uses projects to organize the service implementation process. A project is based on a configuration and contains the specific data of this service.
Implementation Considerations
To use SIW, you must ensure the following:
-
For each required service creation type, a corresponding configuration class must exist. Each configuration defines describes which objects are generated and describes them directly or by using code templates. You can check their availability in Customizing activity Define Configurations. You find this activity in Customizing in SAP NetWeaver Implementation Guide under or in the dialog of Service Implementation Workbench (transaction SIW) under . For more information, see under Dialog below in this document.
-
You need development authorization to edit SIW projects and generate objects. The system checks the authorization object S_SIW_CFG. For more information, see its system documentation in transaction SU21.
For API-based service development
To use SIW for the creation of enterprise services, you must have established a remote function call (RFC) connection from your SIW system to the system where the ES Repository is located in.
In addition, you must have registered an RFC-connection in Customizing, if your backend system is different from the system in which SIW is located in.
You do both in Customizing activity Define Landscapes, which you find in Customizing in SAP NetWeaver Implementation Guide under or in Service Implementation Workbench (transaction SIW) under . For more information, see under Dialog below in this document.
Integration
To use SIW for the creation of enterprise services, you need the Enterprise Services Repository.
Features
Depending on the service creation type, SIW supports you either during the whole process from service definition to service implementation and administration or only in some parts, as follows:
API-based Service Creation and Implementation (with ES Repository)
For this service creation type, SIW provides the following features:
-
Definition of the service signature
The service signature is based on an existing application programming interface (API) method that executes the business operation (for example a function module). The definition includes the generation of a draft signature and its manual refinement (mapping).
-
Generation of the service in the ES Repository System
This includes the creation of intermediate data types (IDTs), message types, service operations, and service interfaces.
-
Creation of ABAP proxies (including all proxy types) in the ABAP backend system
-
Guided mapping
SIW supports you to map ABAP Data Dictionary (DDIC) types to global data types (GDTs) and intermediate data types (IDTs). It offers name proposals for the ABAP proxy types for the mapping between the proxies and the data repository of the backend system (DDIC structures).
-
Generation of objects for service implementation in the ABAP Repository
-
Integrated Navigation to ES Repository
-
Integrated Navigation to the SPROXY transaction
You can use the SPROXY transaction also for testing your generated services.
For more information about the whole process of this service creation type, see Service Creation and Implementation (API-based).
Proxy-based Service Creation and Implementation
For this service creation type, SIW provides the following features:
-
Generation of objects for the service implementation
These objects are based on existing ABAP proxies.
-
Reading of service metadata
-
Integrated Navigation to SPROXY transaction
-
Integrated Navigation to the ES Repository
For more information about the process, see Service Creation and Implementation (Proxy-based)
Dialog
You can either edit your projects in the dialog or by using Application Programming Interfaces.
In the dialog all projects are organized in the project tree. For more information, see The Project Tree.
In the dialog, SIW offers you the following transactions:
-
Service Implementation Workbench (SIW) Transaction
Using this transaction you can do the following:
The Service Implementation Workbench transaction also offers you two different overviews:
-
Object Preview
SIW displays the information, which objects are to be generated within the corresponding project in the Object Preview.
-
Overview of all Generated Objects
SIW displays the information, which objects are already generated in the Generated Objects list.
-
SIW_Monitor Transaction
Using this transaction you can do the following:
-
Search for Projects or Objects by Attributes, ID or Name
The SIW Monitor transaction helps you to find projects on the basis of their objects, their attributes, and their project context variables.
-
Mass Monitoring
The SIW Monitor transaction enables you to monitor the current status of services (mapping status, overall status of the project, Unit test status) and to regenerate your service implementations for all service variants if you want to post-update them. You can either regenerate objects one by one or in a mass update, either in the dialog or by integrating the SIW Monitor report into your background processing.
-
Unit Tests
The SIW Monitor transaction executes ABAP unit tests if such checks are element of generated objects.
-
Automated Service Generation
The SIW Monitor report automatically generates services that do not have the status up to date, if you integrate it into your background jobs. This includes the creation of various types of ABAP repository objects, which coding slots you can manually implement afterwards. These adaptations are not overwritten by later regenerations. The system does not overwrite either new methods that you add to already generated classes.
-
-
Customizing
-
Define Landscape
In this Customizing activity, you determine the names of the RFC destinations relevant to your landscape. You need to do this, if you want to perform remote service generation using Service Implementation Workbench. That is the case, if your backend system is different from the Service Implementation Workbench host system. For API-based services, you also need this Customizing activity to establish the connection to the ES Repository, also when working locally.
-
Define Configurations
In this Customizing activity, you determine configurations for your Service Implementation Workbench projects by entering a configuration ID and description, a configuration class, and the relevant landscape ID. The landscape ID is essential for remote generation.
-
Application Programming Interfaces (APIs)
In addition to the dialog transactions, SIW offers you two application programming interfaces to edit projects:
-
The IF_SIW_PROJECT_API interface allows you to handle multiple SIW projects and frameworks at the same time.
-
The IF_SIW_SERVICE_API interface allows you the complete automated maintenance of enterprise services.
Transport
SIW automatically writes transport entries for the created service proxies or virtual interfaces, and for all generated or regenerated objects. If necessary, you can also transport whole SIW projects without the generated objects by using the SIW Monitor transaction.
Constraints
With SIW you can define and implement services of the API-based service creation type. You cannot define enterprise services of the proxy-based service creation type within SIW. You must do this before outside SIW in the ES Repository or in another external tool.
More Information
For more information about Service-Oriented Architecture, see SAP Developer Network (SDN) https://www.sdn.sap.com/irj/sdn/soa
.

