BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   サンプルを使用した BEA Tuxedo アプリケーションの開発方法   |   先頭へ   |   前へ   |   次へ   |   目次

 


ステップ 3: サーバ・プログラムの検証およびコンパイル

サーバ・プログラムの検証

ATMI サーバ・プログラムのソース・コードの内容を確認します。

$ more simpserv.c

simpserv.c のソース・コード

   */
/* #ident	"@(#) apps/simpapp/simpserv.c	$Revision: 1.1 $" */
1 #include <stdio.h>
2 #include <ctype.h>
3 #include <atmi.h> /* TUXEDO Header File */
4 #include <userlog.h> /* TUXEDO ヘッダ・ファイル */
5 /* tpsvrinit は、サーバの起動時
(要求の処理を行う前) に実行されます。この関数は必須ではありません。
この例では使用されていませんが、サーバのシャットダウン時に呼び出される
tpsvrdone も使用できます。
9  */
10 #if defined(__STDC__) || defined(__cplusplus)

12 tpsvrinit(int argc, char *argv[])
13 #else
14 tpsvrinit(argc, argv)
15 int argc;
16 char **argv;
17 #endif
18 {
19 /* argc と argv が使用されないと、コンパイラによる警告メッセージが出力されます。
20 */
21 argc = argc;
22 argv = argv;
23 /* userlog は TUXEDO 中央メッセージ・ログに書き込みます。 */
24 userlog("Welcome to the simple server");
25 return(0);
26 }
27 /* この関数は、クライアントから要求された実際のサービスを実行します。
引数には、データ・バッファへのポインタ、データ・バッファの長さなどを含む
構造体を指定します。
30 */
31 #ifdef __cplusplus
32 extern "C"
33 #endif
34 void
35 #if defined(__STDC__) || defined(__cplusplus)
36 TOUPPER(TPSVCINFO *rqst)
37 #else
38 TOUPPER(rqst)
39 TPSVCINFO *rqst;
40 #endif
41 {
42 int i;
43
44 for(i = 0; i < rqst->len-1; i++)
45 rqst->data[i] = toupper(rqst->data[i]);
46 /* 転送されたバッファを要求の発信元に返します。 */
47 tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
48 }

simpserv.c ソース・コードでの重要なコード行

行数

ファイル/関数

目的

ファイル全体


BEA Tuxedo のサーバには、main() 関数が含まれていません。main() 関数は、サーバのビルド時に BEA Tuxedo システムによって提供されます。

12

tpsvrinit()

このサブルーチンは、サーバの初期化時 (サーバがサービス要求を処理する前) に呼び出されます。BEA Tuxedo システムで提供されるデフォルトのサブルーチンでは、サーバが起動したことを示すメッセージが USERLOG に書き込まれます。userlog(3c) は、BEA Tuxedo システムで使用されるログで、アプリケーションでも使用できます。

38

TOUPPER()

サービス (simpserv で唯一実行されるサービス) の宣言です。このサービスに必要な唯一の引数は、TPSVCINFO 構造体へのポインタです。この構造体には、大文字に変換する文字列データが格納されます。

45

for loop

TOUPPER を繰り返し呼び出して、入力を大文字に変換します。

49

tpreturn()

TPSUCCESS フラグに設定された値と、変換された文字列をクライアントに返します。


 

サーバ・プログラムのコンパイル

  1. buildserver を実行して、ATMI サーバ・プログラムをコンパイルします。
        buildserver -o simpserv -f simpserv.c -s TOUPPER

    simpserv は作成される実行ファイル、simpserv.c は入力ソース・ファイルです。-s TOUPPER オプションは、サーバの起動時に宣言されるサービスを指定します。

  2. 結果を確認します。
    $ ls -l
    total 97
    -rwxr-x--x 1 usrid grpid 313091 May 28 15:41 simpcl
    -rw-r----- 1 usrid grpid 1064 May 28 07:51 simpcl.c
    -rwxr-x--x 1 usrid grpid 358369 May 29 09:00 simpserv
    -rw-r----- 1 usrid grpid 275 May 28 08:57 simpserv.c
    -rw-r----- 1 usrid grpid 392 May 28 07:51 ubbsimple

simpserv という実行可能モジュールが作成されました。

関連項目

 

先頭へ戻る 前のトピックへ 次のトピックへ