Last post we defined what was meant by an on-demand application generator. Lets look at a real world product. This on-demand application generator for producing application integrations is called
BRIDGEWERX (BW).
Have a look at BWs component architecture. It consists of 3 subsystems. These are an on-line
Rich Internet Application (RIA) for defining (i.e. modeling) the application integration(s), an application generator for producing the application integration solution, and the runtime environment for executing the generated application integration(s).
The graphical user interface (BW Designer) is developed using
Macromedias FLEX product. The only requirement for running the GUI is a Flash plug-in (which you no doubt already have installed in your browser today. BW Designer is a modeling/drawing tool that allows a Business Analyst (BA) to model, draw and define application integrations on a drawing canvas where various levels of detail are represented by canvas layers.
Several business objects can be dragged and dropped onto different canvas layers, with each object having a specific configuration wizard for the BA to configure for any application integration scenario. In addition to selecting XML message schemas, defining transport protocols, business rules, business event triggers, adapters, mapping definitions, etc., there are also facilities for uploading custom XML message schema definitions and even custom assemblies, if required.
BW Designer uses web services to communicate with a Windows 2003 Server using IIS to store the configuration data (i.e.
factory schema instance) into a SQL Server repository. As discussed in a previous post, the amount of effort is directly related to the size and complexity of the application integration(s) being defined. The best news is with this
new level of abstraction and the fact that the application integration is generated, with little to no source coding involved, the time to develop an integration solution is a matter of days or a week or two as opposed to several weeks or months and in some cases, years for a ground up totally manual labor custom coding job. See the
sorry state of our software industry.
Once the BA has modeled, drawn and defined an application integration(s) using nothing but a browser on his/her desktop computer, anywhere in the world, the BA can simply order the application integration to be generated. The order system receives the customers order and extracts the customer information along with the factory schema instance that represents the specific application integration (i.e.
software product line) to be generated.
The application generator, or software factory if you like, reads the customers factory schema instance from the BW config repository and along with a customized factory template, using Visual Studio script code, automatically gets latest versions of specified components (generic and/or custom) from source code control, along with other scripts and/or assemblies and/or any other Visual Studio artifact required, creates a Visual Studio solution and then builds (i.e. compiles) the solution.
The solution is compiled and packaged as a Microsoft Installer package. The customer is then notified that the solution is ready for download from BW Designer. The customer then downloads the MSI package and runs the installer on the target run-time environment. Alternatively, the customers order may have included an
integration appliance that includes the hardware, software and the solution, already pre-installed on a computer and tested, to be shipped directly to the customer.
Once the customer has installed the solution, along with a few run-time parameters such as physical addresses of where the applications to be integrated reside and enough credentials to run the solution, a self-test is run and the customer is notified that the integration solution is now operational. Other administration, monitoring and exception handling management tools are also installed for complete, managed runtime operation of the generated solution.
Need changes to the application integration solution? The customer simply reopens the model (i.e. drawing), makes changes, re-orders the solution, the solution is generated on-demand and since the installer wizard knows that this is simply an upgrade, the generated application integration solution is updated in the same way as applying an upgrade to MS Word on the desktop for example.
Whew, long post! Nonetheless, I hope you can see that there are real-life on-demand application generators out there, BRIDGEWERX being one of them. If you want to see BRIDGEWERX in action, have a look at this 1 hour Live Meeting broadcast.
Products like BRIDGEWERX are greatly assisting the industrialization of software. We just need more of them!