Denzil Wasson, CTO of Everware-CBDI was recently interviewed by SearchSOA with regard to the tooling needed for application modernization, in particular the viability of open-sourced tools.
While the open source Linux operating system has made substantial headway on mainframe platforms, open source asset discovery tools seem less likely to make the jump to big iron. Efforts such as the Eclipse Foundation's MoDisco model discovery software project have promise, but the ranks of open source discovery tools are thin.
Open source tools have use for things like developing user interfaces, BPMN and forward engineering, but the reverse engineering capabilities tend to be more of a challenge, according to Denzil Wasson, CTO of Everware-CBDI, a technology consulting company.
Quite simply, there is so much specificity to particular domains that few open source tools can really deliver what you need, he says. “There are a lot of capabilities available in terms of reverse engineering static structures to determine things like whether it is hierarchical or file based, but the compiler in legacy systems can do that anyway,” he says.
Thus, notes Wasson, it is important to look beyond tools if you want to make your discovery and modernization efforts more agile. The methods that underlie tools and projects are in effect more important.
“If you engage in a modernization project and have as a goal not just a modernized service but also the capturing [of] underlying knowledge, you can do so in [modeling] format," said Wasson, pointing to the Object Management Group Model Driven Architecture (MDA) format as a prime example.
"Then, the next time you need to update, it is simply evolution not modernization,” he explains.
In order to achieve that quickly, the agility and SOA have to intersect. In Wasson’s view, the key is to do this with “quick hits.” He says you have to avoid excessive analysis and take more of a “meet in the middle approach,” where you develop a general idea of what you want as an end state and what capabilities exist in the existing code. “If you create an agile approach and then start to iterate, you can evolve quickly,” he says.