Turn Excel Models into APIs
Build API in Seconds
Database integration is a critical part of most enterprise APIs. AlchemyJ provides a set of Extended Functions in Excel for all database operations, such as Create, Read, Update and Delete (CRUD). The AlchemyJ Extended Functions encapsulates low-level complexity of database operations so even users without SQL knowledge could manage database access. For advanced users, AlchemyJ allows them to issue native SQL commands so the generated API could tap into the native powerful features of the Databases.
Without stringent control to the input and output parameters of the API, the API will be prone to error. The data dictionary does not only allow users to define various attributes of data, link data items to DB columns, but also provides a template for the completeness in the requirements collection process. Based on data attributes, AlchemyJ applies validation and transformation logic to the input parameters. In addition, it also enforces that data returned from API conforms with the attributes specified in the data dictionary.
The security of API from AlchemyJ is divided into two parts. The first part is the authentication. AlchemyJ API supports various authentication, such as LDAP. The second part is the authorization. AlchemyJ API checks the role and group of authenticated users and determines if the API access is allowed. In addition, AlchemyJ also provides session management, for instance, AlchemyJ manages encrypted information exchanges between API servers and clients, as well as a session timeout.
AlchemyJ provides an API inspector for real-time monitoring on the API execution. The inspector shows variables' value as well as execution formulas in different execution states of the API. AlchemyJ also provides inspection commands for interactive troubleshooting. Based on the commands specified, AlchemyJ will extract or execute corresponding information or operations during the API execution. While security is AlchemyJ's top priority, all inspection functions are not available in the production environment.
Automatic Testing Framework
AlchemyJ provides an Automatic Testing Tool in Excel. The tool lets users define test cases and runs the cases automatically. With a proven model, AlchemyJ could augment the test cases in order to increase the testing coverage. Then the Test Case Transformation Engine of AlchemyJ will transform Excel test cases to cases in Java or REST API. Once the API is generated, AlchemyJ will execute the cases in Java and REST API automatically to assure the functionality of API meeting the requirements.
OpenAPI (Swagger) Support
AlchemyJ eliminates the trouble of API documentation by automatically generating OpenAPI (Swagger) specification based on the model defined in Excel. The OpenAPI specification contains API description, usage guidelines, endpoint specification, request parameters, responses details, authentication, etc. The specification also comes with an interactive API trial interface. The interface lets users try the API with user-specified requests and responses as if it is running in the API consumer modules.
AlchemyJ supports multi-developers (multi-analysts) API development project. This maximizes the efficiency for solving or speed up the API development of the complex API model. The idea of the multi-developers project in AlchemyJ is similar to the Divided-and-Conquer approach. Users can break down a complex model into a number of simple models. Each of the simple models is contained in a separated workbook and handled by an individual developer. AlchemyJ will combine all simple models into a solution for the complex model.
350+ Functions in Excel
AlchemyJ supports over 300 Excel functions. Moreover, in order to better meet the requirements of enterprise application or API, AlchemyJ provides more than 50 extended functions in Excel, such as email, file operations, even calling other REST API or Java functions. The AlchemyJ extended functions are comprehensive toolkits for the modelling of any business requirements.
Despite the rich functions provided by AlchemyJ in Excel, there are circumstances that users need to build their own functions to extend the functionality of their business model and API. AlchemyJ provides a Framework for building AlchemyJ Extended Function (AJXF) in VBA and Java. While users could use VBA based AJUDF in their Excel models, AlchemyJ will call the corresponding Java-based AJXF in the API. Transformation of AJXF call, control and handling of return and error will automatically be done by AlchemyJ.