We have a back end that exposes 50-60 Rest APIs. These will largely be consumed by standalone applications like a Python script or a Java program.
One issue we have is the APIs are at a very granular level, they do not match the business use case. For example to perform a business use case end user might have to call 4 to 5 APIs.
I want to develop a DSL or some solution that will help provide a high level abstraction that will enable end users to implement business use cases with ease. This can either be a standalone abstraction or a "library" for Python or or some much high level programming language.
For the specific purpose of combining multiple Rest API calls to create a business use case transaction, what are the approaches available.
Thanks
I think this is a nice idea. To determine what kind of solution you could build you should consider different aspects:
Depending on these answers you could consider different options. The simplest one is to build a DSL using ANTLR. You get a parser, then you build some program to process the AST and generate the code to call the APIs. Your user will just have to edit these programs in a text editor with not support. The benefit of this is that the cost of implementing this is reduced and your user could write these programs using a simple text editor.
Alternatively you could use a Language Workbench like Xtext or Jetbrains MPS to build some specific editors for your language and provide a better editing experience to your users.