Thursday, February 07, 2008

Silverlight, Astoria & Volta - Microsoft WEB Technologies

Microsoft is working on 3 new technologies that will take your web experience (both usability and development) to a new level. These technologies are:

Silverlight


Microsoft Silverlight
Several months ago, Microsoft inserted themselves into the RIA framework business - years after Adobe had considerable marketshare with Flash and against pretty scary odds - with the initial release of the Silverlight framework. Microsoft Silverlight is the online counterpart to the Microsoft .NET 3.0 Framework and a direct Adobe Flash/Flex competitor. Silverlight isn’t just animations in applets, far from it - it is a very serious development environment that takes desktop performance and flexibility and puts it on the web.
When Silverlight was first announced and PopFly, Microsoft's social network built to demonstrate and launch Silverlight, it became apparent the technical aspects of .NET and WPF.
But things are changing - large portions of Microsoft's website are undergoing a redesign featuring a Silverlight-powered interface - doing away with HTML.

For more information about Silverlight - click here.

Astoria

delivers a set of patterns as well as a concrete infrastructure for creating and consuming data services using Web technologies. This article explores how modern data-centric Web applications and services are changing and the role Astoria can play in their new architectures.
Data is becoming increasingly available as a first-class element in the Web. The proliferation of new data-driven application types such as mashups clearly indicates that the broad availability of standalone data independent of any user interface is changing the way systems are built and the way data can be leveraged. Furthermore, technologies such as Asynchronous JavaScript and XML (AJAX) and Microsoft Silverlight are introducing the need for mechanisms to exchange data independently from presentation information in order to support highly interactive user experiences.
Project Astoria provides architects and developers with a set of patterns for interacting with data services over HTTP using simple formats such as POX (Plain Old XML) and JavaScript Object Notation. Closely following the HTTP protocol results in excellent integration with the existing Web infrastructure, from authentication to proxies to caching. In addition to the patterns and formats, we provide a concrete implementation that can automatically surface an Entity Data Model schema or other data sources through the HTTP interface.
While the software infrastructure provided by Astoria can be a useful piece of the puzzle when building new Web applications and services, it is just one piece. Other elements in these applications need to be organized in a way that enables interaction with data across the Web.
In this article, I will discuss the architectural aspects that are impacted by modern approaches for Web-enabled application development, focusing on how data services integrate into the picture.

Microsoft Astoria

For more information about Astoria - click here.


Volta

technology is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns.
The goal of Volta is to simplify the designing, building, deploying, testing, and debugging of distributed, multi-tier applications, while minimizing the amount of "new stuff" developers must learn. Volta leverages familiar, existing .NET compilers, tools, and libraries and extends them into the distributed realm.

After you have designed and built your application as a .NET client application, you then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.
Developers can target either web browsers or the CLR as clients and Volta handles the complexities of tier-splitting for you. Volta comprises tools such as end-to-end profiling to make architectural refactoring and optimization simple and quick. In effect, Volta offers a best-effort experience in multiple environments without any changes to the application.

Most of the time, developers will create one of two models: Volta applications or Volta controls. An application is a self-contained program that executes on its own; a control is a group of UI elements that can be reused in other programs.

Microsoft Volta

For more information about Volta - click here.

Update: I have played with Silverlight and Volta, and will be trialling Astoria next week.

3 comments:

Anonymous said...

I have never heard of Volta - thanks Jason for the update.

Anonymous said...

Jason, you may be interested in a "Tier Agnostic Request" architecture for client centered distributed computing. See: Tier Agnostic Requests and Microsoft Volta

Anonymous said...

Hey - volta looks great thanks !