Blogs

The Visual WebGui RIA Platform Technology - Overview

This is the first article within a series of articles that explore the technological aspect of Visual WebGui's RIA Platform features, benefits and usage scenarios.

This article is a “General Overview” of the technology aspects of Visual WebGui which will be followed by a series of 10 detailed articles released each week for the next 10 weeks. The next articles which will explore Visual WebGui's technology by diving into each of the technological aspects and will be structured as following:

Introduction – a general description of the explored aspect.
Overview – a technological overview of the aspect
Summary – Summary and further relevant considerations.

These are the different technological aspects of Visual WebGui which will be explored by the following articles:

Aspect 1 - Visual WebGui in Microsoft’s technologies stack

Technologically Visual WebGui can be best describes as an extension to ASP.NET for application development and deployment.As such the best way to start over viewing the solution would be by exploring Visual WebGui position in Microsoft’s technologies stack.

Aspect 2 – Command level virtualization

Being a server centric architecture; Visual WebGui presents a unique mechanism of balancing between the server state and the client UI rendering state at any given point of time.

This aspect is crucial in the path to understanding the following other aspects:

Security
Performance
Scalability and deployment economy
Multiple Presentation Layers

Aspect 3 – Security

Visual WebGui presents the “Empty Client” model, a paradigm shift in which the client downloads a kernel of plain and static code which is responsible for further communication with the server. This concept is secured by design as the client code cannot control the server behavior under any circumstances.Visual WebGui does not solve the entire issues spectrum of securing your applicative environment, however, by shifting the issue to more comfort zones which are the middleware communication between the client and the server and securing the server, the security problem becomes solvable, controllable and reach military grade easily.

Aspect 4 – Performance

Being a server centric architecture, Visual WebGui is an immediate “suspect” for being less responsive or for suffering from high latency. This suspicion is far from being true, on the contrary Visual WebGui has proved to be more responsive than pure client side solutions due to the fact that Visual WebGui extremely reduces the CPU usage on the server, optimizes the communication protocol between the client and the server to a degree never realized on web before, optimizes the UI rendering and leverages the client power when it can create a better responsive experience. With this mechanism Visual WebGui offers an optimal balance of communication between the server and the client.

Aspect 5 – Scalability and deployment economy

Visual WebGui is fully scalable and redundant across web farms due to a unique capability of enabling serialization of the entire state model into a floating state server (preferably cluster DB based state server).A single IIS server can server between 200-400 concurrent users and even more since it reduces the CPU usage dramatically.

Aspect 6 – Multiple Presentation Layers

The outcome of Visual WebGui architecture is a generic object model that is completely separated from UI rendering. This architecture which is often described as decoupled presentation layer provides the ability to render the UI and consume the application practically from any device which can receive and send XML.The application itself runs on the server and acts on objects containing only metadata and data and the client only renders the UI as reflected from the current application state on the server.

Aspect 7 – WinForms API Development and Migration Tool

The fact that Visual WebGui flattens web development to a single layer, made it possible to select the most productive and intuitive WYSIWYG development paradigm which is WinForms.Visual WebGui mimics WinForms API in order to provide the entire toolset available for desktop application development including Data-Binding, Layout options (anchoring, docking etc.) and a visual WYSIWYG designer.Due to the similarity of Visual WebGui API to that of WinForms API, it is quite a straightforward and natural process to transform any native WinForms Application to Visual WebGui and by that provide an application which can be consumed either as a desktop application or a plain web application.

Aspect 8 – Extensibility and Custom Controls

Being pure web architecture, Visual WebGui utilizes the web server and client technologies underneath; therefore, it is possible to create new controls based on the same concepts and set of tools in Visual WebGui. The various extensibility options will be explored further in this document.

Aspect 9 – Visual Designer Extendibility

Based on the fact that Visual WebGui uses WinForms designer to develop generic web applications, it also provides designable controls. Not only the controls are inheritable and extensible but their designer behavior can be customized and new designer behaviors can be created for custom controls.

