Methodology for Developing and Application Outsourcing in the
Cloud Using SOA
Ana Gonzalo Nuño and Concepción M. Gascueña
Polytechnic University of Madrid, Higher Technical School Computer Systems Engineering,
Carretera de Valencia, km7, 28031 Madrid, Spain
Keywords: Cloud Computing, SOA and Cloud Computing, Business Model, Business Model and Cloud and SOA.
Abstract: New technologies such as, the new Information and Communication Technology ICT, break new paths and
redefines the way we understand business, the Cloud Computing is one of them. The on demand resource
gathering and the per usage payment scheme are now commonplace, and allows companies to save on their
ICT investments. Despite the importance of this issue, we still lack methodologies that help companies, to
develop applications oriented for its exploitation in the Cloud. In this study we aim to fill this gap and
propose a methodology for the development of ICT applications, which are directed towards a business
model, and further outsourcing in the Cloud. In the former the Development of SOA applications, we take,
as a baseline scenario, a business model from which to obtain a business process model. To this end, we use
software engineering tools; and in the latter The Outsourcing we propose a guide that would facilitate
uploading business models into the Cloud; to this end we describe a SOA governance model, which controls
the SOA. Additionally we propose a Cloud government that integrates Service Level Agreements SLAs,
plus SOA governance, and Cloud architecture. Finally we apply our methodology in an example illustrating
our proposal. We believe that our proposal can be used as a guide/pattern for the development of business
applications.
1 INTRODUCTION
New technologies such as, the new Information and
Communication Technology ICT, break new paths
and redefine the way we understand business. In a
few years time, Cloud Computing has become the
spotlight of myriad companies that see this
technology as a place from which to develop,
manage and launch their businesses. This is due to
several causes such as: the possibility of market
expansion, Cloud companies can now reach every
corner of the globe; savings resulting from ICT
technologies, everything in the Cloud is consumed
as a service and payments owed are determined by
usage; the ability to expand or contract resources by
needed, in addition it is possible to use any
technology or tool without having to invest any
money in them, thereby avoiding obsolescence. But
business migration to the Cloud, including its data,
services and processes, should be made based on
well-defined strategies, for example using the
Service Oriented Architect SOA philosophy
We think that SOA and Cloud technologies
complement each other. SOA is directed towards the
development of service-oriented applications, as it is
a framework that allows the development of
business-oriented computer systems, using services.
These services can be reused by other companies
and are independent from each other, which makes
them easily modifiable. Cloud Computing is a
technology that provides: Platform as a Service
PaaS, Software as a Service SaaS, Infrastructure as a
Service IaaS, and Data as a Service DaaS. Generally
the use of any resource “as a service” can be referred
to as XaaS. Applications based on SOA can be
included within SaaS. In the Cloud, these resources
(as services) are being used by users that do not
know where they (resources) are physically stored.
In (Wilkes, 2011) some valid principles for SOA and
Cloud are defined as: Resource Decoupling, services
allow suppliers to become independent from; the
only dependence remains within the provided
service and not through the implementation process.
Service implementation encapsulation: behind the
published interface the user only should know how
419
Gonzalo Nuño A. and M. Gascueña C..
Methodology for Developing and Application Outsourcing in the Cloud Using SOA.
DOI: 10.5220/0004903804190426
In Proceedings of the 16th International Conference on Enterprise Information Systems (ICEIS-2014), pages 419-426
ISBN: 978-989-758-029-1
Copyright
c
2014 SCITEPRESS (Science and Technology Publications, Lda.)
the service is used. Use based on Service Level
Agreements SLA, which define obligations between
supplier and consumer. Share and Reuse, Cloud
services should be designed to share and to reuse by
many consumers. Autonomy, services should be
independent. Discovery, Cloud services must be
easily discoverable. Modularity and Composition,
Cloud services can be composed of other services.
Several authors believe that Cloud and SOA are
suitable for business outsourcing in the cloud. We
agree with (Wilkes, 2011) where the authors discuss
the modernization of business and ICT in the Cloud,
noting that both have common.
In this paper, we propose aligning the Cloud
strategy with business strategy according to the SOA
paradigm. We propose a methodology directed
towards the development and
outsourcing/externalization of business applications
using SOA. In the development process, we take a
business Model as a base from which to develop a
business process Model, we then use software
engineering tools to obtain a business services
Model, suitable for implementation. In the
outsourcing process, we propose a guide to exploit
SOA applications in the Cloud following the
Business Process Modeling BPM and SOA
government models. In the best of our knowledge
we have not found applications development
methodologies focused to its exploitation in the
Cloud.
This paper is structured as follows: In Section 2
we will see some studies related to the Cloud and
SOA. Section 3 presents our proposal. Section 4 we
shows a study case where we apply our
methodology. And Section 5 exposes some
conclusions and future research.
2 STATE OF THE ART
Opportunities offered by the Internet to modern
society are immense and growing on a daily basis;
constantly technological advances break new ground
towards providing society with better and faster
communications aside from new ways to interact, do
business, teach, learn and much more.
The new Cloud technologies are considered by
many authors a derivative of other technologies, as
in (Buyya, 2009) where a study on computer vision
in the XXI century is performed, covering briefly the
progress of modern society, they consider Grid
computing, Peer to Peer, and SOA technologies like
precursors of the Cloud Computing. In addition, they
establish an approach what they call “Cloud market-
oriented resource management”, these are based on
the deployment of Service Level Agreements SLAs,
between providers and users, and risk management
associated with the violation of SLAs. In (Youseff,
2010) a proposal of the Cloud ontology is shown,
which aims to unify concepts as to improve their
understanding; the authors also consider the Cloud
as a technology derived from other such as SOA,
Virtualization, Distributed architectures, Grid and
Cluster computing from which the Cloud inherits its
advantages and limitations. They present their
ontology in 5 different layers: 1) Hardware; 2)
Kernel; 3) IaaS: DaaS and computational resources
as a service CaaS; 4) PasS and 5) SaaS. Cloud
technologies are a matter of research as shown in
projects (Khan, 2012), (MacKenzie, 2006), (Wang,
2008), (Buyya, 2009), (Alvarez, 2012), (Mircea (a),
2010). We believe that SOA is a mature architecture
suitable for the Cloud, in (MacKenzie, 2006) the
OASIS Reference Model for SOA, is shown; where
the reference model is defined as a model that seeks
to provide common semantics, that can be used
without ambiguity between different
implementations. It defines the SOA essence, and
emerges with a common vocabulary and
understanding, independent from the technology that
influences the SOA deployment. According to
(MacKenzie, 2006), SOA is a paradigm for
organizing and utilizing distributed capabilities,
which may be under the control of different owners.
Entities, individuals and organizations create
capabilities to solve or support solutions to problems
they face in their businesses. Thus, the needs of
some people are met with capabilities offered by
others. A capability can be used without knowing its
details. The service is SOAs’ core,
and it is defined
in the dictionary as “The performance do work (a
function) by one for another”. Regarding SOA
,
services are the mechanism by which needs and
capabilities are produced together.
There are many studies that recommend using
SOA in the Cloud, all from different points of view,
as in (Wang, 2008) where the authors define the
workspace as the abstraction of an execution
environment, which can be dynamically available to
authorized clients using standard well defined
protocols. The authors think that orchestration and
service organization can be managed by SOA. In
(Buyya, 2009) new ways of locating resources,
depending on the level of service contracted between
consumers and suppliers, are presented. The authors
of (Soltani, 2012) propose using BPM and Model-
Driven Development to develop SOA architecture.
They show a method that defines how to transform a
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
420
business process in an executable process to identify
services SOA automatically. The main objective of
this paper is to automate the development process of
enterprise information systems, under the service-
oriented paradigm, although its proposal does not
contemplates the outsourcing process as we do in
this paper. In (Mircea (a), 2010) the authors present
a relationship between BPM, SOA and Cloud at the
organizational level. They propose a design pattern
created specifically for an environment such as the
university, and they highlight the use of Cloud
Computing and the construction of reusable
components, benefiting customers and suppliers. In
our proposal, we give a methodology to develop
applications which can be use for any business
model. Worth noting (Wilkes, 2011), which speaks
of service-based businesses in the Cloud while
saying that "all roads still lead to SOA"; it presents
SOA as an essential way to modernize
organizations, and bring business to the Cloud. They
think that in the near future SaaS vendors will
provide business service sets, in the concept of
Business as a service BaaS. They speak of the
rebirth of SOA, and they say “It is no longer a
question of “should I use SOA or not?”, as SOA is
the way the cloud operates”. Its proposal considers
two additional layers to the Cloud infrastructure
layer: 1) business as a service layer, and 2) platform
as a service layer. Other studies are focused on the
usefulness of Cloud within specific areas, as in
(Alvarez, 2012) where the authors focus their
proposal on how to run a university management
model. Also (Piórkowski, 2012) provides a
dissertation on the use of SOA within the
construction of services that would allow for new
ways of teaching. In (Gonzalo, 2013) a new model
of higher education hosted in the Cloud is shown,
under the philosophy of use on demand and pay per
use.
In summary, we have not found studies where
the development of business models oriented
towards its externalization/outsourcing in the Cloud
are defined, using the SOA design paradigm and the
BPM process management model, as we propose in
this paper.
3 PROPOSED METHODOLOGY
SOA is a paradigm or philosophy, in other words, a
different perspective from the traditional approach to
the design and construction of flexible and highly
scalable software systems, which reflect business
organization. Traditional software development
models follow process-oriented or object-oriented
paradigms; but these are, currently, insufficient
towards capturing new business challenges that
businesses require, and towards expanding them
through the Internet. Therefore, there is a need for
methodologies based on service-oriented paradigm
which can be integrated for their development in the
Cloud. They must allow carrying out business
projects quickly and easily, adapting by changing
the needs of business processes and with the benefits
that the reusability offers. The SOA architecture is a
good candidate because it enables users to design, to
build, to develop and to integrate business services.
We agree with (Wilkes, 2011) and consider
necessary to add a new layer on the traditional
infrastructure of Cloud, the BaaS layer. We define a
methodology for the development of business
models focused for their externalization in the
Cloud, which will be implemented on BaaS layer,
we can see this in the Figure 1.
Figure 1: Cloud Infrastructure adding the business layer
BaaS.
The Figure 2 shows two parts of our methodology:
The SOA Architecture and the Exploitation. In the
following we describe these in detail using diagrams
and UML specifications.
3.1 SOA Architecture
To build an application using SOA that collects the
business Model of any company, we propose two
phases: Business Modelling and Design.
Figure 2: Integration of the SOA and the Cloud.
3.1.1 Business Modelling Phase
In this phase we take the business Model of any
MethodologyforDevelopingandApplicationOutsourcingintheCloudUsingSOA
421
organization as a starting point and carry out three
activities: Analysis of the organization, Identify
business processes, and Action description. With all
these we form a Business Process Modelling.
Analysis of the Organization
This activity aims to study the Organization for
which the project is being carried out to extract
relevant information from the business. To this end,
we make an analysis of the current status of the
organization in terms of their current processes,
tools, clients, skills, areas for improvement, etc.
Identify the Business Processes
After analyzing the main elements that support the
business, we identify and describe the processes that
are performed and the users involved; and we
represent them through a use cases UC diagram. In
Figure 3 we observe n business processes
represented as n Business UC and using single user.
Figure 3: Identification of business processes.
Actions Description
For every business UC defined in the previous
activity, we define the future actions using an
activity diagram. Figure 4 shows an example of the
actions that should perform a process x.
Figure 4: Activity diagram of a generic use case that
provides support to a process X.
3.1.2 Design Phase
In this phase, each the processes represented by a
UC in the previous phase, is described. For this
purpose we perform four activities: 1) Identify and
categorize services. 2) Discover existing services. 3)
Specify services. 4) Define the Orchestration of
services.
Identify and Categorize Services
This activity aims to identify the business services
needed to perform each business process, which are
categorized according to a type of service. These can
be: focusing on processes/tasks (those that describe
the business logic, them being composed of a set of
services); of entity (describe the business logic (but
only the simple or unitary parts); basic or useful
(describing access to external utilities of the
application, for example databases). We can observe
this in Figure 5.
Figure 5: Identification and categorization of services of a
process X.
Discover Existing Services
This activity aims to find the business services that
may be already implemented, and they can be
reused. Observe this in Figure 6.
Figure 6: Discovery of existing services for its reuse
Specify Services
This activity aims to specify the business services
that were previously identified, defining service
contracts for each along with their interfaces. In
turn, interfaces contain operations and their
parameters, which are related with actions described
in the activity diagram in the above phase. We can
see this in Figure 7.
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
422
Figure 7: Specification of business services of a process X.
Services Orchestration
In this point the orchestration defines the sequence
of operations that allow for interaction between
business services, which is necessary for each and
every business process. We can see this represented
in Figure 8.
Figure 8: Representation by a sequence diagram of the
orchestration of business services in a process X.
3.2 Exploitation
In this part, we proceed to the implementation of all
business services that were identified in the design
phase. Afterward, processes and business services
will be externalized/outsourced in the Cloud. To
fulfil this purpose we carry out two phases:
Implementation and Externalization in the Cloud.
3.2.1 Implementation Phase
This phase aims to implement business services
following the structure defined in 3.1.2.3 section.
For this we can use Web services technology.
3.2.2 Externalization in the Cloud Phase
This activity aims to conduct a study of the
resources that are needed to carry out the
implementation of SOA and exploitation of the
business in the Cloud, and then hiring these
resources, if necessary. The externalization in the
Cloud is done in three activities: Process
Orchestration, SOA Governance Model, and Cloud
Government Model.
Process Orchestration
In this activity we describe the orchestration of
business processes and services, and their rules; to
this end we use a BPM, which provide a set of rules
for business process management. We observe in
Figure 9 an orchestration where business processes
and services are interspersed.
Figure 9: Orchestration of business processes and services,
using BPM.
SOA Governance Model
This activity prepares the exploitation of SOA,
which represent the business model in the Cloud. It
is necessary to guide and direct the mentioned SOA
architecture, defining what to do, how to do it, who
has authority to do each action, and how to measure
the results. This is done by defining a SOA
governance model. Figure 10 shows SOA
governance and its interaction with the other
components of the Cloud. The SOA governance is
subject to the Cloud Government.
Figure 10: Structure of the outsourcing/externalization of a
business model in the cloud using SOA.
Cloud Government Model
In this activity the cloud provider agreements are
specified; which will be reflected in the SLAs, for
this reason we ask the following questions: Who
owns the services? Who provides the services? Who
consumes the services? Where is a particular
service? Who is responsible for it? And so on. Cloud
government comprehends SLAs and SOA
MethodologyforDevelopingandApplicationOutsourcingintheCloudUsingSOA
423
governance and Cloud architecture, which is defined
specifically for each business model, this is
represented in Figure 10.
4 STUDY CASE
We have chose as a practical example for validate
our proposal those shown in (Gonzalo, 2013). They
propose a new educational model (business model)
named "Use on demand, pay per use". They aim to
achieve “Higher education from anywhere, with
access from any mobile device, at any time, without
requiring large investments for students, and with
reuse and optimization of resources by universities.
Cost by consumption and consumption by service”.
The student will only pay for what they use, and
may pursue such studies as they deem appropriate.
With this philosophy the educational provision at the
University is extended, breaking down the barrier of
space, time and also the economics. We wish to
develop a business model that outsources to the
Cloud, while supporting these requirements,
following our methodology step by step.
4.1 SOA Architecture
4.1.1 Business Modelling Phase
We have developed a management application
named “Use on demand pay per use” which will
provide students with the following functionalities:
To study higher education courses such as
bachelor’s degrees, masters or doctorates.
The students can choose among enrolling:
o A full course, which is composed of a set of
subjects.
o A module, which corresponds to a set of
interrelated subjects.
o One or more independent subjects.
To create a profile that allows access to the
chosen educational provision.
Paying a minimum fee for registration can be
required, even though in some cases could be
null.
From this time the student will have their own
virtual environment with the chosen subjects
(previously enrolled) and their associated
resources.
Pay only for the time used.
In this phase we take the business Model of any
university as a starting point and carry out three
activities: Analysis of the university, Identify
educational processes, and Action description.
Analysis of the Organization (University)
Here we study the university for which the project is
being carried out. We identify resources aimed at
university management, both administrative and
educational. For example we have: students,
professors, department, and offers of higher studies
such as: bachelors, masters, doctorates.
Identify the Business Processes
After analyzing the main elements that support our
educational model, we identify processes and user
types. In this example we only focus on the
following user types: admin, professor and student.
The admin has the task of managing
educational resources using the Resource
Management process.
The professor has the task of to include
teaching resources in the development
platform using the Subjects Elaboration
process.
The student uses the subjects with its associated
devices using Creating Student Profile
process and Using Student Profile process.
We represent this through a UC diagram, we
propose a UC for each process. In Figure 11 we
observe this.
Actions Description
For every business UC defined in the previous
activity (Figure 11), we explain the corresponding
actions using an activity diagram.
Due to space constraints, we only define two
processes: Creating Student Profile, which allows
students to choose didactic units they wish to enrol
in and also the payment method.
Figure 11: Identification of business processes and users.
Using Student Profile once the student has a
profile, he can use contents of subjects that he has
enrolled in and its associated resources. In addition
he can increase credit according to his or her needs.
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
424
Figure 12 show examples of the actions that should
perform these processes.
Figure 12: Activity diagram of the UC/process named
Creating Student Profile”.
4.1.2 Design Phase
In this phase, we perform four activities for each
process defined previously: 1) Identify and
categorize services. 2) Discover existing services. 3)
Specify services. 4) Define the Orchestration of
services.
Identify and Categorize Services
This activity aims to identify the business services
needed to perform each business process. Figure 13
shows some services identified in the “Using
Student Profile” process.
Discover Existing Services
This activity aims to find the business services that
may be already implemented, and they can be
reused. For example the Accounting service and
Gateway bank service are identified in the “Using
Student Profile” process. We see this in Figure 14.
Specify Services
This activity aims to specify the business services
that were previously identified. For example: For
“Using student profile” process, we can have the
following services: subject, topic, resource and
dossier.
In the following we do not include the figures that
represent activities due to lack of space. But it seems
that the usefulness of our methodology is clearly
reflected.
Services Orchestration
Here the orchestration defines the sequence of
operations that allow for the interaction between
business services.
Figure 13: Identification and categorization of services of
the Using Student Profile process.
Figure 14: Discovery of existing services for its reuse in
the Using Student Profile process.
4.2 Exploitation
In this part, phases and activities are specific chosen
programming languages and specific Cloud
platforms. Therefore we are not going to develop
this step. Though we recommend you consider the
wants and needs of the university regarding the
Cloud resource acquisition. So, depending on the
choice for each university centre we can use IaaS,
PaaS or SaaS, and so on.
5 CONCLUSIONS AND FUTURE
RESEARCH
With new business modernization trends and using
the Internet to give a quick response and to be very
competitive, there is a new Cloud computing
company concept, which means giving companies
the ease of using all kinds of technologies or
computer tools, to manage their own organizations,
without having to invest in them. The advantage of
this Cloud concept is that the company will only pay
for what it needs, because they can use more or less
resources pursuant to their needs, both in hardware
and software, thus preventing obsolete technologies
and avoiding further maintenance. In this paper we
MethodologyforDevelopingandApplicationOutsourcingintheCloudUsingSOA
425
have presented a methodology for the development
and externalization of business models in the Cloud
using SOA. Regarding the development we have
proposed guidelines to define a business model
based on the objectives and strategies of any
company or organization. This model identifies the
business processes. Business processes are specified
in several stages to obtain a model of business
services, which can be implemented using the Web
services technology. For the modelling of processes
and services we have used UML diagrams. With
regard to externalization of a Business Model
(which is defined as business processes and services)
in the Cloud, we propose a SOA governance model
integrated with a BPM. And we consider a Cloud
Government integrating: Governance SOA, Cloud
architecture and SLAs. Finally to validate our
approach we present a study case that clearly
illustrates the application of our methodology. Also
the example used seems, in our view, timely and
useful for solving the new challenges that, education
in general and the university in particular, face. We
believe that "Education on demand and pay per use"
is one more step towards the removal of the time and
space barriers as well as the economics that
currently prevent many students access to higher
education provisions. We think this paper can be
considered as a useful guide to undertake
development projects and the outsourcing of
companies into the Cloud.
Our future research is directed towards defining
in more detail the outsourcing phases of our
proposal. Also, we plan to define rules and patterns
to develop business models aimed at their
outsourcing and deployment in the Cloud. In
addition in the near future we intend to make a tool
that automatically observes all phases of our
methodology.
REFERENCES
Alvarez, M. A., Fernandez-Montes, A., Ortega, J. A. and
Gonzalez-Abril, L. 2012. The CICA GRID, A Cloud
Computing Infrastructure on Demand with Open
Source Technologies. ICEIS 2012. 14th International
Conference on Enterprise Information Systems.
Buyya, R., Shin Yeo, Ch., Venugopal, S., Broberg, J.,
Brandic, I. 2009. Cloud computing and emerging IT
platforms: Vision, hype, and reality for delivering
computing as the 5th utility. Future Generation
Computer Systems 25 (2009) pages 599_616. Journal
homepage: www.elsevier.com/locate/fgcs (visited in
October 2013).
Gonzalo Nuño, A., Gascueña, C. M. 2013. The University
in the Cloud Computing. ICERI2013 (6th International
Conference of Education, Research and Innovation).
Khan, A., Zugenmaier, A., Jurca, D., Kellerer, W. 2012.
Network Virtualization: A Hypervisor for the
Internet?. IEEE Communications Magazine, 2012.
MacKenzie, C. M., Laskey, K., McCabe, F., Brown, P., F.,
Metz, R., Hamilton, B. A. 2006. Reference Model for
Service Oriented Architecture 1.0. OASIS Standard,
October 2006. http://docs.oasis-open.org/soa-rm/v1.0/
(visited in October 2013).
Mircea (a), M. 2010. SOA, BPM and Cloud Computing:
Connected for Innovation in Higher Education. 2010
International Conference on Education and
Management Technology (ICEMT 2010.
Piórkowski, A. and Werewk, J. 2012. A Concept of
eTraining Platform for Cardiology Learning based on
SOA Paradigm. ICEIS2012.
Soltani ,M. and Benslimane, S. M. 2012. From a High
Level Business Process Model to Service Model
Artefacts A Model-Driven Approach. ICEIS 2012.
Youseff, L., Dilma Da Silva, M. B. 2010. Toward a
Unified Ontology of Cloud Computing.
Wang, L., Tao, J., Kunze, M., Canales Castellanos, A.,
Kramer, D., Karl, W. 2008. Scientific Cloud
Computing: Early Definition and Experience. The
10th IEEE International Conference on High
Performance Computing and Communications.
Wilkes, L. 2011. In the Service Oriented Cloud, All Roads
Lead to SOA. Everware-CBDI Journal (Research
Note). http://www.cbdiforum.com/cbdi-journal-index.
Visited in October 2013.
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
426