SAP Cloud SDK
GitHub Repositories
• SAP Cloud SDK Learning Journey GitHub repo
• https://github.com/SAP-samples/cloud-sdk-learning-journey.git
• Business Partner API (Mock Server) GitHub repo
• https://github.com/SAP/cloud-s4-sdk-book.git
• Sample SAP Cloud SDK application GitHub repo
• https://github.com/miltonchandradas/cloudsdk.git
About the SAP Cloud SDK
• Set of libraries and tools to build cloud-native applications on SAP BTP
• Abstracts complexities of SAP BTP – Focus on business logic
• Capabilities
• Connectivity abstractions for SAP BTP – handling destinations, proxies,
authentication
• Common resiliency patterns such as retry, circuit-breaker etc.
• Multi-tenancy support
• Typed clients for OData and OpenAPI services
Products using the SAP Cloud SDK
• SAP Cloud Application Lifecycle Management
• SAP Cloud Application Programming Model
• Recommended for building APIs (OData, REST, Messaging)
• Consuming and emitting enterprise messages
• Depending on use case – you can use SAP Cloud SDK and CAP individually or
in combination
• SAP Cloud for Real Estate
• SAP Portfolio and Project Management
• SAP Business Technology Platform Workflow
SAP BTP Connectivity
• Cloud Foundry environment
• Connectivity Service – Connectivity proxy to access on-premise resource
• Destination Service – Retrieve and store technical info about target resource
I want to… Services required
Connect to publicly available Services Destination Service
Connect to On-Premise Services Destination Service, Connectivity Service
Destinations
• In SAP BTP, destinations are managed separately from application
code
• Destinations can be retrieved through Destination Service at runtime
• Benefits of separating destinations and application code
• Securely store authentication information
• Update target resource technical info without modifying code
• Different environments may want to configure different systems
• Multiple applications might want to access the same system
• Execute arbitrary requests, OData requests, send emails etc.
What is batch processing ?
• Allows grouping of multiple operations into a single HTTP request
payload
• Submitted as a single HTTP POST request to the $batch endpoint of a
service
Format of a Batch Request – Request Body
• Ordered series of GET operations (AND / OR)
• ChangeSets
What is a ChangeSet ?
• Unordered group of CUD operations
• Atomic unit of work
• Cannot contain GET requests
• Cannot be nested (ChangeSet cannot contain a ChangeSet)
• Represented as a distinct MIME part
• Separated by boundary marker defined in Content-Type header
Example of Batch Request Body
• GET request
• Change Set A
• Insert
• Update
• Change Set B
• Insert
• Update
• GET request