Статьи

Монтирование продуктов WSO2 в удаленный экземпляр реестра управления WSO2 (MsSQL 2012)


В этом посте мы собираемся смонтировать продукты wso2 в реестр удаленного управления.
В сценарии по умолчанию реестр управления wso2 указывает на локальную базу данных h2.

Сначала давайте настроим экземпляр реестра управления так, чтобы он указывал на источник данных MsSQL.

  • Загрузите продукт WSO2 Governance Registry и распакуйте его.
  • Перейдите в / repository / conf / datasources и откройте master-datasources.xml
  • Затем измените следующие записи в источнике данных WSO2CARBON.
    <datasource>
                <name>WSO2_CARBON_DB</name>
                <description>The datasource used for registry and user manager</description>
                <jndiConfig>
                    <name>jdbc/WSO2CarbonDB</name>
                </jndiConfig>
                <definition type="RDBMS">
                    <configuration>
                        <url>jdbc:sqlserver://127.0.0.1:1433;databaseName=REMOTEDB</url>
                        <username>sa</username>
                        <password>pass#word2</password>
                        <driverClassName>com.microsoft.sqlserver.jdbc.SQLServerDriver</driverClassName>
                        <maxActive>50</maxActive>
                        <maxWait>60000</maxWait>
                        <testOnBorrow>true</testOnBorrow>
                        <validationQuery>SELECT 1</validationQuery>
                        <validationInterval>30000</validationInterval>
                    </configuration>
                </definition>
    </datasource>
  • Заполните URL, имя пользователя и пароль в соответствии с вашим экземпляром MsSQL.
  • Войдите в MSSQL 2012 Management studio и создайте базу данных под названием REMOTEDB
  • Затем перейдите в папку / repository / components / lib в извлеченной папке продукта greg и скопируйте загруженный коннектор MsSQL JDBC. Вы можете скачать драйвер sqljdbc по этой ссылке. Скачать
  • Затем запустите продукт управления WSO2 с параметром -Dsetup. (Опция -Dsetup заполняет новые схемы во вновь указанном MsSQL REMOTEDB)
    D:\blog\wso2greg-4.6.0\bin>wso2server.bat -Dsetup

 Теперь давайте смонтируем продукт WSO2 в этот удаленный реестр. 

  • Давайте использовать WSO2 API Manager для этого примера поста. Сначала загрузите продукт и распакуйте его на жесткий диск.
  • Перейдите в папку / repository / conf / datasources и откройте файл master-datasources.xml.
  • Затем добавьте новый источник данных следующим образом. Для демонстрации давайте назовем новый источник данных как WSO2_CARBON_DB2.
    <datasource>
                <name>WSO2_CARBON_DB2</name>
                <description>The datasource used for registry and user manager</description>
                <jndiConfig>
                    <name>jdbc/WSO2CarbonDB2</name>
                </jndiConfig>
                <definition type="RDBMS">
                    <configuration>
                        <url>jdbc:sqlserver://127.0.0.1:1433;databaseName=REMOTEDB</url>
                        <username>sa</username>
                        <password>pass#word2</password>
                        <driverClassName>com.microsoft.sqlserver.jdbc.SQLServerDriver</driverClassName>
                        <maxActive>50</maxActive>
                        <maxWait>60000</maxWait>
                        <testOnBorrow>true</testOnBorrow>
                        <validationQuery>SELECT 1</validationQuery>
                        <validationInterval>30000</validationInterval>
                    </configuration>
                </definition>
    </datasource>
  • Обратите внимание, что этот источник данных является совершенно новой записью, и пусть конфигурация по умолчанию переосмысливается.
  • Теперь, как мы это делали в продукте управления WSO2, скопируйте драйвер saljdbc в папку / repository / components / lib
  • Не открывайте файл / repository / conf registry.xml в продукте WSO2 API Manager и внесите следующие изменения.
  •  Добавьте новый dbConfig следующим образом
    <dbConfig name="remoteRegistry">
           <dataSource>jdbc/WSO2CarbonDB2</dataSource>
    </dbConfig>
  • Обратите внимание, что для dataSource задано имя jndiConfig, которое мы использовали в новом источнике данных, определенном в master-datasources.xml менеджера API.
  • Теперь найдите следующую конфигурацию, раскомментируйте ее и измените ее на следующие значения конфигурации.
    <remoteInstance url="https://localhost:9443/registry">
            <id>apimanager</id>
            <dbConfig>remoteRegistry</dbConfig>
            <readOnly>false</readOnly>
            <enableCache>true</enableCache>
            <registryRoot>/</registryRoot>
    </remoteInstance>
  • Note that the dbConfig name is set to the newly added dbConfig name, which is «remoteRegistry» in this example. Give a unique id value.
  • Then we set the remote mounted path using the following configuration.
    <mount path="/_system/config" overwrite="true">
            <instanceId>apimanager</instanceId>
            <targetPath>/_system/amnode</targetPath>
    </mount>
  • This configuration is comment by default and you have to uncomment and provide the relevant values. Note that the instanceID value is same as the id value in remoteInstance configuration.
  • The target path is set to /_system/amnode if you are using several API Manager nodes you can set all to the same path. If it is a different product it is recommend to use a different path for example ESB node path would be /_system/esbnode
  • /_system/config is the path which the product is going to be mounted.
  • Now finally if you have followed the above steps correctly start the API Manager with some port Offset if the product is running in the same machine.
    D:\blog\wso2am-1.6.0\bin>wso2server.bat -DportOffset=100
    
  • Now log into the API Manager Web UI using the following URL https://192.168.1.2:9543/carbon/
  • При просмотре ресурса можно увидеть удаленно смонтированный реестр / _system / config.
Представление ресурса API Manager

Это все на данный момент. Не стесняйтесь высказывать свои мысли о посте. 🙂