NetBeans - First Open Source Tools Platform to Implement Model Driven Architecture (MDA)
07 May 2002
Originally appearing at : http://www.sun.com/smi/Press/sunflash/2002-05/sunflash.20020507.3.html
MDA to Simplify Implementation of Web Services by Separating Architecture from Deployment Infrastructure.
The Model Driven Architecture (MDA) helps protect organizations' software investments by capturing business logic -- business processes and their appropriate interactions -- in re-usable models. The MDA can help significantly simplify the implementation of Web services, as the architecture insulates models from changes in the deployment infrastructure for the services.
The MDA represents an advanced approach to software design based on models created using languages such as the Unified Modeling Language (UML). As business requirements change or evolve, components of model-driven applications can easily be replaced, as long as they are standards based. Models use a set of metadata -- the data describing the structure and characteristics of program elements or data. For example, customer data might include a first name, last name, address, and phone and customer numbers. Metadata describing customer data would specify whether these elements are alphanumeric or numeric, the maximum length and format of the phone and customer numbers, and so forth.
Sun has recently contributed Metadata Repository (MDR) modules to NetBeans, to make it easier for developers to support another programming language without extensive extra programming and to write NetBeans-based tools that interoperate with standards-based modeling tools. These new modules underline NetBeans commitment to a totally standards-based, language-independent approach to software design. The Sun ONE Studio developer products (formerly Forte tools) are based on the NetBeans platform.
"Sophisticated organizations see the benefits of a model-driven approach, which is the future of effective software design," said Peter Young, vice president, Sun ONE Studio Tools, Sun Microsystems. "Rather than creating single-purpose programs and laboriously wiring them together to interact as needed, organizations are defining their business operations as a series of interdependent processes. The NetBeans community is pioneering model-driven development by providing tools for other developers, and as the architectural foundation for the platform itself."
"As a longtime supporter and active participant within the OMG, it is a delight to count Sun among a growing list of dedicated companies who have acknowledged Model Driven Architecture as a solid solution to enterprise integration issues -- a solution that promises to outlast other quick fixes by at least twenty years. By implementing MDA, NetBeans will help ensure that the development of mission-critical information systems are rooted in standards that have the ability to adapt to new hardware capabilities and new software platforms as they become available," said OMG Chairman and CEO, Richard Soley.
The NetBeans Metadata RepositoryThe NetBeans Metadata Repository provides support for modules that need to create, store and retrieve metadata. With its extensive support for the relevant standards, NetBeans will ultimately make it easier for developers to build model-driven programs. In addition, developers can support new programming languages without tediously writing APIs and custom support classes for each language.
The MDR implements OMG's Meta Object Facility (MOF) -- an abstract language for describing metamodels -- and integrates it into the NetBeans IDE. The MOF implementation uses the Java[tm] Metadata Interface, a standard for expressing metadata in the Java language that is currently in review by the Java Community Process as JSR-40. The MDR adds features such as event notification to help integrate it with the IDE. The MDR also supports XML Metadata Interchange (XMI), another OMG specification that has already been implemented by several leading vendors.
The MDR includes an engine library, the module integrating it with the NetBeans IDE, a development toolkit and tools for viewing and interacting with metadata. These tools represent the foundation for robust language-neutral refactoring support in the NetBeans IDE. The MDR can be used as a stand-alone library independent of the NetBeans IDE by third parties, such as modeling tools vendors that need a standards-compliant metadata repository.
Benefits of the NetBeans Metadata RepositoryThe MDR offers a number of benefits to developers and vendors: It provides support for developers who implement modules that generate or use metadata. This makes it easier for developers to create tools or modules that interoperate with other tools that support these standards. For example, most leading UML tools already support XMI. Given a language model, the MDR will generate all the interfaces representing an API for support of that language within the IDE. The MDR provides a language-neutral standard, and saves developers the effort of writing their own APIs for each language.
Some operations within the IDE will be faster when implemented using metadata. The MOF standard can be used to integrate various types of tools for modeling, code generation, code analyses, dependency management and so forth.
Based on the MOF standard, developers can write generic, language-neutral tools for working with metadata, such as class browsers and search tools. Objects can interpret events issued by the MDR, such as class creation, class or method renaming or signature changes. For example, when an event is detected, modules can apply code changes or offer to refactor the affected code.
About Sun Microsystems, Inc.Since its inception in 1982, a singular vision -- "The Network Is The Computer[tm]" -- has propelled Sun Microsystems, Inc. (Nasdaq: SUNW) to its position as a leading provider of industrial-strength hardware, software and services that make the Net work. Sun can be found in more than 170 countries and on the World Wide Web at http://sun.com.