|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Product Review Workstation Server Enterprise and Developer Editions from General Interface - Product review
An attractive alternative to the traditional Web tier
By: Ahmed Sako
Apr. 5, 2004 12:00 AM
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 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 Developing Using the IDE and Wizard 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 InterfaceCompany InfoGeneral 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 Summary Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||