Archive for October, 2007

Why the Spring Tool Suite is building on Eclipse

Wednesday, October 24th, 2007

There have been some questions about whether the upcoming Spring Tool Suite (STS) will support other IDEs, such as IntelliJ IDEA. Rod Johnson and I recently answered some related questions on InfoQ, but the answer to this one is still evolving, so please consider sharing your thoughts on it.

In choosing an IDE integration strategy for the Spring Tool Suite, we could either go breadth first and do multiple IDEs at once, or focus on one. A few years back we chose the breadth-first approach with the AspectJ IDE support. This time around the decision to go depth-first was easy because we knew we needed an IDE platform which had the openness and modularity required to support the extensions we have planned, and which was already adopted by a majority of the developers using Spring. There was also the key need to leverage Mylyn’s Task-Focused UI and the Spring IDE, which are at the heart of this effort. At this time, the ecosystem of components and user communities needed to support the Spring Tool Suite exists only on Eclipse.

Where does this leave the IDEA and other IDE users? The good news is that the frameworks that STS will be building on and improving are open source projects that are part of Eclipse and Spring. As we previously demonstrated with the AspectJ compiler and structure model, core framework components that are packaged as Eclipse OSGi bundles can be used from within other IDEs including IDEA and NetBeans. For example, while IDEA already has some neat support for things like Spring AOP, they will be able to reuse our upcoming STS efforts in providing a canonical model of Spring application structure.

If you are a user interested in support for your IDE, consider commenting here or on Adrian’s blog, be sure suggest this to your vendor or raise an enhancement request is raised with the corresponding project of interest (e.g. Spring IDE, Mylyn). For example, there have recently been requests to support Mylyn in IDEA. As stated on the mylyn-dev list, I see the reuse of core models as a very positive thing. While there will be plenty of room for closed source differentiation on top of the frameworks that we are contributing to, the frameworks will continue to be open source and designed for reuse, which will help ensure that any developers building on Spring get to see a consistent and comprehensive model of their application within their IDE.

Be more productive. Guaranteed.

The Tasktop and Interface21 partnership: people, technologies and Eclipse

Tuesday, October 16th, 2007

Recent press has announced a partnership between Tasktop Technologies and Interface21 (ADT, Dr. Dobbs, JDJ, InfoWorld). Chris Aniszczyk has rightly criticized me for not letting the Eclipse community know more about it, so I’ll take this opportunity to tell the story of the people and principles that made the partnership happen.

Adrian Colyer (Interface21 CTO) and I have been engaged in open source collaboration since the first release of Eclipse in late 2002, when we created the Eclipse AspectJ and AJDT projects. I was with the AspectJ team at Xerox PARC and Adrian working on middleware at IBM. While our employers have changed, our passion for open frameworks and shared goal of making crosscutting structure easier to work with has continued. Following his move to Interface21, I was as by excited Adrian’s efforts to bring AOP into the Spring Framework as I am with his current push to bring OSGi even deeper into Spring. In both cases, the technologies Adrian is driving make the modularity of enterprise applications fundamentally better, and better modularity makes my life as a tool builder much, much easier. A tool builder needs to make the IDE UI present the application’s structure in a way that meshes with the programmer’s mental model. The richer the modularity, the easier it is for the Eclipse’s structure views and editors to show application structure, making it possible to focus that structure on what’s relevant to the task-at-hand. Mylyn has demonstrated how to do this for Java SE and Eclipse plug-in development. Last March, Adrian and I started wondering what it would take to bring the same benefits to Java EE development. After some brainstorming, we got quite excited by the possibilities, and identified four people that we needed to get this effort off the ground. The fact that each had a great job already was a bit worrying. But today I’m extremely pleased to announce that each of the four will be joining us to build the Spring Tool Suite. On the Interface21 side:

  • Andy Clement has been working with on AspectJ and AJDT since early 2003 and for the past few years, he has been the driving force behind the AspectJ compiler implementation. The technical clout needed to update and maintain an incremental AOP compiler is tremendous. Andy’s joining Interface21 is great news for AOP and AspectJ users, whose compiler will now continue being supported by the third company to back it (first PARC, then IBM and now Interface21).
  • Christian Dupuis joined Torsten Juergeleit on the Spring IDE project in 2005, and has since become the driving force behind this Eclipse extension that many developers using Spring could not live without. Christian’s involvement with the project has been as a spare time volunteer, motivated by his use of the Spring Framework (as a consultant at Accenture). Spring IDE users will be very pleased to know that by joining Interface21, Christian will finally get to work on Spring IDE as part of his day job.

While Andy and Christian will be focusing on improving the way that the Spring programming model surfaces in Eclipse, new Tasktop hires will be focusing on extending Mylyn’s to streamline Java EE developers’ workflow:

  • Steffen Pingel has been making amazing contributions to Mylyn since he first started as a Google Summer of Code student in 2006 and later earned his commit rights. Steffen’s great technical depth and Mylyn expertise make him uniquely suited to extending the Task-Focused UI to the Java EE artifacts. While Steffen’s joining Tasktop slightly decreases the diversity of the Mylyn committers, we expect the increasing number of vendors who bundle Mylyn and the countless community contribution to continue to make the project’s diversity thrive, since we are so dependent on diversity to shape the framework and UI. Steffen’s joining Tasktop is also great news for the rapidly growing number Mylyn users. To date Steffen’s support of Mylyn users has happened entirely in his increasingly sparse spare time. As of today, Steffen’s hobby is officially a part of his day job.
  • Wesley Coelho did his master’s thesis on AOP tool support with Gail Murphy, contributed the initial implementation of the Mylyn JIRA Connector on his own time, and helped outline some of the business ideas that grew the Tasktop company around supporting adoption of Mylyn and the task-focused paradigm. Since that time Wesley has been building Spring and RCP applications at Elastic Path. I’m very pleased to announce that Wesley has now joined Tasktop and will be leveraging every ounce of his combined Eclipse, RCP, Mylyn AOP and Spring expertise.

Each of the people listed above has collaborated via the Eclipse ecosystem around the technologies that have brought us together, in ways that were a function of our shared passion for technology and developer productivity. Steffen has just left NYC and landed in Vancouver, and Andy and Christian are soon to follow. I’m very excited about the fact that we have brought these common interests together and will co-locate them in Vancouver.

Eclipse conferences tie this story together. I met Christian at Eclipse Forum Europe where we independently started collaborating on making Spring IDE extend Mylyn. I also met Rod Johnson (Interface21 CEO) there, who blew me away during his talk in terms of how much the principles behind Spring aligned with my own. Long conversation over German beer ensued and helped us realize how much technical alignment we had. A month later, I met Neelan Choksi (Interface21 COO) at Eclipse Forum India, where we laid out the groundwork for the business relationship. While this year’s Eclipse conferences helped put all the pieces in place, the best part is yet to come, and at EclipseCon we’ll have much more than stories to share.

Be more productive. Guaranteed.