Shiju Varghese's Blog Headline

Shiju Varghese's Blog

Monday, December 31, 2007

My Top Technology Predictions for 2008

Software as a Service (SaaS)

The software development evolution ended up SaaS computing model. I think SaaS will be big hit in 2008 and more people (software developer community as well as business community) will think about SaaS delivery model. SaaS simply means that delivering software over the Internet. SaaS is a software application delivery model where a software vendor develops a web-native software application and hosts and operates (either independently or through a third-party) the application for use by its customers over the Internet. Customers do not pay for owning the software itself but rather for using it. They use it through an API accessible over the Web and often written using Web Services or REST. SaaS is also often associated with a "pay as you go" subscription licensing model.Microsoft has released a sample SaaS application named LitwareHR that is a fictitious HR application providing recruitment-management software delivered as a service.

Enterprise Service Bus (ESB)

The term Enterprise Service Bus is referred to as a message broker is widely used in the context of implementing an infrastructure for enabling a Service-Oriented Architecture (SOA). An enterprise service bus (ESB) is a pattern of middleware that unifies and connects services, applications and resources within a business. Last year SOA was a reolutionary term in the Information technology space. SOA is a loosely-coupled architecture designed to meet the business needs of the organization. SOA is just an architecture theory and you should adopt a infrastructure architecture for enabling real-world SOA. The Enterprise Service Bus (ESB) is an infrastructure architecture for SOA. I think people will be get more maturity about SOA and will be use ESB for their SOA adoption. Microsoft BizTalk Server 2006 R2 and IBM WebSphere MQ will be the winners among the ESB market. Sonic ESB will continue their momentum.

Web 2.0 & Social Networks

Like 2007, Web 2.0 and Social Networks will also be hot in year 2008. I think Facebook will be the clear winner among the social networking space. More people will be adopt Web 2.0 strategies for their web sites and link their Web 2.0 strategy with SOA.

Microsoft Zune

Microsoft Zune will overtake the Apple iPod and will be hottest electronic device of 2008. I hope Microsoft will end up with a Zune Phone. The latest editions of Zune provides a user-friendly interface, exceptional navigation control, audio and video podcast support, a superlative FM radio, wireless syncing and sharing, high-quality earphones, revamped Zune Marketplace PC software, Zune Pass subscription music support, good audio quality, and a built-in composite-video output.

Mobile Internet Devices (MIDs)

Mobile Internet Devices (MIDs) will be another big hit in year 2008. A Mobile Internet Device (MID) is an Ultra-Mobile PC initiative introduced by Intel. Intel is developing its own take on the mini-tablet, with a new ultra-mobile PC platform announced at Intel Developer Forum in Beijing. The new device is based on Linux.


Intel MID

Microsoft's new Products

I think Microsoft will be the undisputed leader in the software development and IT market in year 2008. If you are software developer specialized in the .Net framework area, the year 2008 will be specially for you. In 2008, Microsoft is planning to release bunch of products that spans operating systems to developer tools. The latest additions will be commercial version of Visual Studio 2008 and Sql Server 2008, Vista Service Pack 1 , Windows XP SP3 and Windows Server 2008. I hope Visual Studio 2008 will be best developer tool of 2008 and Sql Server 2008 will emerge as a great competitor to Oracle database and Microsoft Windows Mobile 6.0 will become a clear winner among the Mobile OS space.

Saturday, December 22, 2007

I am getting married!

Oh my Jesus Christ! You blessed me once again!

I am so so excited to receive Sacrament of Jesus Christ and I just want to let you know that I am getting married to Rosmi on 30th January 2008. The engagement is planned on 26th January in St: Mary’s Church, Kalady, Ernakulam and the Catholic Wedding Ceremony will be held at St: Francis Xavier’s Church, Cheranalloor East, Perumbavoor, Ernakulam (30 KM away from Kochi).

Dear friends, "Please pray for us"

Thursday, December 6, 2007

Microsoft Volta - A Revolutionary development model for the next decade





Microsoft has released Community Technology Preview (CTP) version of its latest technology Volta. Volta is a developer toolset that allows developers to write Web applications and Mobile applications using existing .Net tools and languages such as C# and VB.net. Volta makes easier for anyone to build applications that can be deployed on the Internet or in the cloud. You can download the Volta CTP from http://labs.live.com/volta/. In order to use the Volta toolkit, you need to .Net 3.5 and Visual Studio 2008. Volta supports applications that run on the Microsoft CLR, a JavaScript-enabled browser, or a combination of the two.


