Mobile Agents for Integrating Cloud-Based Business Processes with On-Premises Systems and Devices Janis Grundspenkis Antons Mislēvičs Department of Systems Theory and Design, Riga Technical University, Riga, Latvia Agenda – – – Why this is important? What to do with mobile agents in cloud BPM integration scenarios? How ideas proposed in this research may be applied? Definitions – – – – Business Process – an activity or set of activities that accomplish a specific organizational goal; Business Process Management – concepts, methods, and techniques to support the design, administration, configuration, enactment, and analysis of business processes; Business Process Management System – information system, that supports implementing business process management in organization; Mobile Agent – program, that moves from host to host during execution. Why this is important? Business Process Management Systems (BPMS) are becoming more popular; – Implementing BPMS requires to ensure integrations with existing enterprise systems; – More companies choose cloud BPMS option, as it allows to reduce costs and implementation time; – As existing enterprise system are deployed onpremises, cloud to on-prem integration aspects are becoming very important; – Existing integration solutions to not meet various specific BPMS integration requirements. – Cloud BPMS (SaaS) SaaS Integration Problem – Publish web services: 1. Security risks 2. IT involvement – Directly from applications; 3. Hard to configure in complex – Custom developed; network topologies Not applicable in SaaS scenario VPN; Relayed messaging (TARGET, Windows Azure Service Bus); Requires special configuration for on-prem web services scalability – Using communication agent; Limited Integration through WS and DB – – Needs direct access to data sources Cloud BPMS integration requirements Complex computations close to data sources dealing with large amounts of data 2. Complex transformations and computations with data stored in on-premises application security and privacy reasons 3. Implementing rapid changes in integrations – to adapt business process to changes in the environment 4. Accessing legacy systems and specific devices that are deployed on-premises and have no web services or database interface 1. Analyzing existing methods Publishing web services Publishing custom web services Relayed messaging Using communication agent No Partially. On machine, where service is deployed. No Partially. On machine where agent is deployed. 2. Transformations No in local network Yes No Yes 3. Implementing rapid changes No. Need to modify or republish services. No. Need to change configuration of services. Partially. Depends on implementation. Typically some integration data stored locally. Yes No Typically no. Depends on implementation. 1. Computations close to data sources No. Need to modify or republish services. 4. Accessing legacy No systems Using mobile agents (MAs) Mobile agents solution Mobile agents 1. Computations close to data sources Yes. Mobile agents may move between hosts during execution. Deploying new hosts is a simple process. 2. Transformations in local network Yes. Mobile agents are executed in local network. 3. Implementing rapid changes Yes. Integration logics is stored in agent definition (on BPMS side). 4. Accessing legacy systems Yes. Mobile agents may connect to systems using low level APIs (via implementing custom agent actions). Problems in existing MA implementations – – No common standard for packaging mobile agents; Programming skills are required to develop mobile agents. Proposed approach – Mobile agents are developed and executed as workflows: allows to develop agents in GUI; – easier to understand for business people. – MA development process Agent Designer Packaging agents – Agent packages are based on Open Packaging Conventions: – – – – – open standard; package may contain any data; package may evolve over time; native support for digital signatures; native support for compression (especially important for mobile agents). Agent Package System architecture Proof implementation – AgentWF – Technologies: – – – – – – .NET 4.0 WF 4.0 WCF 4.0 WPF 4.0 AddIn Framework Standards: – – – – – – OPC XML XML encryption XAML JSON X509 certificates (signing and encryption) MA Security – – – Sign agent definition parts – – Ensures that designed agent was not modified Routing agents to agent host instance based on signature – Sensitive information can be decrypted only on hosts where certificate was installed Encrypt configuration sections Isolate Agent Host Instances – – – – Agent Host Instance runs with permissions of specified user Agent is executed in separate isolated add-in process Agent Host routes agent to defined Agent Host Instance based on agent signature and properties Timeouts – Multiple timeouts on Agency and Agent Host level (agent idle, agent execution, etc.) AgentWF architecture AgentWF agent stores AgentWF workflow actions Extensibility – Allow agents to perform new actions (integrate with new systems on-premises): – – Develop custom Agent Activity Packs (WF 4.0) Enable integration with new cloud BPM systems: Develop custom Protocol Handlers – Develop BPM Extensions (WF actions, agent stores) – Proof of Concept Solutions 1. Integration with cloud BPM: workflows in Office 365 (SharePoint Online) (cloud system is available in Latvia: www.office365.lv) 2. Developing Agent Activity Pack for Integration with on-premises accounting system Tildes Jumis (popular in Latvia: www.tilde.lv/jumis) 3. Use official Latvian eID card for signing mobile agents; Key Takeaways – Popularity of cloud BPMS leads to specific “SaaS to on-premises” integration requirements, which can not be effectively addressed using existing solutions; – Proposed solution addresses these issues and is based on mobile agents; – Proof of concept implementation of proposed solution is provided - AgentWF – Solution was validated in multiple scenarios, that are specific for Latvia;