Telecom BSS/OSS Solution Design: [Programme name] on TM Forum Open Digital Architecture
Solution design for a communications service provider's business and operations support systems
(BSS/OSS) built on the TM Forum Open Digital Architecture (ODA). It maps the business scope to the
Business Process Framework (eTOM) and the Information Framework (SID), places ODA Components on
the ODA functional blocks, selects the TM Forum Open APIs for every interface, describes
catalogue-driven order decomposition from product to service to resource, the integration with
network operations, the ODA Canvas deployment, migration from legacy stacks and conformance
testing. Basis checked in October 2026: Open APIs in the public tmforum-apis repositories (for
example TMF620, TMF622, TMF637, TMF638 and TMF639 at v5.0.0, TMF641 at v4.2.0); ODA Component
specifications using the oda.tmforum.org/v1 component schema and referencing eTOM v24.0 and SID
v25.0; ODA Canvas reference implementation release 1.2.5 (March 2026). Replace every
[bracketed] value and every row marked Example.
Document control
| Field | Value |
|---|
| Document ID | [TEL-SD-001] |
| Programme | [Programme name] |
| Operating companies and markets | [OpCo names, countries] |
| Business lines in scope | [B2C mobile / Fixed broadband / B2B connectivity / Wholesale / IoT] |
| TM Forum frameworks pinned | [eTOM v24.0, SID v25.0, Functional Framework v24.0, or later release] |
| Open API major version policy | [Gen4 (v4) and Gen5 (v5) per API, see section 5] |
| ODA Canvas | [Reference implementation 1.2.5 / vendor Canvas name and version] |
| Version | [0.1] |
| Status | [Draft / In review / Approved / Superseded] |
| Owner | [@bss-oss-architect] |
| Approvers/reviewers | [@chief-architect], [@head-of-product], [@network-operations-lead], [@ciso], [@data-protection-officer] |
| Classification | [Internal / Confidential] |
| Last updated | YYYY-MM-DD |
Approvals
| Role | Name | Decision | Date |
|---|
| Architecture board | [@name] | [Approve / Approve with conditions / Reject] | YYYY-MM-DD |
| Commercial and product owner | [@name] | [Decision] | YYYY-MM-DD |
| Network and service operations | [@name] | [Decision] | YYYY-MM-DD |
| Security and privacy | [@name] | [Decision] | YYYY-MM-DD |
Revision history
| Version | Date | Author | Change summary |
|---|
| 0.1 | YYYY-MM-DD | [@name] | First draft |
| 0.2 | YYYY-MM-DD | [@name] | Example: Added fibre wholesale ordering and TMF645 qualification |
| 1.0 | YYYY-MM-DD | [@name] | Example: Approved for build of release 1 (B2C mobile) |
Contents
1. Introduction and scope
1.1 Purpose
This document describes the target BSS/OSS solution for [programme name]: which ODA Components
deliver which business functions, how they interact through TM Forum Open APIs and events, how
offers are modelled once in catalogues and decomposed into services and network resources, and how
the solution is deployed, migrated and tested. The TM Forum frameworks give a vendor-neutral
vocabulary, so components from different suppliers can be compared, replaced and certified against
the same definitions.
1.2 Drivers and outcomes
| ID | Driver | Measurable outcome | Owner |
|---|
| DRV-001 (Example) | New tariffs take 4 months because offers are coded in three systems | Launch a new offer in 2 weeks by catalogue configuration only | [@head-of-product] |
| DRV-002 (Example) | 8% of broadband orders fall out to manual handling | Order fallout below 2% | [@service-delivery-lead] |
| DRV-003 (Example) | Monolithic BSS suite out of support in 2028 | Legacy suite decommissioned; each function replaceable by component | [@cio] |
| DRV-004 (Example) | Partners cannot order wholesale access digitally | Wholesale partners order through Open APIs end to end | [@wholesale-director] |
| [DRV-nnn] | [Driver] | [Outcome and target] | [@owner] |
1.3 Scope
| In scope | Out of scope |
|---|
| [Example: Product catalogue, quote, order capture, order orchestration, product inventory] | [Example: Network planning and engineering tools] |
| [Example: Service and resource order management, service and resource inventory] | [Example: Radio access network element managers (integrated, not replaced)] |
| [Example: Customer, party, account, billing account and payments] | [Example: Rating and charging engine (retained, integrated)] |
| [Example: Trouble ticket and service problem management] | [Example: Enterprise resource planning and general ledger] |
1.4 Constraints and assumptions
- [Example: The operator buys components from at least two suppliers and requires each to expose
the Open APIs listed in section 5 as its primary interface.]
- [Example: Components run on a Kubernetes platform with an ODA Canvas in two regions.]
- [Example: The online charging system stays in place and is integrated through its existing
interfaces until a later phase.]
2. Business scope and eTOM process mapping
2.1 Business lines and volumes
| ID | Business line | Offers | Active subscriptions | Orders per day (average / peak) | Peak driver |
|---|
| BL-001 (Example) | B2C mobile | Postpaid, prepaid, bundles | 6.2 million | 18,000 / 90,000 | Handset launch days |
| BL-002 (Example) | Fixed broadband | Fibre, fixed wireless access | 1.1 million | 3,500 / 7,000 | Promotions, moving season |
| BL-003 (Example) | B2B connectivity | Ethernet, SD-WAN, managed services | 42,000 sites | 300 / 600 | Quarter end |
| [BL-nnn] | [Line] | [Offers] | [Count] | [Average / peak] | [Driver] |
2.2 Process mapping
eTOM organises processes in domains (for example Market and Sales, Product, Customer, Service,
Resource, Business Partner and Enterprise) and in vertical groupings across the lifecycle. Record
the elements that change and who owns them, and replace each bracketed identifier with the one in
your licensed eTOM release.
| ID | eTOM element (identifier and own label) | eTOM release | Changed by programme | Owning ODA Component | Business owner |
|---|
| PRC-001 (Example) | [1.2.x] Product catalogue lifecycle management | v24.0 | Yes: offers authored once in catalogue | TMFC001 Product Catalog Management | Product management |
| PRC-002 (Example) | [1.3.x] Customer order handling | v24.0 | Yes: digital order capture and validation | TMFC002 Product Order Capture and Validation | Sales operations |
| PRC-003 (Example) | [1.4.x] Service configuration and activation | v24.0 | Yes: automated service order decomposition | TMFC007 Service Order Management | Service operations |
| PRC-004 (Example) | [1.5.x] Resource provisioning | v24.0 | Partly: fibre only in release 1 | TMFC011 Resource Order Management | Network operations |
| PRC-005 (Example) | [1.3.x] Customer problem handling | v24.0 | Yes: trouble tickets through API | [Trouble ticket component] | Customer care |
| [PRC-nnn] | [Element] | [Release] | [Change] | [Component] | [Owner] |
2.3 End-to-end journeys
| Journey ID | Journey | Processes | Target duration | Current duration |
|---|
| JRN-001 (Example) | Order to activate (fibre broadband) | PRC-002, PRC-003, PRC-004 | 5 working days including installation | 12 working days |
| JRN-002 (Example) | Concept to market (new mobile bundle) | PRC-001 | 2 weeks | 4 months |
| JRN-003 (Example) | Trouble to resolve (broadband fault) | PRC-005 | 24 hours | 60 hours |
3. Information model and SID alignment
3.1 Entity ownership
| Canonical entity | SID domain and ABE (own label) | SID release | System of record (component) | Exposed through |
|---|
| ENT-001 (Example) Product offering, product specification | Product domain: product offering and product specification | v25.0 | TMFC001 Product Catalog Management | TMF620 |
| ENT-002 (Example) Product order | Customer or product domain: product order | v25.0 | TMFC002 / TMFC003 | TMF622 |
| ENT-003 (Example) Product (installed) | Product domain: product | v25.0 | TMFC005 Product Inventory | TMF637 |
| ENT-004 (Example) Service specification, service | Service domain | v25.0 | TMFC006 Service Catalog Management, TMFC008 Service Inventory | TMF633, TMF638 |
| ENT-005 (Example) Resource specification, resource | Resource domain | v25.0 | TMFC010 Resource Catalog Management, TMFC012 Resource Inventory | TMF634, TMF639 |
| ENT-006 (Example) Party, party role | Common or engaged party domain | v25.0 | TMFC028 Party Management | TMF632, TMF669 |
| ENT-007 (Example) Billing account | Customer domain: customer bill and account | v25.0 | TMFC024 Billing Account Management | TMF666 |
| ENT-008 (Example) Geographic address and site | Common business entities: location | v25.0 | TMFC014 Location Management | TMF673, TMF674 |
| [ENT-nnn] | [Domain and ABE] | [Release] | [Component] | [API] |
3.2 Identifier and reference rules
- Every entity has one owning component that issues its identifier; other components store the
identifier and an
href, not a copy of the entity.
- Cross-domain references go downward only by specification: a product specification references
service specifications, which reference resource specifications.
- Characteristic names and value types are governed in the catalogue; no component invents its own
characteristic for the same concept.
3.3 Extension log
| ID | Entity extended | Extension | Reason | Approved by |
|---|
| EXT-001 (Example) | Product order item | Installation appointment reference | Field engineer booking (TMF646) | Data design authority |
| EXT-002 (Example) | Resource | Fibre access point attributes | Wholesale partner qualification | Data design authority |
Use the @type, @baseType and @schemaLocation polymorphism pattern of the Open APIs for
extensions, so that standard clients still process the base entity.
4. ODA functional architecture and component map
4.1 Functional blocks
The ODA Component Directory groups components into functional blocks such as Engagement
Management, Party Management, Core Commerce Management and Production, with intelligence management
functions alongside. Check the current block names in the directory before publication.
4.2 Component register
| ID | ODA Component | Version referenced | Functional block | Supplier or build | Deployment | Status |
|---|
| CMP-001 (Example) | TMFC001 Product Catalog Management | [2.1.2 or later] | Core Commerce Management | [Vendor A] | Canvas, region 1 and 2 | [Planned] |
| CMP-002 (Example) | TMFC002 Product Order Capture and Validation | [Version] | Core Commerce Management | [Vendor A] | Canvas | [Planned] |
| CMP-003 (Example) | TMFC003 Product Order Delivery Orchestration and Management | [Version] | Core Commerce Management | [Vendor B] | Canvas | [Planned] |
| CMP-004 (Example) | TMFC005 Product Inventory | [Version] | Core Commerce Management | [Vendor A] | Canvas | [Planned] |
| CMP-005 (Example) | TMFC007 Service Order Management | [Version] | Production | [Vendor C] | Canvas | [Planned] |
| CMP-006 (Example) | TMFC008 Service Inventory | [Version] | Production | [Vendor C] | Canvas | [Planned] |
| CMP-007 (Example) | TMFC011 Resource Order Management | [Version] | Production | [Build in house] | Canvas | [Planned] |
| CMP-008 (Example) | TMFC012 Resource Inventory | [Version] | Production | [Existing inventory, wrapped] | Legacy behind adapter | [Transitional] |
| CMP-009 (Example) | TMFC028 Party Management | [Version] | Party Management | [Vendor A] | Canvas | [Planned] |
| [CMP-nnn] | [Component] | [Version] | [Block] | [Supplier] | [Deployment] | [Status] |
4.3 Component selection criteria
| Criterion | Weight | Evidence required |
|---|
| Exposes the mandatory Open APIs of the component specification | 25% | Open API conformance certificates for the listed versions |
| Dependencies only on Open APIs (no private database links) | 20% | Component specification YAML and architecture walkthrough |
| Deploys on the operator's Canvas | 15% | Successful deployment in the operator's lab |
| Catalogue-driven configuration | 15% | Demonstration of new offer without code change |
| Operability (metrics, logs, alarms) | 15% | Management function APIs and runbooks |
| Commercial and roadmap fit | 10% | Contract terms, roadmap commitments |
Weights total 100%. Score suppliers with the Vendor Evaluation Scorecard
(business/vendor-evaluation-scorecard).
5. Open API usage
5.1 API catalogue
| ID | Open API | Version | Provider component | Main consumers | Purpose |
|---|
| API-001 | TMF620 Product Catalog Management | v5.0.0 | CMP-001 | Channels, CMP-002, partners | Browse and publish offers and specifications |
| API-002 | TMF622 Product Ordering Management | v5.0.0 | CMP-002 | Channels, partners | Capture and track product orders |
| API-003 | TMF637 Product Inventory Management | v5.0.0 | CMP-004 | Channels, care, billing | Installed products per customer |
| API-004 | TMF641 Service Ordering Management | v4.2.0 | CMP-005 | CMP-003 | Decompose and fulfil service orders |
| API-005 | TMF638 Service Inventory Management | v5.0.0 | CMP-006 | Assurance, care | Active services and their state |
| API-006 | TMF652 Resource Order Management | [Version] | CMP-007 | CMP-005 | Order network resources |
| API-007 | TMF639 Resource Inventory Management | v5.0.0 | CMP-008 | CMP-005, CMP-007, assurance | Network resources and their relations |
| API-008 | TMF645 Service Qualification | [Version; v5.0.0 tag exists] | [Qualification component, for example TMFC009 Service Qualification Management; check the ODA component directory] | Channels, wholesale partners | Check serviceability at an address |
| API-009 | TMF679 Product Offering Qualification | [Version; v5.0.0 tag exists] | [Component] | Channels | Check which offers a customer may buy |
| API-010 | TMF632 Party Management, TMF669 Party Role Management | [Version] | CMP-009 | All | Individuals, organisations and roles |
| API-011 | TMF666 Account Management | [Version] | [Billing account component] | Ordering, billing | Billing and party accounts |
| API-012 | TMF621 Trouble Ticket | [Version] | [Ticketing component] | Care, partners | Customer and partner fault reports |
| API-013 | TMF673 Geographic Address, TMF674 Geographic Site | [Version] | [Location component] | Qualification, ordering | Address validation and sites |
| API-014 | TMF646 Appointment Management | [Version] | [Workforce component] | Ordering | Installation slots |
| [API-nnn] | [TMFnnn name] | [Version] | [Component] | [Consumers] | [Purpose] |
Versions in rows API-001 to API-007 are the latest found in the public tmforum-apis GitHub
repositories in October 2026 (check the Open API Table for newer releases); bracketed versions
must be fixed per supplier. TMF633 Service Catalog has no Gen5 release (latest v4.0.0 as of
October 2026), so ADR-001 allows Gen4 for it until a Gen5 version is published.
ODA component specifications current in October 2026 (for example TMFC001 v2.1.2) still declare
Gen4 (v4.0.0) exposed and dependent APIs, and component conformance (CNF-002) is tested at those
versions. A "TMF620 v5.0.0 provided by CMP-001" row therefore holds only where the supplier offers
Gen5 beyond the component specification: contract the Gen5 version separately and test it with the
API conformance kit (CNF-001).
5.2 API design rules
- Use the Open API resource model and the TMF630 design guidelines naming rules; add fields only
through the polymorphism extension pattern.
- Support the Gen5 (v5) API where the supplier offers it; run Gen4 and Gen5 side by side only with
a dated retirement plan per consumer.
- Use the API hub and listener pattern for notifications (create, state change, attribute value
change) rather than polling.
- Expose partner-facing APIs only through the API gateway with per-partner credentials, quotas and
field-level filtering.
- Follow the API Design Guidelines (
architecture/api-design-guidelines) for anything the TM Forum
rules leave open, such as error catalogue wording and pagination limits.
6. Catalogue-driven design
6.1 Catalogue layers
| Layer | Catalogue | Defines | Owner | Change cadence |
|---|
| Commercial | Product catalogue (TMF620) | Product offerings, prices, bundles, eligibility, product specifications | Product management | Weekly |
| Service | Service catalogue (TMF633) | Customer-facing and resource-facing service specifications | Service design | Monthly |
| Resource | Resource catalogue (TMF634) | Resource specifications (logical and physical) | Network engineering | Quarterly |
6.2 Order decomposition flow
The sequence shows a fibre broadband order moving from product to service to resource, with
inventory updates and notifications at each layer.
6.3 Decomposition rules
| Rule ID | Product specification | Service specifications | Resource specifications | Condition |
|---|
| DEC-001 (Example) | Fibre broadband 1 Gbps | Internet access CFS, Wi-Fi CFS | Access line RFS, optical network terminal, IP address | Address qualified for fibre |
| DEC-002 (Example) | Fibre broadband 1 Gbps | Internet access CFS | Wholesale access RFS | Address served by partner network |
| DEC-003 (Example) | Mobile postpaid plan | Mobile voice and data CFS | SIM or eSIM profile, MSISDN | Always |
6.4 Order handling rules
- Orders are accepted only when every item references an active offering and passes qualification.
- Order orchestration keeps the state of each item and supports amend and cancel while in flight
according to point-of-no-return rules held per service specification.
- Every fallout creates a task with a reason code; the reason code list is reviewed monthly against
DRV-002.
7. Network and OSS integration
7.1 Domain boundaries
| Domain | Controller or orchestrator | Northbound interface | Owned by |
|---|
| Fixed access (fibre) | [Access domain controller] | TMF652 resource order, TMF640 or TMF702 activation | Network operations |
| Mobile core | [Core network provisioning system] | [TMF702 resource activation / vendor API behind adapter] | Network operations |
| Transport and SD-WAN | [SD-WAN orchestrator] | [Intent-based ordering, TMF921 where supported] | Enterprise network team |
| Partner networks | [Wholesale partner APIs] | TMF622, TMF645, TMF641 between operators | Wholesale |
7.2 Assurance loop
| ID | Signal | Source | Handled by | Open API |
|---|
| ASR-001 (Example) | Alarm raised | Network element managers | Fault management component | TMF642 Alarm Management |
| ASR-002 (Example) | Service problem detected | Correlation of alarms with service inventory | Service problem management | TMF656 Service Problem Management |
| ASR-003 (Example) | Customer fault reported | Care, portal | Trouble ticket component | TMF621 Trouble Ticket |
| ASR-004 (Example) | Performance threshold crossed | Performance collection | Service performance management | TMF628 Performance, TMF649 Performance Thresholding |
Correlate every alarm with service inventory (TMF638) to find affected customers, and notify care
before customers call. Use the Observability Specification (ops/observability-spec) for the
platform side of monitoring.
8. ODA Canvas and deployment
8.1 Canvas choice
| Option | Description | When to choose |
|---|
| Reference implementation | Open-source ODA Canvas from the tmforum-oda repository (release 1.2.5, March 2026) with its operators | Lab, certification, operators that accept community support |
| Vendor Canvas | A supplier's productised Canvas compatible with the component specification | Need for vendor support and SLAs |
| Hybrid | Reference operators extended with the operator's own policies | Strong in-house platform team |
8.2 Canvas services used
| Canvas service | Purpose | Implementation choice |
|---|
| Component management operator | Deploys each component and decomposes its metadata into exposed APIs and dependent APIs | [Reference / vendor] |
| API management operator | Configures the API gateway or service mesh for exposed APIs (security, throttling) | [Kong / Apache APISIX / other gateway operator] |
| Identity configuration operator | Registers component roles and permissions in the identity service | [Keycloak / enterprise IdP] |
| Secrets management operator | Supplies secrets to components | [Vault / cloud secrets manager] |
| Dependency management operator | Lets components discover the APIs they depend on | [Reference / vendor] |
| Observability | Collects metrics from each component's management function | [OpenTelemetry collector and metrics backend] |
8.3 Component metadata rules
Each component is deployed with a component custom resource that declares its core function
(exposed and dependent APIs), management function, security function and event notification
(published and subscribed events). Treat this metadata as the contract:
- Every API a component exposes or calls appears in its metadata, with the specification version.
- Gateway routes, identity roles and dependency wiring are generated from the metadata by the
Canvas, never configured by hand.
- A pull request that changes component behaviour without changing its metadata fails review.
8.4 Environments
| Environment | Purpose | Canvas | Data |
|---|
| Lab | Supplier onboarding and conformance tests | Reference implementation | Synthetic |
| Integration | End-to-end journeys across suppliers | Production-equivalent Canvas | Synthetic plus masked catalogue |
| Pre-production | Performance and migration rehearsal | Production-equivalent | Masked production copy |
| Production | Live service, two regions | Production Canvas | Live |
9. Events, security and privacy
9.1 Events
- Components publish Open API notifications (for example product order state change, service
created, resource attribute value change) to subscribers registered through each API's hub.
- For high-volume or cross-domain fan-out, bridge notifications to an event broker and describe
topics with the Event API Specification (
architecture/event-api-specification).
- Events carry identifiers,
href links and changed attributes, not full personal records.
9.2 Security controls
| ID | Control | Design |
|---|
| SEC-001 (Example) | Component-to-component authentication | Mutual TLS in the mesh plus OAuth 2.0 tokens issued per component role |
| SEC-002 (Example) | Partner API access | Per-partner client, scopes per Open API resource, rate limits at the gateway |
| SEC-003 (Example) | User permissions | Roles and permissions via TMF672 User Roles and Permissions, mapped to enterprise identity |
| SEC-004 (Example) | Privacy preferences | Consent and privacy settings held by TMFC022 Party Privacy Management (TMF644 Privacy) |
| SEC-005 (Example) | Lawful requirements | Data retention, lawful interception and number portability obligations confirmed per market |
| SEC-006 (Example) | Security of telecom networks | Check national telecom security rules and, in the EU, NIS2 obligations; see compliance/nis2-security-measures |
10. Non-functional requirements
| ID | Quality | Requirement | Measure | Source |
|---|
| NFR-001 (Example) | Performance | Product catalogue browse (TMF620) within 300 ms at the 95th percentile | Gateway metrics | Channels |
| NFR-002 (Example) | Capacity | Order capture sustains 5 times the daily average for 8 hours on launch day | Load test | BL-001 |
| NFR-003 (Example) | Availability | Order capture 99.95% monthly; order orchestration may queue for up to 30 minutes | Availability report | DRV-002 |
| NFR-004 (Example) | Fallout | Less than 2% of orders need manual handling | Fallout dashboard | DRV-002 |
| NFR-005 (Example) | Recoverability | RPO 5 minutes, RTO 1 hour for ordering and inventories | DR test | architecture/resilience-tiering-ha-dr-design |
| NFR-006 (Example) | Replaceability | Any component can be replaced without changing other components' code | Architecture review | DRV-003 |
| [NFR-nnn] | [Quality] | [Requirement] | [Measure] | [Source] |
11. Migration and coexistence
11.1 Approach
| Step | Activity | Exit criterion |
|---|
| MIG-001 (Example) | Rationalise legacy tariffs into a smaller set of offerings; map grandfathered tariffs | Mapping signed off by product and finance |
| MIG-002 (Example) | Load catalogues (product, service, resource) and test decomposition rules | All DEC rules pass regression |
| MIG-003 (Example) | Put an adapter in front of legacy inventory exposing TMF639 so new components can use it | Adapter passes Open API conformance tests |
| MIG-004 (Example) | Route new orders for one segment to the new stack (strangler pattern) | Fallout under target for 4 weeks |
| MIG-005 (Example) | Migrate installed base per segment: party, account, product inventory, service inventory | Reconciliation within tolerance |
| MIG-006 (Example) | Retire legacy functions once no traffic reaches them | Zero calls for 30 days |
11.2 Coexistence rules
- One system of record per customer at any time, held in a routing table consulted by channels,
care and billing.
- Billing receives one feed regardless of which stack holds the product.
- Reconcile counts of customers, products, services and recurring revenue after each wave with the
Data Migration Reconciliation template (
project/data-migration-reconciliation); plan waves with
the Migration Wave Plan (project/migration-wave-plan).
12. Conformance and certification
| ID | Test | Scope | Tool | Required evidence |
|---|
| CNF-001 | Open API conformance | Each exposed API at the contracted version | TM Forum conformance test kits (CTK) | Passing CTK report or certificate |
| CNF-002 | ODA Component conformance | Each component against its component specification | Component CTK in the oda-component-ctk repository or TM Forum certification | Passing report for declared exposed and dependent APIs |
| CNF-003 | Canvas conformance | The operator's Canvas | Canvas CTK (tmforum-oda/oda-canvas-ctk) and the BDD features in oda-canvas | BDD test report |
| CNF-004 | End-to-end journey tests | JRN-001 to JRN-003 | Operator test automation | Pass rate above threshold |
| CNF-005 | Non-functional tests | NFR-001 to NFR-005 | Performance and DR tooling | Test completion report (quality/test-completion-report) |
Write conformance into supplier contracts: version, test kit, retest on every major release, and
remediation time when a regression is found.
13. Decisions, risks and traceability
13.1 Decisions
| ADR | Decision | Status |
|---|
| ADR-001 (Example) | Adopt Gen5 Open APIs where offered; Gen4 only with retirement date | [Accepted] |
| ADR-002 (Example) | Decomposition rules held in service and resource catalogues, not in orchestration code | [Accepted] |
| ADR-003 (Example) | Run vendor Canvas in production, reference Canvas in the lab | [Proposed] |
| ADR-004 (Example) | Wrap legacy resource inventory with a TMF639 adapter during transition | [Accepted] |
Record each in the Architecture Decision Log (architecture/architecture-decision-log).
13.2 Risks
| ID | Risk | Likelihood | Impact | Mitigation | Owner |
|---|
| RSK-001 (Example) | Suppliers claim Open API support but extend payloads incompatibly | Medium | High | CTK evidence in acceptance; extension review board | [@bss-oss-architect] |
| RSK-002 (Example) | Legacy tariff complexity blocks catalogue migration | High | High | Tariff rationalisation before migration (MIG-001) | [@head-of-product] |
| RSK-003 (Example) | Gen4 and Gen5 API versions diverge between components | Medium | Medium | Version matrix per release; gateway mediation | [@integration-lead] |
| RSK-004 (Example) | Network domain controllers lack northbound APIs | Medium | High | Adapters and roadmap commitments from network vendors | [@network-operations-lead] |
13.3 Traceability matrix
| Driver | Processes | Components | APIs | NFRs | Tests |
|---|
| DRV-001 (Example) | PRC-001 | CMP-001 | API-001 | NFR-001 | CNF-001, CNF-004 |
| DRV-002 (Example) | PRC-002, PRC-003, PRC-004 | CMP-002, CMP-003, CMP-005, CMP-007 | API-002, API-004, API-006 | NFR-003, NFR-004 | CNF-004 |
| DRV-003 (Example) | All | All | All | NFR-006 | CNF-002, CNF-003 |
| DRV-004 (Example) | PRC-002 | CMP-002 | API-002, API-008 | NFR-002 | CNF-001 |
14. Glossary and references
14.1 Glossary
| Term | Meaning in this document |
|---|
| BSS / OSS | Business support systems (commercial) and operations support systems (service and network) |
| CFS / RFS | Customer-facing service and resource-facing service specifications in the service catalogue |
| CTK | Conformance test kit used to check an API, component or Canvas |
| eTOM | TM Forum Business Process Framework |
| ODA Canvas | Runtime platform that deploys ODA Components and wires their APIs, identity and dependencies |
| ODA Component | Independently deployable software unit with standard metadata and Open APIs |
| SID | TM Forum Information Framework |
| Fallout | An order that cannot complete automatically and needs manual handling |
14.2 References
| Reference | Version or date checked | Use |
|---|
| TM Forum Open APIs, github.com/tmforum-apis (Apache 2.0) | TMF620, TMF622, TMF637, TMF638, TMF639 v5.0.0; TMF641 v4.2.0; checked October 2026 | Section 5 |
| ODA Component specifications, github.com/tmforum-rand/TMForum-ODA-Ready-for-publication | TMFC001 v2.1.2 published 2025-11-12, referencing eTOM v24.0 and SID v25.0 | Sections 2 to 4 |
| ODA Canvas reference implementation, github.com/tmforum-oda/oda-canvas | Release 1.2.5 (March 2026) | Section 8 |
| TM Forum ODA, Open API Table and ODA Component Directory, tmforum.org/oda | Check current release | Sections 4, 5, 12 |
| [Internal standards] | [Version] | [Use] |
Standard and licence note
Structure aligned with the TM Forum Open Digital Architecture: Business Process Framework (eTOM),
Information Framework (SID), ODA Components and functional blocks, Open APIs and the ODA Canvas.
eTOM, SID and ODA documents are TM Forum materials; this template uses only their names, element
identifiers and release numbers with original wording, and reproduces no TM Forum definitions,
tables or diagrams. Open API numbers and names are cited from the public tmforum-apis repositories
(Apache 2.0). TM Forum, Open Digital Architecture and ODA are trademarks of their owner; this
template is not affiliated with or endorsed by TM Forum. This template is original text written for
this collection. Check the current official releases before use. Template licence: MIT.