The Scout project is a proposed open source project under the Eclipse Technology Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Scout Eclipse Forum.
The Scout framework substantially reduces development time for fully SOA and J2EE compliant solutions in the following areas:
Scout provides an application model, a reference implementations, and utilities proven to be useful for business application development. Main aspects included in Scout are listed below:
The Scout SDK provides the tooling to build/manage applications based on Scout. This is achieved by generating pure Java code. Main aspects included in Scout SDK are listed below:
Out of scope for this proposal:
Several concepts from Eclipse e4 are already integrated in the Scout framework
such as a fully OSGi service oriented architecture (no singletons) and the usage of a
UI independ application model (analog to the e4's
The Scout application model will become an extension of the e4 workbench model and include
the UI component layer (e.g.
Based on e4 and Scout users may create complete and sound application models (EMF).
Scout is the base of applications that may be developed with or without the Scout SDK. Scout applications are built on top of the Scout runtime layer. Maintenance of such applications and maintenance of the Scout runtime layer is only loosely coupled as illustrated in the diagram above.
As Scout is written in pure Java/J2EE and satisfies the OSGi paradigm, integration of 3rd party libraries or applications is fully supported. The Scout runtime both provides a large amount of reusable functionality and a library of abstract UI component models.
The extension point registry is reused to define Scouts extension points. An Eclipse compliant extension point defines the UI representation of every component model. This simplifies adding and changing of specific component representations as well as the application representation. With a Swing and a SWT/JFace representation Scout already provides two UI implementations.
|Architecture||Sound and correct SOA architecture. Client- and server-side SOA.|
|Communication||Exchangeable communication layer with a HTTP(S) implementation.|
|Services||J2EE session safe service registries and the ability to remote a service. Service calls look equal on both client and server side.|
|Internationalization||Multi language support, number, date and currency formats.|
|Components||Approx. 35 main UI components cover most requirements of real live business applications. Both Swing and SWT/JFace representations are available.|
|Session Context||Enables J2EE backend session handling.|
|Client Notification||Inverse communication (from server to client).|
|Extensions||The ability to extend the framework in functionality and behaviour through the Eclipse extension mechanism.|
The result of a solution developed with Scout SDK is a pure Java solution consisting of one or more Equinox/Eclipse based applications.
|Application Model||Wizard support to add/remove/modify the application model. Drag and drop support.|
|Template Support||Reuse enriched components. Create a template of forms.|
|Internationalization||Editor to browse, create, and edit multilingual application texts.|
|Extensions||The ability to extend Scout SDK to manage new components or add new SDK functionality on existing components.|
|Build and Launch||Support to export the application and launch both server and client in the context of the SDK.|
|PDE||The Plug-in Development Environment provides tools to build Eclipse plug-ins, fragments, features, update sites and RCP products.||Scout SDK strongly depends on PDE and uses functionality provided by PDE including the plugin model.|
|JDT||The Java Development Tools project provides the tool plug-ins that implement a Java IDE supporting the development of any Java application, including Eclipse plug-ins.||Scout SDK strongly depends on JDT and uses functionality provided by JDT such as the type and compilation unit abstraction.|
|Equinox||The Equinox project represents a first class OSGi community and fosters the vision of Eclipse as a landscape of bundles.||Scout applications are fully OSGi compliant. The Equinox implementation is used on both the client and the server side.|
|BIRT||Business Intelligence and Reporting Tools is an Eclipse-based reporting system for web applications.||Scout SDK support for BIRT is scheduled. Currently, BIRT functionality may be integrated in Scout applications without Scout SDK tooling support.|
|Riena||The Riena platform provides a foundation for building multi-tier enterprise client/server applications.||Riena and Scout have evaluated their impact to each other. A friendly co-existence is intended and a common interest in the development of components useful to both projects has been identified.|
|ECF||Eclipse Communication Framework. Supports the development of distributed Eclipse-based tools and applications.||The Scout project evaluates the ECF project to use as a communication framework.|
|RAP||Rich Ajax Platform. The RAP project enables developers to build rich, Ajax-enabled Web applications.||Scout SDK RAP support is scheduled. Currently, a demo Scout application that uses RAP is available.|
|Swordfish||Swordfish provides an extensible SOA framework based on the proven Eclipse Equinox runtime technology.||The Scout project is evaluating Swordfish to orchestrate business process on the BEPL standard.|
|EclipseLink||The Eclipse Persistence Services Project (EclipseLink) provides a complete persistence framework that is both comprehensive and universal||Scout project is evaluating to integrate EclipseLink as a standard persistence layer. Today EclipseLink and others are and can be used as a persistence layer. Currently, Scout SDK provides no tooling for the persistence layer.|
|EMF||The Eclipse Modeling Framework project supports modeling and code generation for building tools and other applications based on a structured data model.||Starting with e4, the Scout application model will become an extension of the e4 workbench model.|
Apart from dependencies to existing Eclipse plugins, the initial code contribution from BSI AG relies on the availability of the following libraries. As part of the code contribution review, BSI AG will also submit these for approval per the Eclipse development process.
|org.eclipse.scout.sdk.ant||Apache Ant||Apache Licence 2.0|
The following individuals are proposed as initial committers to the project:
The following Architecture Council members will mentor this project:
The following companies have expressed interest in this project:
The following individuals have expressed interest in this project:
|30-March-2010||Updated list of interested parties|
|18-March-2010||Updated comments regarding Riena and list of interested parties|
|08-February-2010||Updated according to comments from Wayne Beaton|
|03-February-2010||Updated according to comments from Markus Knauer and Tom Schindl|
|21-January-2010||Updated according to comments from Wayne Beaton|
|07-January-2010||Updated according to comments from Tom Schindl, and Jochen Krause|
Back to the top