Metronome™ enables rich-client application developers to create powerful, easy-to-use interfaces by freeing them from concerns about low-level functionality common to all applications. This enables a shorter and less costly development cycle compared to home-grown practices currently used.
Metronome provides a common substrate for application development that encourages code reuse by providing a common set of development metaphors like Views and Perspectives. This encourages functional decomposition and a consistent approach to application development that provides visual and behavioral consistency across application elements integrated from multiple sources.
The Situation
Software engineers waste too much valuable development time on mundane desktop application features. This is tedious work that keeps developers from being able to focus on the challenges unique to their problem domain.
Applications have typically been treated as the final artifact of the software development process, and in isolation, each is likely to represent a cohesive result. However, we are seeing a gradual change towards reusing completed applications as building blocks for further development. In an environment where units of reuse are coming from entirely disjoint applications, ensuring visual and behavioral consistency is a real challenge.
Solution
Metronome provides the developer with a rich set of development primitives “out of the box” to quickly support common rich-client application needs:
- Customizable application menus, toolbars, status bars, and splash screen
- Extensible data persistence mechanisms
- Powerful document-centric tooling, supporting editors, and dependent and independent views
- Precise docking-windows and application “perspective” support
- Unrestricted Java Swing, Java2D, and Java3D visualization development
- Convenient APIs for storing application preferences, running background jobs, and more
The powerful service-oriented plug-in framework that powers Metronome provides capabilities that go beyond the expectations of the average rich-client application developer:
- Bundle-based plug-in deployment encourages maximum reuse of developed functionality while keeping pieces highly cohesive and loosely coupled
- A dynamic plug-in evaluation model provides unparalleled flexibility for run-time discovery and incorporation of new features, or the removal of existing feature.
- A high-availability upgrade model allows for the upgrade and maintenance of mission-critical systems without incurring application downtime
Strong integration with other Charles River Analytics technologies brings even more value to the rich-client application developer. Support for Charles River Analytics’ other intelligent software products, like AgentWorks™ and our BNet® product suite, allows the rapid development of interfaces and displays on top of our innovative computational technologies that target particular vertical markets (e.g., business intelligence, retail logistics). With Metronome, the strengths of Charles River Analytics’ other core commercial applications can be quickly leveraged in new application domains, whether it is working with Bayesian belief networks through our BNet interfaces, or leveraging social network analysis and visualization through Connect™.
Connect builds extensively upon Metronome to deliver a customizable workspace for social network analysis. All the secondary views are docked, rearranged, and detached allowing the user complete flexibility in defining their optimal work environment.