4 CLOUD INTEGRATION
The proposed architecture for integrating ticketing
devices in a cloud computing platform is depicted in
Figure 3. The integration protocol admits that part of
the logic of each device runs in the cloud platform.
Figure 3 shows in the periphery, two sets of entities:
operators and devices.
The operator manipulates the historical data of
the device and the respective configuration accessed
via the data layer by an administration cloud
application. The operation of the subsystem
comprises a multi-tenant feature, which interacts
with the data layer. The device activation can be
made by its owner/operator, using the application,
where is selected previously defined device’s type
and returned the device’s unique identifier. The
application's main responsibilities are to setup,
access to the register operation and activation /
deactivation of device.
A request / response protocol allows the device
(e.g. ticket validator or sale operation) to call remote
operations hosted in the cloud. The data manipulated
by the devices flows across queues "1" (input for
request) and "2" (output for response). Within the
integration subsystem, instances of processors
handle messages from queue "1", to dynamically
instantiate the type of device and perform the
requested operation indicated in the message.
The session context associated with the
maintenance status of the device is dependent on
their type. Objects, that store configuration and
historical data of the interactions, are managed in a
data layer. To ensure load balancing and isolation of
data, the history of each type of equipment is stored
in isolated data object, called a "LogType n" where
"n" represents the type of device. The configurations
are stored in a data object, referred as "Register".
The quantity of entries in this object coincides with
the quantity of integrated devices.
Is interesting to note, for sending the requests
made by the device there is only one message.
Instances of processors read the messages and
validate its format. Validation consists in
confronting the XML document, which represents
the message, with appropriate XML Schema
Definition (XSD). If one assumes that the message is
malformed, relevant information is added to the
history and the processing of the current request is
finished. Subsequently, the processor accesses data
register (interaction "c"), so that, in the context of
the session handling information specific to a
particular type of device. With the information
received, it is checked if the device has been
previously registered and is in active state. If any of
the validation is unsuccessful, the history is updated
and the processing of the current request is finished.
In the next phase, the processor checks whether the
request corresponds to the first message from the
device designated by check message. If so, the
processor creates the queue "2" for response
messages and sends through this queue a message
notifying that the cloud component of the device is
ready to be used. Given the information present in
the device’s configuration, the message parameters
lead the processor to dynamically instantiate the
processing of its contents in accordance with the
identifier of the requested operation. After the
instantiation and execution of the operation, in the
context of the current session, the log history is
updated. Finally, the processor sends a message to
the queue "2", with the result of the operation, the
device that was blocked (interaction “b”) receives
the message. For details of the common message
model for messages exchanged in interaction "a" and
"b" and for the definitions of the validation rules for
messages and data objects are described and a
Windows Azure Demonstrator, see (Gomes, 2012).
5 TICKETING AS A SERVICE
Taking into account a small transport operator, that
wants to implement an electronic ticketing system.
Our approach for the system development involves
three main actors the cloud provider, the transport
operator and the technological partner. The Cloud
Provider gives three levels of cloud services: SaaS,
PaaS e IaaS. In our concept demonstrator, we use
Microsoft Windows Azure (WA) platform.
The Technological Partner (TP) is responsible for
developing and maintaining the ticketing system, and
creating a set of services to enable a personalized
business process for the transport operator. From this
modular approach TP can use previous developed
services to implement the required system able to
support the business and the front end device can also
be provisioning and using past developed projects.
The current proposal is oriented for a SaaS approach,
but with more work development can be
implemented in a PaaS or even used in dedicated
solution. A complete description is available on
(Gomes, 2012), where two devices were integrated in
the cloud using resources of cloud provider (e.g.
processors, message queues). The operator buys the
front-end devices (e.g., gates and validators) that are
register by TP on the cloud system taking into
account the device provision procedure. At this point
Taas-TicketingasaService
81