Deploy Service Bus Integration

Service Bus integration of the Anthology Student and Anthology Reach products requires multiple resources as listed below.

Service Bus Integration Resources
Type Resource Description Responsibilities
Common resources

Common resources are deployed irrespective of products when a tenant (client) is provisioned.

These resources include:

•    Azure Service Bus (ASB)

During the deployment of Anthology Student, the SCM team adds a record to the Core.ServiceBusNamespace table with the necessary details of the ASB connectivity.

The SCM team deploys and maintains the common resources.

Publisher resources

Publisher resources are the resources required to publish data. These resources do not need to know who consumes the published data. Publisher resources are deployed using the pipeline meant for the product to deploy its productized integration resources.

These resources include:

•   ASB topics

•   Azure functions

Publisher resources are included in each release of the product/product integration.

For Anthology Student changes, when the data is published using business events/technical events, a configuration entry is added to the Core.IntegrationDisclosure table to raise business events and to push the data to an Azure Service Bus topic. The entry handles the details of the entity, event, property list, and topic details.

The SCM team deploys the publisher resources.

The publishing product teams maintain the publisher resources.

Subscriber resources

Subscriber resources are required to subscribe to the data published. These resources are deployed using the pipeline meant for the product to deploy its productized integration resources.

These resources include:

•   ASB subscriptions

•   Azure functions

Deployment of these resources is included in each release of the product/product integration.

The SCM team deploys the subscriber resources.

The subscribing product teams maintain the subscriber resources.

Common Pipeline

The Common Pipeline deploys the shared resources to the Anthology Cloud.

Shared resources include:

  • Database Server
  • Service Bus
  • Database
  • Virtual Network
  • Azure Storage
  • Azure Cache

The Common pipeline also adds an entry to the Core.AzureServiceBusNamespace table with details about the Azure Service Bus connectivity.

Common Pipeline

Student Pipeline

The Anthology Student pipeline deploys:

  • Anthology Student function apps to the Anthology Cloud

  • Anthology Student resources to the respective resource groups in the Anthology Cloud

The Student pipeline also adds an entry to the Core.IntegrationDisclosure table about the entity, event, and topic details.

Student Pipeline

Reach Pipeline

The Anthology Reach pipeline deploys:

  • Anthology Reach function apps to the Anthology Cloud

  • Anthology Reach resources to the respective resource groups in the Anthology Cloud

The Reach pipeline also adds an entry to the Core.IntegrationDisclosure table about the entity, event, and topic details.

Reach Pipeline

DB Update Sequence

The sequence of database updates is as follows:

  1. The SCM team deploys the integration pipeline to the Azure Service Bus.

  2. The Azure Service Bus pipeline adds an entry to the Core.ServiceBusNamespace in the Anthology Student database.

  3. The integration pipeline deploys topics to the Azure Service Bus Topic pipeline based on the integration needs.

  4. The Azure Service Bus topic pipeline adds an entry to the Core.IntegrationDisclosure table in the Anthology Student database.

Sequence of DB Updates

Naming Conventions

  1. Azure Service Bus topics and subscriptions:

    1. Topics:

      “anth-<Business/Functionality short form>-<Source product short form>-<Resource short form>-<Resource version number>”

      The short form for a topic is “sbt”.

      Example: “anth-stucorstschg-stu-sbt-01”

    2. Subscriptions:

      “anth-<Business/Functionality short form>-<Source product shortform>-<Destination short form>-<Resource short form>-<Resource Version number>”

      The short form for a subscription is “sbts”.

      Example: “anth-stucorstschg-stu-rch-sbts-01”

  2. Azure functions:

    Since Azure functions are at the subscription level, we can add the destination to identify it clearly.

    “anth-<Business/Functionality short form>-<Source Product short form>-<Destination short form>-<Resource short form>-<Resource version number>”

    The short form for function is “func”.

    Example: “anth-stucorstschg-stu-rch-func-01”

  3. Business/functionality:

    "anth-<Business/Functionality short form>-<Source product short form>-<Destination short form>-<Resource short form>-<Resource version number>"

    The business/functionality naming is very trick due to the following limitations:

    • Maximum size of any messaging entity path: queue or topic: 260 characters.

    • Maximum size of any messaging entity name: namespace, subscription, or subscription rule: 50 characters.

    Our recommendation is to have three characters from each word of the full meaningful phrase of the business functionality.

    Example: “Student Course Status change” would translate to stucoustschg.

  4. Ownership:

    1. Team owning the business/functionality naming: Product team.

    2. Team owning overall naming of resources associated with products: Product Development.

    3. Team owning the naming of common resources using the conventions: SCM.

ASB Topic Atomicity

  1. An ASB topic is considered as a data publishing medium in Anthology for all disconnected integrations.

  2. Each topic holds the data of a business process, having multiple subscriptions.

  3. Atomicity of an ASB topic is the business process.

    For a scenario where...

    •    a given business process has multiple stages and

    •   each stage has a business event and

    •   a sequencing of these stages is required and

    •   all the data related to the business process be available at a single place and

    •   with the chronological order of the event execution,

    ... our recommendation is to have a single ASB topic for the business process and have all the stages and events publish data to the same topic in chronological order.

    The advantage of the above convention is to allow the subscribers to expect and prepare for the data.

Anthology Student Deployment Flow

The following image depicts the deployment flow for Anthology Student clients.

Deployment Flow Student

Anthology Reach Deployment Flow

The following image depicts the deployment flow for Anthology Reach clients.

Deployment Flow Reach