The session MBL305 Security is enterprise RIA show stopper will discuss the new web 2.0 AJAX, Silverlight and Flash development nature are rapidly puling developers to develop fat clients downloading the entire application to the client. Enterprises cannot live with the huge hidden security compromise they do when using such technologies and this fact becomes a major show stopper for creating RIA in enterprises. Come and see how Visual WebGui and the "Empty Client" paradigm has proven to thoroughly solve the security issue of RIA seamlessly from the developer's aspect and still keep the richness, accessibility and productiveness of the applications. Visual WebGui enhances AJAX and Silverlight making them secured by design.
Session Type: Live Session
Speaker(s): Itzik Spitzen
Attendance is free with registration
Visual WebGui Rich Internet Applications Platform version 6.3.6a was released today and all 6.3.6a versions are available for download. This version implemented support for Microsoft Silverlight 3.0 beta presentation layer and is the latest and most stable Visual WebGui 6.3.x version.
The following article on the Visual WebGui Technology section explains the Visual WebGui Command Level Visrtualization ('Empty Client') approach that through a unique protocol of events and commands, virtualizes the application run from the server to the client.
Think of a bitmap based virtualization solution such as Citrix or Remote-desktop, even though highly optimized it is still transferring a picture; the client plays the minor part of showing a bitmap and replacing it when necessary.
Now, the natural evolving paradigm would be having the client “understand” better in terms of UI yet having the application perform the business logic and manage sensitive data on the server. Being able to utilize the client strength and at the same time leverage the accessibility to data and high security of the server.
This interesting case tells the process of how Torq Software decided to allow web access to the internal systems so that they can be accessed by more field agents and clients via the internet with a manageable impact on the processor and bandwidth usage footprint.
The team chose Visual WebGui RIA Platform and soon enough discovered how easy it was to start developing Visual WebGui screens due to the fact that it uses the same GUI designer technology that was already used to develop the Windows Forms version of the application.
It was relatively easy to develop the screens for the application as the existing Windows Forms UI was used as a guide. Even though Visual WebGui was still in a beta form, the overall development was simple and quicker than expected. "Not having to learn ASP.NET in its entirety meant that we could leverage our existing knowledge for most part to produce an effective application" Said Apolon Ivankovic. Deployment turned out to be relatively easy as well and only required the team to learn the basics of IIS deployment.
To read the etire showcase click on the following link:
Debt Collection Management System Web UI developed in less than a month
A new Visual WebGui RIA Platform showcase is published:
A Linux (Mono) Web based OS Deployment tool completed in just 2 weeks
The company needed to develop a solution which would operate as an OS Deployment tool that is customized for the needs of their Datacenter according the specific design parameters given.
The team decided not to use PHP but to use Mono (mod_mono) with Visual WebGui because of the short timeframe they had for deploying the solution and since Visual WebGui provided the easiest and quickest graphical development possible.
The development process was straight forward. While the final goal was well defined, some of the concepts and functions were being defined while coding the solution. The Visual WebGui unique approach enabling easy integration of UserControls and intuitive graphical development allowed for this unstructured development cycle which led to an extremely shortened process as stated by Axel Westerhold: "Because of the easy graphical development environment and the integration into Visual Studio we were able to roll out the product within 2 weeks."
This is the change log for version 6.3.5
VWG-4152 - TableLayoutPanel clip right side of added controls that reach it's right edge.
VWG-3838 - SplitContainer should retain it's SplitterDistance when form saved.
VWG-4153 - Form with MainMenu, ToolBar and TabControl in FF hides the menu and toolbar when switching tabs.
All 6.3.5 downloads can be found here.
Professional Studio can be downloaded directly from here.
There is a really good article posted on programmers-tech explaining Visual WebGui's Web Development platform uniques approach and benefits for developing web applications.
"Visual WebGui a unique approach to AJAX development
Visual WebGui is not just another AJAX framework but rather a different approach to web application development, specially designed to simplify building highly complex applications like Outlook Web Access (OWA). Visual WebGui makes it possible for developers to create applications that were previously developed only by the "big guys". While web development environments such as ASP.NET and JSP have made huge strides in creating a rich environment for developing web applications, they have always targeted a very wide range of applications from content rich sites to OWA like applications. By doing so, they forced a compromise that was very painful for applications developers. Concepts like pages, html, requests and responses, which originated from the historical evolution of web development, are not really suitable for developing applications.
Visual WebGui uses a proven application development toolset that was designed for application development from the outset. Visual WebGui’s methodology – Winforms over Web (WOW) - originates from environments like MFC and the popular Visual Basic environment."
Click here to read the full article.
I would like to share with you an article written by Paul Krill and published in InfoWorld about Visual WebGui's RIA Platform.
Gizmox offering RIA tool for Silverlight, AJAX
"The commercial suite, based on Gizmox's open-source Visual WebGui platform, features integration with Visual Studio, scalability, and redundancy with server extensions...
...Previously available as an open-source technology, Visual WebGui is designed as an AJAX/Silverlight development framework for RIA development. The commercially offered Visual WebGui Professional Studio suite features an enhanced developer experience, integration with Microsoft's Visual Studio development environment, scalability, and redundancy with server extensions, Gizmox said."
The full article is available here.
A new Visual WebGui RIA Platform showcase is published.
Web enabling Data Warehouse Solution made possible with Visual WebGui.
"Visual WebGui reduces the complexity of web development to a minimum. The fact that the developer no longer needs to think like a web developer saves a huge amount of time and allowed the application to be market ready in a very short time." said Joerg Stieg whose company TIP management AG ported its data warehouse solution's configuration and planning tool UI to the web and redesigned the HCe® Web front-end.
"Creating such a feature-rich application in this very short time would have been impossible without Visual WebGui." Joerg Stieg
A new Visual WebGui RIA Platform showcase was published on visualwebgui.com.
A full Help Desk Ticketing System completed with 1 developer in only 8 months by Golden West Technologies.
Visual WebGui provided the platform to build Help Desk Ticketing System solution that actualized the requirements and met the challenges as a cost effective alternative to other RIA platforms. The drag and drop page development experience was an enormous benefit. This compared to the hours it would take to build the same pages with traditional ASP environments. “Visual WebGui claims of 90% reduction in development time and providing the bridge between desktop and web technologies were substantiated through the design, development, and deployment of our help desk software solution.“ Brian Butterfield
Brian Butterfield added that “There is no other software platform on the market today that can give traditional desktop application developers the ability to transition that knowledge and experience directly to a web development environment – providing an unprecedented development experience.”
Gizmox released its Visual WebGui RIA Platform 6.3.4. This version is released as part of the continuous efforts to stabilize 6.3. It is another step towards a stable 6.3.x which is expected to be released in the next couple of weeks.
This is the change log for version 6.3.4
VWG-4142 - Rich Text Editor RibbonBar buttons throw errors
VWG-2913 - When image was larger than the PictureBox if set to Zoom the image was not rendered properly.
VWG-4137 - When session state was active clicks where disabled on main window.
VWG-4129 - "Textcontrols" did not allow edit navigation via arrow, home, end keys etc in FF3.
VWG-4136 - Component tray did not display datasets and bindingsources in visible space after realoding form
VWG-4135 - An exception was raised whenclosing a form designer.
All 6.3.4 downloads can be found here.
Professional Studio can be downloaded directly from here.
This article provides a technological explaination of the position of the Visual WebGui Rich Internet Applications Platform within Microsoft's Technologies Stack.
Visual WebGui project is basically an ASP.NET flavored project type which behaves exactly the same as ASP.NET in terms of coding language and compilation products.
The compilation product is an assembly accompanied by a web.config configuration file, and the runtime result is based on the ASP.NET essential infrastructure:
In a Visual WebGui application, the Session object plays a very important part. It contains a new container unit defined by Visual WebGui and known as the Context. The Context is the highest object in the hierarchy represented by a Visual WebGui application and is functioning as semi-global scope of one instance of the application.
One of the channels through which Visual WebGui application can communicate with its ASP.NET environment is the Session object.
Functions exactly the same as in ASP.NET which means it is the global scope of the application and can be used to consolidate global application data if necessary (although static members can function just as well for this specific cause).
Server object is accessible from Visual WebGui applications and provides the same services as in standard ASP.NET applications.
Response/request are normally overridden by Visual WebGui providing a standard and single pipeline to the server, however, Visual WebGui provides the Gateway mechanism (which is explored more deeply further in this document) to take control of those objects and use them according to the custom needs of the application (for example: retrieving images from database, creating resources on the fly etc).
Mapping Request Handler
Mapping requests to objects is done by Visual WebGui Router object which is defined within the httpHandlers section in the web.config file:<system.web><httpHandlers><add verb="*"path="*.wgx"type="Gizmox.WebGUI.Server.Router,Gizmox.WebGUI.Server,
Mapping Application's Entry Point
Unlike ASP.NET and due to the fact that Visual WebGui uses live state objects on the server, there isn’t any actual file which defines a Form object; Forms are object which inherit from Gizmox.WebGUI.Forms.Form object and is mapped by this Visual WebGui Router object to be handled by an instance of an object of the suitable type.
Entry point forms which are called “Applications” are defined within the web.config file and define the set of forms which are browse-able directly:<WebGUI><Applications><ApplicationCode="MainForm" Type="MySample.MainForm, MySample"/><ApplicationCode="Form2" Type="MySample.Form2, MySample"/></Applications>…
Visual WebGui Context Initialization Scenario
- The client approaches the server for the first time.
- The IIS server infrastructure discovers that no Session exists for this client and creates an IIS Session.
- ASP.NET native ISAPI filter takes over the request and creates the basic ASP.NET infrastructure on the server.
- ASP.NET Visual WebGui HttpHandler definition causes ASP.NET ISAPI filter to hand over the request to Visual WebGui a new Router object.
- The router detects a “Preload” request and sends back the initial HTML and the kernel resources which are responsible for further communication with the server and UI rendering.
Visual WebGui utilizes the IIS and ASP.NET infrastructure and depart from ASP.NET only on the pipeline. The Context object is an application instance global scope and it is a Session resistance further dividing it to a specified scope.
Visual WebGui Platform's position in Microsoft’s technologies stack
Gizmox released its Visual WebGui RIA platform/framework development environments' version 6.3.3 as a further stabilization of the 6.3 Ajax framework/platform for developing and deploying RIAs.
This version is released only a few days after 6.3.2 and it solves the following issue.
This is the change log for version 6.3.3
VWG-4128 - Showing of dialog form or messagebox from with in a dialog form should not hang browser the second time.
All 6.3.3 downloads can be found here.
Professional Studio can be downloaded directly from here.
The new case study was published on the visualwebgui.com showcases section:
Visual WebGui saves a multi-lingual search engine 2 years and $250k
This case showcases the remarkable cost savings of the development and deployment process of FindItByMe.com multi-lingual search engine with Visual WebGui's Rich Internet Applications Platform. The project was to create a multi-lingual search engine that runs as a website that is accessible to the public from any standard web browser. This means that any internet user should be able to surf onto this website with no need for any specific installations or browser plug-ins.
In addition to and as a result of this requirement, the search engine should use a technology that provides a secure environment. A simple deployment process of the unique interface was also important for the project's success.
"In terms of cost savings, Visual WebGui allowed to complete the project with only a single developer in a year. According to John Graffio the company saved at least $250,000 this year since with any other solution, there would have been the costs of additional developers and equipment. Furtheremore, John Graffio stated that Visual WebGui saved the company a remarkable amount of time. "VWG has allowed me to come to market anywhere from 24-30 months ahead of anything I could have remotely dreamed of."
Read the entire case study here.
Gizmox released today its Visual WebGui web developemnt environments' version 6.3.2 as a further stabilization of 6.3. Visual WebGui's Web UI platform/framework simplifies rich internet application development and deployment with a unique WinForms API and a visual Designer that allow to cost-effectively deliver web UIs with existing skill set.
All 6.3.2 downloads can be found here.
This is the change log for version 6.3.2
VWG-4102 - Datagridview did not create a new row after editing a text box cell and pressing the enter key.
VWG-4080 - It's possible to change properties for public controls in derived forms.
VWG-4082 - DataGridView sort switch between asc/desc by click on the columns header fixed.
VWG-4083 - DataGridView sorting i not reset when timer tick fireed.
VWG-4033 - DataGridViewCell Border used to disappear when selection is removed from that cell.
VWG-4060 - TextBox GotFocus/LostFocus events fire identically with mouse or keyborard navigation.
VWG-4040 - Controls will not raise unnecessary lost focus and got focus events.
VWG-4034 - Using VS Integration to set a LogonForm the selection is saved to the Web.config.
VWG-3841 - DataGridView adding of rows when AllowUsersToAddRows = True is fixed.
VWG-3885 - OpenFileDialog fires FileOK event in FF3.
VWG-4051 - DataBindings in control fixed.
VWG-4073 - Combobox dropdown open and close fixed.
VWG-4093 - CheckListBox, checkboxes "jumped" on check/uncheck.
VWG-4092 - ListBox did not scroll on the first drag into only after the control was focused.
Visual WebGui RIA Platform/Framework
A new case study is published on the www.visualwebgui.com showcases section:
Informatec saves over 50% developing its telephony Call Account Management System with Visual WebGui
"Using form visual inheritance, we quickly developed about 50 end-user forms in 2-3 months with 3 developers while the original estimation using traditional ASP.NET was over 6 months. Visual WebGui is an amazing time and budget saver" Sergio Gomes.
The case showcases Brazilian company Informatec's Hotbill Call Account Management System that was developed and deployed using Visual WebGui's RIA Platform migration tool in less than half the expected overall project duration.
Informatec looked to replace its existing application UI with a new end-user interface which would be more suitable for today's corporate world. Therefore, Informatec needed to create a new application which can provide all users with a quick access to application via a web browser from anywhere, with minimum client software and hardware requirements. It was also important that the new interface is user friendly and intuitive and includes at least the same functionality of the existing application, while performance especially with database access should be improved.
You can read the case study and view the demo application here.
Visual WebGui is a Rich Internet Applications Platform
Guy Peled Visual WebGui's CTO posted a very interesting entry on his revived blog.
The entry announces the new Control and Theme Designer expected to be released in the near future within Visual WebGui RIA Platform and describes the needs for such tool in details. The new designer simplifies the way to create a Custom control and theme to a Visual WebGui application.
The following is taken from his blog entry.The problem:
Visual WebGui provides extreme productivity and simplicity when you are satisfied with the out of the box client side behavior / look and feel, but when you want to customize or “do for yourself” something, than you are facing a different level of development in which you need to be familiar with the internals and how they are bounded together and with that keep track of changes that we here at Gizmox are forced to do in those internals.Customization of the UI as you guys expressed is at the critical path for many applications that have actual customers on the end point. As most customers will require customization of various aspects of the UI, I guess lots of the applications developed with Visual WebGui have taken the decision to use Visual WebGui, while compromising or as Palli expressed it, by letting the customer in on the decision and its aspects.There are several levels of customization and UI needs which vary in terms of the current support that Visual WebGui can provide. I have personally been consulting a few projects, which had done extreme customizations to the Visual WebGui UI, but that currently comes at a cost.
Visual WebGui presentation layer is the other client half of the application and the server is the first half. The presentation layer is responsible of updating its UI and sending events to the server half. So while the server part is totally customizable in terms of object oriented the actual presentation layer is a set of resources which comprises the presentation layer and needs to be hand coded in a very specific way.The presentation layer resources are separated from the server side implementation and they interact with the server side implementation through metadata which provides a runtime description of the control UI state. The presentation layer raises events to the server, notifying the server on events that occurred on the client. To optimize the communication default values are not sent to the client within the metadata, thus leaving the presentation layer to apply its defaults. That behavior causes a difference between the server state and the client actual state. For example the default control font is Tahoma, 8pt but any presentation layer can define its own defaults but currently there is no mechanism to enable the server side to be notified on this.The previous problem provides limitations on the accuracy of the state and the ability to implement a few scenarios where the client data is crucial for completing the scenario. For example if we need to implement the ListView.GetItemAt(x,y) method it is necessary to know what is the column height, what is the listview item height, what is the actual font which might affect the height also and without this data we cannot implement the GetItem method as we cannot calculate the item at the position.
I think I don’t need to elaborate on the business value of customizing the application to be custom tailored to the customer, and until we provide a rock solid solution for this problem, it will be hard to use the platform without compromising. The current adoption definitely shows that it’s appealing to compromise, but until this is solved I personally will not sleep at night… (Literally )
The challenges:A presentation layer is a set of images, style sheets, templates and etc. which are used to provide implementation for the presentation layer. Furthermore those resources can be categorized for specific browser support, or should I say in a more generic level, presentation engines, which can be for example: IE/Mozzila/WebKit. Also there are different roles a resource can play with in an existing presentation layer. It can be part of the basic scripts or it can be a script needed for a specific frame.
Every control must declare its resources in compile time so the Visual WebGui server can collect those resources to the client. Currently controls declare their resources using attributes, this causes a limitation, that to add resources one must inherit from a control and add the resources. Furthermore one must embed add the resources in a specific way so the Visual WebGui server will be able to collect them. The embedding of resources is different in VB.NET and provides challenges for someone to write a theme in VB.NET.
The presentation layer resources are constantly changing. As someone that is also responsible of architecting in Silverlight, I see that this is a universal problem. We had been updating our XAML files with every major update of Silverlight. I am not providing Silverlight as an excuse, rather than providing a reference to a real problem, which we need to address so you guys will have the ability to customize Visual WebGui without having to rewrite every major Visual WebGui version.
The goal of any solution as I see it is to bring back the simplicity of developing web when it comes to custom development. This is the first goal, but as I see it is not the spirit of the platform, as I would expect the ultimate Visual WebGui platform to provide an intuitive easy way that does not involve writing lines of code and that can even look at the designer, as someone that might be glad to participate in the process of customizing the UI.
A perfect UI customization solution should provide the following:· A way to use existing design software such as Photoshop, Expression Blend, Flesh CS and etc.· A way to override resources without the need to understand the entire architecture of the platform.· A way to customize most of the UI look and feel using parameters which can be inherited and overridden within the control inheritance tree and to override the different UI images.· A way to avoid writing lines of code to customize the UI and being mostly driven by point and click / drag and drop interfaces.· A way to extend existing customizations and to reuse customizations between projects.· A way to customize third party controls as well as internal out of the box controls.· A way to create a control from scratch using the same capabilities.· A way to edit multiple presentation layers with the same drag and drop UI.· A way to be able to design in runtime or disconnected from Visual Studio and actually needing to compile the project.
The solution:I have been carrying this challenge with me for quite a time and I have been sketching from time to time different solutions, based on the previous requirements. We have implemented the basic solution and we are working on providing you guys a preview version of 6.4 which will allow you to try out the concepts. The current post is meant to allow to be prepared for the upcoming change and to influence the solution at a relatively early stage.
The first thing that I saw as a necessity is to provide a mediator between the presentation layer and the server side control. I called this mediator the Skin which is a store for skin properties / resources that can be inherited and used both in design-time and in run-time.
The Skin is mapped by an attribute, to the control and the control is able to query the Skin object in runtime to get information like the ListView item height (as I said before, this will solve a lot of Visual WebGui issues because for the first time, the server is aware of client side definitions).
The Skin class replaces all the different attributes that a control can have and provides all the services needed to retrieve the presentation layer resources. The resources and properties will be stored with in a resx file to enable future editing of external applications or non compile time usage of the skinning mechanism.
The skin class has a designer which allows adding resources / manipulating existing resources and defining the properties of the resources or the skin. As you can see from the following figure, we took the basic resource editor UI of Visual Studio and implemented it as a Visual WebGui skin designer. The idea is to provide a familiar UI and to extend it with functionality that will help you get custom controls and themes done quicker. Every skin can define properties which can be used within the different resources of the control. For example the font is defined in the Skin object and is used by the control resources as a parameter for style sheets or within any other resource.
As you can see from the following figure various resources can be edited in the control designer and every resource can be configured to specify which presentation layer / engine will the resource apply to and what its role within that presentation layer is.
Now by providing a way to create skins (using the skin object) and define their resources and properties, we provide a object oriented way to investigate controls and provide a UI for creating full support skinable controls, both internally at Gizmox and externally for third party controls.
The next thing I did is to define another designer which provides a full overview of all the controls in the project and with that a storage for overriding the skin resources. The class that implements this store and the overview designer is called Theme. Theme classes are simple classes that can be added to any project, thus enabling themes within the main project or in a separate library.
As any class Theme can be inherited so you can create reusable themes or extend third party themes. The Theme class also saves its data and resources to a resx file, which provides it the same capabilities as said before.
The next figure shows the theme designer which is an extension to the control designer. While the control designer is dedicated for editing resources for a single control, the theme designer is responsible for editing all the controls to create a set of resources that can be applied to change the entire UI. Notice that there is a tree view on the left which provides an overview of the controls and their hierarchy. Evrey referenced assembly which has skinable controls will automaticly add its controls to the tree. The tree provides a visual way to see the inheritance as defining the font in the root level will automaticly populate to the leafs and it goes with our saying that you can override properties and resources in any givven level.
In the previous figure you can see that the list view skin is edited and you can see all its resources. The little shortcut sign at the side indicates that the resources are not overridden in the theme, which means that this is a link to the actual image. We can right click any resource and override it, which will copy the resource locally and open if for editing and that off course will change the icon to indicate that this resource is overridden.For example in the following figure we wish to override the style sheets of the listview control, so we simply right click the resource and click override, which will copy the resource locally and open it for editing.
After clicking the override menu item, we will be able to edit the overridden resource:
This was a basic overview on the theme / control designer which provides you guys with an idea of what we are working on and with the help of the preview version that we will release to get understand what you need to do to migrate to the new version, if you have any customizations of your own over the existing schema. By the way we converted our controls using a macro which we will provide with the preview version so you can do most of the migration work automatically.
Visual WebGui will have to go through a process of template standardization which means to split resources in to multiple small editable resources, to add parameterized capabilities where ever possible to provide larger support for point and click theme creation rather actually coding. I guess that ideas from you guys that will be implemented will make the process even easier but as I see it this is the first step for making all of Visual WebGui easier rather than providing a simple abstraction in one aspect and throw you to the dogs in another aspect.View the original Introducing the new control designer and theme designer... blog entry.
"By using Visual WebGui we saved a significant amount of development time… Turning to Visual WebGui made it possible to create a rich user interface for both the web and desktop environments." Martin Krausmann.
A new case study is published on the showcases section of www.visualwebgui.com
This case showcases ARC-GREENLAB GmbH development process of their new gl-forest web-based application for the forestry industry.
The new solution needed to solve the security and usability issues of the former MS Access based solution. The team was able to design the user interface with a sophisticated look and feel with Visual WebGui. The work within Microsoft Visual Studio and the WinForms-like designer significantly reduced the overall development time. On top of the cut in development time, the team successfully created a desktop-like UI on the web with the complete functionality that was originally required.
The full case study can be viewed here:
Centralized database web application with GIS components developed for the Lower Saxson Chamber of Agriculture
"Using the WebGui approach meant that in spite of our small team we could quickly create an industry leading solution in house according to the requirements which resulted in significant cost savings." Ewan Walker, Craegmoor IT Team Leader
This new case study published on www.visualwebgui.com showcasing Craegmoor's in house conversion and enhancement of their desktop existing MS Access client monies application to a web based solution.
"Using the Visual WebGui technology to enhance the existing desktop MS Access based tool, provided the new solution with access through a standard Web browser which requires no plug-ins or other client-side software, virtually eliminating installation and IT support time. The improved application speed and response has resulted in an end user satisfaction and an overall improved process management which increased client and customer confidence as the full integration with legacy applications removed the need for reconciliation between systems and work in line with agreed business practice.
Visual WebGui allowed the Craegmoor IT team to create an industry leading solution in house quicker and more cost-efficiently than with any other solution. The in house development not only saved the IT team development expenses but also means that maintenance should cost less and the response to any changes in legislation can be very quick."
The full Case Study is available here:
UK’s largest independent care provider builds its new web based system with Visual WebGui