Working 30 June 2025
Currently recreating this page. Starting with Theory
Design Considerations
Entirely New Codebase
Identify External Data Dependencies
When external sources of data are used and limits of data are known they can be used to create the new systems database fields. This is helpful with data validation and sizing. By looking at existing data schemas it can be determined that a field will never be larger than 255 characters. It can also be used to identify large fields that can affect message transfer and data storage. A data element could have no limits. If this is the case it needs to be determined if the full data element is stored or truncated.
Modify Existing Codebase
Caution
Extreme caution should be exercised when modifying existing code bases as modifications can cause slight to extreme consequences. CrowdStrike's software push that bricked computers all over the world comes to mind. Deployments should be thouroughly tested and rolled out incrementally. Maintaining multiple versions of data flows allows clients to adapt at their own pace and to fall back to the previous version if difficulties arise.
Message Creation
Message Identifier
Unique identifier for this specific message. Source system id and message content detail. If the message was a list of products from a primary corporate inventory server (PCIS) the message identifier may be PCIS-Products. The purpose being to quickly be able to know where the message originated and the content.
Version
A version naming sytem can be adopted to allow context based routing or message specific schema differences. Using common software repository naming makes sense here. Version 4.2.1 4=Major Change 2=Minor Change 1=Patch (small change)
Generation Date Time
Date and time the message was created.
Date Time Server
Server used to determine current date and time when message was created. This is important for message delay tracking. The date time MAY NOT be in synch across servers in an organization. If a Corporate time server is not available public date time servers can be used.
Javascript
More code examples will be built on this page. To view Javascript examples select the link above
This page is still under construction.