During last years' Eclipse Summit Europe, I met up with the Eclipse Scout team, to get a demo of how the Scout SDK helps developers to create enterprise applications quickly. Based on a database, Scout helps you create a server and then clients for the desktop using either Swing or SWT. Web client support will be available with clients using Wicket in the near future.
One of the things that struck me was how simple it was to create an application - in the 15 minute demo, from an existing database, the team created a full client-server application, with very little coding. The user creates their client application through property sheets, adding new forms and components in the project navigator. The surprise for me was how great the client side looked, considering it's generated code.
Matthias Zimmermann, Project Manager at BSI. Matthias, together with Andreas Hoegger, is head of the Tools Team at BSI which develops Eclipse Scout. I asked him some questions about Scout to find out more.
DZone: How long has Eclipse Scout been in development?
Matthias Zimmermann: The birth of the Scout concept was in 1998 already. The framework has been continuously further developed since then. Release 1.0 came in 1999. In 2001 within Release 2.0, SQL Windows was replaced by Java. Scout then went through many gradual improvements until Release 2.8.
At the moment, we are working with Release 3.0 which was published in 2008 and is pure Java and completely based on Eclipse.
In February 2010 Scout Release 3.0 –now named “Eclipse Scout” – reached Eclipse proposal status and was accepted as an official Eclipse project two months later, in April 2010.
We started to use Scout in customer projects from the beginning on. At the moment, various versions of Scout are used in 60 customer projects as an enterprise application platform. Eclipse Scout specifically is used in over 25 customer projects; most of them are already in productive use.
DZone: What was the original purpose of the project?
Matthias Zimmermann: Our main target was to boost developer productivity: The developer should focus on implementing business cases and less on recurring technical requirements that are shared over many different business applications.
DZone: Why have you open sourced Scout?
Matthias Zimmermann: Our main purpose in open-sourcing Scout was to help customers to protect their long-term investment in our software products such as the BSI Customer Relationship Management or contact center solutions: With open-sourcing the code of the technological core of our products, customers get less dependent and more flexible. We are against dependency – it neither brings benefit to the customer nor to us.
By the way: An additional factor which is crucial to us, is the “coolness” factor of an Open Source Enterprise Application Platform like Eclipse Scout – for existing employees and for winning top graduates as future employees for BSI.
DZone: What are the main advantages to using Scout?
Matthias Zimmermann: Eclipse Scout is simple to learn, it typically takes less than a day to build the first multi-tier application with data-base connectivity. Moreover, thanks to the included Software Development Kit (“Eclipse Scout SDK”) developers become productive team members in a very short time – often less than 10 working days.
The Eclipse Scout SDK supports round-trip engineering. Within Eclipse Scout projects, developers decide individually whether to work in the Eclipse Java perspective or in the Eclipse Scout perspective or to switch between them depending on the task. And after all, this works without breaking each other’s code.
Everything in Eclipse Scout is a plain old Java object (POJO). This offers a lot of flexibility and helps to minimize the pain of integration of a wide variety of other technologies.
DZone: Is it mostly for business applications? Are there any other use cases?
Matthias Zimmermann: Eclipse Scout can be used for a wide variety of applications: Be it client-only applications, for example, a private document management solution, or multi-tier business applications. Also, server-sided applications, such as enterprise service bus nodes, may be implemented based on Eclipse Scout.
DZone: Having seen Scout used to create Swing and SWT UIs I was very impressed. Are there any other client formats in the pipeline? Will you be doing native mobile clients?
Matthias Zimmermann: Currently, we are developing web UI support based on the Apache Wicket project. The Wicket integration should be production-ready by end of 2011. We are optimistic to demonstrate first prototypes at this year’s Eclipse Con in Santa Clara.