Friday, March 14, 2014

Micro-Services Architecture


Ever been in this situation?
   You have put lot of efforts in developing an application by employing best practices and design. Quite happy with what you’ve done, no big issues have been reported. The system is almost decoupled and every business domain resides in its own dll(s) and you have been releasing your product in 2 weeks iteration. Great, Great…

However,
   As the system grows, it makes the life a bit harder. You’ll notice any changes to the system involve building and deploying a new version of the application. The best approach would be a good deployment strategy which is usually taken care by tools. By manual updates, still doable!

To make matters worse,
   If your managers have some scalability in their minds or your apps are being deployed on the cloud or any other reasons that tie change cycles together, this is the beginning of your clients’ frustration. A change to small part requires the whole system’s rebuilt. It would make you pure evil after some updates. Evil, Evil…
 ‘Microservice architecture’ comes to your rescue. In short, building a suite of small services (usually communicating over http), each running its own processes. They’re independently deployable…

Micro-services (By Martin Fowler)



Saturday, March 1, 2014

Is Facebook to be the 'next' Facebook?

This article caught my attention among gazillion comments regarding Facebook/WhatsApp deal.

Is Facebook to be the 'next' Facebook?

If you'd like to have clue how WhatsApp is overwhelmingly working. Please take a look at the photo.


Friday, February 28, 2014

Asp.net MVC 5 Application Lifecycle

A great diagram for MVC developers, both in Macro & Micro views.


A high-level view of the MVC application lifecycle, where you can understand the major stages that every MVC application passes through in the request processing pipeline. And a detail view shows details of request processing pipeline.

Having another look at the lifecycle, couple of aha moments:
-          BeginExecute Method runs before Controller.Initialize method
-          AuthenticationFilters are executed before and after action method
-           ActionFilters are the closest methods to the action method
-          Async action methods may be invoked in a different worker thread

Friday, February 21, 2014

PHP or Asp.net?

Recently, a friend of mine asked me a mind blowing question.
   Over a decade development in Microsoft world,Well ... nice. But why did you pick that wagon early on your career?

I just replied with fair few things and I tried my best to convince him that was the only game in the town.
However, I found it interesting to see what the key factors would be for other developers. A little googling, and I was fascinated by the result.

These two resonated with me a lot:
Rob Conery: I Had a choice, PHP or .Net
Darcy : It was 2001 and I had a decision to make

Saturday, January 25, 2014

To model first approach or …

A thoughtful blog post by Frans Bouma:

After years of debating over model-first approach has made it easy to test your application and POCOs. After I picked NHibernate 6 years ago, I realized making the changes to the model was a breeze. 

The changes are more manageable and smoothly ripple through your classes and database tables.
However, looking back on it seems more interesting to me. 

The idea is pretty valid to me. We do not persist objects to database, we persist their contents, which are their entity instances. On the hand, serializing data from technology to the other usually means having same the content. For instance, .Net objects can be easily serialized to Json. But in this case, objects are mapped to tables and saved.