Working with the Serverside Development
Infrastructure Client
The Serverside Development Infrastructure Client (SDIC) service provides a unified API for server-side development environments to allow them to interact with the NWDI. This allows location and service transparency. Any server-side development environment which needs to have integrated versioning or build or logistics support from NWDI has to use the SDIC service.
SDIC is a service which is server-aware and runs in an AS Java environment. Any Serverside Integrated Development Environment (SIDE) can be a client to the SDIC. SDIC is organized as follows:
● Configuration Layer
SIDE can configure SDIC according to its requirements. Also, call-backs can be registered by SIDE to receive information about certain operations which also act as flow modifiers.
● API Layer
Loosely divided into four parts, this layer provides a unified access to the NWDI components (DTR, CBS, CMS and SLD).
● Accessor Layer
Supplies the requests and interacts with the host libraries (DTR host, CBS host, CMS host and SLD host) to serve the requests. Typical flow modifications such as caching of state in a persistent store are raised by this layer through handling of events.
● Host Layer
This is the layer wrapping the remote host libraries for satisfying the client requests.
● Extension Mechanism
Extensions to the SDIC library can be plugged into the core using the Callback Mechanism of SDIC where listeners to events raised by the accessors are registered. SDIC is extended to handle a persistent state store using this mechanism.
The architecture of the SDIC has the following goals:
● Provide a unified API definition spanning all NWDI components that can be used by a server-side development environment.
● Support multiple development configurations for supporting a wide variety of server-side development environment requirements.
● Encapsulate host libraries of the different NWDI servers – DTR, CBS, CMS and SLD.
● Extensibility of the library flows to customize for specific server-side development environment requirements.
● Server-side awareness is expected in the design as it is primarily for use by SIDEs. This includes user authentication, thread safety, transaction handling, and connection pooling strategies.
Authentication and Authorizations
The users logging into SIDE should also have the relevant permissions on the NWDI server to use its services for operations such as check-out (from DTR), activate (from CBS) and release (from CMS). An SIDE administrator should also verify that these users have the required permissions on each of the NWDI servers.
The users should also be present on the UME database of the AS Java where the SDIC service is running. If you are using the LDAP server for user management, ensure that the SDIC user is available on the LDAP server.
SDIC uses Single Sign-On (SSO) authentication mode to connect to the NWDI servers. Once the user is authenticated on the SDIC server, an authentication ticket is generated and used for further authentication on any of the NWDI servers. Therefore you have to establish a trust relationship between the AS Java running the SDIC service and the AS Java running the NWDI.
SDIC maintains a store for the development configuration’s metadata for better performance. A state store primarily contains the information about the sync state of the resources for each of the SIDEs that choose to use this state store. Besides the sync state, SDIC also maintains the supported properties of the resources in the state store. However, the contents of all the resources are not stored in the state store. Content is purely managed by the SIDEs in its content store. Such information storage in the state store helps access to the state store resources faster.
You have to configure a scheduled task (using the SAP NetWeaver Scheduler for Java) which will automatically synchronize the state of the store with the current state of the registered development configurations. Note that you cannot update the development configuration for a single client or a single user only. All other SIDEs that use the same development configuration continue to use the older version of the development configuration until they are updated explicitly.
You can also choose to perform a set of relevant operations using SDIC for some of the changes in the development configuration. For example, when a new source compartment is added, a SIDE might want to sync the sources automatically when the development configurations are updated.
More information: