2 WSGUI CONCEPTS
Concepts are introduced here as abstract steps which
are part of the transformation process from the web
service message structure to the GUI. All concepts are
realised through specific algorithms and filters as de-
scribed later. The software performing these steps is
named WSGUI engine, independent of how or where
it is actually implemented. For the GUI, any declar-
ative format can be the target of the transformation
process. WSGUI does not define a new abstract UI
description.
A number of concepts were present in the origi-
nal WSGUI proposal (Kassoff et al., 2003). Some of
them were found not to be needed anymore, while at
least two were found to be crucial so they’re included
in the following list. The others are the result of recent
work performed in this area by the authors. Reasons
for why to discontinue some of the concepts will be
given later.
The two mentioned original concepts are web
service description and form components, and can
be used by software implementations by reading in
GUIDD files, that is, GUI Deployment Descriptors
(Kassoff et al., 2006). New concepts added by the au-
thors include a strong inference mechanism, MIME
awareness, the user-toggle concept and templates.
Each of these concepts helps in shaping a better
GUI while still preserving the aforementioned prop-
erties. All of them are going to be presented in this
section.
2.1 Web Service Description
While most of the WSGUI concepts deal with individ-
ual service messages, being either input or output of
an operation, some of them deal with the global scope.
Navigating to the message requires presentation to the
user, too. This includes the selection of the service
and operation and passing this information to the user.
Such user interface elements include the internation-
alised representations of name, short description and
comprehensive help of both the services and their op-
erations, and also several details such as the caption
of the submission button for input forms.
While WSDL files can contain information such
as help texts, service providers usually do not trans-
late these texts. Especially for WSDL files generated
automatically by reflection from object code or pars-
ing of source code, it becomes necessary to supply ex-
ternal texts to overcome this limitation. The GUIDD
file format provides the
operations
section for the
task of including an arbitrary number of translated
human-readable texts.
2.2 Inference
Dynamic invocation of web services without any ad-
ditional GUI generation hints can still result in differ-
ent user experience, depending on how close the GUI
represents the message structures.
Instead of just providing simple form controls, say
string input fields, for all schema elements, a dynamic
invocation engine can already infer that some data
types require special treatment. For example, if a type
is restricted by an enumeration of values, only those
values should be displayed in a combo box, instead of
letting the user input arbitrary values. Likewise, an el-
ement which may occur n times as a child of its parent
element can be displayed as a list which may be en-
larged or shrunken within the occurrence constraints.
In addition, the XML Schema embedded into
WSDL files might provide valuable initial help texts
for each form control through its annotations. For the
captions of the controls, only the parameter name can
be used, which will not be suitable for human dis-
play unless they adhere to certain conventions (Steele
et al., 2005).
A still largely unexplored area is the coupling of
data types to semantics to generate widgets such as
password edits or multiline edits. None of them can
be inferred automatically. They are all based on the
string datatype as is the generic input widget, there-
fore form components are required in the meantime
to force their usage. Semantic annotations provide
implicit GUI hints, whereas form components are an
explicit concept. How to make use of semantic on-
tologies and how to address usability concerns is out
of scope for this paper and dealt with in other publi-
cations (Khushraj and Lassila, 2005).
2.3 Form Components
The main part of the GUIDD file format is about spec-
ifying abstract form components, each of which is
wrapping a specific GUI control, which can be used to
override decisions otherwise being made by the GUI
control inference mechanism. The GUI control fam-
ily currently proposed for GUIDD is XForms (Boyer
et al., 2006), which does however not imply any usage
thereof in the final generated GUI.
Based on the message schema, both model and in-
stance addressing can be used to locate the position-
ing of the controls, with the latter one overriding the
former since complex data types can be in use mul-
tiple times. The need for instance addressing, which
was not present in the original GUIDD specification,
stems from the fact that due to type definitions be-
ing either named or anonymous, there can be syntac-
ICEIS 2007 - International Conference on Enterprise Information Systems
80