Quick Intro to TalisMS paradigm (work in progress)

TalisMS is mostly a Middleware like FW. Or to put it simpler, there is a Request being sent to the code via any type of “door” or IO device, like HTTP, CLI, Keyboard etc. That request goes through a chain (ChainLink) of objects which build a Response object, each step adds a bit of info to the Response. This Response object is being returned at the end to the requesting IO device. The Response/Request objects are easily serialized, which means I can easily distribute this system over many machines/languages, as the Response/Request objects should be the only dependencies between each step of the process.

Each Chain/request/Flow also has a Context object associated with it. The Context object is injected to each ChainLink by the parent link. The purpose of the Context is to make some resources or general data available to all the ChainLinks in the flow, like resources, API connections (can be sockets), File pointers etc.
While within the same instance of TalisMS there is no issue, if the Response/Request are transferred to another message processing system, or even another instance of TalisMS (Remember, this system is designed to be in a distributed environment) the Context object will not follow, it is not Serializable.
This becomes the responsibility of the developer to make sure, if there is a need, that what ever is encapsulated in the Context and needs to be transferred, will be added as a serialized piece of data to the Request object.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close