Service Implementation Workbench (BC-ESI-SIW)Locate this document in the navigation structure

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.

Note

You can use SIW also with older SAP NetWeaver releases. To do so, you need special adapters for remote service generation. For more information, see note 1503479 (SIW-Adapter: Generate SIW Objects Remotely).

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 Start of the navigation path Application Server Next navigation step Basis Services Next navigation step Generic Business Tools Next navigation step Service Implementation Workbench Next navigation step Define Configuration End of the navigation path or in the dialog of Service Implementation Workbench (transaction SIW) under Start of the navigation path GoTo Customizing (IMG) End of the navigation path. For more information, see under Dialog below in this document.

    Note

    We deliver example configuration classes and the related code templates for SAP Business Suite.

  • 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.

Recommendation

We recommend to you to assign to the service implementation developer role of SIW (SAP_BC_SIW_DEV). For more information, see Roles within SIW.

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 Start of the navigation path Application Server Next navigation step Basis Services Next navigation step Generic Business Tools Next navigation step Service Implementation Workbench End of the navigation path or in Service Implementation Workbench (transaction SIW) under Start of the navigation path GoTo Customizing (IMG) End of the navigation path. 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.

      Note

      If you delete a generated method and restart the generation of the corresponding project, the system creates this method again. Thus, it overwrites the deletion when you start the regeneration.

  • 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.

      Note

      If you use remote function calls for your service generation, you can use the Check Landscapes report to check and to validate the RFC-connections of the selected landscape ID. The report checks the RFC connections between the Service Implementation Workbench (SIW) system and the corresponding backend systems of a project. The check comprises the RFC connection to Enterprise Services Repository (ES Repository), the main RFC connection for implementation, and the alternative RFC connection for implementation. You can start the Check Landscapes report in the menu tab of the Service Implementation Workbench (SIW) transaction under Start of the navigation path Goto End of the navigation path.

    • 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.

Note

For API-based services, you can only use these APIs, if a mapping populator is available and if the mapping is complete.

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/soaInformation published on SAP site.