Comments
litl_phil wrote: While it's nice that Google and Acer share the vision of cloud-based computing, it's also worth noting that we at litl already have a webbook on the market (available at litl.com) that runs our own cloud-based OS. Unlike Chrome, litlOS is focused on creating a new and better web experience for the home, so we don't have the usual browser interface, we have our own innovative UI. In conjunction with easel mode (litl's inverted-V position) and our growing cohort of litl channels (special apps t...
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
Everyone wants to lower their capital expenditures and increase operational efficiency - it's a sign of the times. The economy of the past 12 - 18 months has forced all organizations to do more with less and become more efficient. While everyone can identify with the request to do more with less, th...
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
This coming Tuesday, December 8, at 2:00PM EST, SYS-CON.TV will be broadcasting live from its 4th-floor studio overlooking Times Square in New York City a very special "Power Panel" in which Cloud Computing Expo Conference Chair Jeremy Geelan and three top industry guests will be looki...
If you are like me, you are regularly receiving unsolicited email from various quarters, telling you about the latest and greatest SEO solutions on the planet. Just buy the book, or guide, or download the promotional whitepaper and this expert will offer you the latest "Secrets" to sea...
There's a lot of talk about how we need to focus on our buyers' issues and provide them educational insights to help them learn what they need to know to make buying decisions. Heck, I say it in my book...in several places, I think. I've said it on this blog, and I'll continue to say i...
This past weekend I set out explore some of the extension capabilities of Google Wave. One of the weaknesses that have been identified by many is the lack of integration with email. For me, in particular, because Wave is new, many Waves are being orphaned as those playing and testing o...
More good news for cloud computing! Google last week released its once mysterious Chrome Operating System to open source. Chrome OS, available in 2010 – is a web-based operating system that promises to boot up super-fast on a netbook – way faster than the time it takes to start your ba...
In CloudBerry Lab we are striving to make our customer service better. In this competitive market with the abundance of free offerings this is the only way to stay afloat. One of the ways to keep customers happy is to be very responsive when it comes to support request resolution. Shou...
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