Java EE Module Configuration Editors for Eclipse?
Discovering configuration will be as simple as clicking around the UI.
Konstantin is an engineering team lead at Oracle working on a product with close ties to Eclipse and has been a committer on the Web Tools Platform since before its first release. He has designed and implemented the Faceted Project Framework which made it possible for people to easily extend the capabilities of WTP projects. Lately, he has been focusing on Sapphire, a project that strives to make modeling more approachable for regular Java developers and make it easier to build full solutions, from data to model to a slick declared UI. In his prior life, he has worked on compilers, custom servers and network protocol design. He graduated from the University of Washington with BS in Computer Science.
Java EE Module Configuration Editors is a newly-proposed Eclipse project that looks to take the pain out of configuring Java EE modules, with functionality for moving between different versions of the specifications, and moving configuration between XML and Java annotation forms. The editors will be built using the existing Sapphire project, and editors for Web, EAR and EJB modules are planned in time for next year’s Eclipse Simultaneous Release. In this interview, we find out more about this proposed Eclipse project, from Oracle’s Konstantin Komissarchik.
JAXenter: Java EE Module Configuration Editors was recently proposed as a new Eclipse project. Can you give us an introduction to this project?
Konstantin Komissarchik: The goal for the proposed project is to build editors for Java EE module configuration files, such as application.xml, web.xml and ejb-jar.xml. This project will be a sub-project of Eclipse Java EE Tools project.
JAXenter: What are the current challenges you believe developers face, when it comes to configuring Java EE modules?
Konstantin: Configuring any system using a text editor, an XML schema and some online docs is unnecessarily difficult. Discovering configuration facilities is hard for novice developers and even experts resort to searching online for configuration samples. Few developers are able to write the necessary configuration structures from memory, even when aided by XML schema content assist.
The proposed editors will present configuration in an easy to navigate content outline, using descriptive field labels and paragraph where necessary. Discovering configuration will be as simple as clicking around the UI. Validation and content assistance, beyond simple XML Schema facilities will be provided. Help will be made available at field level.
Recent versions of Java EE have made an attempt at making configuration easier by starting to shift the configuration to Java annotation, but that architecture has introduced its own set of problems. In a large app, it is next to impossible to get the understanding of the entirety of a module’s configuration as it is spread out across many files, some of which may be packaged inside third-party libraries.
The proposed editors will display all of the configuration in a single merged view, whether it comes from the XML configuration file or annotations. The developer will be able to edit either variant from the same UI.
To make matters even worse, developers have to deal with different versions of the Java EE spec and concurrent use of XML configuration files and Java annotations.
The proposed editors will make it easy to switch spec versions and include facilities for moving configuration back-and-forth between XML and Java annotation forms.
JAXenter: What is the relationship between Java EE Module Configuration Editors, and the Sapphire project?
Konstantin: The proposed editors will be built using Sapphire. One of the goals for this project is to promote the use of Sapphire at Eclipse by showing its capabilities in a real world scenario.