CA Live API Creatorcomplements automation with provisions for extending:
CA Live API Creatorapplies table-based logic to updates on the table and to updates to the resources that you explicitly define over the table.
- External services, by way of REST, Simple Object Access Protocol (SOAP), etc.
CA Live API Creatorrunning in a container, such as Docker.
Code Insertion Points
CA Live API Creatorfires rules in an order that reflects their dependencies. This order changes as you alter rules and, therefore, affect their dependencies. By contrast,
CA Live API Creatorfires events at designated points in the request-processing cycle, as illustrated in the following image:
While you define most RESTful endpoints as resources (tables, views, and stored procedures) or functions, you can build services, perhaps unrelated to your database objects, by adding custom endpoints. For example, you can add a custom endpoint that returns JSON or HTML responses or that returns results directly to the client.
For more information about how to determine which endpoint type to define for your API, see Customize your API.
CA Live API Creatorinvokes event handlers before resource and logic processing begin. You can intercept an incoming request or log the request in a request event. Before
CA Live API Creatorsends the response back out to the client, you can reformat the response message in a response event.
For more information about event handlers, see Event Handlers.
Resource Row Events
CA Live API Creatorinvokes resource row events as it retrieves rows. For example, add attributes or filter the row. You can inject new attributes, remove attributes, or make REST calls and append the results.
For more information about resource row events, see Resource Row Events.
Row Logic Events
CA Live API Creatorinvokes event rules with the current/old rows and the current verb on POST, PUT, and DELETE operations. They can operate on the row, the results of which
CA Live API Creatorsubjects to reactive logic.
For more information about how to create event rules, see Event Rule Types.
DemoAPI. Open the
Audit Purchase Order amount changesevent.
row.price * row.quantity.
CA Live API Creatoranalyzes the logic for dependencies which are reflected in proper execution order.
For more information:
- About how to create a formula rule, Formula Rule Type.
Access JVM and Services
System Variables and System Classes
The extension capabilities draw upon system variables and system classes. Discover these services using code completion. System variables define system state, for example, for the request and logic operation, and useful methods. System classes provide helper classes.
For more information about these system variables and classes, see Code Completion.
Your code requires the following system variables that are set when
- Thereqobject. This variable provides access to the API request, such as the current user and the url parameters.For more information about this object, see The req Object.
- ThelogicContextobject. Logic context makes visible key aspects of logic execution.For more information about this object, see The logicContext Object.
CA Live API Creatorinitializes the following variables:
- TheSysUtilityobject. You can invoke RESTful services from business logic or row events using the services that this object provides, such as therestGet,restPut,restPost, andrestDeletemethods.For more information about this context variable, see The SysUtility Object.
- TheSysLogicobject. You also have access to logic services, such as theallocateFromTo()andInsertIntoFrom()methods.For more information about this context variable, see The SysLogic Object.
For more information:
For more information about logic libraries, see Logic Libraries.
Re-usable Rule Types
You can add new rule types to the core rules (such as formula, sum, and count, validation). You can define the parameters that the rule types accept.
CA Live API Creatoruses extended rules by using the parameters. You can detect logic patterns and you can implement re-usable solutions to these using the extended rule types.
For more information about viewing an illustration of how the
InsertIntoFrom()system method and allocation rules use this underlying technology, see The allocateFromTo System Method.
Access Complex SQL
Your SQL operations are typically automated, but you can address more complex cases by defining Free SQL resources in API Creator.
For more information about how to define a Free SQL resource type, see Define Free SQL Resource Types.
Access SOAP Services
You can access SOAP services using Java libraries and return them as REST services in
CA Live API Creator
For more information about viewing an example on how to expose SOAP endpoints and return them as REST responses using
CA Live API Creator, see the LAC-SOAP2REST example on GitHub.
You can control processing at the request level. You can insert
@metadataaction tags to link child rows to parent rows, without the requirement for the client to supply
autonumidentifiers (which they may not know) using services. You can designate that request rows can result in either an update of an existing row, or if not present, the insertion of a new row by using related services.
For more information:
API Definition Access
You can retrieve information about an API, such as the list of entities and resources and their attributes, rather than actual data, using the system REST endpoints.
CA Live API Creatorprovides these endpoints as metadata services.
For more information about how to retrieve information using these endpoints, see System REST Endpoints.
You can authorize API users using your existing security data, such as Lightweight Directory Access Protocol (LDAP), Microsoft Azure Active Directory (Azure AD), and OAuth, instead of requiring the user to reenter user lists that are maintained elsewhere.
You can customize authentication in the following ways:
- By handling incoming requests toCA Live API Creatorusing CA API Gateway.For more information about how to integrateCA Live API Creatorwith CA API Gateway, see Integrate with CA API Gateway.
- By authenticate API users using a custom authentication provider.For more information about how to authenticate API users using a custom authentication provider, see Configure Authentication.