Planview-bloggen

Din väg till smidighet i affärsverksamheten

Produkter & Verktyg

Building on Eclipse: the SpringSource Tool Suite

Publicerad 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.

 

Relaterade inlägg

Skrivet av Mik Kersten

Mik Kersten började sin karriär som forskare på Xerox PARC där han skapade den första aspektorienterade utvecklingsmiljön. Han var sedan pionjär i integrationen av utvecklingsverktyg med Agile och DevOps som en del av sin doktorsexamen i datavetenskap vid University of British Columbia. Mik grundade Tasktop utifrån den forskningen och har skrivit över en miljon rader öppen källkod som fortfarande används idag, och han har tagit sju framgångsrika produkter med öppen källkod och kommersiella produkter till marknaden. Miks erfarenheter av att arbeta med några av de största digitala omvandlingarna i världen har fått honom att identifiera den kritiska bristen på kontakt mellan företagsledare och tekniker. Sedan dess har Mik arbetat med att skapa nya verktyg och ett nytt ramverk - Flow Framework™ - för att koppla samman nätverk för värdeskapande av programvara och möjliggöra övergången från projekt till produkt. Mik bor med sin familj i Vancouver, Kanada, och reser världen över för att dela med sig av sin vision om att förändra hur programvara byggs. Han är författare till Project To Product, en bok som hjälper IT-organisationer att överleva och blomstra i programvarans tidsålder.