Rapture is a platform framework that can be used to build applications that are scalable, distributed, consistent and coordinated. At its heart Rapture is simply a well defined set of libraries with an external facing API that provides an abstraction to a number of fundamental concepts.
Data: Access enterprise data through an abstracted, consistent interface. Rapture supports a (growing) suite of relational and noSQL database products and has designed repositories optimized for document, series, and blob data. Learn more about data on Rapture in our blog, starting with Document Repositories.
Workflows: Design, execute, orchestrate, and monitor custom business process workflows. Support for dynamic, decision-centric application behavior; scheduled or event-driven. Read more on our blog.
Pipeline: Coordinate activity between Rapture servers and applications through an abstracted messaging system.
Jobs and Schedules: Define jobs that can execute according to the evaluation of a CRON style specification. These jobs can be used to run scripts or workflows and there are many operational style API calls that can be used to monitor their progress.
Entitlements: All interactions with the Rapture API are made in the context of a logged in user. That user, and its entitlement group membership and the parameters passed to the call are used to determine whether the call can proceed or not. This post provides additional context.
Scripting: Reflex is a scripting language developed by Incapture Technologies. It is designed for performing cloud-based data manipulation. Reflex takes very little resource overhead, and therefore handles the data interactions more efficiently than JRuby, Jython, and other standard scripting tools. Visit our blog post on scripting to learn more.
Custom Client Applications: Client applications that talk to Rapture can be written in any of these supported languages as long as the application can reach (using TCP/IP) a Rapture API Server:
– Java (or anything that runs on the Java VM and can access Java classes)
A Rapture environment is a collection of servers, cloud-based or otherwise, that are running programs that bind to an underlying storage and messaging system. On a server, the Rapture platform behaves as a kernel running several key subsystems, and is often referred to as the “Rapture Core.”
This diagram presents an architectural view of Rapture, which sits between databases and underlying infrastructure and applications.