Web サービスとしてジョブを公開する

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ジョブの構成の例 >

Web サービスとしてジョブを公開する

この例では、 Web サービスとしてのサンプルマッピングジョブを公表する方法が説明されています。 MapForce を使用してにサンプルマッピングはデザインされており、個人のレコードを補完する Microsoft Access データベースからデータが読み取られます。マッピングはデータベースから(パラメータとして与えられる)特定の文字で始まる姓を持つ個人のレコードのみが取得されます。 (同じ、または、異なるマシン上で) MapForce から FlowForce Server へ既存のマッピングをデプロイし、 Web サービスへ変換する方法について学ぶことができます。このサンプルが終わると、 Web サービスをブラウザーから呼び出すことができます。

 

必要条件

必須のライセンス: MapForce Enterprise または Professional エディション、 MapForce Server、または、 MapForce Server Advanced Edition、および FlowForce Server。
FlowForce Server が構成された ネットワークアドレスとポートで動作していること (以下を参照: ネットワークアドレスとポートの設定)
コンテナーの1つでパーミッションを有する FlowForce Server ユーザーアカウントを有していること  (デフォルトでは、 /public コンテナー には、認証されたユーザーがアクセスすることができます)。
このサンプルで使用されているマッピングは Microsoft Access データベースからデータを読み取ります。 Microsoft Access または Microsoft Access Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=50040) を FlowForce Server が作動しているマシン上人ストールする必要があります。

 

使用されるデモファイル

このサンプルは以下のファイルを使用しており、MapForceがインストールされているコンピューター上で次のパスを使用して見つけることができます: ..\Documents\Altova\MapForce2019\MapForceExamples.

 

DB_PhoneList.mfd (MapForce マッピングデザインファイル)
altova.mdb (マッピングがデータを読み取る Microsoft Access データベース)。

 

異なるマシンへマッピングをデプロイする準備

このマッピングはデータベースファイルからデータを読み取るため、このセクションで説明されているとおり追加の構成がマッピングのデプロイの前に行われる必要があります。 MapForce と FlowForce Server が同じコンピューター上にインストールされている場合、下記の「マッピングのデプロイ」のセクションをスキップすることができます。

 

メモ:「ソースマシン」という用語は、 MapForce がインストールされているコンピューターを指しており、「ターゲットマシン」は FlowForce Server がインストールされているマシンを指しています。

 

ターゲットマシンにマッピングをデプロイする前に、以下を行ってください:

 

1.ターゲットマシン上では、「FlowForce Web Server」 サービスをすべてのインターフェイス、または、ローカルホスト以外の特定の IP アドレス上でリッスンするように構成します。ネットワーク設定の定義 を参照してください。ブラウザーから次の URL にアクセスし、サービスが正確に構成されているかを確認することができます: http://<FlowForce Web Server><port>。 指定されているアドレスとポートが受信する接続がファイアーウォールによりブロックされていないことを確認してください。
2.上記の通り、このサンプルで作成されるジョブは Web サービスとして使用できる必要があります。FlowForce 内では、 Web サービスとして公開されているジョブへのリクエストは「FlowForce Web Server」 サービスではなく 「FlowForce Server」 サービスにより処理されます (しくみも参照してください )。このため、 Web サービスがローカルホストの外部の HTTP クライアントにアクセス可能な場合、「FlowForce Server」サービスはすべてのインターフェイス上で、または、ローカルホスト以外の特定のアドレスによりリッスンできるように構成されている必要があります。 このサービスが正確に構成されているか、ブラウザーから次の URL にアクセスして確認することができます : http://<FlowForce Server><port>/service/ 。 Web サービスとして公開されているすべてのジョブは (存在する場合) ブラウザーウィンドウ内に直接リンクとして表示されます。

 

デプロイする前に、マッピングは、絶対パスの代わりに相対パスを使用するように再度構成される必要があります:

 

1.DB_PhoneList.mfd を MapForce 内でマッピングを開き、マッピングエリアを右クリックし、コンテキストメニューから 「マッピングの設定」 を選択します。
2.「生成されたコードでは絶対パスを使用する」 チェックボックスをクリアします。

fs_ws_job_02

3.マッピングを保存します。

 

Microsoft Access または SQLite などのファイルベースのデータベースはマッピングと共にターゲットマシンにデプロイされません。このため、Access データベースは手動でソースマシンからターゲットマシンにコピーされる必要があります。ソースマシン上のディレクトリ ..\Documents\Altova\MapForce2019\MapForceExamples から altova.mdb データベース ファイルをコピーし、ターゲットマシン上の空のディレクトリに張り付けます。 このサンプルでは、ターゲットディレクトリは 「C:\FlowForceWorkingDir」 です。このディレクトリは後に FlowForce ジョブで参照されます。

 

