You are on page 1of 23

The Enterprise Backbone Overlay (EBbO)

Distribution of Services, Events and Data


An Information Delivery Engineering Viewpoint
2013Q3 Copyright 2005-13, New Global Enterprises
V3.2 Codex Confidential

Please contribute {8>D)

Overview Base Concepts EBbO Protocols

Contents

Common Functionality Reliable Broadcast Protocol Publish Subscribe Protocol Request Reply Protocol Data Stream Protocol

EBbO Protocol Design Patterns


2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

Overview
Motivation Intended Use The Information Delivery Engineering Viewpoint
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

Motivation
For an Integration and Software Designed Network Strategy, answer three questions from an Engineering Viewpoint
What is the effective set of service, event, and data distribution protocols necessary to provide a fully functional Enterprise Backbone? What components are needed to implement an Enterprise Backbone Overlay?

What are some design patterns to assist in the implementation, deployment and use of the proposed EBbO protocols?
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

Intended Use
Enterprise Architecture Statement
Target Architecture of Record

Evaluation Framework
Tools Methods Technology

Guide for Application Development


Implement Integration COE Strategy Implement Data Transformation Strategy

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

User Interface
Service Level Manager User Interface Controller

2013Q3
Please contribute {8>D)

Event Manager

Channel Controller

State Manager

User Scenario Work Flow

Application Bus

Environmental Bus

Data Cache Manager

Orchestrator Integrator

Application Components

Enterprise Backbone Overlay


Deployment Manager

Environmental Components
Policy Manager System Process Monitor

The Information Delivery Engineering Viewpoint

Copyright 2005-13, New Global Enterprises


V3.2 Codex Confidential

Business Function/Information Service

Business Process Monitor

Transaction Management Systems, Analytics Management Systems Configuration Management Systems & Data Management Systems

Base Concepts
Event Topic View Bus/Conduit YellowBoard

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

Base Concepts
Primitive Logical System Resources
A significant occurrence at the Business A significant occurrence at the Process, Application Execution or System Businesslevel Process, Application Operation that is identified in a Execution or System Operation level Registry

Event Event

A collection of conduits through which A collection of conduits through flow service requests, events and/orwhich flow service requests, events and/or data:

Bus Bus

data: Application
Supports collaborations amongst Application

that is identified in a Registry Topic


A categorical key word or key phrase Topic (possible sequence of either) that is A categorical word or key phrase defined within akey taxonomic or semantic (possible sequence of either) that is structure Specification of a data context needed to support the realization Viewof an Application Scenario or execution of a Service

Supports collaborations amongst Experience components to realize a specific User Environmental Experience Supports collaborations amongst
components used to control operations Environmental

components to realize a specific User

defined within a taxonomic or View semantic structure

Supports collaborations amongst YellowBoard components used to control operations of systems A global system structure that allows

of systems

Specification of a data context needed Can be articulated by an SQL to support the realization of an statement) Application Scenario or execution of a Service
Can be articulated by an SQL statement)

A global system structure that allows posting and reading of available resources and states of services in flight

posting and reading of available YellowBoard resources and states of services in flight

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

Supporting Components for Base Concepts


YellowBoard
Resource & Service Status Postings

Event Registry

Topic Registry

View Registry

conduits

Application Bus

Enterprise Backbone Overlay


conduits

Environmental Bus

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

EBbO Protocols
Common Functionality Reliable Broadcast Publish Subscribe Request Reply Data Stream
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

10

EBbO Contextual Questions

Where is my Root of Trust?


Who certifies me?

Where am I?
What is my geographic location?

When am I? Universal Object Why am I? Functional What am I and What is my purpose? Context Who controls me
Who controls my life cycle? (Whos my Daddy?) What time is it where I am?

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

11

Common EBbO Protocol Functionality


Service Points
advertiseService( { ( aServiceDescription, aVoI, aServiceLevelOffer ) }, aYellowBoard, aProvider ) returns ( aPostingRecord )
Advertise on a YellowBoard, a set of service and level offerings { (S, VoI, SLO)i } by a provider

locateService( aServiceDescription, aServiceLevelRequirement, aYellowBoard ) returns ( anSLARecord )


Locate on a YellowBoard, a provider of a service described

Usage
All returns are described as XML documents
Can be compiled or rendered into more efficient forms for execution

All System Components have three (wait! four) common instrumentation methods
Communicated via a designated conduit on the System Management Environmental Bus

reportNameVersion() Whats your name? reportRequirements() What resources do you need to work? reportProtocolList() Universal Object What do you speak? Functional reportUseStatistics() Content What have you done?

Notes
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

12

Reliable Broadcast Protocol


Service where receiver can know if message/event missed and request resend

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

13

Reliable Broadcast Protocol