Aspect 10 – Technical aspects in cloud computing scenarios

Being a highly optimized server centric architecture; Visual WebGui has high value and support the model of cloud computing scenarios in terms of compatibility and considerations.

This information can also be found on the Visual WebGui platform technology section.

Migration Tool

Live fromVSLive - Day 2

Tagged:  

Today was a very good day at VSLive. The day started with a great key note by Tim Huckaby (and quite a few other people during the demos) that was about going beyond HTML and featured demos using Silverlight and WPF. The WPF demos showed some great 3D demos and even featured some cool demos on Microsoft Surface (the table that is also a touch computer). You can see more about Surface here.

The day went on to have some great sessions including a session on Restful communication in .NET applications by Jon Flanders (it was full of reasons to stop using SOAP whenever possible). It even touched on using JSON (one of my favorite topics). You can read more about Jon at his blog.

The day went on finish strong with a great presentation by Tim Huckaby (you can read more about Tim here) on WPF. This was another presentation featuring a lot of great WPF and Silverlight demos. The day even finished with Tim trying to get his Windows 7 build to blue screen (apparently Windows 7 is quite a bit better than Vista, but it doesn't have all of it's video driver issues resolved yet). He wasn't able to get it to happen during the sessions, but I saw him do it before the session (it brought back memories of Windows 95).