マッピングは FlowForce Server にデプロイされる準備ができています。データベース接続を含むマッピングのデプロイに関する情報は、サーバー実行のためにマッピングを準備する

 

マッピングのデプロイ

1.DB_PhoneList.mfd MapForce 内で開きます。
2.「ファイル」 メニューで、「FlowForce Server にデプロイする」をクリックします。このサンプルの目的のために、マッピングはデフォルトのパス (/public コンテナー) にデプロイされます。異なるマシン上の FlowForce Server にデプロイする場合、「localhost:8082」 からサーバーアドレスとポートを FlowForce Server から構成されたものに変更してください(上記を参照してください)。

fs_ws_job_01

 

FlowForce ジョブの作成

FlowForce Server にマッピングがデプロイされ、ブラウザー内にジョブ構成ページが表示されています (上記のダイアログボックスで「新規のジョブを作成するために Web ブラウザーを開く」チェックボックスが選択されていることが前提です)。それ以外の場合、 FlowForce Server Web 管理インターフェイスにログインし、( /public コンテナーである)前にデプロイされたマッピング関数を開き、 「ジョブの作成」をクリックします。

 

ジョブを構成する方法:

1.入力パラメーターから、 型 文字列 の新規入力パラメーターを作成し、NamePrefix と名前をつけます。

ExampleWebService1

2.実行ステップで、 NamePrefix の横の「設定」をクリックして、 NamePrefix を選択します。マッピングパラメーターの値 NamePrefix を前のステップで作成された NamePrefix 入力パラメーターの値に設定します。
3.Working-directory の横に 「C:\FlowForceWorkingDir」 を入力します(これは Access ファイルが以前にコピーされているディレクトリと同じである必要です)。

fs_ws_job_03

4.サービスから 「このジョブを HTTP を介して URL 上で利用可能にする」 チェックボックスをクリックして選択し、GetPhoneList をサービスの名前として入力します。

ExampleWebService3

5.資格情報から、既存の資格情報の記録、または、ローカルの資格情報を指定します (以下を参照: 資格情報 )。

 

資格情報の記録は、ジョブが実行されるオペレーティングシステム上のユーザーアカウントに関連したユーザー名とパスワードにより構成されています。 FlowForce Server ジョブを定義すると、実行される必要のあるジョブの資格情報を与える必要があります。与えられた資格情報に関連したユーザーアカウントが、オペレーティングシステム上で十分な権利がない場合、ジョブを成功裏に実行することはできません。

 

fs_deploy_mapping_05

メモ:FlowForce Server Web 管理インターフェイスへのアクセスのために使用された資格情報とこの資格情報を区別してください。また、ここにユーザーが入力する内容が作業ディレクトリから altova.mdb データベースファイルにアクセスできるように注意してください。それ以外の場合、ジョブは成功せずに失敗します。

 

6.「保存」をクリックします。

 

Web サービスの呼び出し

作成された Web サービスを以下のように呼び出すことができます:

 

1.Web ブラウザー を開き、アドレスバーに 次の URL を入力します。 ( [FlowForceServer][Port] を管理ページ内で構成された設定と置き換えます):

 

http(s)://[FlowForceServer]:[Port]/service/GetPhoneList

 

Internet Explorer を使用して、Web サービスとして FlowForce Server ジョブをテストする場合、 詳細設定 タブ内の「HTTP エラーメッセージを簡易表示する」 オプションを無効化する必要がある場合があります。

 

2.資格情報を与えるように問われると、 FlowForce Server Web 管理インターフェイスにアクセスするために使用される資格情報を入力します。
3.Web サービスのパラメーターを入力するように問われると、 ( 「F」 で始まる姓を持つすべての個人を抽出することを前提として) F を入力します。

ExampleWebService4

4.「送信」をクリックします。 FlowForce Server はジョブを処理し、結果を返します。

ExampleWebService5

ジョブの実行に成功すると、ジョブの出力は直接ブラウザーに表示されます (また、作業ディレクトリ内で出力は生成されます C:\FlowForceWorkingDir)。それ以外の場合、実行エラーが発生すると、詳細のためにジョブのログを参照してください (以下を参照: ジョブのログを確認する )。


(C) 2019 Altova GmbH