Microsoft Pushes Cloud Development

Opinion: Microsoft's Volta project is an effort to "democratize the cloud." Microsoft is at work on a project to enable everyday developers to build Web applications, just as easily as folks have built Visual Basic applications over the years.

The project to enable this is called Volta and it is headed up by Erik Meijer, a Microsoft architect in the company's SQL Server group. Meijer gave a demonstration of Volta at OOPSLA (Object-Oriented Programming, Languages, Systems and Applications) here on Oct. 23 and later discussed the technology with me.

"If you look at when VB came on the market, it was really, really hard to do Windows programming," Meijer said. "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 entitled his talk "Democratizing the Cloud," indicating that Volta makes it easier for anyone to build apps that can be deployed on the Internet or in the cloud.

"Just like Visual Basic democratized programming Windows by removing much of the boilerplate, such as message pumps and window handles, that contributed more to the problem than to the solution, we propose a toolkit of language extensions, APIs and tools that do the same for Web programming," he said.

Moreover, "As a result, ordinary programmers can concentrate on the essential aspects of building distributed and mobile applications such as partitioning and flowing code and data across tiers, deployment, security, etc. without getting bogged down in low level details," Meijer said.

Indeed, a key concept of Volta is its support for tier splitting, or enabling parts of a program to run off different tiers and allowing the developer to make the decision as to which tier later in the deployment process, rather than early on in the development of the application, Meijer said.

For instance, tier splitting "facilitates partitioning a program that conceptually or logically runs on a single tier (we like to start on the client) across different physical tiers," Meijer said.

Traditionally, developers have to decide up-front how their application is distributed across tiers, Meijer said.

A typical modern Web-based application involves various tiers, he said. Each of these tiers usually brings along a myriad of different languages and a tier-specific data model, Meijer said in paper on his OOPSLA talk. Moreover, as a rule, each of the tiers also runs on a different machine, or at best in a different process.

"For instance, the client-tier runs in the browser and uses JavaScript, CSS, HTML as languages and most often uses XML or JSON [JavaScript Object Notation] as the underlying data model," he said. "The data tier runs inside the database and uses SQL as the language and relational tables as the data model. The middle-tier ties the other two tiers together and runs on the Web server with Java, Perl, PHP, Ruby, C], or Visual Basic as the programming language with their respective (object-oriented) data models."


Related Posts by Categories

Widget by Hoctro

Enter your email address:

Delivered by FeedBurner


Source Code