Monday, April 18, 2011

Migration of Applications to Cloud


To migrate an application to cloud there are 4 possible options:

1. Rehost: Redeploy the application on HaaS (Hardware as a Service) such as Rackspace or IaaS (Infrstructure as a Service) such as EC2 virtual machines.

2. Refactor: Tweak existing application (usually web application) to run on IaaS platform (such as Amazon EC2.

3. Rebuild: Rewrite your application (usually web application) and then port it to cloud (utilize SaaS – Software as a Service such as Force.com, PaaS – Platform as a Service such as Windows Azure). You may also utilize Haas and/or IaaS.

4. Replace: It is clear slate approach. Maximum flexibility is available. One can choose to use SaaS (such as salesforce.com), Paas (Microsoft Azure, Google AppEngine, Force.com), and/or IaaS (such as Amazon EC2).

So which one are you doing?


Monday, April 4, 2011

Varity of Type Definition in a Web Service

In most of WSDLs of enterprise class one finds very simple definitions of types.


But this approach has one serious flaw, if source like to change (generally add) type system, service has to change. To manage changes at source system, multiple versions of a service crop up in enterprise environment. But the good part of this approach is that one looking at types in WSDL can understand the types easily and least documentation is required for attribute/parameters.

To overcome the changing number of attributes/parameters and containing changes in source and target systems only (not in the system which facilitates exposure of functionality as service – web service) one can follow one of the following approaches:



Approaches 2 and 3 have their own set of challenges. Understanding of types is not intitutive and needs documentation with greater details.