Contents
Context and objective
This document is a working draft for a recommendation of what a "1.0 Stable" version of a Symphony API Language Binding should cover. The goal is that new language bindings have a central document to orient themselves when starting the project, and that projects that are getting close to "1.0 Stable" release have a checklist they can use to finalize.
The primary focus is to allow users of such SDKs to be very clear on what to expect when starting to build on them. This would cover both functional and non-functional expectations.
Current projects recap
Language | Project | Status | Project owner | |
---|---|---|---|---|
Java | Jersey2 - swagger generated binding of symphony-api-spec. Maven dependencies <dependency> <groupId>org.symphonyoss.symphony</groupId> <artifactId>symphony-authenticator-java-jersey2-client</artifactId> <version>${symphony-api-version}</version> </dependency> <dependency> <groupId>org.symphonyoss.symphony</groupId> <artifactId>symphony-agent-java-jersey2-client</artifactId> <version>${symphony-api-version}</version> </dependency> <dependency> <groupId>org.symphonyoss.symphony</groupId> <artifactId>symphony-pod-java-jersey2-client</artifactId> <version>${symphony-api-version}</version> </dependency>
| (Active) 1.48.0 | ||
.NET | 0.4.0 | |||
Python | ||||
Clojure | 0.1.0-SNAPSHOT | Peter Monks | ||
PHP | Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration. | Florian de Miramon | ||
Javascript / Node | Former user (Deleted) |
Definition
- Binding:
- A language binding is a language-specific implementation of the Symphony REST API, that facilitates implementations is that particular language.
Users expectations
As users of a "1.0" version, one would expect:
- Functional integrity
- comprehensive functional coverage of public REST API, as documented on https://developers.symphony.com/ is complete, ideally for the most recent release of Symphony
- no unsupported or private APIs are used
- new API endpoints or new version are incorporated into the SDK with a reasonably fast timeframe
- Documentation integrity
- Documentation in the code itself (readme.md) is aligned with the other documentation (https://developers.symphony.com/) on nomenclature, terminology, links, etc
- Quality standards
- Functional quality: All public functions of the REST API is working as expected.
- Non-functional quality: API performance is as expected and works in the most common deployment scenarios (cloud, on-prem).