RAPID-Schema: a universal schema language for APIs
Most APIs deal with structured data as a primary concern. Yet somehow, message schemas have always been a weak link in API modeling. From CORBA to SOA to REST, the logical data structures and semantics that drive our APIs have been obscured by awkward schema languages that are format-specific; poorly aligned with other type systems and data models; overly complex but still lacking expressive power.
RAPID-Schema is a new, universal modeling language for message schema design, implemented with EMF, Xtext and YAML. RAPID-Schema includes a technology-neutral data modeling language, and describes message payloads as "realizations" - adaptations of the data model for specific API resources or message types. Realizations generate physical schemas in XSD, JSON-Schema and other formats as required, including variants of those schemas used by Swagger, RAML and other API description languages.
In this way, RAPID-Schema enables reuse of shared data models, with enough flexibility to adapt to a wide range of RPC, message-based and hypermedia APIs, while still conforming to the underlying data model.
In this talk, we'll take a tour through the modeling features of RAPID-Schema, introduce the Eclipse tooling, and show you how to use RAPID-Schema to bring consistency, portability and hypermedia goodness to your API designs. We'll also present a roadmap for the future, with opportunities to contribute to RAPID-Schema and the emerging "schemasphere" of shared, reusable data models.