So, actual gui is OK as starting point, with some tweaks, for a first kind of users: non technical people. More use cases may come later. You summarized some of them.
I thought to do some sketches to show how the UI will like. But actually it is not necessary if we figure out an early milestone were the UI is like the old one. For further improvement it will be useful to some drawings and take the right decisions before writing the code.
A more pressing issue is the missing of some way to represent the structure of the data type of a service call inputs and outputs. In wise core is quite easy to browse services, endpoints, calls. However, as Stefano told me in a talk, the inspection of the data structures is upon the client code. This means that some code had to be written. Thus, if this code gone inside the core, it will be available to other UIs implementors.
I agree with this point.
So, we need some hierarchical representation of the data structures.
One: provide the source code within the jar of the core.
Two: use different classes and translate the data when it goes back and forth.
Tree: represents these structures using JRE classes supported by the GWT runtime.
Four: use XML?
Five: I have a vague idea about using GWT generators to build proxy POJOs... It's something that I have to think about more.
By my opinion, this is a general problem with GWT. It's difficult to apply TDO pattern until you don't provide the source code of DTOs. If we provide a solution here, we'll provide a solution for a lot of people ;)
It is not possible to edit posts? Ok, please don't worry about my bad english grammar :D
To be clear, TDO it's a misprint. I mean DTO.
Fabrizio, I have to say that I have almost no knowledge of GTW, anyway generally speaking I think we would probably need some kind of model to be used by the GUI. That should be able to map every possible data structure coming from the core, which would not change because of the gui. In the legacy implementation (perhaps you already know this) we used to have TreeElement instances; those were mapped to the classes representing the soap message and used to dinamically build the interface. See: http://jax-wise.svn.sourceforge.net/viewvc/jax-wise/tags/Wise-1.0.1/src/it/javalinux/wise/seam/entities/treeElement/