Even though most of my application development is done in other languages (except for some C# and C++ that I am doing for a couple of projects) this has been a great conference. Hopefully, tomorrow will continue to be just as good.

Live from VSLive!

Tagged:  

I just got done listening to the key note at VSLive and it focused on the upcoming Visual Studio 2010. We where the first group at a conference to get a sneak peek of the new IDE.

My first thoughts of Visual Studio 2010 is that the interface is very clean. The new version of Visual Studio includes many things to help you write code faster, such as HTML snippets and the ability to generate classes after you reference them.

The Visual Studio 2010 Beta will be released in the next few months and the full release is currently scheduled for September of this year. It looks like it will be worth checking out.

You can see a video featuring Visual Studio 2010 here.

Safari 4 Beta Out

Tagged:  

Apple has quietly released the first public beta of the Safari 4 browser. With fast Webkit rendering, very fast JavaScript in Squirrelfish Extreme, the tag "World's Fastest Browser" may be more than just marketing hyperbole. But I'll wait for Safari's cousin, Chrome 2.0, to come out before I make that judgement.

Safari 4 is also 100% Acid 3 compliant, an important milestone passed by the Webkit team a few months ago.

You can download it here.

A new Technology section launched on visualwebgui.com

A new Technology section was launched yesterday on the visualwebgui.com website which explores the basic technology aspects presented by the Visual WebGui solution.

The first subject “What is Visual WebGui?” provides the initial background on Visual WebGui, its features, benefit and usage scenarios. Then there is a deep dive into the following technological aspects of Visual WebGui:

What is VWG
Position in MS Technologies
Command Level Virtualization
Security
Performance
Scalability and Deployment Economy
Multiple Presentation Layers
WinForms API Development and Migration Tool

jQuery 1.3.2 Released

Tagged:  

The jQuery project has released its second update in the 1.3.x series, 1.3.2.

Notable changes:

  • Elements are returned in document order rather than the order of the selectors passed in. This is to comply with the Selectors API.
  • Improvements in the :hidden/:visible selectors to check the browser-reported offsetWidth and offsetHeight rather than the CSS visibility attribute. This works better with elements that have hidden ancestors, and improves performance.
  • Performance improvement in width() and height() methods.
  • Better selector peformance in IE.
  • The methods appendTo, prependTo, insertBefore, insertAfter, and replaceAll now return the set of inserted elements, instead of the original set of elements.

jQuery 1.3.2 can be downloaded from the main page.

YUI 2.7.0 Released

Tagged:  

The Yahoo! User Interface team has released version 2.7.0 of its JavaScript framework library. The new release brings official support for IE 8 and graduates some components out of "beta" (Element, ProfilerViewer, and Selector).

What's new?

  • The YUI StyleSheet Utility. Allows you to create and modify CSS stylesheets on the fly. It addresses the need to apply style or style changes to multiple elements in a more efficient way--using dynamic CSS--than traversing the DOM and applying changes directly, which generally incurs the cost of a page reflow for each change.
  • The Charts Utility gains several new additions, including rotated axis labels/titles and new series styles that allow greater control over look of the chart lines, borders, and fills.
  • Many enhancements and fixes to the TreeView Control. Improvements include multiple selection node highlighting (including propagation up/down) and better focus/event handling.
  • The addition of new methods to the DOM Collection, including getComputedStyle(), getElementBy(), setAttribute(), and getAttribute().

All together, there were over 180 bug fixes and enhancements in the release. You can download YUI or use the YUI Configurator to select a custom component mix.

Groovy 1.6 Released

Tagged:  

The final version of Groovy 1.6 is now available for download. For those who don't know, Groovy is a scripting language hosted on the JVM with many of the features that Java programmers may find themselves missing--optional/dynamic typing and closures to name two--but with a syntax that is still very familiar for Java programmers. It is a natural complement to Java for tasks like GUI or web application development.

Beyond the many bug fixes and improvements in 1.6, the major focus of the release was performance, which had been somewhat of an Achilles heel for the language in the past--especially when compared to the more aggressively optimized JRuby. Groovy 1.6 sports a performance improvement of somwhere between ~150% and 460% (and yes, all the usual caveats about micro-benchmarking do apply), a solid boost that should mollify some of the performance objections to using the language.

Other useful features of the release include:

  • The ability to create annotations in Groovy (previously had to be done in Java)
  • Multiple assignments, e.g. def (a, b) = [1,2]
  • Abstract Syntax Tree (AST) tranformations, which give the developer the ability to hook into the compilation process before code is turned into bytecode--examples include @Singleton for making a class into a singleton, @Immutable for making instances immutable
  • Improved support for OSGi

Visual WebGui platform remains un-hackable after 3-month security challenge

More than 1,700 users attempted to break into the Visual WebGui pipeline unsuccessfully during the $10,000 Security Challenge that ended this month after airing for over 3 months.

The contest offered $10,000 prize to anyone who could break into the Visual WebGui pipeline via the Visual WebGui NOC web application and required participants to provide a reproducible pathway into the Visual WebGui pipeline in order to claim the prize. Despite by more than 1,700 break-in attempts, Visual WebGui was not hacked and the prize remains unclaimed. The Visual WebGui "Empty Client" architecture is secure by design and provides bullet-proof security to AJAX and Silverlight applications. The Empty Client approach means that the entire application flow, UI logic, and validations are developed and processed on the server and virtualized on the browser while the web browser serves as a “display” for the output and a “receptor” for user input. Thus, only essential UI data is sent to the client, which includes no applicative or sensitive data, preventing the break in and theft of confidential information on the server.

Navot Peled, CEO and founder of Gizmox commented: "The fact that no one was able to successfully hack into the Visual WebGui pipeline shows that Rich Internet Applications developed with Visual WebGui are inherently safe and secure by design... As the Empty Client name indicates, the client holds no data or logic, and every action the client wants to take must be authorized by the server first. Not only does this significantly increase security, but the Empty Client design allows events to be raised on the server for every client action while also remaining flexible enough to make web applications responsive, scalable and customizable, enhancing the end-user experience."

Read the official Gizmox Security Press Release or learn about the Visual WebGui Security concept

JavaFX 1.1 Released with Mobile

Tagged:  

Sun has released version 1.1 of the JavaFX platform, which now includes JavaFX Mobile (previous releases were JavaFX Script only). Partners listed for JavaFX include Sony Ericson, LG Electronics, Orange, Sprint, Cynergy and MobiTV.

The SDK and other tools (including the dedicated version of Netbeans 6.5 with the JavaFX plugin) are available from the JavaFX site.

The official Sun press release is here.

Syndicate content