ebook img

Business Process Modeling and Execution -- A Compiler for Distributed Microservices PDF

0.4 MB·
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Business Process Modeling and Execution -- A Compiler for Distributed Microservices

Business Process Modeling and Execution–A Compiler for Distributed Microservices Robert Singer Department of Computer Sciences FH JOANNEUM–University of Applied Sciences Graz, Austria [email protected] Abstract—In this paper, we propose to rethink the dominant that coordinate work through the exchange of messages. We logicofhowtomodelbusinessprocesses.Wethinkthatanactor discuss general concepts for such an approach and present an based approach supports in a much better way the fundamental architecture for a concrete realization dependent on certain natureofbusinessprocesses.Wepresentaproposalforacompiler technological decisions. 6 architecture to model and execute business processes as a set 1 of communicating microservices that are hosted on a general In section II we review the typical architecture of work- 0 purpose virtual machine for distributed execution. flow systems. Then in section III we present and discuss an 2 Index Terms—S-BPM, Actor, Compiler, Virtual Machine, Er- architecture of actor based workflow systems. Based on this n lang, Elixir we will work out the main differences between those two a methodologies. Furthermore, after a short literature review of J I. INTRODUCTIONANDMOTIVATION a “compiler-engine” proposal in section IV we will propose 2 and discuss an approach based on actors. Furthermore, we 2 Recent industrial activities demand initiatives towards the give a short review of S-BPM. This includes the explanation digital transformation of business processes. Furthermore, the ] of the modeling notation and the formal background behind industrialinternetrequiresrethinkingactualpracticesandtools E the scenes. Afterward, we discuss a methodology to translate for distributed business processes based on communicating S S-BPM models into compilable code. . human and (smart) machine actors. s c During recent years, tools have emerged to support the II. TRADITIONALWORKFLOWSYSTEM [ execution of business processes, so-called Business Process A typical conceptual architecture of a workflow system as 1 Management Systems (BPMS). Most of these tools are build part of a business process management system is depicted in v around the de facto standard for business process modeling Figure 1. 6 languages, namely Business Process Model and Notation 7 (BPMN 2.x). 9 Meta-­Metamodel Metamodel Model 5 The standard may be suitable for modeling purposes, but DNeoftinaittiioonn DPerfoincietsiosn DPerfoincietsiosn ReprVesiseunatlation Language Language Tool 0 does not directly support the execution of business process 1. models [1] [2] [3] [4]. That means, there is a gap between TPerochcensicsa  Dl  escription e.g.  Active  Directory 0 the conceptual model and the digitized and executable repre- exteirnnteagl  fruantecdtio  onrality OrgSatrnuizcatutiroenal RePproocseitsosry Service EAI  Adapter 6 sentation. Furthermore, modeling of business processes needs arXiv:1 atceinasoppaTnelaoycbutiiiaslociilatnvliylegerssnckfoooaitlmrrlmesien,atelySxthpmlpaiiescanralgillewulnayaencgaedneksosnMtien[se5asdav],biau[sim6mltar]aob,EcdlseteniuoltciiennnhrgpamarnisdnsaeonBcstyoaP(tnMSiccoMoenNmpsE.tpu)Taba[nhla7iisez]ees.asde-, APCPdeDoemrarnPffsorfioKinohrgrecbmimuseoytarasa  rasannr  tdctciioeoe  nn   Workflow  EnIngsPiRntraeuoDnncacetetisma(ss  e)A  of   HuImnsMPIantrnaoot  endcInrceufetslaee(scsr    ea)B&  co  tfi  on   ∙∙∙ Enterprise  Application  Integration ERP-­‐System Indicators Task  List on actor models have emerged. The standard for an actor based approach for business process modeling is the so-called Process  Participant Subject-oriented Business Process Management (S-BPM) [8] Fig.1.Typicalarchitectureofaworkflowsystem.[13] approach. In summary, S-BPM treats any business process as a Ashortdescriptionofthedepictedarchitectureisasfollows: (loosely)couplednetworkofActors,whichcanbeseenasmi- business process models are stored in a repository; we also croservices. S-BPM is a mature approach, as has been proven need a formal model of the organization, so we can link in theory and practice [9] [8] [10] [11] [12]. Nevertheless, in organizational groups, roles and individual persons with the this work we now want to propose a further paradigm change activities of the process model (who is doing what). Any andtogetridofmonolithicapplicationsfortheexecutionand process also has transient entities, which change state during management of business processes. process execution—the so-called business objects (BO). Pro- Inthiswork,weinvestigatehowtocompiledirectlyS-BPM cess models can be uploaded to and started by the workflow models into a set of executable processes or microservices engine; they are interpreted by the software logic of the application (process execution). Furthermore, it is important A nearly similar approach has been proposed by Al- to understand that there must be some mechanism to interact bert Fleischmann who developed a business process model- withhumanprocessparticipants.Firstly,theapplicationneeds ing methodology called PASS Parallel Activity Specification to create and maintain a task list to distribute work [14]. Scheme (PASS) [9], which itself is based on Calculus of Secondly, a task requires some input (data) from a human Communicating Systems (CCS) [19] [20] [21], a process actor. Typically, a task is presented as a form based window calculus describing reactive systems [22]. Later, this concept totheprocessparticipant,whichincludessomeread-onlydata has evolved into the so-called Subject-oriented Business Pro- and offers some interactive elements to enter or change data; cess Management (S-BPM) methodology [8]. In short, this the forms have to be designed and developed manually, or, methodologyincludesallnecessaryconceptstodefinereactive can be generated automatically from business objects. Finally, and executable models of business processes. we also have the need to interact with other systems in the An S-BPM process is defined via the communication ex- enterprise,whichnowadaystypicallyisdoneviaservicecalls. change channels between subjects (actors are instantiated Thechallengeliesintheautomatictranslationfromprocess subjects in this context, or the other way round—subjects model to executable model. That is the reason the BPMN 2.x are generalizations of actors). Additionally, each subject has a standard document differentiates between several compliance defined (but invisible to the outside world) internal behavior, classes. whichisdeterminedasaprocessflowusingstatesforreceiving orsendingamessage(toanothersubject),andstatesinwhich However, the dominant logic how to define business pro- the subject is doing some work. States can be flagged as cesses is not necessarily the only thinkable one and other startingorendingstatesandareconnectedusingdirectedarcs. approaches offer some promising possibilities to overcome In our approach, we think of subjects as actors. In the context severaloftheobstaclesweareconfrontedwithinthepractical of BPM, actors define who is doing what, as they are mapped use of BPMS. toaresourceforexecution(organizationalroles).Typically,S- BPMmodelsconsistoftwotypesofrepresentations:aSubject III. ACTORBASEDWORKFLOWSYSTEMS Interaction Diagram (SID) and a set of Subject Behavior Diagrams (SBD). The SID includes the subjects (this are the A. Motivation actors), the messages exchanged between the actors and the We agree that software engineering has to support business business objects attached to the messages. The SBD includes and not the other way round. However, it could be prolific all possible state sequences of an actor: a finite set of send, to learn from software engineering [15]. Over the last couple receive and function states. of years, new concepts have emerged or got more attention, Accordingtoourdefinition,anyactorcanberepresentedas as, reactive and flow-based programming. There is also an in- aFiniteStateMachine(FSM)withstatesasmentionedabove, creasinginterestinmicroservices,functionalprogrammingand theso-calledinternalbehavior.Furthermore,statechangescan actor based systems to support the need to develop solutions betriggeredbyreceivingmessagesfromotheractors[23].An that are responsive, resilient, elastic and message driven—the actor or subject is a general concept and can be instantiated core requirements stated in the Reactive Manifesto [16]. by a human or machine. Based on the following conceptual Furthermore, large systems are composed of smaller ones architecture,asdepictedinFigure2andFigure3,wehavede- and, therefore, depend on the reactive properties of their velopedanentirelyfunctionalS-BPMworkflowsolutionusing constituents. This leads to the concept of microservices [17] the Microsoft Windows Workflow Foundation functionality as as a design pattern to build reactive systems meeting the discussed in [24] and [25]; for a more detailed discussion of requirements mentioned before. The microservice architec- the architecture please consult these references. tural style is an approach to understanding any application A generalized architecture of an actor based workflow as a collection of small services, each of them running in systems is schematically depicted in Figure 2. its process environment and communicating with lightweight mechanisms; state changes of a service can only be triggered byreceivingcertainmessagetypesandbusinessobjects(data). Human  Interaction   Process   Task  List Module  &   Runtime Performance   Interface Data Dashboard Key   Performance   B. Foundation Supervisor  Process Supervisor  Process Indicators Process  Participant Instances  of  Process  A Instances  of  Process  B Instanceof   Instanceof   pibbturaossTisaeihncdeephsooespnssrsopraiobprcooloteoctseeradtslomsiennodsod.ecweroWilvsmiees[p,1uit8tnhthe]nianroatkvsr,ecbaitateaihsvneaepcdtreem—bomuenasituhisfnmoomedrsmscesanatntpolidroominbdceeoaedtdtsteesebrlfeimonfmrogorondeadee—pewls-l BehPaevrMMifRooWeeeSuresscmrosse  noraaidskvfgg  oeAeemcteo  r  B MIIennsAsAsAsttcccaaatttgnnoooeccrrr    ee    DABCooisffp    atcher MIIennsssAAAsttcccaaatttgnnoooeccrrree        DXYZooisffp    atcher Enterprise  Application  Integration Workflow  Engine approaches in the domain of BPM; the actor model supports all mentioned requirements. Fig.2.Architectureofanactorbasedworkflowsystem.[13] Themaincomponentsoftheactor-basedarchitectureareas B. An Actor-based Approach follows(Figure2):theworkflowenginemanagesthebusiness Basedonsimilarideas,butmotivatedbytheactormodel,we processesviasupervisorprocesses;theworkflowengineloads propose to investigate a different approach. Thinking bottom themodelfromtherepositoryandstartsthesupervisorprocess up, we can review available technology which inherently that itself is responsible for starting all needed actors. Each supports the development and execution of actor models. supervisor process manages one instance of a process model. Because of the underlying formal models, we think that a When a business process ends, the responsible supervisor functional programming language would be a good starting process is terminated. Each business process has a dedicated point for further research. The main reason is that business instance of a message dispatcher that is responsible for processes are highly concurrent; the lack of mutable state—as routing the messages between all actors and between actors in functional languages—makes concurrency almost trivial. and the supervisor process (intra-process communication). 1) A Virtual Machine for Processes: So we could eas- Sending messages between message dispatchers establishes ily identify, for example, the following frameworks and/or inter-process communication. programming languages as candidates for hosting business In Figure 3 we see, that based on the depicted architecture processesmodeledascommunicatingactors:AKKAandScala it is possible to distribute actor based business processes over (on the Java Virtual Machine) and Erlang or Elixir (on the more than one workflow engine, as long as we can route Erlang Virtual Machine) messagesbetweenthem.Routingmessagesbetweenactorsisa significant step to establish inter-company business processes. Using a Virtual Machine (VM) has many advantages, such as, for example, to provide an abstraction layer from the operating system. Furthermore, we think that it is much more HumMIannot  edInruftlaeecr  ea&c  tion   RuDnattimae HumMIannot  edInruftlaeecr  ea&c  tion   RuDnattimae efficient using a well established and general purpose VM instead developing a specific BPM-VM—as long as it fits the Supervisor  Process Supervisor  Process Supervisor  Process Supervisor  Process purpose. Verifying the feasibility of using the Erlang Run- Instances  of  Process  A Instances  of  Process  B Instances  of  Process  A Instances  of  Process  B InsAtcatnocr  eAof   InsAtcatnocre  Xof   InsAtcatnocr  eAof   InsAtcatnocre  Xof   Time System (ERTS) as VM for the execution of compiled business process models is the aim of this research proposal. InsAtcatnocr  eBof   InsAtcatnocre  Yof   InsAtcatnocr  eBof   InsAtcatnocre  Yof   People (and machines) coordinate work through the ex- InsAtcatnocre  Cof   InsAtcatnocre  Zof   InsAtcatnocre  Cof   InsAtcatnocre  Zof   change of messages. This is our understanding of what a Message  Dispatcher Message  Dispatcher Message  Dispatcher Message  Dispatcher business process is—and that is the essence of Erlang; conse- Workflow  Engine  Company  ABC Workflow  Engine  Company  XYZ quently, we see business processes as a network of connected microservices. This sounds technical, but a microservice can Intercompany  Process  Communication   also be realized by a human actor. A microservice in our Fig.3.Architectureofanactorbasedanddistributedworkflowsystem.[13] setting is simply an Erlang process. In Erlang we have a hierarchy of (linked) processes that IV. BUSINESSPROCESSCOMPILER exchangemessages;thesemessageexchangescanalsobedone between processes hosted on different VMs that again can A. Compiler-Engine Architecture be hosted on different computers that are located in different It seems worth to think about compiling business process networks. Furthermore, the language capabilities of Erlang modelsintoexecutablecode.Recentlythishasbeendiscussed fit perfectly with the modeling concept of Subject-oriented by [26] who proposed a compiler-engine architecture. Business Process Management. One of the core concepts of this conceptual architecture is It is not our intention to propose the development of the proposal to use a virtual machine for the execution of anotherworkflowengine,buttodevelopandstudyansoftware business processes, as also discussed in [27]. Such a virtual architecture to compile process models based on the S-BPM machine should be independent from the notation used to methodology into executable code, which furthermore can be model a process. As logical consequence there is the need for executed on the chosen generic Virtual Machine. an intermediate representation (IR), which cannot be directly 2) S-BPM as Modeling Language: All relevant modeling used for modeling: notations (BPMN, eEPC, or S-BPM) for business processes It is necessary to provide a more high-level but are based on a graphical representation. The semantic of the IR-conform processing language (like a subset of models is typically serialized as some XML structure. Such BPMN and EPC). Therefore, that language has to an XML-file can be used as input for the compilation process be automatically transformable into the IR. as depicted in Figure 4. In the first step of the translation process a parser creates As noted in Figure 4 it is possible to show, that we can use a parse tree, a Process Structure Tree (PST), which is then BPMN with a restricted set of modeling elements to define used for translation; this is conform with compiler theory. For S-BPM processes models. In that case, we have to transform a further discussion of this approach we refer to the work of the BPMN-XML into the form of the used tool. As with any Prinz. et al. [26] [27]. BPMS, the organizational structure has to be mapped to the builds on the Erlang VM and source code is also compiled Enterprise Application Integration RReefpinrVeesimseuneatnlattsion ProcesSs- BDPeSBMf-iPnB cMiPotiMnNofno rTmoo l &Co Tnrfaonrsmfoitrym Cahteiocnk Syntax CTheecckhnical iEtnrretlEeoalni(.gbxAeirScaoTmcdo).edfi.eMleisos.strEellpaixrneigrsuesanogtueerdsceihnactveoerdneaanlclyaAnbSeyTa,sthibleyutabbietstmirsaicxttyepdsiycwnatliatlhyx Process Description not visible and accessible to the programmer. When programs Mapping User, Roles are compiled or interpreted, their source is transformed into e.g. Active Directory integrated or Organizational Process a tree structure being turned into byte-code or machine-code. external functionality Structure Repository This process is usually masked away. In Elixir the AST is exposedinaformthatcanberepresentedbyElixir’sowndata Fig.4.CreatingaS-BPMprocessmodelwithaProcessDefinitionTool:the structures and a natural syntax to interact with it. Therefore, S-BPMmodelcanbedefinedgraphically,asformallanguage sentences[8][28],orwithareducedsetofBPMN2.xsymbols[29]aslong code can use the language capabilities to write directly code; astheserializedmodelconformswithanXML-schemadefinitionforthe code interprets the model and constructs a source file that tool(BPMS)thatusestheXML-fileforexecution.[13] represents the model as Elixir source file. The full compilation (production) flow is depicted in Fig- process. The processes are stored in the process repository. ure6.Firsttheprocessmodelsareexportedfromtherepository Figure 4 is a modified version of the upper part of Figure 1. in some XML format. This leads to a set of files: One file for Function states can include Refinements that means calls of theSubjectInteractionDiagram(SID)whichdefinestheactors external services. (subjects) of the business process, the messages between all subjects and the business objects attached with the messages; S-BPM is a fully quantified and formal language to define businessobjectscanbesimpleorcomplexdatastructures.For theinteractionofactorsandtodescribetheirinternalbehavior eachSubjectBehaviorDiagram(SBD)wegetacorresponding in a heterogeneous (human and machine actors) multi-actor file defining the internal behavior of the actor (subject). environment. 3) From Model to Code: On the consumer side (the side that uses the models) the models are compiled into so-called RePproocseitsosry .beam files. Each subject has to be converted into an Erlang Export as XML processandcanbeexecutedonanyErlangnode(seeFigure5). Add generic supervisor process A supervisor process is linked with each subject to control each instance and the network of communicating subjects— SID Svuispoerr- Svuispoerr- [XML] [Elixir] [.beam] the whole business process. This is also a standard approach Generate Elixir files Compile forErlangapplications;pleaseconsult [30][31],forexample, SBD Subject Subject for more information about Erlang. [XSMSBBLD]D [ESlSiBxBirD]D [.bSeSBaBmDD] Model Repository Source Repository Binary Repository Start, stop, distribute Process Supervisor Process process instances Repository Instances of Process A Bpuroilg(drM aEmelitxmair- iXAnSMgT)L on demand InAstcatnocr eAof InsAtcatnocr eBof MAapnpaligceamtioennt Fig.6.Thecompilationworkflow.[13] Elixir Source Code Instanceof Elixir Compiler Actor C Now, a parser takes these files as input and generates for Erlang Node 1 Erlang Node 2 BEAM Files Management Process each SBD an Elixir source file. The information contained in • Monitoring RepFoisleit ory •• SIMntseatarats,n uScreteos Kp PIs theSID-fileisusedtoproducethemessageexchangebehavior •Supervisor Process • Manage Versions of each SBD-file. Furthermore, based on a provided template •Actor (Subject) Behaviors Erlang Node 0 file, a supervisor process for the specific business process has Fig.5.Consumerside:themodelistranslatedintoexecutablecode.The tobegenerated.Thesupervisorprocesshasthe“control”over compiledprocessesareloadedandsupervisedbyamanagementprocess. all other processes; that means this process is informed, for ProcessescanbeexecutedondifferentErlangnodes,evenrunningin example, if one of the subject instances crashes, or it can distinctnetworks.[13] be designed for performance measures (to measure a service level, for instance). It can also be used for applying business The idea of how to compile S-BPM processes builds on rules to the overall message exchange between individual theconceptofmetaprogramming—codethatwritescode.That subjects [34]. means, the process model, consisting of several communicat- ing subjects is transformed via a translation process into a The generated Elixir source files are compiled with the source code file. This could be Erlang code, but as Elixir [32] Elixir compiler and are stored in a repository. An application offers specific support for metaprogramming [33] we have has to be provided to manage the set of executable binaries chosen it as our choice for the transformation process. Elixir and the running instances. So it has to provide functionality to start a business process on one or more Erlang nodes— REFERENCES the virtual machines. Furthermore, as supported by the ERTS, this application could also update running instances with a [1] Object Management Group , “Business Process Model and Notation,” new version (of course, this has to consider the actual state of Jul.2013. [2] B.Silver,BPMNMethodandStyle,2nded. Cody-CassidyPress,2011. the process or process component). [3] E. Bo¨rger, “Approaches to modeling business processes: a critical analysisofBPMN,workflowpatternsandYAWL,”Software&Systems Modeling,2011. V. CONCLUSIONANDFUTUREWORK [4] R. Singer, “User Centered Development of Agent-based Business Pro- cessModelsandNotations,”arXiv:1404.2737,2014. The feasibility to model any S-BPM process as Elixir or [5] T.SonteyaandL.Seymour,“TowardsanUnderstandingoftheBusiness ProcessAnalyst:AnAnalysisofCompetencies,”JournalofInformation Erlang process has been proven based on hand-crafted code TechnologyEducation:Research,vol.11,pp.43–63,2012. snippets; nevertheless, this is a trivial fact and only based on [6] R. Seethamraju, “Business process management: a missing link in the fact that both S-BPM and Elixir are based on communi- business education,” Business Process Management Journal, vol. 18, cating actors. However, how exactly to define a suitable data no.3,pp.532–547,2012. [7] R.Singer,“BusinessProcessManagementinSmall-andMedium-sized modelforS-BPMprocessesandhowtoautomaticallygenerate Enterprises: An Empirical Study,” in Proceedings of the 7th Interna- source files from this data model (via metaprogramming) has tional Conference on Subject-Oriented Business Process Management, tobeinvestigatedindetailandisanongoingresearchactivity. ser.S-BPMONE’15. ACM,2015. [8] A. Fleischmann, W. Schmidt, C. Stary, S. Obermeier, and E. Bo¨rger, For practical use, further aspects have to be considered. We Subject-OrientedBusinessProcessManagement. Springer,2012. have identified the following topics for which solutions have [9] A.Fleischmann,DistributedSystems:Softwaredesignandimplementa- tion. Springer,1994. tobeidentifiedandintegratedintoanoverallBusinessProcess [10] S.Rass,A.Fleischmann,andR.Singer,S-BPMIllustrated. Springer, ManagementSystem(BPMS).Thisisalsounderdevelopment; 2013. our research is dedicated for industrial use, and many topics [11] A. Fleischmann, W. Schmidt, and C. Stary, Eds., S-BPM in the Wild. Springer,2015. have to be investigated: [12] Metasonic.[Online].Available:http://metasonic.de Firstly, there must also be a mechanism for the distribution [13] R. Singer, “Agent-Based Business Process Modeling and Execution: Steps Towards a Compiler-Virtual Machine Architecture,” in Proceed- of work for human actors; for example, there is no guarantee, ings of the 8th International Conference on Subject-Oriented Business that a task will be started or finished as intended. How to ProcessManagement,ser.S-BPMONE’16. ACM,2016. handle all these possible and thinkable exceptions in a human [14] N. Russell, A. ter Hofstede, D. Edmond, and W. van der Aalst, “Workflow Resource Patterns,” Eindhoven University of Technology, interaction workflow? Tech.Rep.,2004. Anothertopicistheintegrationintoanorganizationalstruc- [15] V.GruhnandR.Laue,“Whatbusinessprocessmodelerscanlearnfrom programmers,” Science of Computer Programming, vol. 65, no. 1, pp. ture (roles and access rights), which can be challenging in the 4–13,2007. case of distributed processes. There are some ideas how to [16] J. Bone´r, D. Farley, R. Kuhn, and M. Thompson. The reactive handle this issue, but they have to be investigated in detail. manifesto.[Online].Available:http://www.reactivemanifesto.org [17] S.Newman,BuildingMicroservices. O’Reilly,2015. The most critical and yet not fully understood problem [18] C.Hewitt,P.Bishop,andR.Steiger,“AUniversalModularActorFor- seems to be security. The ERTS provides a mechanism to malismforArtificialIntelligence,”in3rdInternationalJointConference onArtificialIntelligence(IJCAI),1973. control the rights to run a process, but there appears to be the [19] R.Milner,ACalculusofCommunicatingSystems,ser.LNCS. Springer, needformoreresearchtounderstandfullytheimplicationsfor 1980,vol.92. the execution of business processes—especially if processes [20] E.Aitenbichler,S.Borgert,andM.Mu¨hlha¨user,“DistributedExecution of S-BPM Business Processes,” in Subject-Oriented Business Process span over more than one organizational unit. Management, ser. CCIS, A. Fleischmann, W. Schmidt, R. Singer, and A concept to handle business objects has to be developed: D.Seese,Eds.,vol.138. Springer,2010,pp.19–35. [21] S.Borgert,J.Steinmetz,andM.Mu¨hlha¨user,“ePASS-IoS1.1:Enabling in a technical sense, how to send business objects from an Inter-enterpriseBusinessProcessModelingbyS-BPMandtheInternet actor in company A to an actor in company B—considering of Service Concept,” in S-BPM ONE: Learning by Doing - Doing by rights and safety issues, data integrity and so forth. Learning, ser. CCIS, W. Schmidt, Ed., vol. 213. Springer, 2011, pp. 190–211. Furthermore, during development and research, other ap- [22] L.Aceto,A.Ingo´lfsdo´ttir,K.G.Larsen,andJ.Srba,ReactiveSystems. proaches emerged that are also currently under investigation: CambridgeUniv.Press,2007. [23] D.BrandandP.Zafiropulo,“OnCommunicatingFinite-stateMachines,” we call it smart or intelligent business objects (smartBO). JournaloftheAssociationforComputerMachinery,vol.30,no.2,pp. A business process is based on data, the business objects. 323–342,1983. Often BOs are seen as second class entities in a classical [24] R.Singer,J.Kotremba,andS.Rass,“ModelingandExecutionofMul- tienterpriseBusinessProcesses,”inIEEE16thConferenceonBusiness view. In our concept, smartBO know the business process. Informatics(CBI),vol.2,2014,pp.68–73. That means, dependent on their state; they know who is the [25] R. Singer and S. Raß, “Structured Communication - Approaching nextactoraccordingtotheprocessdefinitionandtheyforward S-BPM with Microsoft Technologies,” in S-BPM in the Wild, A.Fleischmann,W.Schmidt,andC.Stary,Eds. SpringerInternational themselves to the next actor (or actors) for processing. Publishing, 2015, pp. 235–255. [Online]. Available: http://dx.doi.org/ Uptonowthediscussedapproachanddesigndecisionshave 10.1007/978-3-319-17542-3 14 [26] T.M.Prinz,T.S.Heinze,W.Amme,J.Kretschmar,andC.Beckstein, been proved very fruitful. Nevertheless, a lot of research and “TowardsaCompilerforBusinessProcesses-AResearchAgenda,”in development work has to be done. ServiceComputation2015. IARIA,2015. [27] T.M.Prinz,“ProposalsforaVirtualMachineforBusinessProcesses,”in ServicesandtheirComposition,7thCentralEuropeanWorkshop,ZEUS 2015,T.M.Prinz,Ed.,Jena,February2015. [28] C.LangmannandR.Singer,“AConceptofText-basedBusinessProcess Modeling,” FH JOANNEUM–University of Applied Sciences, Tech. Rep.,2014. [29] A.Fleischmann,“personalcommunication.” [30] J.Armstrong,ProgrammingErlang,2nded. ThePragmaticProgram- mers,2013. [31] F.CesariniandS.Vinoski,DesigningforScalabilitywithErlang/OTP. O’Reilly,2015. [32] D.Thomas,ProgrammingElixir,1sted. ThePragmaticProgrammers, 2016. [33] C. McCord, Metaprogramming Elixir. The Pragmatic Programmers, 2015. [34] R. Singer and S. Raß, “Embodying Business Rules in S-BPM,” in S- BPMintheWild. Springer,2015,pp.187–199.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.