Introducing RAPID-ML™

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Introducing RAPID-ML™

Previous pageReturn to chapter overviewNext page

RAPID-ML Logo smallest

RAPID-ML™, the Modeling Language for Resource API over Data used by RepreZen™ API Studio, is a structured language for comprehensively describing and documenting data-oriented, REST-style APIs.  RAPID-ML can be used by generators or runtime interpreters for API documentation, visualization, data schemas, test frameworks, client SDKs and service implementations.

RAPID-ML is designed for general-purpose API modeling, emphasizing a few areas of particular importance:

RAPID-ML enables the definition of shared, canonical data models, and the adaptation of these shared models to meet the needs of a particular API usage context. RAPID-ML uses the term realization to describe a data type adapted for use in a given resource or message.  Realizations vary from their underlying data types only in well-defined ways that do not break conformance with the underlying data model.  This constrained variation promotes interoperability by making it practical for APIs to converse in a common, structured data vocabulary.
RAPID-ML includes its own technology-neutral data modeling sub-language.  This allows straightforward description of data model semantics that are meaningful in APIs, without syntactic noise or unnecessary complexity associated with specific message formats.  RAPID-ML leaves most of the wire format details to be handled by message schema generators.
RAPID-ML supports formal binding of data models into the API.  Resources may be bound to data structures.  URI and message parameters may be bound to data properties.  Hyperlinking and embedding may be defined by reference properties in the underlying data structures.  These data binding semantics capture common REST idioms in a concise, natural way, and enable more complete downstream implementation of the API's intended behavior.
RAPID-ML uses a highly readable, indent-based syntax that features optional fluency.  The language syntax includes optional fluency keywords that have no semantic effect, but serve to make the syntax more natural.  By including or omitting these optional keywords, developers can adopt a fluent or terse coding style.

For complete information on the RAPID-ML language please consult the online language specification at You may find it useful to have the specification open as you follow this Quick Start Guide. It is fully searchable and easy to navigate.

Copyright © 2016 ModelSolv, Inc.  All rights reserved. RepreZen and RAPID-ML are trademarks of ModelSolv, Inc. Swagger is a registered trademark of SmartBear Software, Inc. RepreZen API Studio is not associated with nor endorsed by SmartBear Software, Inc.