Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Workstation Server Enterprise and Developer Editions from General Interface - Product review
An attractive alternative to the traditional Web tier

As Web services become more prevalent in the application tier and Web application sophistication increases, alternative approaches to the traditional Web tier are being developed. The Workstation Server product suite by General Interface provides a refreshing standards-based alternative for creating rich browser-based, event-driven interfaces to Web services (in IE 5.5+ and similar browsers).

The resulting applications look, feel, and perform like thick-client software (except there's nothing for the end user to install) by leveraging JavaScript Objects, XML, XSL, DHTML, and Web services. For this review, we will investigate the product suite components along with some patterns of use.

Product Overview
The General Interface Workstation Server suite consists of two components. The core component is the Workstation Server, a fast, lightweight (less than 100K compressed!), client-side container (written in JavaScript) for deploying and executing rich two-way Web applications in a browser. The development paradigm within the Workstation Server is based on a Model-View-Controller (MVC) architecture. The model is maintained in properties of JavaScript objects and a client-side XML data cache; the view is rendered via client-side generation of JavaScript, DHTML, and XSL (from the GUI objects); and the controller is the collection of event, data, and communication components implemented in JavaScript object classes.

 

The container provides, among other things, facilities for accessing Web services (via the "socket" metaphor), caching data (the cache is used for quick access to stateful application data), rendering GUI objects, and event dispatching.

Workstation Server sockets abstract interactions with the server by providing a uniform invocation mechanism for different request types (e.g., SOAP, XML GET, HTTP FORM POST, etc.). Sockets encapsulate the communication semantics, query parameter binding, and result-data interaction with the cache. Also, sockets allow for disconnected operations by either relying on cached data or using a specified XML document (e.g., to support cases when the Web service that the socket will ultimately communicate is being developed). The XML data, typically returned by sockets, is placed in the client-side data cache where it can be accessed by all aspects of the application.

Workstation Server applications are stateful and do not require an application server to repeatedly generate redundant HTML pages and deliver those to the browser. State is maintained on the client via instance variables and cached XML documents. A rich API is available to manage this cache but is beyond the scope of this article.

The Workstation Server includes a set of standard GUI objects (ListView, TreeView, ContextMenu, etc.). These are JavaScript objects (with their instance data stored in XML documents) that generate the appropriate DHTML code at runtime, and may be manipulated at runtime via a robust object-oriented API. An object inheritance framework allows the GUI object set to easily be extended to create new objects and subclasses of your own. The GUI objects support several nontrivial features, including drag/drop functionality, with some objects that have the ability to be bound to a socket directly. To wire an individual event handler to a control, the JavaScript code is assigned to the desired event in the properties editor for the control. Because JavaScript is the foundation of the tool, it can be entered almost anywhere (e.g., JavaScript can be entered directly into some properties along with HTML).

Building on the power of General Interface's object inheritance framework, the Workstation Server includes an object-oriented JavaScript API for managing instances of in-browser objects created by the Workstation Server. Object-minded programmers will appreciate the familiar feel of the APIs that enable high-level and low-level access to the object properties and methods.

The other Workstation Server suite component, available in the Developer Edition, is a lightweight IDE used to develop the UI and integrate the application components. Using the IDE, a developer can lay out UIs, create new GUI Objects, assemble applications and connect them to XML/Web services. The IDE provides a JavaScript editor, XML/XSL editors, a JavaScript debugger, several wizards, inspectors (e.g., a GUI Object HTML viewer to inspect the rendered HTML) and a socket wizard. This wizard includes an integrated WSDL inspector that auto-creates the SOAP input structure.

It is important to note that while all development could be done without using the developer edition and leveraging the Workstation Server's extensive API, hitting "CTRL-J" while running an application from the Developer Edition will bring the application up in the IDE, allowing you to view and modify the instance data, and even the currently executed code (see Figure 1). This enables you to perform on-the-fly debugging and incrementally build applications with changes being immediately reflected in the application.

Installation and Application Deployment
Installing the Workstation Server is as simple as unzipping the software and placing the contents into a directory of your choice. The Workstation Server and the applications developed can be served from any industry-standard HTTP server, but a Web server is not required as applications can be run directly from the disk.

Developing Using the IDE and Wizard
Developing an application typically involves developing the UI, accessing the application tier using the socket wizard, and integrating the two using JavaScript or XSL/XSLT. (Note: The first two steps can be performed in any order.) For example, I've created a simple Web service that allows you to obtain weather information for a given zip code. This weather information would then be displayed on the contact screen (see Figure 1) via an additional text box when the "Get Weather" button is clicked.

To add this functionality, a "Get weather" button, a text box (to display the result), and a hidden blockX component (used to communicate with the Web service) were added to the screen. The socket wizard for the blockX was then invoked, which streamlined the creation of the SOAP message to be sent to the server. The wizard also allowed me to define where to cache the result data and use some JavaScript to access the value in the zip code text box.

Afterwards, an XSLT file was created to extract and format the information. This XSL file and a reference to the XML document (created when the blockX object is refreshed) were then assigned to the text box using the property editor. Finally, the JavaScript code to refresh the blockX object was placed in the "onClick" event for the "Get weather" button to complete the loop (see Figure 2).

General Interface

Company Info
General Interface Corp.
212 Sutter Street
Fourth Floor
San Francisco, CA 94108
www.geninterface.com
Phone: (415) 394-6150
Fax: (415) 394-6151
Sales: info@geninterface.com

Download Information
A free trial of the General Interface Workstation Server is available at www.geninterface.com/eval

Summary
The Workstation Server Enterprise and Developer Editions from General Interface allow the creation of enhanced user interfaces for Web-based applications, which enables richer user interaction akin to that experienced with desktop applications. The IDE and API take a little getting used to and are geared towards more seasoned object-oriented developers with some XML/XSL know-how. However, the rewards are worth the effort. For rich Internet Explorer-based applications, the General Interface Workstation Server Enterprise suite is an attractive alternative.

About Ahmed Sako
Ahmed Sako is CTO at Rosenblatt Securities. His areas of expertise include distributed systems, transaction processing, application architecture and development, system analysis, and Web design.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
Yahoo’s critical negotiations with Alibaba to sell part of its stake in Alibaba back to the Chinese company have collapsed according to All Things Digital, a report later confirmed by CNBC. Apparently the collapse includes Yahoo’s parallel and intertwined negotiations with Softbank t...
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to public and...
The Internet highway may start looking like a proverbial New York traffic jam at rush hour soon. Feel free to substitute any town you like because Cisco says there’s going to be a faster-than-expected 18x surge in worldwide mobile data traffic between 2011 and 2016. That’s when mob...
OCZ Technology Group, a provider of high-performance solid-state drives (SSDs) for computing devices and systems, on Tuesday announced the Z-Drive R4 CloudServ PCI Express (PCIe) flash storage solution, designed to accelerate cloud computing applications and reduce operating expenses i...
Many organizations have embraced, or are considering, the benefits of cloud computing – speed, flexibility, increased expertise, shared workload, reduced costs, etc. The benefits are many – but so are the risks. What are the threats to cloud security? Which parties assume responsibilit...
SoftLayer Technologies on Tuesday announced the immediate worldwide availability of SoftLayer Object Storage, a redundant and highly scalable cloud storage service that allows users to easily store, search and retrieve data across the Internet, with optional CDN connectivity, or across...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE