Follow the step-by-step guide that is described below to deploy the WSO2 Open Banking solution sucessfully.
Configure databases
In order to start the server, configure the databases in both the API Manager (APIM) and the Key Manager (KM) according to the open banking specification, as follows: Open the Specify the hostnames for the APIM and KM servers. Configure the databases related properties. Type of the database you installed Configure - Mysql JDBC Driver = com.mysql.jdbc.Driver If you are using an MS SQL or an Oracle database, see Configuring Databases and configure the databases. If you're setting up Open Banking for Berlin and using an Oracle database, update the data type of the given field: Set execution permissions to the If you're setting up Open Banking for Berlin: Update the data type of the given field to CLOB: Go to the Set execution permissions to the You have configured databases in step 1. By running configure.sh files, you set the database credentials with reference to the configuration files. Configure the deployed open-banking specification accordingly. By default, values are set for the UK specification. Other supported specifications include: The following configurations are used to define the deployed specification at runtime: You are now ready to start the API Manager and Key Manager servers. In the command line, navigate to the <WSO2_OB_KM_HOME> Run the same command from the <WSO2_OB_KM_HOME>/repository/resources/finance/scripts/
file and configure the following:startup.properties
# Specify the hostname you want to configure
APIM_HOSTNAME=localhost
IAM_HOSTNAME=localhost
Database Property Description DB_TYPE
DB_TYPE=mysql
DB_USER
Database user DB_PASS
Password set for the database connection DB_HOST
Name of the database server DB_DRIVER
DB_DRIVER
according to the database installed:
- MSSQL JDBC Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
- Oracle JDBC Driver = oracle.jdbc.driver.OracleDriverconfigure-km.sh
file in the <WSO2_OB_KM_HOME>/repository/resources/finance/scripts
and run it using the following command:./configure-km.sh
Database openbank_apimgtdb Table AM_APPLICATION_REGISTRATION Field INPUTS Data type CLOB <WSO2_OB_APIM_HOME>/repository/resources/finance/scripts
directory and configure the database properties in the startup.properties
file, similar to Step 1.configure-am.sh
file and run it.Product File Config Allowed Values APIM <WSO2_OB_APIM_HOME>/repository/conf/finance/open-banking.xml
<DeployedSpecification>
UK or BERLIN or STET
APIM <WSO2_OB_APIM_HOME>/repository/deployment/server/jaggeryapps/store/site/conf/site.json
<DeployedSpecification>
UK or BERLIN or STET
KM
<WSO2_OB_KM_HOME>/repository/conf/finance/open-banking.xml
<DeployedSpecification>
UK or BERLIN or STET
KM <WSO2_OB_KM_HOME>/repository/deployment/server/jaggeryapps/ccportal/configs/conf.json
<DeployedSpecification>
UK or BERLIN or STET
KM
<WSO2_OB_KM_HOME>/repository/deployment/server/jaggeryapps/consentmgt/configs/conf.json
<DeployedSpecification>
UK or BERLIN or STET
/bin
folder, and run the following command:./wso2server.sh -Dsetup
<WSO2_OB_APIM_HOME>/bin
directory to start the API Manager server.
Configure Open Banking Key Manager
Follow the steps below to deploy the Open Bnaking Key Manager.
Configure the
<WSO2-obkm>/repository/conf/datasources/master-datasources.xml
file with the following configurations.Make sure to update the
URL
,username
,password
, anddriverClassName
accordingly.TheDatasource with the name NETINFO_DB should point to the OLB database for customer authentication.
<datasource> <name>WSO2AM_DB</name> <description>The datasource used for API Manager database</description> <jndiConfig> <name>jdbc/WSO2AM_DB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>WSO2AM_STATS_DB</name> <description>The datasource used for getting statistics to API Manager</description> <jndiConfig> <name>jdbc/WSO2AM_STATS_DB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>WSO2_MB_STORE_DB</name> <description>The datasource used for message broker database</description> <jndiConfig> <name>WSO2MBStoreDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>REGISTRY_DB</name> <description>The datasource used for registry- config/governance</description> <jndiConfig> <name>jdbc/WSO2RegistryDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>WSO2_USER_DB</name> <description>The datasource used for registry and user manager</description> <jndiConfig> <name>jdbc/WSO2UMDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>NETINFO_DB</name> <description>The datasource used for vasco 2nd factor authentication</description> <jndiConfig> <name>netinfoDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource> <datasource> <name>WSO2_CONSENT_DB</name> <description>The datasource used for registry and user manager</description> <jndiConfig> <name>jdbc/WSO2ConsentDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER CLASS NAME>></driverClassName> <maxActive>80</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource>
Update the
cacheId
property in the<WSO2-obkm>/repository/conf/registry.xml
file appropriately.<dbConfig name="govregistry"> <dataSource>jdbc/WSO2RegistryDB</dataSource> </dbConfig> <remoteInstance url="https://localhost:9443/registry"> <id>instanceid</id> <dbConfig>govregistry</dbConfig> <readOnly>true</readOnly> <enableCache>true</enableCache> <registryRoot>/</registryRoot> <cacheId>wso2dbadmin@jdbc:sqlserver://<DB_HOST>:1433;databaseName=prodwso2_apimgt_regdb</cacheId> </remoteInstance> <mount path="/_system/config" overwrite="true"> <instanceId>instanceid</instanceId> <targetPath>/_system/config</targetPath> </mount>
Change the datasource of the
<WSO2-obkm>/repository/conf/user-mgt.xml
file to point to theWSO2UM_DB
.<Property name="dataSource">jdbc/WSO2UM_DB</Property>
Configure Open Banking API Manager
Configure the
<WSO2-obam>/repository/conf/datasources/master-datasources.xml
file with the following configurations.Make sure to update the url,
username
,password
, anddriverClassName
accordingly.<datasource> <name>REGISTRY_DB</name> <description>The datasource used for registry- config/governance</description> <jndiConfig> <name>jdbc/WSO2RegistryDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER_CLASS_NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> <datasource> <name>WSO2_USER_DB</name> <description>The datasource used for registry and user manager</description> <jndiConfig> <name>jdbc/WSO2UMDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER_CLASS_NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> <datasource> <name>WSO2AM_DB</name> <description>The datasource used for API Manager database</description> <jndiConfig> <name>jdbc/WSO2AM_DB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER_CLASS_NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> <datasource> <name>WSO2AM_STATS_DB</name> <description>The datasource used for getting statistics to API Manager</description> <jndiConfig> <name>jdbc/WSO2AM_STATS_DB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER_CLASS_NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> <datasource> <name>WSO2_MB_STORE_DB</name> <description>The datasource used for message broker database</description> <jndiConfig> <name>WSO2MBStoreDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url><<JDBC_URL>></url> <username><<USERNAME>></username> <password><<PASSWORD>></password> <driverClassName><<DRIVER_CLASS_NAME>></driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource>
Update the
<cacheID>
property in the<WSO2-obam>/repository/conf/registry.xml
file appropriately.<dbConfig name="govregistry"> <dataSource>jdbc/WSO2RegistryDB</dataSource> </dbConfig> <remoteInstance url="https://localhost:9443/registry"> <id>instanceid</id> <dbConfig>govregistry</dbConfig> <readOnly>true</readOnly> <enableCache>true</enableCache> <registryRoot>/</registryRoot> <cacheId>wso2dbadmin@jdbc:sqlserver://<DB_HOST>:1433;databaseName=prodwso2_apimgt_regdb</cacheId> </remoteInstance> <mount path="/_system/config" overwrite="true"> <instanceId>instanceid</instanceId> <targetPath>/_system/config</targetPath> </mount>Update the datasource in the <OB_APIM_HOME>/repository/conf/user-mgt.xml file to point to the WSO2UM_DB.
Update the
datasource
in the<WSO2-obam>/repository/conf/user-mgt.xml
file to point to theWSO2UM_DB
.<Property name="dataSource">jdbc/WSO2UM_DB</Property>