WCF transport
WCF as a transport: the legacy Microsoft messaging technology stitching the estate together, with no direct successor on modern .NET.
The cut
Complete the multi-targeting of application-framework
34 dependents. Multi-targeting is already under way; finishing it lets consumers move to modern .NET without waiting on each other.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedComplete the notifications migration and retire mail-service
21 dependents still send mail through this WCF service. phenix-notifications-api was built to replace it; finish that migration.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedComplete the notifications migration and retire mailtemplate-service
18 dependents; the WCF template half of the legacy mail pair.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedReplace phenix-feature-service with a modern feature flag service
WCF-only feature flags with 25 dependents and no tests. Replacing it releases every consumer whose only legacy tie is a flag lookup.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedRe-publish phenix-passenger-configuration-service-contract with modern targets
Frozen at .NET Framework 4.5.2; consumers cannot leave the old platform while pinned to it.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedPut real tests around tc-exceptions
71 dependents and its only test is an empty placeholder. It already multi-targets; it needs a safety net before further change.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedRe-publish transfers-provider-servicecontract with modern targets
Frozen at .NET Framework 4.5.2; consumers cannot leave the old platform while pinned to it.
Impact: Highest leverage in the programme: releases consumers without touching them
proposedTreat ContactCentre as a product
9 systems share it across three generations of the contact centre stack.
Impact: Service-level modernisation inside this group is unsafe until this exists
proposedTreat EventLog as a product
14 systems share it. Give it a named owner and route writers through an owned interface.
Impact: Service-level modernisation inside this group is unsafe until this exists
proposedTreat Phenix as a product
21 systems share it and its schema is only reconstructable by replaying an append-only change ledger. Reconstruct a declarative schema and give it a named owner.
Impact: Service-level modernisation inside this group is unsafe until this exists
proposedBound systems
| Repo | Health | Entanglement | Released by this cut alone |
|---|---|---|---|
| TC.CustomerPortalUsers.DupeImporter | 19 · red | kernel | No, other mechanisms remain |
| admin-studio | 44 · red | loosely attached | Yes |
| alert-management | 50 · amber | kernel | No, other mechanisms remain |
| application-framework | 66 · amber | kernel | No, other mechanisms remain |
| backoffice | 57 · amber | kernel | No, other mechanisms remain |
| backoffice-address-lookup-service | 62 · amber | loosely attached | Yes |
| backoffice-automatch-api | 79 · green | kernel | No, other mechanisms remain |
| backoffice-balanceduedate-api | 91 · green | loosely attached | Yes |
| backoffice-bt-credit-check | 79 · green | loosely attached | Yes |
| backoffice-bt-credit-notes | 74 · amber | kernel | No, other mechanisms remain |
| backoffice-customerrelations-ui | 26 · red | loosely attached | Yes |
| backoffice-documentation-booking | 48 · red | loosely attached | Yes |
| backoffice-documentation-certificates-task | 79 · green | kernel | No, other mechanisms remain |
| backoffice-documentation-ews | 22 · red | loosely attached | Yes |
| backoffice-ledger-service | 84 · green | loosely attached | Yes |
| backoffice-pure360-marketing-service-api | 32 · red | kernel | No, other mechanisms remain |
| backoffice-pure360-subscription-manager | 36 · red | kernel | No, other mechanisms remain |
| backoffice-receipt-service | 72 · amber | kernel | No, other mechanisms remain |
| backoffice-repository-service | 37 · red | kernel | No, other mechanisms remain |
| backoffice-useraccount-legacy | 54 · amber | loosely attached | Yes |
| backoffice-useraccount-service | 48 · red | loosely attached | Yes |
| booking-download | 66 · amber | loosely attached | Yes |
| card-payments | 40 · red | kernel | No, other mechanisms remain |
| company-info-api | 66 · amber | loosely attached | Yes |
| contact-centre-email-server | 29 · red | kernel | No, other mechanisms remain |
| cost-savings-api | 89 · green | loosely attached | Yes |
| direct-stock | 54 · amber | loosely attached | Yes |
| exchange-rate-service | 44 · red | kernel | No, other mechanisms remain |
| job-automatic-invoice | 47 · red | kernel | No, other mechanisms remain |
| job-automatic-statement | 74 · amber | kernel | No, other mechanisms remain |
| job-close-bookings | 84 · green | loosely attached | Yes |
| job-commission-set-payable | 57 · amber | loosely attached | Yes |
| job-pending-receipts | 82 · green | loosely attached | Yes |
| job-revenue-recognition-component | 76 · green | loosely attached | Yes |
| job-update-credit-limit | 79 · green | loosely attached | Yes |
| job-update-trading-history | 67 · amber | kernel | No, other mechanisms remain |
| mail-service | 54 · amber | kernel | No, other mechanisms remain |
| mailtemplate-service | 57 · amber | kernel | No, other mechanisms remain |
| mytc-datacleanup | 41 · red | loosely attached | Yes |
| mytc-user-service | 50 · amber | kernel | No, other mechanisms remain |
| phenix-accommodation | 54 · amber | kernel | No, other mechanisms remain |
| phenix-attractions | 54 · amber | kernel | No, other mechanisms remain |
| phenix-backoffice-integration-api | 84 · green | loosely attached | Yes |
| phenix-booking-ui | 54 · amber | kernel | No, other mechanisms remain |
| phenix-business-ui | 52 · amber | kernel | No, other mechanisms remain |
| phenix-carhire | 91 · green | loosely attached | Yes |
| phenix-cms | 47 · red | kernel | No, other mechanisms remain |
| phenix-components-api | 87 · green | kernel | No, other mechanisms remain |
| phenix-contact-api | 79 · green | kernel | No, other mechanisms remain |
| phenix-contact-centre-2-api | 39 · red | kernel | No, other mechanisms remain |
| phenix-contact-centre-2-web | 54 · amber | kernel | No, other mechanisms remain |
| phenix-contact-centre-wcf | 29 · red | kernel | No, other mechanisms remain |
| phenix-contact-centre-web | 47 · red | kernel | No, other mechanisms remain |
| phenix-cruise | 62 · amber | kernel | No, other mechanisms remain |
| phenix-cruise-service | 42 · red | kernel | No, other mechanisms remain |
| phenix-currency | 74 · amber | loosely attached | Yes |
| phenix-datamap | 67 · amber | kernel | No, other mechanisms remain |
| phenix-destination-management | 62 · amber | loosely attached | Yes |
| phenix-feature-service | 31 · red | kernel | No, other mechanisms remain |
| phenix-flights | 50 · amber | kernel | No, other mechanisms remain |
| phenix-groupbooking | 44 · red | kernel | No, other mechanisms remain |
| phenix-linking-service | 37 · red | kernel | No, other mechanisms remain |
| phenix-notifications-api | 79 · green | kernel | No, other mechanisms remain |
| phenix-packagevalidation-api | 91 · green | loosely attached | Yes |
| phenix-passenger-configuration-service-contract | 37 · red | kernel | No, other mechanisms remain |
| phenix-passenger-configuration-service-host | 40 · red | kernel | No, other mechanisms remain |
| phenix-passenger-service | 54 · amber | kernel | No, other mechanisms remain |
| phenix-place-repository | 51 · amber | kernel | No, other mechanisms remain |
| phenix-post-booking | 44 · red | kernel | No, other mechanisms remain |
| phenix-quote | 35 · red | kernel | No, other mechanisms remain |
| phenix-retail | 50 · amber | kernel | No, other mechanisms remain |
| phenix-retail-configuration-service | 49 · red | loosely attached | Yes |
| phenix-reviews | 35 · red | kernel | No, other mechanisms remain |
| phenix-root | 32 · red | kernel | No, other mechanisms remain |
| phenix-sales-agent-markup | 45 · red | kernel | No, other mechanisms remain |
| phenix-selling-api | 74 · amber | kernel | No, other mechanisms remain |
| phenix-service-management | 41 · red | loosely attached | Yes |
| phenix-task-reminder-wcf | 27 · red | kernel | No, other mechanisms remain |
| phenix-task-reminder-web | 32 · red | kernel | No, other mechanisms remain |
| phenix-tcselfservice-api | 49 · red | kernel | No, other mechanisms remain |
| phenix-thememanager | 71 · amber | loosely attached | Yes |
| phenix-zendesk-forms | 44 · red | kernel | No, other mechanisms remain |
| provider-transaction-reader | 76 · green | loosely attached | Yes |
| reconsent-api | 84 · green | loosely attached | Yes |
| scheduled-tasks | 79 · green | kernel | No, other mechanisms remain |
| tax-service | 57 · amber | kernel | No, other mechanisms remain |
| tc-connectionbroker | 66 · amber | loosely attached | Yes |
| tc-gift-registry | 87 · green | kernel | No, other mechanisms remain |
| tc-gold-api | 84 · green | loosely attached | Yes |
| tc-passport-expiration-service | 82 · green | loosely attached | Yes |
| tc-public-quote-sync-service | 62 · amber | loosely attached | Yes |
| tc-web-details-api | 72 · amber | kernel | No, other mechanisms remain |
| teams-service | 87 · green | kernel | No, other mechanisms remain |
| to-dyn365-api | 84 · green | loosely attached | Yes |
| transfers-provider-servicecontract | 32 · red | kernel | No, other mechanisms remain |
| vcc-service | 57 · amber | kernel | No, other mechanisms remain |
| vccprovider-enett | 79 · green | kernel | No, other mechanisms remain |
| vibe-api | 87 · green | kernel | No, other mechanisms remain |