Role of a relational database in webMethods API Portal

webMethods API Portal guide

Primary storage of API Portal is currently the relational database system(RDMS). Currently out of the box we ship postgres as RDMBS. As of date we store following information in RDBMS

  1. API & its related meta information (Packages / Applications etc.)
  2. Collaboration content (Posts/ Comments / Forums)
  3. Document meta information and content (Attachments for an API / Files used in posts)

Distributing the load (Scaling) of multiple tenants across several DB instances (BUT no high availability)

The only kind of scaling that is possible with PostgreSQL at the moment is that of scaling "across" tenants. Currently, the data of a single tenant will always reside in a single database instance, so the load created by a single tenant on the database instance needs to be handled by that instance. At the same time, a tenant's database instance will also be a single point of failure for that tenant - if the tenant's DB goes offline, the tenant will become unusable until the DB is available again.

However, if high availability is not relevant in this usage scenario, but if a large number of tenants are to be supported, it can make sense to have multiple database instances available in the system. The data of the tenants will then be distributed (more or less) evenly across all available databases services, as illustrated in Figure below.

If the node1 goes down for some reason, the parts of the tenants in your infrastrucutre will get impacted(Tenant1/Tenant2)

Known issues

  • In a unix environment whle running the installation as root user acount, installation fails while configuring postgres with below error in install log. “error APP_ERROR> API Portal: ERROR during: Configuring PostgreSQL ... ( - Error while writing the following ACC commands: configure postgres_m postgres_m zookeeper.connect.string="localhost:18073" postgresql.port="18072" plugin.apptypes="db", "postgresql-ecp". Exit status 98)

Please make sure you dont use the root user for the installation of API Portal. Postgres can not be configured/started with a root user account. Make sure to to use a different user account with sudo privilege to install and configure API Portal.