Software Production LInes
In short, Somasegar said Microsofts developers believe "the platform has advanced enough and the tools have advanced enough, that we feel like we have an opportunity to go make some big steps forward in the model-driven development world. So we have a set of incubations going on and Don Box is one of the key guys, along with some others, who are working on this." And Somasegar said he hopes to be able to display some early prototypes of what Microsoft has been working on within the next year.Modeling is not new, but the overall technology has never reached mass scale in terms of ease-of-use and flexibility. Some early attempts at modeling included the so-called CASE (Computer-Aided Software Engineering) tools and others. "Modeling has existed for many years in fact," said Mark Driver, an analyst with Gartner Inc. "CASE did this with COBOL and C++ to a large degree. Oracle Designer has done this with Form for years as well," he said. However, "the problem is that model driven development has been very limited in terms of flexibility and advanced application features," Driver said. Today modeling is making a comeback through business process modeling schemes like Business Process Execution Language (BPEL) and business rules engines, "but in a tempered fashion," Driver said. "Also tools like Compuwares OptimalJ have done some nice things around MDA," he added. Jeffrey Hammond, an analyst with Forrester Inc., said there are modeling tools that will generate 100 percent of your application code today. "Ive worked with and talked to customers who do this, and they see improved quality and higher productivity per developer as a result," Forrester said. However, these benefits do not come without cost though, he said. "You need to put a lot of information into a model-driven tool before it will generate code they have high activation energy," Hammond said. "Many organizations who would like to get to this point lack the organizational commitment to see it through. They start with a model driven approach, but when there is a problem with a code generator or the project is suffering from time pressure," he said. Frequently developers "will break into the generated code and modify it at the text level," he said. For its part, CA on July 30 announced the availability of CA Plex r6, a rapid application development environment that enables model-driven development of .Net, Java 2 Platform, Enterprise Edition (J2EE) and IBM System i Web services, the company said. With CA Plex r6, Web services can be managed as "first-class" objects, and developers can view, diagram, document, and manage these objects in their enterprise model, officials at CA, which is based in Islandia, N.Y. said. The product delivers many of the attributes consistent with modeling, including component reuse, code generation and others to the creation of Web services, and facilitates the use of objects across service oriented architectures, as well as client/server and legacy applications, the company said. Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.
In the meantime, Microsoft has been working on its Software Factories approach to enabling the generation of software for specific uses by following a factory-like approach. This is the companys implementation of the software product line method of development. IBM also has similar capabilities. The goal of all these approaches is to drastically increase productivity and promote more reuse of software components and models.