This proposal covers two main parts: Scout and Scout SDK, both are realized as fully compliant Eclipse plugin set. An overview of the application building process with the Scout framework is provided below. For more detailed information also see our Scout wiki.
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:
-
Scout application model supporting a clear and simple definition of business applications.
-
Abstract UI component model including implementations for its Swing and SWT/JFace representations.
-
Exchangeable client server communication. A reference implementation using the HTTP(S) protocol.
-
Remote service infrastructure. Calls to services do not assume a specific location (client or server).
-
Client notification for communication from the server to the clients
-
Support for integrating 3rd party libraries and applications
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:
-
Wizard support for managing the Scout application model.
-
Real time synchronization of the application model and the generated Java application code.
-
Tooling for providing/consuming web services, implementation of application services, and multi-language support.
-
Build and launch support for Scout applications.
Out of scope for this proposal:
-
Scout does not provide a persistence layer. The Scout data transfer objects (DTOs) represent the link to a percistence layer.
-
Scout is not a GUI builder. The Scout client manages the mapping from the application model to a specific UI implementation depending on the UI plugin representation that is shipped with the application.