Kony FabricのIntegration Serviceの紹介

#目次
1.Integration Serviceの概要とユースケース
2.サポートされているエンドポイント
3.Integration Serviceの構成
4.Integration Serviceの管理
5.Integration Serviceの接続テスト

#1.Integration Serviceの概要とユースケース
__概要__
Integration Serviceは、外部システムまたはデータソースとのアプリケーションの相互作用を表すアプリケーションコンポーネントである。
構成は必要に応じて
サービスタイプ、エンドポイントURL、サービスID、タイプ (HTTP / HTTPS)、リクエストパラメーター、レスポンスパラメーター、プリプロセッサーとポストプロセッサー、および認証資格情報にすることが可能。

__ユースケース__
ユーザーがトップニュース、科学、技術、スポーツ、気象条件などのさまざまなカテゴリのニュースヘッドラインを閲覧できるようにするアプリを開発する場合、
Kony FabricのIntegration Serviceを使用して、ニュースAPIや天気APIからデータを取得する必要があり、これにより、アプリのフロントエンドに同じデータが入力される。
#2.サポートされているエンドポイント
Kony Integration Serviceは、XML、JSON、JavaScript、データベース、SalesforceなどのWebサービスへのバックエンド接続をサポートする。
KonyのIntegration Serviceは、次のエンドポイントへの接続をサポートしている。

|エンドポイント|説明|
|---|---|
|XML|XMLは、HTTPプロトコルを介してXMLエンドポイントを使用して外部データソースと通信する。|
|SOAP|Simple Object Access Protocol(略SOAP)は、WSDLを使用してSOAPベースのwebサービスの機能を記述するメッセージングプロトコルである。<br>※WSDLとはWebサービスを外部のソフトウェアから接続・利用するための仕様（インターフェース）を記述することができる言語。</br>|
|JSON|JavaScriptObjectNotation(JSON)はHTTPプロトコルを介して外部データソースと通信し、JSON形式でレスポンスを返す。|
|Java|カスタムJavaコードを使用してRESTful APIをサポートしないソフトウェアアプリケーションに対応する。|
|JavaScript|プレーンなJavaScriptサービスをKony Fabricのアプリケーションに統合する。|
|API Proxy|APIプロキシは、中間変換なしで（実際のリクエストとレスポンスに影響を与えることなく）リクエストとレスポンスを転送する。|
|Mock Data|Kony Mock Data機能は、アプリが接続するバックエンドサービスを活用する準備ができていない場合、アプリの開発を継続するのに役立つ。|
|RAML|RESTful API Modeling Language（RAML）は、RESTful APIを記述するためのYAMLベースの言語である。<br>※YAMLとは、構造化データやオブジェクトを文字列に直列化するためのデータ形式の一種。|
|Kony SAP Gateway|Kony SAP Gatewayは、サポートされているHTTPメソッドを介して外部SAPサービスと通信する。|
|MuleSoft|MuleSoft（Anypoint Platform™）は、アプリ開発者がカスタムAPIを設計し、Mule Enterprise Service Busランタイム（ESB）にデプロイするのに役立つプラットフォームである。 |
|AWS API Gateway|AWS API Gatewayは、Amazon Web ServicesのAPI Gatewayサービスで設定とデプロイされたサービスに接続する。|
|Database|Kony Fabricデータベースを使用すると、エンドポイントとして独自のデータベースに接続することができる。 Kony Fabric Consoleによりデータベースを構成することで、テーブル内のデータに対して作成、読み取り、更新、削除（CRUD）操作を実行し、ストアドプロシージャ、関数、ビューを呼び出すことが可能となる。|
|MongoDB|Kony Fabric MongoDBデータベースを使用すると、エンドポイントとして独自のMongoDBデータベースに接続することができる。 MongoDBを構成することで、MongoDBのコレクションとドキュメントに対して作成、読み取り、更新、削除（CRUD）操作を実行が可能となる。|
|Salesforce|Salesforceは、プロトコル固有のアダプターを使用して外部システムに接続し、そのデータにアクセスする。|
|IBM MQ|IBM MQサーバー(ver.9.0.0)は、複数のプラットフォームにわたって多様なアプリケーションとビジネスデータの統合を簡素化し、加速させるメッセージングミドルウェアである。<br> Konyは、IBM MQサービスを使用してメッセージ配信を保護し、データ損失のリスクを低減する。|
|SAP JCo|Kony Fabricでは、カスタムSAPコネクタを使用して外部SAPサービスにアクセスして使用することができる。 <br>SAPサービスを定義するには、必要なBusiness Application Programming Interface（BAPI）関数をロードする必要がある。 BAPIファイルには、SAPのメソッドと機能が含まれている。|
|Open API(Swagger)|Swaggerは、RESTful APIの設計、構築、文書化、使用を支援するツールの大規模なエコシステムに支えられたオープンAPI仕様フレームワークである。|

#3.Integration Serviceの構成
1.アプリケーションを作成した後、KonyFabricConsoleにて、
Configure Servicesタブで、Integrationタブをクリックする。Integrationページが表示され、
既存のIntegration Service（存在する場合）が一覧表示される。
![図51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/310e0406-d397-a351-b314-95e3919fda18.png)
 2. CONFIGURE NEWをクリックして、Integration Serviceを作成する。
 以下の詳細がIntegration Service Designerに表示される。
