REST SOA Orchestration and BPM Platforms

BPM initiatives and SOA approaches emerged and developed as distinct efforts although they could be perceived as the two sides of the same coin in the context of online business and information systems. Thus, inherently, their modeling perspectives met (or collided) and generated some frameworks and languages like SOAML or SOAMF. Starting from these standards and initiatives we will propose a methodological approach that could lead to a feasible implementation of web service integration in a formal Business Process context.


SOA MODELING
According to [1] the Service Oriented Architecture (SOA) concept is based on the principle of developing reusable business service and building applications instead of building monolithic applications in silos.SOA has the potential to bridge the gap between business and technology, improve reuse of existing applications and interoperability with new ones.Some authors [2] consider that software services are the building blocks for SOA, and they can be composed to provide a more coarse grained functionality and to automate business processes.A modeling language is an artificial language that can be used to define system, information in the structure defined by the rules of the system.Rules are used to interpret the association of components in the system.There are two types of modeling languages -Graphical Modeling: it used a diagrammatic approach to represent the system.There are symbols and lines that connect the symbols which is used to display the relationship between the systems.Notations are used to define the constraints in the system.
-Textual Modeling: it uses the keywords or special characters with parameters to represent certain information in natural language which can be used by computers for processing [3].Expressions are used to link the relationship among the text.Service Oriented Modeling (SOM) is the first step to model services of SOA.According to the specialists [3], the approach for modeling SOA with the viewpoint from services is required.Various methods for serviceoriented modeling have been proposed to apply SOA in industrial and business environments by many researchers [4].They can be seen in Table 1 [4].

SOMA
SOMA is a modeling technique for developing and building SOA-based systems proposed by IBM in 2004.SOMA activities focuses include: service identification (discovering candidate service and interaction between them), service specification (making decision for exposing services), and service realization (capturing service realization).The main focus of SOMA method is on the service, service components and flows with emphasizing on reusing services [4].Service-Oriented Modeling and Architecture provides a detailed analysis and design method for the identification, specification and realization of services needed in an SOA, validating every step of the design phase so you are more likely to end up with a fully integrated, flexible and responsive infrastructure for your business.SOMA separates the business logic of a process from its technology platform.Business process modeling, while as critical for IT as for business, does not typically reach into the IT architecture and implementation domains.Service-Oriented Modeling and Architecture was created to help bridge this gap.Referencing the business analysis, the modeling approach provides a set of techniques to help ensure that the necessary services are provided and used [5].

Fig. 1. SOMA integration within the business [5]
As we can see from Figure 1, SOMA is the bridge between Component Business Model and SOA.This helps identifying a proper modeling technique which confirms the conclusions from our reviewed papers: the combination of SOMA and SoaML allows the practitioners to model services in detailed and systematic way [4].Starting from the specifications presented in table 1 and using the more detailed descriptions from the previous chapter we can conclude that UML and BPM are used as the base for the development of the new modeling techniques for SOA.Going further, we can notice that SoaML, SOMF and SOMA are close to what a SOA modeling needs, but none of them is complete.This is why combinations of these are used in modeling for SOA.

SOA & BPM Modeling
SOA is "a software structure for building applications that implement business processes or services, using a set of black-box type software components loosely coupled and orchestrated so that they deliver a welldefined level of services" [6].In the context of SOA, a service is a function performed by an application.A function is coded only once and then reused wherever it is needed.This is a difference from traditional systems, where business functions are hard coded into applications.DOI: 10.12948/issn14531305/21.1.2017.03BPM is a methodology, as well a collection of tools that enables enterprises to specify stepby step business processes.Business process management (BPM) addresses how organizations can identify, model, develop, deploy, and manage their business processes, including processes that involve IT systems and human interaction.[1] Business process generally involve running a set of activities and using data to achieve a business objective.Control of process execution, of business data and activities is carried out by different services within the organization [7].The need for further research arises from the fact that there are gaps in the integration of BPM with SOA, and that there are few studies on the assessment environments of tools and methodologies for modeling of process/cases for collaborative environments, comparative analysis of their use on different types organizations and their use in service oriented environments [7]. Figure 2 shows the relationship between BPM and SOA.As shown in the diagram, BPM does the modeling, simulation, and redesign of processes.SOA infrastructure orchestrates business processes and mediates service providers.Services are exposed, to be used in various processes.Service changes should not impact processes.Process changes reuse various services as needed.

