Monthly Archives: October 2012

task parallel library(TPL)–A THING OF BEAUTY

Many times you wanted to speed up the time your software took to complete set of tasks, but decided against it due to the complexity it would add to your software. That is not the case anymore. Task Parallel Library (TPL) in Microsoft’s .NET framework will make your life lot easier to optimize the performance your software.

Asynchronous programming is happening everywhere (client and server side).    In your client applications, this helps to built very responsive applications. On the server side, you can build very scalable applications. So much is written about these two topics on internet.

Intention of this blog is show the power of TPL using the simplest possible way. Here is the example:


And this is the output




Until very recently object oriented languages ruled the software world. But, mobile application development with HTML5, JavaScript and REST changed that equation. Working with JavaScript can be cumbersome at times, especially larger projects.


Microsoft introduced a new language which compiles to pure JavaScript. Anders Hejlsberg led the development effort. This is a very welcoming news. So many enterprise applications are being built using HTML5/JavaScript/CSS2/REST. Having a better JavaScript which helps in large projects was overdue. I am glad that Microsoft realized this and moving in the right direction. It appears that, this was created as part of the internal need. Bing team does lot of work with JavaScript and needed a better way to manage such a large project.

More details at:


Take the example of claim processing (either on the provider side or at the payer side. There are so many variables. Every payer has their own customizations, 4010A /5010A, professional/institutional.

I have seen many applications (on payer and provider side) doing so much work to process these claim documents to extract the application specific information.

Our design goal was to remove all these complexities make the processing very simple and let the consumers of these EDI documents focus on application specific business logic. Scalability and Extensibility were must have requirements.

Our design is already validated and we have done some POC. You just drop the EDI files and everything happens magically. If you are an enterprise processing large number of EDI documents, our solution supports multiple nodes handling the load. Out of the box, all the claim information is extracted and stored in relational tables (supports SQL Server,Oracle and any other major database). In addition to all this, we have built an extension point which will let you inject your application specific business rules (ordered list of rules executes in the specified order). You do not have to worry about mapping EDI fields. Instead, a detailed object model and/or loops (of EDI specification) will be passed onto the business rule. People who write business rules will have access to rich object model and/or loops.

The following picture gives a good idea about what happens to EDI records in this system: