This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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:

  1. Open the <WSO2_OB_KM_HOME>/repository/resources/finance/scripts/startup.properties file and configure the following:

    • Specify the hostnames for the APIM and KM servers.

      # Specify the hostname you want to configure
      APIM_HOSTNAME=localhost
      IAM_HOSTNAME=localhost
    • Configure the databases related properties.

      Database PropertyDescription
      DB_TYPE

      Type of the database you installed

      DB_TYPE=mysql
      DB_USER Database user
      DB_PASS Password set for the database connection
      DB_HOST Name of the database server
      DB_DRIVER

      Configure DB_DRIVER according to the database installed:

      - Mysql JDBC Driver = com.mysql.jdbc.Driver 
      - MSSQL JDBC Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
      - Oracle JDBC Driver = oracle.jdbc.driver.OracleDriver

      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:  

       Click here to see the field to be updated...
      Databaseopenbank_apimgtdb
      TableAM_APPLICATION_REGISTRATION
      FieldINPUTS
      Data typeCLOB
  2. Set execution permissions to the configure-km.sh file in the <WSO2_OB_KM_HOME>/repository/resources/finance/scripts and run it using the following command:

    ./configure-km.sh

    If you're setting up Open Banking for Berlin:

    Update the data type of the given field to CLOB

    Databaseopenbank_apimgtdb
    TableAM_APPLICATION_REGISTRATION
    FieldINPUTS
    Data typeCLOB
  3. Go to the <WSO2_OB_APIM_HOME>/repository/resources/finance/scripts directory and configure the database properties in the startup.properties file, similar to Step 1.

  4. Set execution permissions to the configure-am.sh file and run it.

    You have configured databases in step 1. By running configure.sh files, you set the database credentials with reference to the configuration files.

  5. 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:

      ProductFileConfigAllowed 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
  6. You are now ready to start the API Manager and Key Manager servers. In the command line, navigate to the <WSO2_OB_KM_HOME> /bin folder, and run the following command:

    ./wso2server.sh -Dsetup
  7. Run the same command from the <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.

  1. Configure the <WSO2-obkm>/repository/conf/datasources/master-datasources.xml file with the following configurations.

    Make sure to update the URLusernamepassword, and driverClassName 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>
  2. 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>
  3. Change the datasource of the <WSO2-obkm>/repository/conf/user-mgt.xml file to point to the WSO2UM_DB.

    <Property name="dataSource">jdbc/WSO2UM_DB</Property>

Configure Open Banking API Manager

  1. Configure the <WSO2-obam>/repository/conf/datasources/master-datasources.xml file with the following configurations. 

    Make sure to update the url, usernamepassword, and driverClassName 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>
  2. 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. 
  3. Update the datasource in the <WSO2-obam>/repository/conf/user-mgt.xml file to point to the WSO2UM_DB

    <Property name="dataSource">jdbc/WSO2UM_DB</Property>

Configure user stores

Deploying, Integrating, and securing the APIs


  • No labels