I have been working for a company that implements third-party marketplace APIs like Amazon, eBay, Walmart, etc. We have to deal with 300 different API structures (REST, GraphQl, WebSocket, WCF, SFTP, etc.). So as a software architect, I was thinking about using low-code, no-code platforms like Zapier, MuleSoft, etc. 

the downsides of using low-code or no-code:

  1. Flow maintenance (in my experience, it can change frequently)

  2. Code complexity (for aggregation and mapping)

  3. Business complexity (for example, creating a product on Amazon isn't just an API call; it involves other resources)

  4. Data aggregation, For example, when you want to fetch an order, you get different responses from different marketplaces, so you need to create a complex module for unifying the responses.

  5. Data mapping: for example, when you want to create a product on Amazon, you need different product attributes and categories than Shopify, so you need to map your data to the Amazon structure.

  6. Authentication and Authorization (based on my experience, we have to deal with many different types)

And I can think of five more, but I want to keep it short, so somehow it's impossible to implement this on MuleSoft or Zapier.

If you think about it, creating a product on Amazon has a standard flow, but your company's business is different from others. Do you know how many times these APIs have been implemented by developers across the world and how many hours they spend updating them and redeploying their solutions? Now imagine we had a low-code, open-source repository for these APIs.

  1. Fork the flow and customize it based on our needs.
  2. Create my application APIs in the repository to connect it to tons of APIs and flows without adding complexity to our system.
  3. The issue page to discuss our problems using these flows and APIs. (something like GitHub)
  4. Contribute to the maintenance of these APIs and Flows.
  5. Create unit tests for each flow with mock data.
  6. End-to-end data encryption

enter image description here

What are the advantage of using the repository:

  1. You remove the code and business complexity from your App
  2. If something changes unit tests are there to inform you that your flow has issues
  3. By using generic contracts we are talking the same language
  4. You can find common flows in any App category like ERP, CRM, Marketing Automation, etc. if its not there you can make it by yourself and it will be available for the other users.
  5. In case of any update on the API(for ex Amazon introduce a new version or a change) we can clone the flow and create new version of the flow and because we are using low-code it would be immediately available to plug to your application with making changes to it.
  6. You can easily aggregate the data from multiple sources and redirect it to your application.
  7. You have access to the documentation, you can learn how the flow works

And many more

Questions:

  1. If you had access to this platform, would you use it and would you recommend it to your team?
  2. What are your concerns?
  3. What functionalities are missed? 
  4. Do you know any tools that has the same functionalities?
0

There are 0 best solutions below