WTC配置(一)

 

1調用方式

2 Tuxedo的配置

2.1設置環境變量:

2.2編寫Tuxedo服務(atmi)

2.3編寫Tuxedo客戶端(atmi)

2.3.1 simpcl.c文件

2.3.1 tolower.c文件

2.4配置ubbconfig文件

2.5編譯ubbconfig文件

2.6配置domconfig文件

2.7編譯domconfig文件

3 EJB程序開發

3.1編寫WeblogicEJB.java

3.2配置ejb-jar.xml

3.3配置weblogic-ejb-jar.xml

3.4 EJB程序打包成JAR

4 WTC的配置

4.1 EJB發佈到weblogic

4.2創建WTC服務

4.3創建本地Tuxedo訪問點

4.4創建遠程Tuxedo訪問點

4.5創建已導出的服務

4.6創建已導入的服務

4.7mySimpapp指向adminServer

4.8TDOM1註冊爲WebLogic用戶

5測試通信

5.1生成服務端

5.2生成產客戶端

5.3引導Tuxedo

5.4 TuxedoWebLogic的互操作性

5.5 WebLogic應用訪問Tuxedo服務

5.5.1編寫TuxedoClient.java

5.5.2編寫tuxedo.jsp

 

 

 

 

 

 

 

1調用方式

WEBLOGICTUXEDO的調用有三種方式
1
WTC(WEBLOGIC TUXEDO CONNECTOR)

WebLogic Tuxedo Connector提供 WebLogic Server 應用程序和 Tuxedo服務之間的互操作性。該連接器允許 WebLogic Server客戶端調用 Tuxedo 服務,並允許 Tuxedo客戶端調用 WebLogic Server Enterprise Java Bean (EJB)來響應服務請求。

2JOLT

JOLT只能讓WEBLOGIC調用TUXEDO. JOLT可以使TUXEDOWEBSPERE等其他應用服務器相連。

3CORBA(Common Object Request Broker Architecture)

CORBA是通用對象請求代理體系結構(Common Object Request Broker Architecture) 的英文縮寫,這是標準化組織OMG提出的一種實現分佈式異構環境下面向對象軟件的可重用、可移植、可互操作的體系結構。只要符合CORBA規範的服務器之間都可以互聯。

2 Tuxedo的配置

2.1設置環境變量:

set TUXDIR=C:\bea\tuxedo8.1

set APPDIR=C:\bea\tuxedo8.1\samples\atmi\simpapp

set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%

set TUXCONFIG=%APPDIR%\tuxconfig  //編譯之後生成的2進制配置文件. Tuxconfig

set BDMCONFIG=%APPDIR%\bdmconfig //編譯之後生成的2進制配置文件. Bdmconfig

2.2編寫Tuxedo服務(atmi)

/*    (c) 2003 BEA Systems, Inc. All Rights Reserved. */

/*    Copyright (c) 1997 BEA Systems, Inc.

      All rights reserved

      THIS IS UNPUBLISHED PROPRIETARY

      SOURCE CODE OF BEA Systems, Inc.

      The copyright notice above does not

      evidence any actual or intended

      publication of such source code.

*/

/* #ident  "@(#) samples/atmi/simpapp/simpserv.c      $Revision: 1.5 $" */

#include <stdio.h>

#include <ctype.h>

#include <atmi.h>   /* TUXEDO Header File */

#include <userlog.h>     /* TUXEDO Header File */

/* tpsvrinit is executed when a server is booted, before it begins

   processing requests.  It is not necessary to have this function.

   Also available is tpsvrdone (not used in this example), which is

   called at server shutdown time.

*/

#if defined(__STDC__) || defined(__cplusplus)

tpsvrinit(int argc, char *argv[])

#else

tpsvrinit(argc, argv)

int argc;

char **argv;

#endif

{

       /* Some compilers warn if argc and argv aren't used. */

       argc = argc;

       argv = argv;

       /* userlog writes to the central TUXEDO message log */

       userlog("Welcome to the simple server");

       return(0);

}

/* This function performs the actual service requested by the client.

   Its argument is a structure containing among other things a pointer

   to the data buffer, and the length of the data buffer.

*/

#ifdef __cplusplus

extern "C"

#endif

void

#if defined(__STDC__) || defined(__cplusplus)

TOUPPER(TPSVCINFO *rqst)

#else

TOUPPER(rqst)

TPSVCINFO *rqst;

#endif

{

       int i;

       for(i = 0; i < rqst->len-1; i++)

              rqst->data[i] = toupper(rqst->data[i]);

       /* Return the transformed buffer to the requestor. */

       tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);

}

2.3編寫Tuxedo客戶端(atmi)

2.3.1 simpcl.c文件

是用來調用tuxedo服務器上的TOUPPER服務的客戶端。

/*    (c) 2003 BEA Systems, Inc. All Rights Reserved. */

/*    Copyright (c) 1997 BEA Systems, Inc.

      All rights reserved

      THIS IS UNPUBLISHED PROPRIETARY

      SOURCE CODE OF BEA Systems, Inc.

      The copyright notice above does not

      evidence any actual or intended

      publication of such source code.

*/

/* #ident  "@(#) samples/atmi/simpapp/simpcl.c  $Revision: 1.5 $" */

#include <stdio.h>

#include "atmi.h"           /* TUXEDO  Header File */

#if defined(__STDC__) || defined(__cplusplus)

main(int argc, char *argv[])

#else

