The first release of SmartGWT Enterprise Edition is now available.
What is it?
SmartGWT Enterprise Edition (SmartGWT EE for short) is to SmartGWT what SmartClient Enterprise Edition is to SmartClient – an enterprise version of the product that includes Java Server side functionality, additional tools, and a classic commercial license in lieu of the LGPL.
For teams with existing Java functionality, SmartGWT EE provides greatly accelerated integration with SmartGWT’s visual components. In many cases it is possible to take existing Java methods in an application and bind a SmartGWT grid or form to those methods without writing any new code, simply by specifying what method to call in a DataSource XML file.
For those using Hibernate, it’s even simpler. A Wizard within Visual Builder allows you to simply pick any registered Hibernate entity from a list, and SmartGWT EE will create a SmartGWT DataSource that provides full read-write binding to that Hibernate entity. Just provide the generated DataSource to a SmartGWT grid or form with no other configuration, and you have a full CRUD UI: create, retrieve, update, and delete Hibernate-managed entities. It can even execute the complex search criteria that the FilterBuilder allows a user to specify. There’s no need to create redundant Data Transfer Objects (DTO’s), or worry about Hibernate-managed lazy associations between entities in your domain model. Only those properties mapped in the data source are passed to the client, and during updates only those properties that have been modified (and not the entire bean data) are sent from the client to the server with the changes transparently reflected in your server.
A corresponding Wizard exists for binding to database tables stored in any popular database, again with full read-write binding. And in both cases, you can easily add business logic that runs before or after the Hibernate or SQL binding, which can modify the request before it executes, modify the output, or take any other action.
There’s even a “batch” version of the binding tool. Do you have a large application with 1000+ Java Beans, or 1000+ SQL tables? Make them all accessible to SmartGWT UI widgets in one step. The batch version of the tool includes source code, so you can customize how generation is done. Do you have Java annotations that could be used to drive UI behaviors like required:true or canEdit:false? There’s sample code for that. Do you need to show a special input control or add special validators wherever a field with a certain Java type is used? Easy change.
This is ideal for large scale enterprise development:
- you get all the benefits of model-driven development, including rapid prototyping and the ability to make pervasive changes driven by changes in the model
- you retain full extensibility: you’re working with a UI platform that allows you to build completely customized interfaces where necessary
- your customizations are minimal and easy to maintain; you don’t have to maintain the “code soup” typically output by code generator tools
SmartGWT EE future features
This first release of SmartGWT EE omits certain advanced components and services, including the CubeGrid and the Messaging module. These are coming soon; we’ll be rolling out enhancements to SmartGWT EE at a rapid clip similar to what we’ve been doing with SmartGWT.
Also in this release, while Visual Builder is fully functional, it currently saves screens as XML files which cannot (yet) be readily converted into Java code for use outside of the tool. These XML files are in SmartClient’s Component XML format and can be edited and re-loaded by Visual Builder (as with SmartClient). Future versions of Visual Builder for SmartGWT EE will include tools to generate Java from this format, so any screens you build now are forward compatible.
As part of the final release of SmartGWT Enterprise Edition, we’re introducing a new pricing level that works better for small teams, called SmartGWT / SmartClient Pro. This product will have all of the client-side functionality of SmartGWT / SmartClient LGPL as well as server-side functionality similar to the 6.5.1 release of SmartClient Enterprise – server connectors, validation, basic Hibernate and SQL connectors, as well as Visual Builder – and will be offered at a price that approaches $600-800 per developer for a team license. There will no longer be a distinction between an Intranet vs a Small Vendor Edition license. In a nutshell this very closely matches the existing Enterprise offering, but is now less expensive.
SmartClient and SmartGWT Enterprise Edition will now come with a different license suited to larger deployments which will carry stronger legal guarantees (eg indemnity), and for that reason will also be a “Contact us” licensing level. A handful of new features in 7.0 will be held back to the Enterprise level license, including two shown in the new SmartGWT EE showcase: a feature we call Transaction Chaining which is demonstrated in the Queued Master/Detail Add example, and the batch mode of the DataSource generator mentioned above. Hence the need to announce the upcoming pricing changes today – further details on the feature breakdown will be posted soon.
Anyone who has already bought licenses to SmartClient Enterprise will be able to continue to renew at the currently posted pricing, which we will also continue to honor for the next 45 days (including any quotations). So, now is a great time to purchase Enterprise Edition, as you have an opportunity to purchase the Enterprise feature set at slightly above the price of Pro, if one of our website licenses works for you.
About SmartClient 7.0
Everything discussed for SmartGWT EE above is also included in SmartClient 7.0. Our apologies to users of the free version for the delay in getting a final release out (most enterprise customers opted to get certified on an interim build). However, it’s worth the wait. If we were to take a cue from the Mozilla foundation, who recently renamed Firefox 3.1 to 3.5 to reflect how much is new, we might have to skip a few numbers (kidding – we’ll stick with 7). Stay tuned.