![図52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/91ce37d4-b00d-2b64-e843-688a84ee0ec2.png)
Integrationページでは、エンドポイントに対し次のセクションが表示される。

|No|セクション|説明|
|---|---|---|
|1|Add|以下を追加できる： <br>新しいサービスの追加,既存の使用,新しい操作の追加|
|2|Clone|既存のサービスを複製できる。複製されたサービスに加えられた変更は、元のサービスには影響しない。|
|3|SampleCode|動的コードは、サービスの構成に基づいて生成される。 SDKでこのコードを使用できる。|
|4|Unlink|アプリのIntegration Serviceセクションからサービスを削除できる。<br>サービスのリンクが解除されると、特定のアプリとの関連付けが解除される。|
|5|Deletebutton|サービスを削除できる。|
|6|Searchbutton|サービスと操作を検索できる。|
|7|Service Section|サービスの展開ボタンまたは折りたたみボタンをクリックして、サービスの操作を表示または非表示にすることができる。|
|8|Show/Hide Button|ツリーの表示または非表示を許可する。<br>ツリーセクションを非表示にすると、サービス定義または操作の詳細に右側のペインが使用される。|
|9|Service Definition Tab|サービスの定義を構成できる。|
|10|OperationsList Tab|Service Definition Tabで詳細を保存した後にのみ表示される。 |

#4.Integration Serviceの管理
__サービスのバージョンを保存する方法__
Integration Serviceを新しいバージョンに保存することができる。
新しいバージョンを保存すると、現在のバージョンのサービスがKony Fabricアプリケーションからリンク解除され、新しいバージョンがリンクされる。
Kony Fabricアプリは、インテグレーションサービスの1つのバージョンにのみ関連付けることができる。

__Integration Serviceの異なるバージョンを使用するには、次の手順を実行する__
1.Integrationタブで、既存のサービスのリストでサービスの名前をクリックする。
サービスのOperationsメニューからEditを選択することもできる。
Service Definitionタブが表示される。
2.Versionメニューをクリックする。
3.サービスのバージョンを選択する。
4.Alertダイアログが表示される。Alertは、現在の関連バージョンのサービスをアプリケーションからリンク解除していることを警告する。
5.OKをクリックする。
Kony Fabricは、選択したバージョンをKony Fabricアプリケーションにリンクする。
![図53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/cc7b0616-b2f8-5552-478b-d388a2a28455.png)

__サービスのバージョンを使用する方法__
既存のサービスから一度に複数のサービスを追加または複製できる。
Integration Serviceの異なるバージョンを使用するには、次の手順を実行する
![図54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/f9fc5b9d-073d-f110-df3b-7d63e6caf861.png)
1.Integrationタブに移動する。ページには、既存のサービス（存在する場合）がリストされる。
2.Integrationで、左ペインまたは右ペインのツリーからUSE EXISTINGをクリックする。
[The Existing service]ダイアログが表示され、既存のサービスのリストが表示される
![図56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/8d153702-30f5-17a9-e995-75cb325bda24.png)
 3. 異なるバージョンを使用するには、必要なサービスのVersionメニューをクリックして、サービスのバージョンを選択する。
 4. 目的のサービスのチェックボックスを選択する。複数のサービスを追加または複製する場合は、既存のサービスから必要なチェックボックスをオンにする。
 5. CLONEまたはADDボタンをクリックする。
・ADDをクリックして、既存のサービスを再利用（リンク）する。
→このサービスに変更が加えられた場合、変更はこのサービスを使用するすべてのアプリに影響する。 
・CLONEをクリックして、既存のサービスを複製する。
→このサービスに加えられた変更が元のサービスに影響を与えない。
 6. サービスが正常に追加または複製されたら、CLOSEをクリックしてダイアログを閉じる。

__画像メニューには次のオプションが存在します__
![図57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599796/a9b626b5-8217-d3e9-e48f-f46385848a3a.png)
本記事上部の4.Integration Serviceの構成で説明している部分については省略いたします。

|セクション|説明|
|---|---|
|Edit|サービスを編集することができる。|
|Audit Logs|サービスで実行されたすべてのユーザーアクティビティをキャプチャする。 |
|Console Access Control|アプリケーションとアプリケーションのサービスへのアクセスを制御する。 |
|Export|Integration Serviceをローカルシステムにエクスポートできる。<br>エクスポートされたファイルは.xmlファイルである。</br><br>※既存システムで変更を加える際最初にExportして置くことでバックアップをとって置くことを推奨します。</br>|
Audit Logsの詳細に関してはこちら参照ください。
https://docs.kony.com/konylibrary/konyfabric/kony_fabric_user_guide/Content/Settings_Cloud.htm#AuditLogs-Cloud 

 
#5.Integration Serviceの接続確認テスト

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Integration Serviceのテスト方法 <a href="https://t.co/51pUgWZR3o">pic.twitter.com/51pUgWZR3o</a></p>&mdash; Kony (@Kony12763790) <a href="https://twitter.com/Kony12763790/status/1244444692386729984?ref_src=twsrc%5Etfw">March 30, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>