Implementation Spotlight: Eaton’s Intelligent Power Manager
I recently had an opportunity to sit down with the very talented developers at Eaton to discuss their recent software release. Read how Eaton's superstars Jonathan Bonzy, Sebastien Volle, and their team implemented an amazing RIA for managing power with Ext JS. Eaton Corporation is a diversified power management company, with 75,000 employees, that sells products to customers in more than 150 countries. Eaton's electrical business is a global leader in power distribution, power quality, control and industrial automation products and services.
What is Intelligent Power?
Eaton’s Intelligent Power® Manager is a robust and scalable program that can substantially lower costs for supervising networked uninterruptible power systems (UPSs) and associated equipment compared to using major network management system platforms. The Ext JS Framework is used as a core UI component in Intelligent Power Manager where all views, boxes or grids are rendered through Ext methods.Intelligent Power Manager main view with node list and details for selected node
We compared Ext JS to many popular libraries (jQuery, Prototype, MooTools, Script.aculo.us, Dojo, Rialto, Qooxdoo, etc.). We found Ext JS to be fully open source with a strong community combined with great technical support from the authors themselves. The Ext JS cross-browser widgets set is huge, which allowed us to complete our entire interface for Intelligent Power Manager. Moreover, Ext JS's small footprint and low memory consumption surpassed our IT environment constraints where Intelligent Power Manager can run for months on low-cost appliances.
Equally attractive, the Ext JS Framework offers royalty free use — a key criteria for our client library in Intelligent Power Manager. Due to our strong constraints with commercial usage and our long-term supervising role having a trusted partner was key.
How does Ext fit into your overall technical architecture?
Intelligent Power Manager is a single page rich internet application. Ext JS is used for all client side needs from AJAX requests to data rendering. Ext JS's State Manager allows us to keep information on selected views or on hidden, expanded and collapsed panels. Our server receives state information from Ext JS Client, keeps it in a View Manager component, stores it in a database and sends events to Ext JS Client when structure changes.User can drag and drop devices on custom maps and view their status
How have your customers responded to your new interface?They love it! Intelligent Power Manager is a giant leap from our previous supervision tool. Power Source view is a custom implementation of the Ext portal example
What are some of the key Ext features that you found useful in building your product?
Viewport, grids, accordion, dialog box and state manager are key features of Ext JS that were building blocks of Intelligent Power Manager. Our software is built on a three-part interface with tree views on the left side, grids with devices or applications called nodes in the center and selected node details on right side. The State Manager keeps user interface changes in memory. The grid component quickly renders data. Lastly, the dialog boxes are used for settings and the accordion allows the user to customize information.Dialog boxes are used to assign action settings
What features could we add to Ext to make building a rich application like Intelligent Power Manager easier in the future?Ext custom theme generator could be a great feature for applications that need more than blue and gray colors. Intelligent Power Manager uses Ext blue theme with its own icons for its look and feel. Ext graphical resources aren’t available to custom CSS sprites and there isn’t any clear documentation on CSS rules to change.
Do you have any advice for developers just starting out with Ext for the first time?
Ext JS’s learning curve may be tough if you’re building a one page application, but samples and the forum will be the answer to all your needs. As a first step, developers could start with an HTML base with some Ext JS mixed in their code before using directly viewports and layouts.Eaton and Intelligent Power are trademarks of Eaton Corporation.