The Real-Time Enterprise: Iot-Enabled Business Processes
The Real-Time Enterprise: Iot-Enabled Business Processes
Abstract. The Internet of Things (IoT) offers a great potential in many different
application areas for improving enterprise applications – from efficiency gains
to completely new business processes and even business models. However, in
order to realize this potential, significant hurdles still have to be overcome. This
position paper focuses on one of these hurdles: The integration into business
processes by means of process modelling and the orchestration of IoT services.
Introduction
The Internet of Things (IoT) is a hot topic world-wide, both in research as well as in the media. As one aspect of
a Future Internet, many application areas have been postulated – not only in industrial domains such as
manufacturing, logistics, retail, service management, energy, public security, and insurance, but also for the life
of every citizen – where IoT can bring significant improvements, leading even to new business models [1] [2]. In
order to realize this vision many obstacles have to be overcome. Systems have to be opened up, secured, and
made highly reliable to facilitate global collaboration across multiple organizations similar to the services
offered on today’s Internet. Globally accepted standards, methods, and tools have to be developed to enable large
scale infrastructures that can be configured, integrated, and monitored efficiently. Intelligent systems with
substantial self-configuration, self-monitoring, and self-healing properties are required to manage the large and
fast growing number of devices. Progress is being made in many of these areas; this position paper will thus
focus on an issue that has not received enough attention yet, but is crucial for building and deploying IoT
applications in industrial or enterprise settings on a wider scale: The modelling of IoT-aware business processes.
It is noteworthy that such IoT services have some different properties compared to common enterprise services.
Not only might the technical implementation of the services be different, also thecommunication model and
orchestration of services might be different, as the dynamic nature of the real world demands for flexible inter-
service communication that must take unexpected events into account and, consequently, provide means of
dealing with complex events patterns. Secondly, locality is of much more importance, both regarding the origin
of the data delivered (e.g., the temperature in a specific room) as well as where the service is executed – not just
anywhere in the cloud. Thirdly, we often have to deal with streaming data from which relevant information and
events have to be extracted in (soft) real-time. And maybe most importantly, IoT services are inherently
unreliable: the data delivered might be wrong, for example because of a decalibrated sensor, or they may
suddenly become completely unavailable because the device hosting the service has run out of power or has been
moved out of communication range. These different properties need to be taken into account when modelling
processes that include IoT services.
IETF IAB Workshop on Interconnecting Smart Objects with the Internet, March 2011 1
S.Haller, C.Magerkurth The Real-time Enterprise: IoT-enabled Business Processes
However, current business process modelling is geared towards planned and deterministic processes. The related
tools don’t yet support the challenges that IoT-aware processes bring well. The challenges include:
Adaptive and event-driven processes: One of the main benefits of IoT integration is that processes become
more adaptive to what is actually happening in the real world. Inherently, this is based on events that are either
detected directly or by real-time analysis of sensor data. Such events can occur at any time in the process. For
some of the events, the occurrence probability is very low. But one knows that they might occur, but not when or
if at all. Modelling such events into a process is cumbersome, as they would have to be included into all possible
activities, leading to additional complexity and making it more difficult to understand the modelled process, in
particular the main flow of the process (the 80% case). Secondly, how to react on a single event can depend on
the context, i.e. the set of events that have been detected previously. A simple example: If people had entered a
certain area, and later a sharp rise in temperature is detect there, as well as smoke, then the rescue team needs to
be sent. Or, if the truck is delayed so that the delivery cannot reach the intended B customer in time, and if the
company just has received an urgent order from its preferred A customer, then the truck is rerouted to the A
customer.
Processes dealing with unreliable data: When dealing with events coming from the physical world (e.g., via
sensors), a degree of unreliability and uncertainty is introduced into the processes. If decisions in a business
process are to be taken based on events that have some uncertainty attached, it makes sense to associate each of
these events with some value for the quality of information (QoI). In simple cases, this allows then the process
modeller to define thresholds: e.g., if the degree of certainty is more than 90%, then it is assumed that the event
really happened. If it is between 50% and 90%, some other activities will be triggered to determine if the event
occurred or not. If it is below 50%, the event is ignored. Things get more complex when multiple events are
involved: E.g., one event with 95% certainty, one with 73%, and another with 52%. The underlying services that
fire the original events have to be programmed to attach such QoI values to the events. From a BPM perspective,
it is though required that such information can be captured, processed and expressed in the used modelling
notation language, e.g. BPMN. Secondly, the syntax and semantics of such QoI values need to be standardized:
Is it a simple certainty percentage as in the examples above, or should it be something more expressive (e.g., a
range within which the true value lies)?
Processes dealing with unreliable resources: Not only the data from resources is inherently unreliable, but also
the resources providing the data themselves, e.g., due to the failure of the hosting device. Processes relying on
such resources need to be able to adapt to such situations. The first issue is to detect such a failure at all: In the
case that a process is calling a resource directly, this detection is trivial. When we’re talking about resources that
might generate an event at one point in time (e.g., the resource that monitors the temperature condition within the
truck and sends an alert if it has become too hot), it is more difficult: Not having received any event can be
because of resource failure, but also because there was nothing to report. Some monitoring software is needed to
detect such problems; it is unclear though if such software should be part of the BPM execution environment or
should be a separate component.
Highly distributed processes: When interaction with real-world objects and devices is required, it can make
sense to execute a process in a decentralized fashion. As stated in [1], the decomposition and decentralization of
existing business processes increases scalability and performance, allows better decision making and could even
lead to new revenue streams through entitlement management of software products deployed on smart items.
For example, in environmental monitoring or supply chain tracking applications, no messages need to be sent to
the central system as long as everything is within the defined limits. Only if there is a deviation, and alert (event)
needs to be generated, which in turn can lead to an adaptation of the overall process. From a business process
IETF IAB Workshop on Interconnecting Smart Objects with the Internet, March 2011 2
S.Haller, C.Magerkurth The Real-time Enterprise: IoT-enabled Business Processes
modelling perspective though, it should be possible to define the process centrally, including the fact that some
activities (i.e., the monitoring) will be done remotely. Once the complete process is modelled, it should then be
possible to deploy the related services to where they have to be executed, and then run and monitor the complete
process.
Conclusion
Integrating Internet of Things aspects into Business Process Modelling and related tools is one of the key
challenges that need to be overcome in order to see wider deployment of IoT technologies, and thus, to be able to
reap the many potential benefits that have been postulated for the IoT. When doing so, the special characteristics
of IoT services and processes have to be taken into account and likely existing business process modelling and
execution languages like BPMN [5] and WS-BPEL [6], as well as service description languages like USDL [7],
need to be extended.
Regarding the modelling of distributed processes, in a first step it should be possible to define in the modelling
environment which activities should be executed where, and to select the services that implement these remote
activities. It has to be noted though that these services – as they are implemented on resource-constrained
devices – are often not based on SOAP, but rather use REST. A second and more advanced step is then to use
the model also for the deployment of the services: All required services are if necessary deployed to the target
devices/environments once the model is instantiated, or even a complete subprocess is deployed to a remote
BPM execution engine. In addition, it would also be desirable to support the business process modeller in
deciding what activities should be executed where, initially through guidelines, later maybe even through (semi-)
automatic decomposition.
Acknowledgments. This paper describes work undertaken in the context of the IoT-A project, ‘Internet of
Things – Architecture’ (http://www.iot-a.eu/i). IoT-A is an Integrated Project supported by the European 7th
Framework Programme, contract number: 257521. The authors would also like to thank the other colleagues
working on Internet of Things topics at SAP Research, in particular Jochen Rode, Sonja Meyer, and Klaus
Sperner.
References
[1] S. Haller, S. Karnouskos, and C. Schroth, “The Internet of Things in an Enterprise Context”, in J.
Domingue, D. Fensel und P. Traverso (Eds.), “First Future Internet Symposium - FIS 2008”, LNCS 5468,
Springer Verlag 2009, pp. 14-28.
[2] O. Vermesan, M. Harrison, H. Vogt, K. Kalaboukas, M. Tomasella et al. (Eds.), “The Internet of Things -
Strategic Research Roadmap”, Cluster of European Research Projects on the Internet of Things, CERP-IoT,
2009.
[3] W3C, Web Services Architecture, http://www.w3.org/TR/ws-arch/, last accessed: February 2, 2011
[4] D. Guinard, V. Trifa, E. Wilde, “A Resource Oriented Architecture for the Web of Things”, in Proceedings
of Internet of Things 2010 International Conference (IoT 2010). Tokyo, Japan, November 2010.
[5] OMG, Business Process Model and Notation specification, available at
http://www.omg.org/technology/documents/br_pm_spec_catalog.htm, last accessed: February 9, 2011-02-09
[6] OASIS, Web Services Business Process Execution Language, http://docs.oasis-open.org/wsbpel/2.0/wsbpel-
v2.0.html, last accessed: February 9, 2011
[7] W3C, Unified Service Description Language Incubator Group, http://www.w3.org/2005/Incubator/usdl/, last
accessed: February 9, 2011
IETF IAB Workshop on Interconnecting Smart Objects with the Internet, March 2011 3