The idea behind the Volta toolset by Erik Meijer, a SQL Server architect currently he is working as a principal architect of Volta. Microsoft Live Labs home the Volta toolkit and using Volta for developing applications for the Windows Live platform. At OOPSLA (Object-Oriented Programming, Languages, Systems and Applications) 2007, Erik Meijer had a demonstration about Volta. Erik Meijer said "We pick the .NET Common Language Runtime (CLR) as our universal computation model. We prefer, of course, to use the already available CLR implementation on each respective tier: SQLCLR on the data-tier; regular CLR on the middle-tier; and Silverlight for Web-clients, or the regular CLR for desktop clients. When no CLR is on hand, we use the materials already available in the room. On the data-tier we compile MSIL to SQL. This is the approach currently taken by LINQ-to-SQL and LINQ-to-Entities. On the client-tier we compile MSIL to JavaScript or Flash. This is the approach taken by Volta. The upshot is that we uniformly provide (the illusion of) the .NET platform on each tier, in effect stretching it to cover the Cloud. Application programmers only need to care that they can run MSIL everywhere, not about how this is technically accomplished under the hood.” Alex Daley (Group Product Manager of Microsoft Live Labs) said “We are not against JavaScript. We are in favor of MSIL. For us, JavaScript is just an assembly language. You can use Visual Basic or C# or whatever and all will compile to MSIL.”


Just like Visual Basic made client-based application development available to a wider tier of developers by removing much of the complexities, Volta is a toolkit of language extensions, APIs, and tools that do the same for web programming. As a result, ordinary programmers can concentrate on the essential aspects of building distributed and mobile applications such as partitioning and owing code and data across tiers, deployment, security, etc. without getting bogged down in low level details. "If you look at when VB came on the market, it was really, really hard to do Windows programming. You had to be a C++ programmer, and then VB came around and then suddenly people could write Windows programs. Now it's the era of the Web, but in some senses we're back in the early days of Windows programming." Meijer said.

Volta enables architecture refactoring and you don’t need to write Silverlight or WPF applications. You can create a single-tier client application for a common model instead of a particular programming model and can be end up with MSIL. Later you can refactor the applications into multiple tiers and can generate a JavaScript or Silverlight client from the MSIL. Volta generates MSIL if runtime detects CLR on the end users machine. Otherwise it will generate cross browser JavaScript. If your client has Sliverlight, it will generate a Silverlight client application. If your client running with a non-Silverlight browser, then the Volta engine will generate JavaScript that manipulates DHTML. In essence Volta is a recompiler. Volta works on MSIL rather than on a textual source language. Volta rewrites MSIL into any number of target languages, including, today JavaScript and MSIL itself.

I am so excited with the new Volta toolkit and will add new blog entries later with lot of details.

Wednesday, December 5, 2007

REST and WCF 3.5

The first version of WCF was focused on SOAP. But another approach known as REST is becoming a popular approach for building web services. The latest version of WCF in the .NET Framework 3.5 supports both SOAP and REST.

What is REST?

REST is an acronym standing for Representational State Transfer and it is an architecture style of networked systems. According to Roy Fielding (one of the principal authors of the Hypertext Transfer Protocol (HTTP) specification) , the explanation of Representational State Transfer is :
"Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use." Systems that follow Fielding’s REST principles are commonly known as “RESTful”;

REST means that each unique URL is a representation of some object. You can get the contents of that object using an HTTP GET, to delete it, you then might use a POST, PUT, or DELETE to modify the object.

Unlike SOAP, REST is not a standard or specification. It is just an architectural style. You can design your web services using this architectural style.

REST is using the built-in operations in HTTP: GET, POST, and others. And rather than identify the information to be accessed with parameters defined in XML, as SOAP typically does, REST assumes that everything is identified with a URL. However REST is not a standard, it does use the following standards

  • HTTP

  • URL

  • XML/HTML/GIF/JPEG/etc (Resource Representations)

  • text/xml, text/html, image/gif, image/jpeg, etc

REST Vs SOAP - Which is the best approach?

Software Architects have been involving a never-ending debate about whether SOAP-based or REST-style web services are the right approach and recently the debate is too heating up. Yahoo's web services are using REST and google using SOAP for their web services. Some organizations have web services for both REST and SOAP. REST is Lightweight than SOAP because it does not requires lot of xml markup like SOAP.
I believe that SOAP will be the primary choice for intranet and enterprise level applications because SOAP and the WS-* specifications addresses many challenges of enterprise level applications such as reliability, distributed transactions, and other WS-* services. But I think open, Internet applications will gear towards to REST because of REST’s explicitly Web-based approach and its simplicity.

RESTful services for WCF 3.5

WCF 3.5 provides explicit support for RESTful communication using a new binding named WebHttpBinding.
The below code shows how to expose a RESTful service

[ServiceContract]
interface IStock
{
[OperationContract]
[WebGet]
int GetStock(string StockId);
}


By adding the WebGetAttribute, we can define a service as REST based service that can be accessible using HTTP GET operation.