Monday, May 13, 2013

Cordys: The Translator of Information Technology


Hello Again,

From past few days I was  busy like hell (yeah, you heard it right :-) ) with one of the ESB projects. Of course that's not the point I want to make here, am a bit serious today, as always :-).
Just wanted to take out whole lot of things which have eaten my mind in past one month. Okay lets come to the point:

We are living in a world where language no more mean "Hindi" , "English" or "German", in this era of technology language has a broader meaning and "Java" , "C" and many more language and their different versions are in the market. Let me ask you a simple question:

What if a German Boy has to send/receive a message to/from a Hindu Pandit in Varanasi?? or say
What if a "COBOL System" has to send/receive a message to/from a "Java System"??

Yeah, you are right in both the cases we need a "Translator", for the former case it will be a Human, but for the later one it has to be some other "IT System". So, now we know that we need one, what should be the qualities of a Translator so that it can efficiently perform its job??  I've listed down few of the qualities which it should have and will try to make a very simple analogy between the "Human Translator" and a "Technical Translator".

1. Knowledge of Source as well as Target:

Imagine a Telugu Guy speaking to a North Indian guy. Can they both interact and  understand each other ?? What if a guy who knows both Telugu & Hindi comes and let them talk to only him every time they want to say something to each other.

Translator should know the Syntax & Protocol followed by Source as well as the Target Systems in order to understand what's their Input and what's their Output.  Knowing alone is not sufficient, it should be able to adapt to a change at source or target very quickly.

Cordys has a very good ESB layer which understands and can interact with various systems (link)
Apart from the inbuilt so called connectors, it gives flexibility to create your own connectors easily.

2. Preserve the Originality of the Source System:

How do you feel when you watch "Harry Potter" in Hindi? :-)
Additionally we must have heard  that the books which are getting translated to a different language looses its original meaning. What if the guy who did the dubbing or translation not only knows the grammar and syntax but understands the meaning of source language and is able to produce the same meaning in the target language??

Translator should be able to understand the business value of source data while reading and preserve it while writing to the target system. In order to do so, it should be capable to "manipulate the source data", "implement business logic", "add missing information" and also "remove extra information which is not required by the target system" to the source data so that the same business value can be produced in the target system  It should not loose the meaning in the process of translation. 

"Cordys Rule Engine" along with the "WsApp Framework" gives an excellent facility to embed business logic  into any source or target system. (link)


3. Quick Response and Flexibility to work online/offline:

What if the subtitle coming in your french movie, gets delayed by few seconds?? Will you be able to understand what is going on in the movie?? or If you've to wait for the subtitle to come every time someone says something in the movie??

Translator should be quick and give responses in time, it should not take long to process the request and convert it into the target language, as it may happen that by the time it translates the source system, target system has moved ahead of the process. Additionally, it should be capable of running the conversion process in the back-end (batch) so that, process in the front does not get disturb and could run uninterrupted without having bothered about the translation process.

Cordys has a quite good batch job framework which runs in the background without interrupting the main process. Also with correct design decisions

4. Conversation log and Insights into the conversation to improve future communication:

Wouldn't it be better if your VLC Media player auto detects the movie file and can suggest the subtitle automatically?? More, if it can provide you the subtitles based on your interest or your last 5 seen movies??

So far, we've only discussed as if the translator is a dumb system which can follow rules and gives a predefined set of output, but the need of time is to get insights of the interactions between the two systems and improve the communication w.r.t. the "Response Time", "Quality of Data", "Change management". So, a translator should be capable of maintaining the inflow and outflow of data, do analysis of the same & present it in an understandable format.

Cordys has "Business Activity Monitoring" framework which can be used to provide insights into the process execution. (link) Also, fusions charts are another good option to provide the dashboards. (link)







No comments: