Headquartered in Austria but with a strong U.S. presence, Altova has in recent years expanded beyond its initial XML modeling and development tools to support data modeling, UML and BPM tools as well.
Earlier this year the company released UModel V2008 Release 2, which adds support for the Business Process Modeling Notation (BPMN) standard promoted by the Object Management Group, to the UML support already featured in UModel. As such, the Altova tool supports distinct but not wholly unrelated modeling types.
[BPMN serves as a formal graphical representation for specifying processes in a workflow. There is some hope within the industry that standard methods can emerge and mature, connecting BPMN effectively with the popular Business Process Execution Language (BPEL).]
While some individuals point to an ascendancy of business staff in business modeling, such is not always the case. "We are finding that different enterprises operate in different ways," said David McGahey, product marketing manager, Altova. "Sometimes a business analyst may actually be a part of a development team. They are not writing the code, but they are enforcing standards or making sure the application under development is compatible with other things."
Besides BPMN support, UModel is notable for Java 6.0, C# and VB 9.0 source code generation from UML models. The software has class operation and property autocompletion, multiple diagram layers, and supports importing of XML schemas via XMI.
We asked how UML panned out vis-à-vis BPMN and McGahey said there were small similarities. For example, BPMN diagrams can be very similar to UML Activity diagrams, McGahey noted, while adding that these UML Activity diagrams have not proved popular with developers. One difference for Altova's tool sets is that the UML models can be used to generate code, while the BPMN models are focused instead solely as a means to depict a process.
UModel UML modeling has a role in integration development, according to McGahey.
"Modeling helps when you want to break down large complex SOA applications into more manageable components to assign responsibility and describe interactivity," he said. The software can re-engineer models from existing code, which can help integration developers get a grip on what they have when connecting diverse services.