Managing APIs‎ > ‎

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. You can access these settings by way of 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 Command Line Interface (CLI) provides convenient command-line access to the Admin API. This provides one way to script import/export operations.

For more information about using the Admin CLI, see API Creation by Command Line.

API 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. You can load and associate the libraries with API projects using special provisions.

For more information about logic libraries, see Logic Libraries.

Custom Authentication Providers

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

For more information about custom authentication providers, see Authentication Providers.

Data Source Passwords

While data sources live inside API projects, exporting their passwords would constitute a security breach. The .JSON export file does not include passwords and other key security information. Change your passwords after you import an API project or (if you are scripting the import process) while you are scripting the import process.

For more information:

Single Disconnected Developer

The single disconnected 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 database management system (DBMS). In the single disconnected 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 callouts 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: Reload the schema to see new database objects.

Live API Creator does the bulk of the integration work. In conventional programming, dependency management is manual. By contrast, reactive logic automates dependency management. You can safely and quickly make and commit changes.

For more information:

  • Change Management - Resources

Resources provide important change isolation for client applications.

For more information about change isolation, see Change Management.

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 how to import/export 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, for example, 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 on the Create, API Properties, Latest changes tab.

For more information about how to view the audit trail of changes, see Track Changes.

  • Topics. As a developer, you can record why a rule is defined by creating topics. This can be invaluable in gaining an understanding of a system, for example, when considering changes.

For more information about how to create topics, Manage Topics.