Service Points
subscribeRBEoI( { ( { ( { anEoIk }, aToI )m }, aVoI )n } , aBroadcastProvider ) returns ( aBroadcastRegistration )
Register sets of ( sets of ( list of Events of Interest under a Topic of Interest ) within View a of Interest ) to a Broadcast Provider

receiveAsynchRB( aBroadcastRegistration ) returns ( aMessage )


Receive Messages asynchronously on the Conduit of a Broadcast Registration

resendRB( aBroadcastRegistration, lastGoodMessage ) returns ( aStatus )


Resend messages after the last good message received through the Conduit of a Broadcast Registration for Messages

suspendRB( aBroadcastRegistration ) returns ( aStatus )


Suspend receipt through the Conduit of a Broadcast Registration for Messages

resumeRB( aBroadcastRegistration ) returns ( aStatus )


Resume receipt through the Conduit of a Broadcast Registration for Messages

disengageRB( aBroadcastRegistration ) returns ( aStatus )


Disengage from the Conduit of a Broadcast Registration for Messages

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

14

Publish Subscribe Protocol


Service based on taxonomy of topics/event types of interest where consumer and provider are unknown to each other

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

15

Publish Subscribe Protocol


Service Points
subscribePSEoI( { ( { ( { anEoIk }, aToI )m }, aVoI )n } , anInformationProvider ) returns ( anInformationSubscription )
Register sets of ( sets of ( list of Events of Interest under a Topic of Interest ) within View a of Interest ) from an information provider

registerPSEoI( { ( { ( { anEoIk }, aToI )m }, aVoI )n } , anInformationProvider ) returns ( anInformationPublication )


Register sets of ( sets of ( list of Events of Interest under a Topic of Interest ) within View a of Interest ) as an information provider

receiveAsynchPS( anInformationSubscription ) returns ( aMessage )


Receive Messages asynchronously on the Conduit of a Information Subscription

publishPSEoI( aMessage, anEoI, aToI, aVoI, anInformationPublication ) returns ( aStatus )


Publish message and its context (EoI, ToI, VoI) on the Conduit of a Information Registration

suspendPSSubscription( anInformationSubscription ) returns ( aStatus )


Suspend receipt through the Conduit of a Subscription for Messages

resumePSSubscription( anInformationSubscription ) returns ( aStatus )


Resume receipt through the Conduit of a Subscription for Messages

disengagePSSubscription( anInformationSubscription ) returns ( aStatus )


Disengage from the Conduit of a Subscription for Messages

suspendPSPublication( anInformationPublication ) returns ( aStatus )


Suspend receipt on the Conduit of a Publication of Messages

resumePSPublication( anInformationPublication ) returns ( aStatus )


Resume receipt on the Conduit of a Publicatiof Messages

disengagePSPublication( anInformationPublication ) returns ( aStatus )


Disengage from the Conduit of a Publication of Messages

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

16

Request Reply Protocol


Service invocation which is potentially dynamically locatable where result is returned

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

17

Request Reply Protocol


Service Points
requestAsynchRR( anSLARecord ) returns ( aConduit )
Request asynchronously a Service through a Conduit per an SLA Record

receiveAsynchRR( aConduit ) returns ( aMessage )


Receive Messages asynchronously through the Conduit of a Service request

requestRR( anSLARecord ) returns ( aMessage )


Request synchronously a Service through a Conduit per an SLA Record

disengageRR( anSLARecord ) returns ( aStatus )


Disengage from an asynchronous Service request through a Conduit per an SLA Record

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

18

Data Stream Protocol


Service that delivers large units of data of differing types, textual or bit-based

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

19

Data Stream Protocol


Service Points
receiveDS( aConduit, aVoI, aStoreType, aProvider ) returns ( aStoreRecord )
Connect and Receive into a store, a data stream of a VoI from a provider through a conduit

suspendDS( aConduit, aVoI, aStoreLocation, aProvider ) returns ( aStopRecord )


Suspend receiving a data stream of a VoI from a service provider through a conduit

resumeeDS( aConduit, aVoI, aStoreLocation, aProvider ) returns ( aStopRecord )


Restart receiving a data stream of a VoI from a service provider through a conduit

disengageDS( aConduit, aVoI, aStoreLocation, aProvider ) returns ( aStopRecord )


Stop receiving a data stream of a VoI from a service provider through a conduit

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

20

EBbO Protocol Design Patterns


Application Scenarios
Data Transparency Migration Transparency

2013Q3

Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

21

Data Transparency

TBD
Judicious Replication of Data
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

22

Migration Transparency

TBD
Fungibility of Work Loads
2013Q3
Please contribute {8>D)

Copyright 2005-13, New Global Enterprises

V3.2 Codex Confidential

23

You might also like