Hi Eric

I only have a few concerns. When designing the new UI please always take in mind that some users are going to manage a lot of objects in their configuration. The UI should support this. Please consider something like 100 services, 500 endpoints, 20 cases within a switch-mediator and so on. The UI should also be usable with these numbers. Therefore it would be a good idea to create different configuration sets to test the UI with. Please try to keep the size of symbols not to large, otherwise it might get problematic for larger configuration. Maybe it would be possible to use some kind of zoom-mechanism for the design view to balance between few and many items on the screen.

This is excellent feedback.. and having sample datasets for visualization will surely help us a lot

It would also be very helpful to offer filters and/or grouping mechanisms to reduce the number of displayed items in lists (like a list of services/endpoints). Regarding proxy services I’m always thinking about logical groups, to be able to form a tree. This way it would be possible to categorize and quickly access service definitions. This would match your idea regarding the tree, if I got it right.

We thought of pagination, but I guess a simple regex filter with pagination would allow services, endpoints etc to be filtered and displayed better.. A logical grouping of services already exists as ServiceGroups in Axis2 land.. we will think how best a grouping could be achieved

So far you screens only contain detail views (besides the endpoint overview). I would be very interested in some more sample screens of overview pages (those pages from which you enter the detail pages to edit an existing sequence, proxy service or endpoint). Having more than 20 items a plain ordered list without grouping or filtering is not convenient enough.

These would be generally tabular, with filtering (as you suggested) and pagination..

Besides the UI improvements which basically concentrate on better usability I see the following important other points. Maybe you can also address some of those:

-          user/role-based access, differentiate at least three roles:

o Server Administrator (read/write server configuration, e.g. axis2.xml, synapse.properties etc.)

o Service Administrator (read/write service configuration, synapse.xml, registry etc.)

o        User (read-only service configuration

o        a user can haven multiple roles

- possibility to bundle changes (decouple saving and applying), version changes

We actually discussed something around this.. the idea is to basically start with a clone of the current configuration when a user "locks the current configuration for editing". This will start a synapse.xml.work (or something) and then all edit actions could take place on it, without touching the active configuration. If the user is satisfied, he can "activate" the config or "release" all he did and forget the changes. This would also allow us to possibly validate a configuration before application.

The next item we discussed was that it would be cool to "import" a configuration fragment over the current configuration (following whats described above). So one could provide a synapse.xml.n to be merged into the main synapse.xml, or maybe provide a configuration bundle like a Jar file for a proxy service, which could then be imported into the configurtation.

-          server/cluster management

o configure server settings (ports and other settings from axis2.xml, synapse.xml, server.xml etc.)

o        show status of nodes, allow stop, start, and restart

o        manage cluster members (definition of axis2.xml)

o        UI for integrated JMX-support

Although I fully agree that these changes are helpful and required.. I think we would want this done at the generic WSO2 framework layer. To better explain, we are trying to integrate the WSO2 Data services, WSAS etc functionality and make these available to an ESB user if he desires to use it. Hence we are re-engineering some of the code to be reusable across products.

-          cluster support for service management

o        apply changes cluster-wide (graceful restart of a whole cluster)

I think this type of a change is best performed via JMX..? We could also consider this at the framework level, and we will discuss your suggestions with the other teams.

thanks
asankha

--
Asankha C. Perera

WSO2 - http://wso2.org
http://esbmagic.blogspot.com

_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to