| By Ahmed Sako | Article Rating: |
|
| August 31, 2004 12:00 AM EDT | Reads: |
15,692 |
The DreamFactory suite is a mature development and execution platform for crafting rich, event-driven interfaces.
DreamFactory picks up the UI development "gauntlet" with a thoroughly thought out metaphor, framework, and tools whose sophistication matches, and usually exceeds, that of the other application components while remaining straightforward to develop in. The resulting lightweight applications run in Internet Explorer, Mozilla, and Netscape (on the Windows and Apple Macintosh platforms, with Pocket PC, Palm OS, and Linux versions in development).
DreamFactory Flavors
The DreamFactory (DF) suite consists of three components: Runtime, Professional, and Enterprise. The DF Runtime and Professional each provide the development and execution environments. All the tools and features available in DF Runtime are available in DF Professional and vice-versa.
Rather than being locked into the browser environment (and its limitations), DF chose to find a standard, portable way to provide rich UI functionality on a variety of platforms, and settled on implementing DF as a MIME type. Within the browser (and most other MIME-aware applications, such as Word), a DF Runtime can be rendered in full-screen mode or embedded in a Web page (even as multiple instances). DF Professional, on the other hand, is a stand-alone application. DF Enterprise supports the installation and deployment of DF media across networks.
Developing Applications
In DF Professional, projects are opened from a Web server or file system. Runtime can do so as well and, using a key sequence, can open the IDE while an application executes (controlled via security settings), with modifications immediately reflected in the running application.
The DF IDE includes the standard development tools: UI Builder, GUI Objects (Nodes) Palettes, XML/SOAP/WSDL viewers, and wizards, script editors, debugger, etc. While these tools are not uncommon, the completeness of the assembled set is surprising, along with the depth of the functionality available and the ease of use. For example, rather than supporting a single scripting language, DF supports three (JavaScript, VBScript, and DFScript)! Better yet, developers can change the default scripting language on the fly, resulting in the scripting languages being seamlessly converted from one to the other. As another example, variable, method, and object names can be auto-corrected while typing.
The project-structuring metaphor in DF is the XML Tree, with a DF project a hierarchical collection of objects called nodes. The relationships and operations (traversals, tree and node management, introspection), supported on the DF Node Tree are similar to the operations that can be performed on an XML tree.
Dynamic behavior is implemented using scripts. Scripts can be associated with nodes to respond to events and provide utility functions. In addition, every project has a special script called "project" that receives most system messages and parcels them out to the appropriate node. Finally, the DF libraries also contain scripts that can be invoked.
The hierarchical structure of the nodes not only determines the visual organization of the screen and the logical organization of the project, it also establishes the default message passing hierarchy when events are triggered. The messages flow via scripts, from node to node along the tree, up to the project script and then to the libraries, searching for a handler.
A developer can control the delegation of, handle, trap, hook, reroute, and trigger events to and from other controls (even in other projects, depending on the security settings), allowing for fine control over the application behavior and messaging flows. The default behavior of the nodes is generated in the node script when the node added to the project. This gives the developer even more control over the behavior by permitting him or her to modify the scripts controlling the node's implicit behavior. Similarly, errors and system responses to abnormal conditions (errors, warnings, exceptions, etc.) can also be precisely controlled (from the code).
Rendering nodes is platform independent with DF controlling the rendering and not the browser (as DF is a MIME type). This allows for a degree of isolation from the variations and issues related to the underlying platform (browser, O/S, etc.) which DF abstracts and resolves to prevent issues from affecting the users. As a result, applications developed on one platform look identical on the other supported platforms. To achieve this result, the nodes (or any other DF component like scripts, etc.) have no direct interaction with the native environment and DF marshals the requests. Yet, the platform feels very responsive (even under loads), without the delay experienced, between action and response in some purely scripted environments.
Even system resources such as fonts, cursors, etc., are abstracted. For a system-specific resource to become available for development in DF, it is first captured and compressed by DF into a neutral format (for fonts this format is the "DreamFactory Font") that is native to the DF platform, enabling the developer to access the newly created resource.
Every node-type superclass is associated with a plugin that provides its implementation. The plugins, written in C, leverage a cross-platform library provided by DF (making your developed code instantly portable, across OSs and browsers). The runtime and nodes, are lightweight (400K one time runtime environment download, with additional nodes downloaded as needed, then cached).
While most of the node types used to create nodes (e.g., Document Window, XML Palette, etc.) and the features they provide (advanced media types, fonts, drag/drop, etc.) are available in other environments, the large number of node types and the quality of each one is surprising (see Figure 1).
Using XML, WSDL, SOAP, and Web Services
XML, WSDL, SOAP, and Web services can be accessed via the XML nodes (used for accessing XML and SOAP/Web services sources), the API, and variables (XML only). The XML nodes provide a uniform invocation mechanism for different request types. Wizards are available to read in WSDLs (see Figure 2), generate the appropriate proxies and bind the data to nodes. The XML data returned by queries can be persisted, updated, assigned to a variable or unloaded as needed.
Here are some enhancements that DF is planning for their next release:
- Enhancements to the WSDL wizards to map multiple inputs and outputs to/from the GUI directly, plus enhanced support for communication semantics
- New "Document Exchange" wizard that will read in WSDL and generate whole UIs
Project Security and Application Deployment
DF Runtime normally operates in a strict security sandbox using a specialized virtual machine (VM) similar to the Java VM (JVM).
DF provides security controls through the VM security policies and the project security (e.g., disabling the key sequence to access to the development environment at runtime).
Company Info
DreamFactory Software, Inc
18640 Overlook Road
Los Gatos, CA 9503
www.dreamfactory.com
Phone: 1-888-399-DREAM (3732)
Fax: 1-408-351-9005
SALES: sales@dreamfactory.com
The DreamFactory Runtime and DreamFactory Professional editions are available at no cost. The DreamFactory Enterprise, providing application maintenance and network deployment facilities, can be evaluated for 30 days, after which a license agreement is required.
Summary
The DreamFactory Suite from DreamFactory software facilitates the creation of enhanced user interfaces for Web-based applications.
The abundance of well fleshed out components and tools married to an intuitive, easily relatable application model, coupled with a solid implementation, makes the platform shine.
The platform has a "mature" feel, with the richness of the environment making the development experience akin to developing a native graphical application where most of the heavy lifting has been done for you and you can focus on the end-user features.
No wonder then, that some of the leading Web services providers (SalesForce.com, Grand Central) are using DreamFactory.
Published August 31, 2004 Reads 15,692
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By 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.
- Big Data in Telecom: The Need for Analytics
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- Amazon to Fix Some Kindle Fire Problems
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Ten Hot Trends in Cloud Data for 2012
- Cross-Platform Mobile Website Development – a Tool Comparison
- Oracle Disaster Recovery Site Hosted by Amazon Cloud
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- The Future of Cloud Computing: Industry Predictions for 2012
- Gartner Hype Cycle for Emerging Technologies 2011
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Big Data in Telecom: The Need for Analytics
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- The Next Web Architecture
- Cloud Computing: A Comparison of Computing Models
- Amazon to Fix Some Kindle Fire Problems
- The i-Technology Right Stuff
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Get the Message
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- Five Reasons Why Web 2.0 Matters





















