Winding Road Leads Skyway to Open Source Code-Generation Framework
- By John K. Waters
It's hard to overstate the impact that open source technologies have had on the software industry. One recent example: Skyway Software, provider of an open-source code-generation framework for Spring-based applications, called Skyway Builder. The Tampa-based company last week announced the general availability of Skyway Builder 6.1, which is all about delivering Java EE apps for Spring. But the company started out going in a different direction.
The founders of Skyway came out of a company called Tradex Technologies, a provider of an online business-to-business trading platform, acquired by Ariba Inc. in 1999. Their founding objective was to use their Java expertise (Tradex was Java-based) to make it easier to build Java applications via modeling. The company developed its own IDE and runtime framework. But the advent of the Eclipse IDE and the enormous popularity of the Spring framework made those two technologies "the no-brainer choices for Java application development," said Sean J. Walsh, Skyway's president and CEO.
By early 2007, it became clear that a change of strategy was in order, Walsh said, one that rode the Eclipse/Spring wave. "We realized that, if we were going to be viable long term, we have to ride a wave that made sense," Walsh said. "And we saw commercial open source as a way to open up our company as we did that and make it easier for customers to buy, rather than selling to them."
Between the summer of 2007 and the summer of 2008, Walsh and company converted the operation to a commercial open source company based on Eclipse and Spring. Its flagship offering was Skyway Builder, which the company characterizes as "an open-source, model-centric JEE application development and deployment tool for delivering RIAs and Web Services to the Spring Framework."
"We made a mistake in the summer of 2008 when we launched the 6.0 version," Walsh admits. "We got certified by Spring, and we had the chops, but we weren't touting Skyway Builder as a code-generation framework for Spring. We were just talking about it as a model driven development platform with Spring under the covers."
The emphasis is now on Skyway Builder's alignment with Eclipse and Spring, and its ability to model at three application layers: the Web/UI layer, the service layer and the data layer.
Skyway's business model is what is known as "open core," which means that the heart of its products are open source and free, but they also offer for a fee a version of that core technology wrapped with enterprise-level enhancements.
Skyway Builder 6.1, for example is integrated with the Rational Software Architect set of products, which means that developers can model data in the Unified Modeling Language (UML) and bring it into Skyway, and generate a working Spring CRUD application (Walsh said "in a matter of minutes"), and then reverse engineer that application and generate all the UML documentation. (CRUD, of course, stands for Create, Read, Update, and Delete, the standard operations performed on database records.)
Skyway uses the term "model-centric development," which is a little different from "model-driven development" (MDD), Walsh said. "Model-centric said, if you can model it, you should, but we're no longer zealots who say you have to," he said. "We say, if you want to code it, go ahead. We've made it easy within the model to drop down on the palette a Java step that points to code you wrote yourself. We make it easy to do inline Java in a model-based application. And you can do it with Java or Groovy (the OO Java alternative)."
Skyway recently got the nod from industry analysts at Gartner, who positioned the company in its December 2008 "Magic Quadrant for Application Infrastructure for SOA Composite Application Projects" report in the "Visionaries" quadrant.
Skyway Builder 6.1 comes with a number of enhancements. Perhaps the most notable is its new Spring Model-View Controller (MVC) scaffolding capabilities. The MVC architectural pattern, which isolates business logic from the user interface, allows developers to generate a Spring-based, Java CRUD application in minutes, said Walsh. "The scaffolding creates a template on which developers can build more robust functionality, accelerating the delivery of Java applications that run on the Spring Framework," he said.
This release integrates Apache's Maven tool for build automation, provides a feature for invoking external Java code and Spring Beans, supports direct generation into the Standard Eclipse Dynamic Web Java Project, and applies industry best practices to code generation. It also comes with more than 300 bug fixes.
The fully open source Community Edition of Skyway Builder is available for free from the company's download page. More information about the commercial version is available on the company Web site.
The Creating for Spring Code Generation Using Skyway is hosted on the SkywayPerspectives.org Web site here.