Visualization and Control of Component Data Exchange
In 2000, I was a senior software engineer at Enetica, an erstwhile startup that developed a platform for deploying robust distributed applications. Their main product, the DynActiv system, was a framework for data exchange among software components.
In general, the framework allowed data streams for one component to be transparently duplicated or redirected to other components. Typical use cases revolved around software component testing and versioning. A differentiating feature of the DynActiv system was its ability to pass-through data destined for a “live” system towards components in the testing state; “test” components therefore could be verified using real-world data streams. Similarly, the framework allowed for the seamless upgrade of a “live” component with a “test” one and, if necessary, graceful fallback to the previous “stable” component.
My specific role at Enetica was the user interface architect, whereby I was in charge of all front-end responsibilities. In particular, I designed and implemented applications for proof-of-concept, demonstration, and version 1.0 of Enetica’s product. I also drove best practices for the software engineering team, which included drafting code conventions for Java as well as managing the software build and test processes.
My major deliverable was the DynActiv Console (Figure 1), a visualization and graphical control center for the DynActiv system. The user interface was developed in Java Swing and heavily leveraged the Model-View-Controller (MVC) architecture. It also utilized the Java Message Service (JMS) — a major mechanism of the underlying DynActiv system — as well as aspects of the JavaBeans component framework.