Fig. 2. Relation between BPM and SOA [1]
While the researchers tried to find a way to combine the two concepts by presenting the advantages of this combination, one point was very clear.This may not be completed represented without the help of business rules which represent the multitude of policies, procedures or definitions.These may be external rules, coming from legal regulations that must be observed by all organizations acting in a certain field, or internal rules which define the organization's business politics and aim to ensure competitive advantages in the market [8].In this context we introduced the three variables we need for this topic: SOA, BPM and BR.The three variables work together in a way which may be seen in Figure 3. DOI: 10.12948/issn14531305/21.1.2017.03Fig. 3. Usage of business rules and process engines in SOA [1] The need for business rules was obvious because the processes, the main components of BPM, highly depend on rules.The rules decide how processes communicate with each other or how an activity must be performed.An activity, the atomic part of a business process is implemented (using a SOA approach) with the help of an application which provides services to that activity and to the containing process also.The literature review also revealed some important differences between the two concepts presented in table 2 below.The concept of service-oriented business processes was proposed, to take advantage of the principles of abstractness, specialization and separation of service oriented architecture.The proposed concept consists in: business activities and business data.The management of business process activities can be grouped in: design, modeling, deployment, execution, monitoring and optimization.If each BPM activity is treated in terms of service-orientation, the proposal presented in Figure 4 below becomes feasible.

Fig. 5. Management of services oriented business process [7]
BPMN can be used for modeling business processes in accordance with SOA.BPMN has service modeling capability which allows a participant to use service activities to send messages to other participants.BPMN and Unified Modeling Language (UML) have very different approaches.UML offers an object-oriented approach to the modeling of applications, while BPMN takes a processcentric approach.
In the process implementation phase, the key technology of SOA is BPEL (Business Process Execution Language).This language minimizes the semantic gap between the process model and the actual execution code.BPEL enables business processes to be executed directly [7].SoaML provides a higher-level of abstraction, and more complete service modeling capability that BPMN could benefit from.BPMN can be combined with SoaML for more comprehensive service construction and consumption modeling.As a summary we could establish some interconnections between the terms presented here.The business processes are managed using BPM and modeled using BPMN.Each process is decomposed at atomic level in activities which are implemented as functions within applications.As we could see from our definition of SOA, a service is a function performed by an application.This means that each activity can be seen as a service.Services are what SOA uses to accomplish its purpose within organization.Also the second definition states that control of process execution, of business data and activities is carried out by different services within the organization, which in our research are represented by business rules.Business rules can be seen as a separate entity that orchestrates the business processes.Also we can notice that the BPM modeling should be done according to the business rules which affect each process and each activity.While an author proposes that each process should be treated as an object, we can understand from there that each process should be modeled according to the principles of reutilization.This allows loose-coupled activities which can be reused in other processes.Finally, from Figure 4 and Figure 5, we could notice that the combination BPMN and SoaML in modeling is presented as the most suited for modeling this combination (SOA&BPM).The literature review revealed that the two modeling approaches are advantaged by minimizing the gap between the modeling techniques used.One important aspect is that service implementation is dependent and strongly influenced by the way that a process is designed.If a process is designed keeping in mind the business rules and process or activity reuse, the service implementation in SOA approach is achieved in a balanced manner.

BPM to REST-SOA Modeling and Mapping: Proposed Approach
In the following chapter we will propose a more specific approach in order to achieve a practical and testable workflow inspired from BPM-SOA mapping models like the one proposed by [9] and [7] and pictured in Figure 5 (Management of services oriented business process) and Figure 4 (Business processes and services relationships in MINERVA).
Our approach is based on a multi-step topdown process that aims to establish a comprehensible and, in the same time, a specific enough working procedure.It starts from the generic level of Business Process Model and tries to reach the detailed level of business behavior with REST-HTTP actions and of business data REST-based resource structures.Consequently, in our view the service-support level for BPM workflow will use the REST computing approach for SOAbased information systems.The proposed workflow consists in the following stages: Fig. 6.BPM-SOA Proposal workflow

Table 2 .
Differences between SOA and BPM

Table 3 .
Systems Starting from the HTTP specification and developing concrete implementations of SOA-REST model one could create a BP integration model from the REST Action Model and a BMP concrete model from a platform like jBPM.In this context, following the specifications one could create a project on jBMP platform (6.2.0 version) and could obtain a process diagram like the one illustrated in Figure8.