Team Development

Team Development
lac31
You can use
CA Live API Creator
in the context of multiple (concurrent) API developers. API Creator enables parallel development of client applications and business logic, since logic automatically applies to all resources.
Team development support is based on the following key concepts:
3
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 into a JSON file, which you can manage with existing tools for diffs, Source Control Systems (SCS), etc.
For more information about importing/exporting APIs, see Import and Export APIs.
Admin Command Line Interface
The Admin Command Line Interface (CLI) provides convenient command-line access to the CA Live API Creator Admin API (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 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 APIs 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 APIs, 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 or (if you are scripting the import process) while you are scripting the import process.
For more information:
Single Disconnected API Developer
The single disconnected API developer case is intended mainly for evaluations, training, and single-person projects (for example, to explore a database using Data Explorer). The admin database can be on a server, but it is usually more convenient to store it on your desktop. Some
CA Live API Creator
packages further facilitate this by using Derby, so you do not have to install a database management system (DBMS). In the single disconnected API developer case, you can import/export into JSON files.
Multiple Connected API developers
Most projects engage multiple API developers:
The following sections, which correspond to callouts 1, 2, 3 in the 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. Multiple API developers can access both databases concurrently. 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 an API developer does not overwrite changes made by another, 
    CA 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.
    Reload the schema to see new database objects.
    CA 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 APIs, 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
The following services, although not strictly part of team development, are available to you to coordinate API developer activities:
  • Change history.
    You can determine the latest changes made to your API.
    For more information about how to track API changes, see Change Management.
  • Topics.
    As a API 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.