About AlchemyJ

Generate Java APIs and Web APIs from Microsoft Excel.

AlchemyJ enables analysts and developers to build APIs from Microsoft Excel spreadsheets which contain the logic and specification of the API. It allows you to model your complex calculation requirements in Excel and then automatically generates the module to work with your application. It makes project team members focus on the business requirements instead of the technical details of the API. All this translates into time, resource and cost-savings, while delivering an even higher quality API.

With AlchemyJ you can create your API in 4 easy steps

Model Biz Logic - Create a new Excel model or use an existing Excel workbook.

Define API Settings - Define the functions your API provides, the parameters they have.

Generate API - Simply click a button and the API code will be generated on the fly.

Use the API - Start using the REST or Java API and integrate it into your applications.

AlchemyJ Features:

  • Build Java Package and API in Seconds - AlchemyJ can quickly analyze the business logic in Excel spreadsheets. It then generates the Java Package, REST API or JavaScript that implements all the business logic as well as the technical specification contained in the Excel spreadsheet. Users can start from a blank spreadsheet or a pre-defined Java Package or API template with all the necessary configurations ready so they only need to put in their own logic, then they could have the Java Package and API generated instantly.
  • Database Integration - 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 Java Package and API could tap into the native powerful features of the Databases.
  • Data Dictionary - Without stringent control to the input and output parameters of the Java Package and API, they 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 the Java Package and API conforms with the attributes specified in the data dictionary.
  • API Security - The API security from AlchemyJ is divided into two parts. The first part is authentication. AlchemyJ API supports various authentication methods, such as LDAP. The second part is 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.
  • API Inspector - 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, not all inspection functions are 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 can 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.
  • Multi-Developers Project - AlchemyJ supports multiple developer (multi-analysts) API development projects. This maximizes the efficiency for solving or speeding up the API development of a complex API model. 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.
  • 400+ Functions in Excel - AlchemyJ supports over 300 Excel functions. Moreover, in order to better meet the requirements of enterprise applications or API, AlchemyJ provides close to 100 extended functions in Excel, such as email, file operations, even calling other Java Packages or REST API. The AlchemyJ extended functions are comprehensive toolkits for the modeling of any business requirements.
  • Unbounded Extensibility - 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 logic, Java Package and API. AlchemyJ provides a Framework for building AlchemyJ Extended Function (AXF) in VBA and Java. While users could use VBA based AJUDF in their Excel models, AlchemyJ will call the corresponding Java-based AXF in the API. Transformation of AXF call, control and handling of return and error will automatically be done by AlchemyJ.