Provalets: Component-Based Mobile Agents As Microservices for Rule-Based Data Access, Processing and Analytics
Total Page:16
File Type:pdf, Size:1020Kb
Bus Inf Syst Eng 58(5):329–340 (2016) DOI 10.1007/s12599-016-0447-z RESEARCH PAPER Provalets: Component-Based Mobile Agents as Microservices for Rule-Based Data Access, Processing and Analytics Adrian Paschke Received: 15 November 2015 / Accepted: 21 June 2016 / Published online: 18 August 2016 Ó Springer Fachmedien Wiesbaden 2016 Abstract Provalets are mobile rule agents for rule-based (LED). While interlinking of machine interpretable Linked data access, semantic processing, and inference analytics. Data has been adopted in the Public Semantic Web as LOD They can be dynamically deployed as microservices from cloud (Schmachtenberg et al. 2014), corporate enterprises Maven repositories into standardized container environ- are still reluctant to use this approach to form their own ments such as OSGi, where they can be used via simple private Linked Enterprise Web of Data for, e.g., semantic REST calls. The programming model supports rapid pro- data processing, smart content enrichment2 and inference- totyping and reuse of Provalets components to build based analytics (Hu and Svensson 2010a; Wood 2010). Linked Enterprise Data applications where the sensible Reasons for this are, e.g., the lack of an easy to use and corporate data is not transmitted outside the enterprise, but understand engineering and service-oriented approach instead the Provalets providing data processing and (e.g., Service Oriented Architecture – SOA). This has lead knowledge inference capabilities are moved closer to the to, e.g., the W3C Linked Data Platform (LDP)3, which data. standardizes a REST protocol for accessing (read/write) Linked Data. While this provides a basis for SOA-based Keywords Microservices Á Linked enterprise data Á Enterprise Application Integration (EAI) (Mihindukula- Corporate semantic web Á Corporate smart content Á Rule- sooriya et al. 2013) with a standardized, typically mono- based agents Á Inference service Á Rule-based data analytics lithic LDP orchestrating service and access to data and applications via service interfaces, it does not solve the problem of developing a single LED application composed 1 Introduction of distributed LED microservices4. The microservice architectural style5 is a modern SOA approach to devel- The Corporate Semantic Web (CSW) (Paschke and oping a single application as a suite of small services Scha¨fermeier 2015)1 deals with applications of semantic (microservices) which are executed in their own container technologies in a corporate context. The goal of the Linked processes (e.g., Docker, OSGi) and communicating with Open Data (LOD) is to expose machine interpretable data other microservices via lightweight protocol mechanisms. in Resource Description Framework (RDF) on the web. Microservices are becoming the adopted standard for The applied principles of Linked Data can also be used in a continuously deployed systems (Balalaie et al. 2016) with, corporate environment, then named Linked Enterprise Data 1 http://www.corporate-semantic-web.de, accessed 1 Jun 2016. 2 http://sce.corporate-smart-content.de/, accessed 1 Jun 2016. 3 Accepted after two revisions by the editors of the special issue. http://www.w3.org/TR/ldp/, accessed 1 Jun 2016. 4 Microservices is a software architecture style designing a software Prof. Dr. A. Paschke (&) application as a suite of independently deployable small services Institute of Computer Science, AG Corporate Semantic Web, providing e.g., (agent) intelligence in the endpoints, and decentralized Freie Universita¨t Berlin, Ko¨nigin-Luise-Str. 24, 14195 Berlin, control of languages and data. Germany 5 Martin Fowler: http://martinfowler.com/articles/microservices. e-mail: [email protected] html, accessed 1 Jun 2016. 123 A. Paschke: Provalets: Component-Based Mobile Agents as Microservices for..., Bus Inf Syst Eng 58(5):329–340 (2016) e.g., mobile and distributed component-based application REST uses URIs to address resources and transport pro- logic. They are increasingly used for the Platform-as-a- tocols such as HTTP to transfer representations. Service (PaaS) offerings of commercial provides (see e.g., Provalets address core requirements in a Corporate IBM Bluemix, Microsoft Azure, Cloud Foundry). The Semantic Web by enabling the rule-based use of Linked microservice approach has major benefits for LED-based Enterprise Data in new business models that avoid the core applications: issues with data privacy. All sensitive data remains in a trusted and controlled container-based environment. Pro- • Scaling of agile development processes becomes pos- totyping with Provalets requires no configuration of any sible because microservice can be developed indepen- hard- or software at all. Instead Provalets agents can be dently and distributed, e.g., development of automatically managed and deployed from standard microservices for different LED sources, involving repositories, such as Git or SVN, in their runtime container different organisational units or different data and environments as microservices. Developers can access and knowledge engineers. test Provalets with their data by simply calling the API with • Continuous deployment in standardized container envi- the right REST URL. Therefore, Provalets use ideas from ronments and composition becomes easier, making it software agents, microservices, automated DevOps build possible to build LED processing and inference/analyt- management, and trusted runtime container environments ics pipelines out of mobile microservices. (including cloud and smart/edge infrastructures) to place • Microservices can be easily enhanced, redeveloped and data intensive routines near the actual data. Among many replaced because they are compact and introduce other benefits, this omits data privacy issues as well as dependencies only via their API. This enables to bottlenecks in the network infrastructure and might also develop a stable and robust application composed of leverage in-memory architectures and streaming data independently scaled (including e.g., parallelization) pipelines. Application domains of Provalets are manifold, and maintained microservices. reaching from decentralized microservices for edge infer- The microservice approach also addresses further LED ence/analytics to multi agent systems for data pipelines and adoption problems such as worries about data security and weakly-structured workflows (Zhao et al. 2016). data privacy, as well as legal concerns. Enterprises are The implementation of Provalets encapsulates data reluctant to move their data into the cloud and to allow intensive rule-based data processing and inference rea- external providers to store or process their sensible data. soning [e.g., for representing decision and reaction logic With greatly diverging security and judical standards (e.g., (Paschke 2011)] in rule-based Prova agents (Paschke and 6 data sovereignty laws ) worldwide the risks of loosing Boley 2011)8, which are deployed as microservices in control over sensible data appear too high for them. standardized containers such as Docker and trusted OSGi To overcome these hurdles for the adoption of Linked (OSGI Alliance 2009). For their engineering and auto- Enterprise Data we propose an easy to use standardized mated build management they make use of aspect-oriented component-based microservice model for mobile software OntoMaven/RuleMaven (Paschke and Scha¨fermeier 2015; agents providing rule-based semantic Linked Data access, Paschke 2013a, b). For their composition an expressive data processing, and inference-based analytics functional- Prova-based workflow language (Zhao and Paschke ities. Instead of sending all data to a centralized external 2012, 2013a, b; Zhao et al. 2016) is used, which can be provider, the microservice-based agents can be moved translated into Reaction RuleML9 (Paschke 2014; Paschke closer to the data and their execution remains in the control and Boley 2014; Boley et al. 2010) for their standardized of the data producer. Hence, privacy problems are avoided rule-based agent communication via Jetty WebSockets. and additional permissions can be defined in the agents The paper follows a design science research methodol- metadata and policies, so that the controlled container- ogy and addresses the development and evaluation of based runtime environment can enforce them and reject Provalet design artifacts. Our contributions are as follows: agents that request permissions that cannot be granted. We call this novel concept Provalets7 (Paschke 2015). For 1. We present an easy to use standardized component- Provalets we adopt the Representational State Transfer based model for distributed microservices based on (REST) architecture style which has become increasingly mobile software agents providing rule-based semantic popular, e.g., for REST-based Services such as the LDP. Linked Data access, processing, and inference-based analytics functionalities. 6 Data is subject to the laws of the country in which it is located, which becomes a big privacy and compliance issue if data is moved to cloud service provides which operate cross-countries. 8 7 http://sce.corporate-smart-content.de/provalets, accessed 1 Jun http://prova.ws, accessed 1 Jun 2016. 2016. 9 http://reaction.ruleml.org, accessed 1 Jun 2016. 123 A. Paschke: Provalets: Component-Based Mobile Agents as Microservices for..., Bus Inf Syst Eng 58(5):329–340 (2016) 2. The standardized (mobile) component model makes it described, and for better understanding we give a concrete a generic approach suitable for standard container