If you ever find you need to embed the results of R functions — data, charts, or even a single calculation — into other applications, then you might want to take a look at DeployR Open. DeployR Open is an open-source server-based framework for R, that makes it easy to call out to the server to run R code in real time.
There are a few really nice features of this architecture:
- The application developer doesn't need to know any R. They use a consistent API in their chosen application programming language to execute any R code, passing parameter values as needed.
- The server manages all aspects of the R session lifecycle so your application does not have to. That keeps the complexity on the server so the application developer can stay focused on business logic.
- Only specific R functions are exposed beyond the server “firewall”. If you connect to R directly, you expose all of R's functions (including functions that can modify the filesystem) to the outside world. By contrast, DeployR Open only exposes selected functions, via RScripts, accessible through the API to serve a specific task. You can manage which RScripts are published, and who can access them, with the Repository Manager.
- The server enforces deployment-wide and user-specific security policies (set in the Administration Console) at runtime to ensure fair resource allocation and prevent malicious R code execution.
DeployR Open offers a number of ways for client applications to integrate with the server:
- The simplest way is to use the RBroker Framework. If you want to quickly execute an independent R calculation or you are considering building a sophisticated R-based realtime scoring engine use this framework.
- If for any reason the RBroker Framework and client libraries do not meet your needs then you can always integrate directly on the DeployR API.
- We provide examples of integrating R using DeployR within Excel, Jaspersoft and Qlikview.
DeployR Open is an 100% open-source project, and includes many features previously only available as part of Revolution R Enteprise DeployR. (That's how despite being new as an open source project, it's already at version 7.3 — it's been in use for more than four years!) If you'd like technical support for DeployR Open, phone and email support is included with a Revolution R Plus subscription.
The DeployR Open server is deployed as a single node, so mainly designed for prototyping, building and deploying applications where expected load on the server is low or moderate. If you anticipate a need to scale to multiple server resources to handle increased workload and improved throughput or want to enjoy seamless integration with popular enterprise security solutions such as SSO, LDAP, Active Directory or PAM, consider upgrading to Revolution R Enterprise DeployR.
If you'd like to learn more, check out the DeployR Open website. There, you can find developer documentation and administrator documentation, and of course download and install DeployR Open for free. Let us know what you think in the comments!