main(argc, argv)

int argc;

char *argv[];

#endif

{

 

       char *sendbuf, *rcvbuf;

       long sendlen, rcvlen;

       int ret;

       if(argc != 2) {

              (void) fprintf(stderr, "Usage: simpcl string\n");

              return(1);

       }

       /* Attach to System/T as a Client Process */

       if (tpinit((TPINIT *) NULL) == -1) {

              (void) fprintf(stderr, "Tpinit failed\n");

              return(1);

       }

       sendlen = strlen(argv[1]);

       /* Allocate STRING buffers for the request and the reply */

       if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating send buffer\n");

              tpterm();

              return(1);

       }

       if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating receive buffer\n");

              tpfree(sendbuf);

              tpterm();

              return(1);

       }

       (void) strcpy(sendbuf, argv[1]);

       /* Request the service TOUPPER, waiting for a reply */

       ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);

       if(ret == -1) {

              (void) fprintf(stderr, "Can't send request to service TOUPPER\n");

              (void) fprintf(stderr, "Tperrno = %d\n", tperrno);

              tpfree(sendbuf);

              tpfree(rcvbuf);

              tpterm();

              return(1);

       }

       (void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);

       /* Free Buffers & Detach from System/T */

       tpfree(sendbuf);

       tpfree(rcvbuf);

       tpterm();

       return(0);

}

2.3.1 tolower.c文件

是用來調用Weblogic服務器上的TOLOWER服務的客戶端。

/*    Copyright (c) 2002 BEA Systems, Inc.

      All rights reserved

      THIS IS UNPUBLISHED PROPRIETARY

      SOURCE CODE OF BEA Systems, Inc.

      The copyright notice above does not

      evidence any actual or intended

      publication of such source code.

*/

/* #ident  "@(#) apps/simpapp/ tolower.c     $Revision: 1.3 $" */

#include <stdio.h>

#include "atmi.h"           /* TUXEDO  Header File */

#if defined(__STDC__) || defined(__cplusplus)

main(int argc, char *argv[])

#else

main(argc, argv)

int argc;

char *argv[];

#endif

{

       char *sendbuf, *rcvbuf;

       long sendlen, rcvlen;

       int ret;

       if(argc != 2) {

              (void) fprintf(stderr, "Usage: tolower string\n");

              return(1);

       }

       /* Attach to System/T as a Client Process */

       if (tpinit((TPINIT *) NULL) == -1) {

              (void) fprintf(stderr, "Tpinit failed\n");

              return(1);

       }

       sendlen = strlen(argv[1]);

       /* Allocate STRING buffers for the request and the reply */

       if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating send buffer\n");

              tpterm();

              return(1);

       }

       if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating receive buffer\n");

              tpfree(sendbuf);

              tpterm();

              return(1);

       }

       (void) strcpy(sendbuf, argv[1]);

       /* Request the service TOLOWER, waiting for a reply */

       ret = tpcall("TOLOWER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);

       if(ret == -1) {

              (void) fprintf(stderr, "Can't send request to service TOLOWER\n");

              (void) fprintf(stderr, "Tperrno = %d\n", tperrno);

              tpfree(sendbuf);

              tpfree(rcvbuf);

              tpterm();

              return(1);

       }

       (void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);

       /* Free Buffers & Detach from System/T */

       tpfree(sendbuf);

       tpfree(rcvbuf);

       tpterm();

       return(0);

}

2.4配置ubbconfig文件

*RESOURCES

    IPCKEY    123435

    DOMAINID  TDOM1                                  //與導入資源名稱相同

    MASTER    SITE1

    MODEL     SHM

    LDBAL     N

*MACHINES

    "@HOST@"

        LMID         = SITE1

        APPDIR       = "@APPDIR@"

        TUXCONFIG    = "@TUXCONFIG@"

        TUXDIR       = "@TUXDIR@"

        MAXWSCLIENTS = 10

*GROUPS

GROUP1

       LMID=SITE1 GRPNO=1      OPENINFO=NONE

GROUP2

       LMID=SITE1 GRPNO=2      OPENINFO=NONE

 

*SERVERS

DEFAULT:

              CLOPT="-A"

simpserv SRVGRP=GROUP1 SRVID=1

DMADM        SRVGRP=GROUP2 SRVID=1

GWADM        SRVGRP=GROUP2 SRVID=2

GWTDOMAIN      SRVGRP=GROUP2 SRVID=3

 

*SERVICES

TOUPPER

2.5編譯ubbconfig文件

tmloadcf –y ubbconfig

2.6配置domconfig文件

*DM_RESOURCES

VERSION=U22

*DM_LOCAL_DOMAINS

TDOM1  GWGRP=GROUP2

       TYPE=TDOMAIN

       DOMAINID="TDOM1"

       BLOCKTIME=20

       MAXDATALEN=56

       MAXRDOM=89

       DMTLOGDEV="@DMTLOGDEV@"

       DMTLOGNAME="DMTLOG_TUXDOM"

*DM_REMOTE_DOMAINS

TDOM2        TYPE=TDOMAIN

       DOMAINID="TDOM2"

*DM_TDOMAIN

TDOM1        NWADDR="//@TuxedoServerIP@:1234"

TDOM2        NWADDR="//@WebLogicServerIP@:5678"

*DM_REMOTE_SERVICES

TOLOWER RDOM="TDOM2"

2.7編譯domconfig文件

dmconfig –y domconfig
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章