This article aims to provide you with some behind-the-scenes insights into the various engineering excellence initiatives implemented by the Google team during the journey of creating the ABAP SDK for Google Cloud.
The ABAP SDK for Google Cloud is a set of tools and libraries that makes it easy for ABAP developers to build applications that use Google Cloud services. Google developers faced the key challenge of keeping the SDK interface simple enough and uniformly streamlined. The key goal was to enable subconscious programming for ABAP developers to consume the Google Cloud APIs, while hiding the complex underlying features related to connectivity, authentication, error and exception handling, data marshaling, logging etc.
In other words, we wanted to make it easy for ABAP developers to use the SDK without having to worry about the complicated details.
As defined by Google:
“Google Cloud APIs allow you to automate your workflows by using your favorite language. Use these Cloud APIs with REST calls or client libraries in popular programming languages. “
Google also provides Enterprise APIs which are High-stability APIs and ready for enterprise use.
API Library is a fantastic resource for learning more about the different API offerings, their capabilities, and pricing details. Google APIs Explorer is a great tool that allows you to experiment with Google APIs without writing any code.
Google Cloud APIs are designed using resource-oriented design principles. At the lowest level, service resources are the fundamental components that make up all Google Cloud services. Examples of service resources include Compute Engine Virtual Machines (VMs), Pub/Sub topics, Cloud Storage buckets, App Engine instances. The API design guide and Resource hierarchy in detail are good source to read for more information.
As a good practice an API should always be coupled with a specification which describes the basic functionality and the expected behavior of the API.
Discovery Documents are used to describe most Google Cloud APIs. Similar to the OpenAPI specification, a Discovery Document is a machine-readable specification for describing and consuming REST APIs.
ABAP SDK for Google cloud provides the API Client stubs(ABAP classes) which are constructed referring to these Discovery Documents. These API client stub for ABAP, act as the first interaction layer for an ABAP developer who wants to call any Google Cloud API. These client stubs will mirror the APIs functionality and make it natively available for ABAP developers to seamlessly consume.
The ABAP SDK was designed by Google developers to simplify the use of Google APIs in SAP and provide a frictionless developer flow for ABAP developers. As a result, when you use the SDK component in your ABAP code, you will experience thoughtful engineering excellence in every part of the SDK.
Here is a bird’s eye view of some of the engineering excellence features built within the SDK to enrich the ABAP developer’s workflow: (You can also read more in this detailed application development guide😞
Google Cloud APIs use JSON for request and response payloads. These APIs can perform a variety of operations(methods) on the resources . The schema for these payloads is well-defined in the APIs discovery document. Making these JSON schemas available to developers in a familiar ABAP format was an interesting challenge to solve. One option was to create corresponding DDIC objects to represent the JSON objects, but this would definitely clutter the object list as we horizontally scale to more APIs being enabled within the SDK. The Single-Window of Interaction guideline mandated us to keep the design lean and relatable. Therefore, keeping all the tightly coupled components within the ABAP client stub helped to continue with the lean design of implementing the API client stubs.
A typical API client stub class consist of the following sections:
Below is an example of interaction with Pub/Sub API using the 5 pointer interaction flow approach. This flow will be a consistent pattern used for interacting with any Google Cloud API. The SDK provided code wizard tool serves as a helping hand for the developer to generate this templated code.
The API client stubs are also enriched with inline description, which assists in writing code using ADT tools. The ABAP class methods are supplemented with ID which relate to the API’s schema and methods. This helps further streamline the developer flow.
Developers can use this linkage to quickly study more about the Google Cloud API method and understand the request and response constructs.
I hope this article has given you a sneak peek into the coding and engineering capabilities that the SDK has to offer to SAP developers. If you are an ABAP developer and you want to try it out, you can follow the installation and configuration guide. The SDK is offered free of charge, but you will be charged for Google API usage. If you do not have a SAP system available, you can always follow this article to quickly set up ABAP Platform Trial 1909 (Docker) on Google Cloud Platform and evaluate the ABAP SDK for Google Cloud.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Subject | Kudos |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
User | Count |
---|---|
6 | |
5 | |
3 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 |