Files
2025-11-30 08:55:02 +08:00

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)