Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]() ![]() |
第4章 アプリケーションの開発(各機能) | > 4.2 イベント通信のアプリケーション開発 |
イベントサービスのアプリケーションをノーティフィケーションサービスのアプリケーションに変更するには、使用するインタフェースを変更する必要があります。各サービスのインタフェースの対応を以下の表にアプリケーションの処理に沿って示します。
なお、ノーティフィケーションサービス固有(QoS機能)のインタフェースは、新規に作り込む必要があります。インタフェースおよび使用方法については、以降の各開発言語のノーティフィケーションサービスインタフェース(開発手順の節内)、および“QoSプロパティ項目の設定”を参照してください。
項番 |
イベントサービスのインタフェース |
ノーティフィケーションサービスのインタフェース |
|
any型 |
StructuredEvent型 |
any型 |
|
1 |
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_EventChannel__get_default_ |
|
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_EventChannel__get_default_ |
||
2 |
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_SupplierAdmin_obtain_ |
|
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_ConsumerAdmin_obtain_ |
||
3 |
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_ |
CosNotifyChannelAdmin_ |
CosEventChannelAdmin_ |
CosNotifyChannelAdmin_ |
CosNotifyChannelAdmin_ |
|
4 |
CosEventComm_PushConsumer_push CosEventChannelAdmin_ |
CosNotifyComm_ CosNotifyChannelAdmin_ |
CosNotifyChannelAdmin_ |
CosEventComm_PullSupplier_pull CosEventChannelAdmin_ |
CosNotifyComm_ CosNotifyChannelAdmin_ |
CosNotifyChannelAdmin_ |
|
CosEventComm_PullSupplier_try_ CosEventChannelAdmin_ |
CosNotifyComm_ CosNotifyChannelAdmin_ |
CosNotifyChannelAdmin_ |
|
5 |
CosEventComm_PushConsumer_ CosEventChannelAdmin_ |
CosNotifyComm_ CosNotifyChannelAdmin_ |
イベントサービスのイン |
CosEventComm_PullSupplier_ CosEventChannelAdmin_ |
CosNotifyComm_ CosNotifyChannelAdmin_ |
イベントサービスのイン |
|
6 |
EventFactory_create |
CosNotifyChannelAdmin_EventChannelFactory_create_channel |
イベントサービスのアプリケーションで、ノーティフィケーションサービスのイベントチャネルと接続する場合には、アプリケーションの一部を変更し、翻訳する必要があります(運用形態については、“イベントチャネルとアプリケーションとの接続互換”を参照してください)。
イベントチャネルのオブジェクトリファレンスの獲得処理で、ノーティフィケーションサービスのイベントチャネルのオブジェクトリファレンスを獲得するため、オブジェクトリファレンスのデータ型を変更します。
詳細については、本章の各開発言語の“イベントチャネルのオブジェクトリファレンスの獲得”を参照してください。
以下にサンプルプログラムでのアプリケーションの変更例を示します。
インクルードファイルの指定、およびイベントチャネルのオブジェクトリファレンスの型を変更します。
[インクルードファイルの指定] #include "EventService.h" ↓ #include "NotificationService.h"
[イベントチャネルのオブジェクトリファレンスの型の変更] CosEventChannelAdmin_EventChannel channel; ↓ CosNotifyChannelAdmin_EventChannel channel;
インクルードファイルの指定、およびイベントチャネルのオブジェクトリファレンスの型を変更します。
[インクルードファイルの指定] #include "EventService_cplus.h" ↓ #include "NotificationService_cplus.h"
[イベントチャネルのオブジェクトリファレンスの型の変更] CosEventChannelAdmin::EventChannel_ptr channel; ↓ CosNotifyChannelAdmin::EventChannel_ptr channel; channel = CosEventChannelAdmin::EventChannel::_narrow( obj ); ↓ channel = CosNotifyChannelAdmin::EventChannel::_narrow( obj );
イベントチャネルのオブジェクトリファレンスの型を変更します。
[イベントチャネルのオブジェクトリファレンスの型の変更] EventChannel channel; ↓ org.omg.CosNotifyChannelAdmin.EventChannel channel; channel = EventChannelHelper.narrow( nameobj ); ↓ channel = org.omg.CosNotifyChannelAdmin.EventChannelHelper.narrow( nameobj );
また、コンシューマアプリケーションで、StructuredEvent型のデータを受信する場合は、any型のメンバとして、StructuredEvent型のメッセージ構造が格納されます。変換方式については、“StructuredEvent型からany型への変換”を参照してください。
なお、C言語およびC++言語のアプリケーションでは、ノーティフィケーションサービスのスタブライブラリを結合する必要があります。
目次
索引
![]() ![]() |