  Applications integrating analysis components require a programmable interface
which defines statistical operations independently of any programming language.
By separating concerns of scientific computing from application and
implementation details we can derive an interoperable API for data analysis.
But what exactly are the concerns of scientific computing? To answer this
question, the paper starts with an exploration of the purpose, problems,
characteristics, struggles, culture, and community of this unique branch of
computing. By mapping out the domain logic, we try to unveil the fundamental
principles and concepts behind statistical software. Along the way we highlight
important problems and bottlenecks that need to be addressed by the system in
order to facilitate reliable and scalable analysis units. Finally, the OpenCPU
software is introduced as an example implementation that builds on HTTP and R
to expose a simple, abstracted interface for scientific computing.
