I've recently been working on integrating the SwitchYard console into the AS7 console. As part of that effort, I have significantly restructured the console project. Before issuing pull requests, I thought it best to put the changes up for a wider review. If you're interested, please respond with any questions, comments, criticism.

Some background... Prior to these changes, the SY console was built as a standalone console, which reused some infrastructure from the AS7 console. In order to make things work, the project was a bit messy (including selected source from the AS7 project, sprinkle in a little bridge code, rewrite some other code...). With the recent upgrade to AS 7.1.0CR1b, the SY console was broken and because of the way we were reusing the AS7 source, it looked like it was going to require some effort to fix it. As we've been wanting to move the SY console into the AS7 console, it seemed like the right time to try integrating the two consoles.

The first challenge was figuring out how to make the AS console extensible. Once that was done, the SY console needed to be converted to be an extension (plug-in) to the AS console. Then the release needed to be updated to use the new consolidated console. Below is a brief summary of the changes.

Updated the maven groupId to org.switchyard.console. (housekeeping)

All AS console specific code was moved from the SY console project (console/gwt) and moved into its own project (console/as7-core). As the extension mechansim has not yet been incorporated into the AS console project, this project serves to package the AS console as a jar/gwt module that can be used by downstream projects. It also incorporates the few changes needed to make it extensible (two modified files and a few new files). This project is named switchyard-console-as7-core

The SY console is now packaged as a jar/gwt module and only includes code specific to the SY console pages. It still lives in console/gwt, but the project name has changed to switchyard-console-extension

A new project was created to package the two sets of console functionality into a single war. This project lives in console/app and is named switchyard-console-application. (I haven't mentioned any of the details behind the design of the extension mechanism, but, if you're interested, here's a link that describes the approach, along with some example code: https://github.com/rcernich/fools-errands/tree/master/modular-mvp)

When I build the console project under Windows, I get a bloated war that is around 46 MB. Looks like it includes *.gz files too. Could you tell me the magic of the recently released war having only 10 MB? Don't tell me the obvious, to use nix system.

The core console is weighing in at almost 44MB. Those gz files are compressed versions of the JS (notice they have the same name as the html files). I don't know why it's so big all of a sudden. I suspect it may have to do with localization. (GWT compiles JS for each locale, so if we went from one to four or two to eight, that's roughly a four fold increase in size.)

I guess, I'd say there's no problem here. That's just the way it is. We may need to decide whether we still want to include the console in the SwitchYard bundle. (It won't make a difference for the distribution, since we provide the SY console and leave out the default AS console, so no real difference in size.)