Docs‎ > ‎Architecture‎ > ‎

Team Development

You can use Live API Creator in the context of multiple (concurrent) developers. API Creator enables parallel development of client applications and business logic, since logic automatically applies to all resources.

Team dev support is based on the following key concepts:

Admin Database

Your API definitions, including the resources, logic, security, filters, and Data Explorer settings, are stored in the Admin database and not as files. These settings are accessed via the Admin RESTful API.

For more information about the Admin database, see Architecture.

Import/Export to JSON files

You can import/export your API project into a JSON file, which you can manage with existing tools for diffs, Source Control Systems (SCS), etc.

For more information about importing/exporting API projects, see Import and Export API Definitions.

Admin CLI

The Admin CLI provides convenient command-line access to the Admin API. This provides one way to script import/export operations.

Project Configuration

Most of your API definitions are contained in the export JSON file. This includes code, such as JavaScript event handlers.

Loadable Logic Libraries

Logic libraries necessarily live outside API definitions. The libraries require special provisions to load and associate with API projects.

Custom Authentication Providers

Custom authentication providers are special logic libraries that you must consider and configure in team development.

Data Source Passwords

While DataSources live inside projects, exporting their passwords would constitute a security breach. So, they are not exported. Consequently, you must reconfigure these when importing an API, or scripting the creation of an API.
You must reconfigure your data source passwords when importing an API or when scripting an API.

Single Disconnected Developer

The single-developer case is intended mainly for evaluations, training, and single-person projects (for example, to explore a database using the Data Explorer). The Admin database can be on a server, but it is usually more convenient to store it on your desktop. Some Live API Creator packages further facilitate this by using Derby, so you don't have to install a DBMS. In the single-developer case, you can import/export into JSON files.

Multiple Connected Developers

Most projects engage multiple developers. The following sections, which correspond to the 1, 2, 3 in the following diagram, provide suggestions on how to coordinate their work:

Single Admin Database

In most projects, there is a shared Dev database (callout 1 in the previous diagram). In parallel, you create an Admin database. Both accessed concurrently by multiple developers. In addition to the SCS import/export, you can back up the Admin database.

The following are benefits to single Admin database:
    • Automatic Concurrency Management

To ensure that a developer does not overwrite changes made by another, Live API Creator employs Optimistic Locking using the same services provided for user data. This is employed at a low-level of granularity, to rules, a role permissions, and sub resources to help prevent conflicts. If a conflict occurs, you get an optimistic-locking violation when you save your changes. In such cases, make a record of your work, refresh, and re-apply (considering the changes your colleague made).

    • Continual Automated Integration
Saves are committed to the Admin database, are visible to your colleagues, and are reflected in their testing. You can view colleague's changes as your navigate the rules and resources in API Creator.
Note: To see new database objects, you must reload the schema.

Live API Creator does the bulk of the "integration" work. In conventional programming, dependency management is manual. By contrast, Reactive Logic automates dependency management. As a result, it becomes safe to make and commit changes very rapidly.

For more information:

Resources provide important change isolation for client applications.

Source Control Integration - API Export

In the previous diagram, in callout 2, you can import/export your Admin data to JSON files so they you can manage them in SCS systems.

For more information about importing/exporting API projects, see Import and Export API Definitions.

Life Cycle - Scripting API Creation with Admin CLI

In the previous diagram, in callout 3, you can script the Life Cycle operations, e.g, to move systems from dev to integration to production using the Admin Command Line Interface (CLI).

For more information:

Related Services

Not strictly part of Team Development, but to coordinate developer activities, the following services are available:
    • Change History. You can determine the Latest Changes made to your API Project.
    • Topics. As a developer, you can create Topics to record why a rule is defined. This can be invaluable in gaining an understanding of a system, for example, when considering changes.