Eclipse Scout: Professional multi-tier business applications

[ By mzi | March 14th, 2010 ]

This post summarizes a recent interview for JAXenter (german only) regarding Eclipse Scout.

JAXenter: You’ve published a project proposal for Eclipse Scout. What is Scout?

Matthias: Eclipse Scout is a framework to implement modern business applications. It features a simple and solid architecture, support for SOA, support for Corporate Identity and Corporate Design, mature GUI elements and much more (also see our Wiki and an earlier post).

JAXenter: Why should developers and business care?

Matthias: For developers Eclipse Scout is “cutting-edge” technology, simple to learn (even I can use it), and very flexible. It doesn’t impose many restrictions on experienced developers. For the business Eclipse Scout offers a boost in development productivity, a low technical risk, and protection of investment. The Scout SDK tooling helps with productivity and the maturity of the framework is proven by the 20′000 or so users in 60 countries that are using Scout applications every day. By proposing to open-source Scout we can greatly improve the protection of investment for our customers.

JAXenter: Would you share some of the project history? What about the beginning of Scout? Who’s behind Eclipse Scout? Why did you propose the Eclipse Scout project?

Matthias: Behind Eclipse Scout is BSI Business Systems Integration AG, a Swiss IT company that concentrates on building CRM and related software. The company was founded in 1996 and has a staff of 150 today, mostly software engineers. A good 10 years ago the initial version of the Scout framework was created. The integration of Scout into Eclipse RCP has been done in 2004, and shortly after BSI CRM was shipped as an Eclipse plugin set for the first time.

As Scout is completely based on Eclipse since 2007 the idea of an Eclipse project proposal was natural. After comprehensive discussions, both internal and with our customers, we decided end of 2009 that the advantages of open sourcing Scout prevail. The official proposal was then submitted in February 2010.

JAXenter: How and by whom will Eclipse Scout be developed in the future?

Matthias: Our products and most of our customer projects are based on the Scout framework. BSI can therefore guarantee for the further development in the coming years. As BSI’s products and projects directly depend on the code quality of the Eclipse Scout framework, demands on committers are very high (both internal and external).

If your still reading this, you might want to consider yourself an interested party. Please let us know by answering on the corresponding forum topic.

Meeting Riena @ compeople

[ By imo | March 10th, 2010 ]

During this weeks trip to Frankfurt we took the opportinity to meet compeople and talking about eclipse, riena, scout and many other interesting topics.

Thansk for the time, guys. Also dinner was fantastic, thanks a lot (even though the Lamm Carre turned out to be a Lamm Rücken :-)

New property to eclipse scout service extension point

[ By imo | March 3rd, 2010 ]

There is an interesting change request for the org.eclipse.scout.service Plug-In

The extension point “services” that is used to declaratively add osgi services and factories shall provide an additional checkbox “Create service immediately” which is checked by default.
This atttribute is used to control the moment when the service instance is effectively created.
true creates the service instance immediately when the extension point loads.
false does not create the service instance on extension point load. It creates the service instance lazy on the first usage of the service.

This can be useful if a service is for example listening for client notifications (to come up from the server) to perform some actions.
Consider a CTI service handling telephony events that come up from the server-side.

Example for the com.myapp.server.core Plug-In:
old plugin.xml entries:
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="org.eclipse.scout.service.services">
<service class="org.eclipse.scout.rt.server.services.common.ping.PingService"/>
<service class="com.myapp.server.core.services.process.FoodStoreService" factory="org.eclipse.scout.rt.server.services.ServerServiceFactory"/>
</extension>
</plugin>

new plugin.xml entries:
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="org.eclipse.scout.service.services">
<service class="org.eclipse.scout.rt.server.services.common.ping.PingService" createImmediately="false"/>
<service class="com.myapp.server.core.services.process.FoodStoreService" factory="org.eclipse.scout.rt.server.services.ServerServiceFactory" createImmediately="true"/>
</extension>
</plugin>

New properties “expandable” and “expanded” on IGroupBox to support Sections

[ By imo | March 1st, 2010 ]

Had a discussion about supporting sections (swt: Section, swing: expandable JPanel) in the scout model.

The decision is to add two new properties to IGroupBox and two new configured properties to AbstractGroupBox. SWT and Swing UI Layers are interpreting these properties in SwtScoutGroupBox and SwingScoutGroupBox respectively and create a nice blue Section.

IGroupBox.isExpandable, setExpandable //whether the box is expandable at all

IGroupBox.isExpanded, setExpanded//if expandable, whats the state

AbstractGroupBox.getConfiguredExpandable

AbstractGroupBox.getConfiguredExpanded

What is Scout?

[ By mzi | February 24th, 2010 ]

Scout is a framework to build state of the art business applications.

In February 2010 Scout was published as an Eclipse Project Proposal. There is a Forum and we’re also using Twitter.

Scout’s Primary goal:

  • Maximizing developer productivity.

To provide some illustration what this is all about the following screenshot is taken from our CRM product that is entirely based on Scout:

The corresponding Part in Scout SDK (tooling for Scout) looks as shown below. Note that the current focus is on the definition of the company form showing links and properties in the middle:

The three driving values behind Scout are stability, flexibility, and simplicity:

  • Stability: Ensure the Scout runtime runs stable in every environment.
  • Flexibility: Ensure possibilities to extend Scout and Scout SDK (Tooling for Scout) by providing Eclipse compliant extension points.
  • Simplicity: Evaluate every additional layer and abstraction carefully of its usefulness to keep the framework as light and simple as possible.

Hello World

[ By mzi | February 19th, 2010 ]

Welcome to our new Eclipse Scout blog, our channel to communicate news about Scout