This post depicts how the publisher/subscriber functions of the node network and the CP Split technology are used to transmit information between the nodes in a node-to-node (n2n) architecture.
The image above describes the basic components and processes. The two arrows coming out of the Template Models box depict both publisher and subscriber/presenter grid-based template-models (spreadsheet workbooks) used by the nodes.
The Node as Publisher box depicts a node using one or more of its publisher template-models to:
- Acquire content from the sources specified by its models -- as depicted by the arrow from Data Input to Data/Information Sources -- and place each content element in the cells of software grids (spreadsheet worksheets).
- Manipulate the content in the cells as necessary using mathematical, statistical, financial, logical, inferential, date & time, and/or text functions as defined by the algorithms in its template-models.
- Package the resulting content in encrypted, delimited (e.g., comma separated value) Content Files and transmit them to its subscribers--via e-mail (SMTP), SOAP and RESTful Web services (HTTP), FTP, or any other suitable methods--as depicted by the Content File box. Note that these files contain the actual content to be reported, including (a) ranges of calculated and raw numeric values and (b) text (e.g., strings and blocks of alphanumeric text, hyperlinks to documents and graphic files, web site URLs, etc). They do not, however, contain any formatting instructions or metadata, which make the files very small.
The Node as Subscriber box depicts a node’s subscriber/presenter template-model taking the contents of the Content File it receives and placing each content element in pre-defined cells in its own template-model grid having a structure mirroring the template-model used by the publisher to create the Content File. In this way, the subscriber/presenter template-model “knows” what content elements are located in each cell by virtue the cell’s location in the grid. The subscriber/presenter template model then does two things:
- It immediately formats its contents obtained from the content-file and displays it in interactive reports responsive to user requests, as depicted by the arrow to Report Display.
- It allows the user to query or input new data into its user interface or to modify existing data, which is then sent to a database for storage, as depicted by the arrow from Data Input to Data/Information Sources.
Note that a single node can have both publisher and subscriber functionalities and a single node can publish to any number of subscribers. Also note that a node can interface with just about any software application via APIs.
The image above depicts a node with both publisher and subscriber/presenter functionality. In this image, a node's:
- Publisher functions involve managing subscriptions and transmitting Content Files to its subscribers as defined by its Publisher Template-Model.
- Subscriber/Presenter functions, which are defined by a node's Subscriber/Presenter Template-Model, includes:
- Subscriber functions involve retrieving Content Files sent from publisher nodes
- Presenter functions involve formatting/rendering the Content File's contents and presenting it as interactive reports.
- Node Processing functions, which are also defined by a node's Template-Models, include the processes that:
- A publishing node uses for obtaining and manipulating the content
- A subscribing/presenting node uses to (a) convert (format/render) a Content File into user-interactive reports, (b) enable manual data input, (c) modify existing data in reports, (d) query external data sources for additional content and adding it to the report
- Enable a node to interface with external software applications through APIs.
The graphic above depicts how network of nodes operate to exchange information:
Step 1: The solid black line depicts the node at the top retrieving and processing content to create a Content File using node functions defined in its Publisher Template-Model.
Step 2: The solid blue arrows show the node at the top using the publisher functions defined in its Publisher Template-Model to send Content File--via encrypted e-mail attachments or other transport methods--to the node at the upper right, the nodes on the left, and the node at the bottom.
Step 3: This dashed arrow shows the top node, after sending Content Files to the node on it left, subsequently receives Content Files from that same node via the subscriber functionality of its Subscriber/Presenter Template-Model. This means both these nodes invoke their publisher and subscriber functionality.
Step 4: These two nodes only receive Content Files; their publisher functionality is not invoked.
Step 5: These dotted arrows show Content Files being passed sequentially from one node to the next, with each node adding new information and/or modifying the files it receives, before sending extended Content Files to the next node.
Step 6: The bottom node receives Content Files from two other nodes. After forming a composite Content File from the accumulated content as defined by its Publisher Template-Models, it sends the composite Content File back to the node at the top.