Planview Blog

Your path to business agility

Products & Tools

Building on Eclipse: the SpringSource Tool Suite

Published By Mik Kersten
Building on Eclipse: the SpringSource Tool Suite

At EclipseCon, while showing the following screenshot, I was struck by the amount of open source collaboration and commercial innovation behind the bits on the screen. You’re looking at the recently launched SpringSource Tool Suite (STS) beta that SpringSource and Tasktop Technologies have been building.

sts beta

The screenshot showcases several open source projects interoperating via common structure models and extensible UIs.

1) Spring IDE builds on the Eclipse Common Navigator in order to provide structure navigation for Spring Framework artifacts. Thanks to the extensibility of Eclipse JDT, Spring beans can be browsed as easily as Java classes. Eclipse Mylyn has been extended by Spring IDE in order to make the Spring artifacts focus on the active task. So even when building a very large enterprise application, you see only what you’re working on and can multitask with ease.

2) The crosscutting structure exposed by Spring AOP is provided by the pointcut parsing facilities from the Eclipse AspectJ project. The UI for navigating this is provided by a Spring IDE extension to the Eclipse AJDT project. The result is that the aspect-oriented artifacts in the application are as as easy to navigate as the object-oriented ones.

3) The Eclipse WTP XML editor has been extended to provide content assist, navigation and refactoring support for Spring artifacts. This is another place where Spring IDE leverages Mylyn in order to automatically fold away uninteresting XML, bringing that same benefit of focus to the editor. Another thing that’s interesting is how the closed source tool support has been layered over top of the open source in order to incorporate expertise into the tool.

4) A key goal of the SpringSource Tool Suite is to provide a Consultant in a box experience by capturing the know-how of the SpringSource consultants. If you look at the Eclipse IDE’s Problems view you’ll see that it incorporates best practice suggestions on using the Spring Framework. Runtime error assistance has also been integrated with the IDE’s Console view.

5) If you look to the right of the screenshot, you’ll see a tutorial which interactively focuses you on the code relevant to each step. This leverages both the Eclipse User Assistance Cheat Sheet mechanism and Mylyn for the tutorial code’s capture and presentation. The task-focused tutorials are a novel application of Mylyn that drives the entire Eclipse UI as you learn, automatically doing things like creating projects, loading contexts and starting servers as needed.

To learn about extending the open source projects listed above, see the following. If you have any questions on how the integration works, feel free to post them here.


Related Posts

Written by Mik Kersten

Dr. Mik Kersten started his career as a Research Scientist at Xerox PARC where he created the first aspect-oriented development environment. He then pioneered the integration of development tools with Agile and DevOps as part of his Computer Science PhD at the University of British Columbia. Founding Tasktop out of that research, Mik has written over one million lines of open source code that are still in use today, and he has brought seven successful open-source and commercial products to market. Mik’s experiences working with some of the largest digital transformations in the world has led him to identify the critical disconnect between business leaders and technologists. Since then, Mik has been working on creating new tools and a new framework - the Flow Framework™ - for connecting software value stream networks and enabling the shift from project to product. Mik lives with his family in Vancouver, Canada, and travels globally, sharing his vision for transforming how software is built, and is the author of Project To Product, a book that helps IT organizations survive and thrive in the Age of Software.