302 lines
8.4 KiB
Markdown
302 lines
8.4 KiB
Markdown
# SAP BTP Partner Development Reference
|
|
|
|
## Overview
|
|
|
|
SAP BTP provides deployment options for partners (ISVs) to build and deliver ABAP and CAP-based applications as products or SaaS offerings.
|
|
|
|
## Deployment Models
|
|
|
|
### Multitenant SaaS
|
|
|
|
**Definition**: Cloud service operated in partner's global account
|
|
|
|
**Characteristics:**
|
|
- Partner owns infrastructure
|
|
- Customers subscribe to service
|
|
- Partner manages operations, monitoring
|
|
- Customers get key-user extensibility
|
|
|
|
**Advantages:**
|
|
- Single codebase for all customers
|
|
- Centralized operations
|
|
- Easy updates (deploy once)
|
|
- Lower per-customer costs at scale
|
|
|
|
### Add-on Product
|
|
|
|
**Definition**: Product installed in customer's ABAP environment
|
|
|
|
**Characteristics:**
|
|
- Customer owns infrastructure
|
|
- Customer manages lifecycle
|
|
- Customer has full data control
|
|
- Developer extensibility available
|
|
|
|
**Requirements:**
|
|
- SAP PartnerEdge Build contract
|
|
- Distribution via SAP Store
|
|
- Registered ABAP namespace
|
|
|
|
## ABAP Partner Development
|
|
|
|
### Landscape Portal
|
|
|
|
**Purpose**: Central management for partner solutions
|
|
|
|
**Capabilities:**
|
|
|
|
| Feature | Description |
|
|
|---------|-------------|
|
|
| System Management | Create, configure ABAP systems |
|
|
| Tenant Management | SaaS tenant operations |
|
|
| Product Lifecycle | Build, register, publish products |
|
|
| Deployment Pipelines | CI/CD for ABAP |
|
|
| Monitoring | System and application health |
|
|
|
|
### Software Components
|
|
|
|
**Requirement**: At least one software component per solution
|
|
|
|
**Rules:**
|
|
- Registered ABAP namespace mandatory
|
|
- Y*/Z* objects only within single global account
|
|
- Multiple global accounts require add-on products
|
|
|
|
### Transport Mechanisms
|
|
|
|
| Tool | Use Case |
|
|
|------|----------|
|
|
| gCTS | BTP system-to-system transports (recommended) |
|
|
| abapGit | On-premise migration, backup, cross-account |
|
|
| Landscape Portal Products | Multi-account delivery |
|
|
|
|
### Namespace Requirements
|
|
|
|
**Mandatory**: All objects in a Product require registered namespace
|
|
|
|
**Process:**
|
|
1. Request namespace from SAP
|
|
2. Register in development system
|
|
3. Use namespace prefix for all objects
|
|
|
|
## CAP Partner Development
|
|
|
|
### Poetry Slam Manager
|
|
|
|
**Type**: Reference application for multitenant CAP SaaS
|
|
|
|
**GitHub**: [https://github.com/SAP-samples/partner-reference-application/](https://github.com/SAP-samples/partner-reference-application/)
|
|
|
|
**Demonstrates:**
|
|
- Full-stack cloud applications using SAP Cloud Application Programming Model (CAP)
|
|
- Multitenant architecture aligned with SAP BTP Developer's Guide
|
|
- ERP-agnostic design (compatible with S/4HANA Cloud, Business One, Business ByDesign)
|
|
- Subscription lifecycle management
|
|
- Cost optimization patterns
|
|
|
|
**Tutorial Structure:**
|
|
1. Core application development (business models, logic)
|
|
2. Enhancement to multitenant (multi-customer) solutions
|
|
3. ERP backend integration
|
|
4. Feature expansion
|
|
5. Application extension
|
|
|
|
**Bill of Materials**: Complete service list at [https://github.com/SAP-samples/partner-reference-application/blob/main/Tutorials/01-BillOfMaterials.md](https://github.com/SAP-samples/partner-reference-application/blob/main/Tutorials/01-BillOfMaterials.md)
|
|
|
|
### Partner Reference Application Extension
|
|
|
|
**Type**: Customer-specific extension example
|
|
|
|
**GitHub**: [https://github.com/SAP-samples/partner-reference-application-extension](https://github.com/SAP-samples/partner-reference-application-extension)
|
|
|
|
**Demonstrates:**
|
|
- Enhanced catering management capabilities
|
|
- Seamless base application integration
|
|
- Granular tenant-specific configurations
|
|
- Consistent UX across extended and core features
|
|
- Secure multitenant architecture with data isolation
|
|
|
|
## ABAP Sample Application
|
|
|
|
### Music Festival Manager
|
|
|
|
**Type**: Reference application for multitenant ABAP SaaS
|
|
|
|
**GitHub**: [https://github.com/SAP-samples/abap-platform-partner-reference-application](https://github.com/SAP-samples/abap-platform-partner-reference-application)
|
|
|
|
**Demonstrates:**
|
|
- Full-stack ABAP Cloud development using RAP
|
|
- Scalable, multitenant architecture
|
|
- SAP BTP Developer's Guide best practices
|
|
- ERP-agnostic design (side-by-side extensions)
|
|
- Compatibility with any SAP solution including S/4HANA Cloud ERP
|
|
|
|
**Tutorial Structure:**
|
|
1. **Core Application Development**: Business models, logic, UI, authentication, role-based authorization
|
|
2. **Deployment & Provisioning**: Building and deploying to consumers
|
|
3. **SAP S/4HANA Cloud Integration**: Connecting with enterprise systems
|
|
4. **Feature Enhancement**: Expanding application capabilities
|
|
|
|
**Key Features:**
|
|
- Uses ABAP RESTful Application Programming Model (RAP)
|
|
- Leverages SAP BTP services for enterprise-class standards
|
|
- Enables focus on business logic and domain functionality
|
|
|
|
## Cost Estimation
|
|
|
|
### Total Cost of Ownership Calculator
|
|
|
|
**Location**: SAP Partner Portal
|
|
|
|
**Inputs:**
|
|
- Expected tenant count
|
|
- Resource requirements
|
|
- Support level
|
|
- Region
|
|
|
|
**Outputs:**
|
|
- Monthly operational costs
|
|
- Per-tenant estimates
|
|
- Scaling projections
|
|
|
|
## Development Workflow
|
|
|
|
### SaaS Development Flow
|
|
|
|
```
|
|
1. Setup
|
|
├── Create global account
|
|
├── Configure Landscape Portal
|
|
└── Setup development system
|
|
|
|
2. Develop
|
|
├── Build software components
|
|
├── Implement business logic
|
|
├── Create Fiori apps
|
|
└── Configure multitenancy
|
|
|
|
3. Test
|
|
├── Unit testing (ABAP Unit)
|
|
├── Integration testing
|
|
├── Tenant isolation testing
|
|
└── Performance testing
|
|
|
|
4. Deploy
|
|
├── Build product
|
|
├── Register in Landscape Portal
|
|
└── Publish to SAP Store (optional)
|
|
|
|
5. Operate
|
|
├── Monitor via SAP Cloud ALM
|
|
├── Manage subscriptions
|
|
└── Handle support requests
|
|
```
|
|
|
|
### Add-on Development Flow
|
|
|
|
```
|
|
1. Develop
|
|
├── Create software components
|
|
├── Use registered namespace
|
|
└── Follow ABAP Cloud guidelines
|
|
|
|
2. Build
|
|
├── Assemble product via Landscape Portal
|
|
├── Run quality checks
|
|
└── Create release
|
|
|
|
3. Distribute
|
|
├── Register in SAP Store
|
|
├── Define pricing
|
|
└── Enable discovery
|
|
|
|
4. Support
|
|
├── Customer installation support
|
|
├── Update delivery
|
|
└── Issue resolution
|
|
```
|
|
|
|
## Key User Extensibility (SaaS)
|
|
|
|
**Available to customers:**
|
|
- UI adaptations
|
|
- Custom fields
|
|
- Custom logic (BAdIs)
|
|
- Business configuration
|
|
|
|
**Not available:**
|
|
- Database schema changes
|
|
- Core code modifications
|
|
- Direct system access
|
|
|
|
## Tenant Management
|
|
|
|
### Subscription Lifecycle
|
|
|
|
```
|
|
Customer Subscription Request
|
|
↓
|
|
Tenant Provisioning (automatic)
|
|
↓
|
|
Tenant Configuration
|
|
↓
|
|
User Access Setup
|
|
↓
|
|
Operational Phase
|
|
↓
|
|
[Optional] Tenant Offboarding
|
|
```
|
|
|
|
### Isolation Guarantees
|
|
|
|
| Aspect | Isolation Level |
|
|
|--------|-----------------|
|
|
| Data | Complete (separate schemas) |
|
|
| Configuration | Per-tenant |
|
|
| Customizations | Per-tenant |
|
|
| Resources | Shared compute, isolated data |
|
|
|
|
## Best Practices
|
|
|
|
### Architecture
|
|
|
|
1. **Design for multitenancy** from the start
|
|
2. **Implement proper tenant isolation**
|
|
3. **Use SAP-recommended patterns**
|
|
4. **Plan for scale** (up to 1000 tenants per HANA instance)
|
|
|
|
### Development
|
|
|
|
1. **Follow ABAP Cloud guidelines**
|
|
2. **Use ATC for quality checks**
|
|
3. **Implement comprehensive testing**
|
|
4. **Document APIs and extensions**
|
|
|
|
### Operations
|
|
|
|
1. **Monitor with SAP Cloud ALM**
|
|
2. **Automate deployments**
|
|
3. **Plan upgrade windows**
|
|
4. **Establish support processes**
|
|
|
|
### Pricing
|
|
|
|
1. **Calculate TCO accurately**
|
|
2. **Consider scaling costs**
|
|
3. **Plan for support overhead**
|
|
4. **Offer flexible pricing tiers**
|
|
|
|
## Resources
|
|
|
|
| Resource | Location |
|
|
|----------|----------|
|
|
| Partner Portal | partner.sap.com |
|
|
| Discovery Center | discovery-center.cloud.sap |
|
|
| PartnerEdge Build | SAP PartnerEdge program |
|
|
| Reference Applications | github.com/SAP-samples |
|
|
|
|
## Source Documentation
|
|
|
|
- ISV ABAP Guide: [https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/build-and-run-abap-applications-for-partners-who-are-independent-software-vendors-210db8e.md](https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/build-and-run-abap-applications-for-partners-who-are-independent-software-vendors-210db8e.md)
|
|
- ISV SaaS Guide: [https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/build-and-run-multitenant-saas-applications-for-partners-who-are-independent-software-ven-9b5e06f.md](https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/build-and-run-multitenant-saas-applications-for-partners-who-are-independent-software-ven-9b5e06f.md)
|