Information Technology Reference
In-Depth Information
(rotation, improvement, calibration, resizing etc.) that should be applied de-
pend on the properties of the concrete picture, other kinds of text and deco-
rations may be used (such as more fancy text and border styles, or additional
artistic effects), and sending to the recipient can be done in different ways (for
instance by e-mail or as printout via inhouse mail). Given these characteristics,
it seems in fact natural to regard the example from the workflow perspective.
Technically, a workflow can be defined as “a network of tasks with rules
that determine the (partial) order in which the tasks should be performed”
[327, Chapter 1]. Consequently, an adequate user-level workflow management
system has to provide a user-accessible mechanism for handling both tasks
and rules. In fact, service-oriented, model-based approaches, which make use
of abstract, intuitive, and usually graphical representations of these tasks and
rules, have become the prevalent methods of choice for workflow development
across all application domains.
This is commonly known for the development of business processes and
scientific workflows, where service-oriented and model-based approaches have
become well established in the last years (cf., e.g., [62, 317]). However, also
in entirely different application domains, where one would typically expect
classical programming styles to be clearly dominant, they are increasingly
being used. Just to name a few examples: functionality for graphical scripting
is part of the new graphics engine of the “Unreal 4” video game [19], the
ConnectIT [34] project provides an intuitive graphical framework for the
modeling of ConnectFour game strategies, and the Yahoo! Pipes [12] web
application allows for the model-based development of web 2.0 data mashups
via a graphical user interface.
Service-Orientation
With the rise of the world-wide web and the spreading of distributed sys-
tems, service-orientation [24] with its strong emphasis on proper modular-
ization has established itself as a popular paradigm for IT infrastructures.
Its different flavors cover service-oriented architectures (cf., e.g., [31, 323]) in
general as well as particular concepts for application development, such as
service-oriented software engineering [311], service-oriented computing [133]
and service-oriented software design [212].
According to [206], a service is “any nugget of functionality that is directly
executable and can be published for use in complex applications”. More tech-
nically, a service is any (local or remote) resource that is programmatically ac-
cessible via a defined interface. In particular, Web Services, as defined by the
World Wide Web Consortium (W3C) [49], have become the quasi-standard
remote access mechanism in the last years. Nevertheless, several other tech-
nologies, such as the Object Management Group's CORBA [241] or the re-
mote procedure call (RPC) facilities [237] included in many programming
language APIs, provide equivalent technical support for service-orientation.
Finally, service is always “in the eyes of the beholder” [197], that is, the
 
Search WWH ::




Custom Search