Presentation is loading. Please wait.

Presentation is loading. Please wait.

An introduction to BEA Tuxedo

Similar presentations


Presentation on theme: "An introduction to BEA Tuxedo"— Presentation transcript:

1 An introduction to BEA Tuxedo
UKOUG 2008 An introduction to BEA Tuxedo David Kurtz Go-Faster Consultancy Ltd. ©Go-Faster Consultancy Ltd.

2 Introduction to BEA Tuxedo
Who am I? UKOUG 2008 Oracle DBA Independent consultant ex-PeopleSoft UK Performance Tuning PeopleSoft ERP Oracle RDBMS Oak Table Book Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

3 Introduction to BEA Tuxedo
T&C UKOUG 2008 If you can’t hear me say so now. Make sure that you ask questions as we go along. Trust nothing, trust nobody (especially me) Question everything. Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

4 Why am I talking about Tuxedo
Introduction to BEA Tuxedo Why am I talking about Tuxedo UKOUG 2008 Tuxedo is now an Oracle product, it is a part of your Oracle estate Tuxedo used within PeopleSoft ERP (although no ‘Tuxedo development’ required) This presentation is a stalking horse. As a UKOUG director, I want to gauge the interest in the product. Somebody has to do it! Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

5 Introduction to BEA Tuxedo
UKOUG 2008 Architectural Overview How it works The DBA is often has the best mix of skills to assimilate this technology Intimate relationship with the database Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

6 Introduction to BEA Tuxedo
BEA says: UKOUG 2008 Tuxedo is: “middleware for building scalable multi-tier client/server applications in heterogeneous distributed environments.” Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

7 Introduction to BEA Tuxedo
UKOUG 2008 Transactions under UniX Extended for Distributed Operations Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

8 Introduction to BEA Tuxedo
Tuxedo Products UKOUG 2008 BEA TSAM Tuxedo Systems Application Monitor I think this is what I used to know as ATMI XA Transaction BEA SALT Services Architecture Leveraging Tuxedo SOAP over HTTP Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

9 Introduction to BEA Tuxedo
What is Tuxedo? UKOUG 2008 I’m the DBA. Why should I care? Intimate relationship with database Sizing and Configuration Affects your database And therefore performance of system DBA best placed to understand this technology. Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

10 Introduction to BEA Tuxedo
Tuxedo Concepts UKOUG 2008 Remote subroutine call Usually synchronous Sometimes not Message protocol Amongst other things. PeopleSoft only uses ATMI Application-to-Transaction Monitor Interface Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

11 Introduction to BEA Tuxedo
What is Tuxedo? UKOUG 2008 The knots on the ends of the string? Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

12 PeopleSoft Two-tier client
Introduction to BEA Tuxedo PeopleSoft Two-tier client UKOUG 2008 Presentation Logic Panel Load Save Field Change etc... Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

13 PeopleSoft Three-tier client
Introduction to BEA Tuxedo PeopleSoft Three-tier client UKOUG 2008 PeopleSoft created generic services Presentation Logic Tuxedo Client Tuxedo Server Panel Load Save Field Change etc... Client Side Server Side Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

14 Introduction to BEA Tuxedo
Three-tier client UKOUG 2008 More conventional to make a business transaction into a service. Presentation Logic Tuxedo Client Tuxedo Server Application Logic etc... Client Side Server Side Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

15 Advantage of Middleware
Introduction to BEA Tuxedo Advantage of Middleware UKOUG 2008 Application Logic removed from client Few client-server communications Reduced resource overhead And it isn’t in the database either Database CPUs must be licensed Scalable middle-tier Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

16 Simple Application Server
Introduction to BEA Tuxedo Simple Application Server UKOUG 2008 Delivered by BEA %TUXDIR%\samples\atmi\simpapp Remote Call ‘Hello World’ program Tuxedo MIB ubbsimple simpcl.c TOUPPER() simpserv.c TOUPPER service TOUPPER service client Tuxedo process server process Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

17 Introduction to BEA Tuxedo
Simple Client UKOUG 2008 1. Connects to Bulletin Board /* Attach to System/T as a Client Process */ if (tpinit((TPINIT *) NULL) == -1) { (void) fprintf(stderr, "Tpinit failed\n"); exit(1); } Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

18 Introduction to BEA Tuxedo
Simple Client UKOUG 2008 2. Allocates memory for messages sendlen = strlen(argv[1]); if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) { (void) fprintf(stderr,"Error allocating send buffer\n"); tpterm(); exit(1); } if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) { (void) fprintf(stderr,"Error allocating receive buffer\n"); tpfree(sendbuf); Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

19 Introduction to BEA Tuxedo
Simple Client UKOUG 2008 3. Copy command line to message and send the message to the server (void) strcpy(sendbuf, argv[1]); ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0); (void) fprintf(stdout, "Returned string is: %s\n", rcvbuf); Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

20 Introduction to BEA Tuxedo
Simple Client UKOUG 2008 4. Release memory and disconnect /* Free Buffers & Detach from System/T */ tpfree(sendbuf); tpfree(rcvbuf); tpterm(); return(0); Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

21 Introduction to BEA Tuxedo
Simple Server UKOUG 2008 %TUXDIR%/include/atmi.h /* interface to service routines */ struct tpsvcinfo { #define XATMI_SERVICE_NAME_LENGTH 32 char name[XATMI_SERVICE_NAME_LENGTH]; /* service name invoked */ long flags; /* describes service attributes */ char *data; /* pointer to data */ long len; /* request data length */ int cd; /* connection descriptor */ long appkey; /* application authentication client key */ CLIENTID cltid; /* client identifier for originating client */ }; typedef struct tpsvcinfo TPSVCINFO; Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

22 Introduction to BEA Tuxedo
Simple Server UKOUG 2008 Each service is a sub-routine. TOUPPER(TPSVCINFO *rqst) { 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); } # Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

23 Introduction to BEA Tuxedo
Simple Domain UKOUG 2008 The domain has one server that advertises one service. *SERVERS DEFAULT: CLOPT="-A" Simpserv SRVGRP=GROUP1 SRVID=1 *SERVICES TOUPPER Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

24 Anatomy of the Application Server
Introduction to BEA Tuxedo Anatomy of the Application Server UKOUG 2008 PeopleSoft works in the same way as the simple server Except there are more servers and more services. Runs on different nodes, so there is a listener process Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

25 Processes, Messages & Memory
Introduction to BEA Tuxedo Processes, Messages & Memory UKOUG 2008 Unix IPC memory structures Bulletin Board Shared Memory Segment Queues IPC Queues Semaphores To protect Bulletin Board, WSL and JSH Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

26 PeopleSoft 2-Tier Client
Introduction to BEA Tuxedo PeopleSoft 2-Tier Client UKOUG 2008 Client Connects Directly to the Database What happens in 3-Tier? DATABASE Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

27 Application Server Structure
Introduction to BEA Tuxedo Application Server Structure UKOUG 2008 Bulletin Board Liaison process Always first process to be started Reads configuration file It creates BB shared memory segment BB PSTUXCFG BBL Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

28 Introduction to BEA Tuxedo
Listener Processes UKOUG 2008 Listens for incoming client requests 1 2 3 BBL BB WSL WSH Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

29 Introduction to BEA Tuxedo
A Transaction UKOUG 2008 C++ client PSAPPSRV is the application server process written by PeopleSoft. Physical Cache Files Windows client 1 8 6 7 WSHQ 3 4 WSH APPQ PSAPPSRV 5 2 WSL BB DATABASE BBL Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

30 Transaction from Java Client
Introduction to BEA Tuxedo Transaction from Java Client UKOUG 2008 PeopleSoft Internet Architecture JREPOSITORY 3 4 JREPQ JREPSVR 2 PIA JVM 5 1 13 12 JSHQ 6 11 8 JSH APPQ 9 PSAPPSRV 10 7 JSL BBL BB DATABASE Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

31 Introduction to BEA Tuxedo
IPC Resources UKOUG 2008 IPCS Standard Unix Command so not in the Tuxedo documentation Reports on IPC resources Queues Memory Segments Semaphores BEA implementation on Windows No concept of group and ownership so always zero Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

32 Introduction to BEA Tuxedo
ipcs -a UKOUG 2008 ipcs -a IPCS status from BEA_segV8.1 as of Mon May 10 14:39: T ID KEY MODE CBYTES QNUM QBYTES LSPID LRPID STIME RTIME CTIME Message Queues: q x rw-rw-rw no-entry no-entry 14:38:42 q x0000bbe2 -Rrw-rw-rw :39:00 14:39:00 12:10:42 q x Rrw-rw-rw no-entry no-entry 12:26:14 q x Rrw-rw-rw :12:51 13:12:51 12:26:14 q x Rrw-rw-rw :37:30 12:37:30 12:26:14 q x rw-rw-rw no-entry no-entry 12:28:11 q x rw-rw-rw :37:14 14:37:14 12:28:11 q x rw-rw-rw no-entry no-entry 12:28:46 q x rw-rw-rw no-entry no-entry 12:28:46 q x Rrw-rw-rw :37:26 12:37:26 12:30:13 q x rw-rw-rw :37:26 12:37:26 12:30:13 q x Rrw-rw-rw no-entry no-entry 12:30:59 q x Rrw-rw-rw :39:07 14:39:07 12:30:59 q x Rrw-rw-rw :39:07 14:39:07 12:30:59 q x Rrw-rw-rw :46:04 12:46:04 12:32:22 q x rw-rw-rw :39:08 14:39:07 12:33:04 q x rw-rw-rw :37:30 12:37:30 12:33:04 q x rw-rw-rw no-entry no-entry 12:37:26 q x rw-rw-rw :38:53 14:38:53 14:38:51 T ID KEY MODE NATTCH SEGSZ CPID LPID ATIME DTIME CTIME Shared Memory: m x0000bbe2 --rw-rw-rw :39:00 14:39:00 12:10:40 m x rw-rw-rw :26:14 no-entry 12:26:14 m x rw-rw-rw :30:59 no-entry 12:30:59 T ID KEY MODE NSEMS OTIME CTIME Semaphores: s x0000bbe2 --ra-ra-ra :39:07 12:10:40 s x ra-ra-ra :34:04 12:10:40 Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

33 Introduction to BEA Tuxedo
UKOUG 2008 M52 CPID2796 1112 bytes 3 2 Q783 JREPOSITORY 4 JREPSVR PID 1708 JSL PID 260 Q524 5 JSH PID 3648 Q525 1 12 JSH PID 2616 Q526 6 13 11 Physical Cache Files PIA JVM 7 8 9 APPQ Q784 PSAPPSRV PID 2904 M101 CPID 2196 504 bytes PSAPPSRV PID 1132 Q1297 Q532 WSL PID 2196 Q515 10 MONITOR Q520 PSMONITORSRV PID 3260 WSH PID 3952 Q516 Q521 WSH PID 3544 Q517 SAMQ Q522 PSSAMSRV PID 2548 PSSAMSRV PID 2620 Q523 Windows client Q3602 DATABASE BB M50 Key BBE2 CPID 1716 bytes WATCH Q518 PSWATCHSRV PID 668 Q519 BBL PID 1716 Q257 Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

34 Introduction to BEA Tuxedo
tmadmin and ipcs UKOUG 2008 Tuxedo command line interface utility Issue administrative commands Monitor application server Reads IPC status printqueue Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

35 Introduction to BEA Tuxedo
pq or printqueue UKOUG 2008 > pq Prog Name Queue Name # Serve Wk Queued # Queued Ave. Len Machine PSSAMSRV.exe SAMQ GO-FASTER+ JSL.exe GO-FASTER+ WSL.exe GO-FASTER+ JREPSVR.exe GO-FASTER+ PSMONITORSRV.e MONITOR GO-FASTER+ PSAPPSRV.exe APPQ GO-FASTER+ BBL.exe GO-FASTER+ PSWATCHSRV.exe WATCH GO-FASTER+ ipcs -a IPCS status from BEA_segV8.1 as of Mon May 10 14:39: T ID KEY MODE CBYTES QNUM QBYTES LSPID LRPID STIME RTIME CTIME Message Queues: ... q x rw-rw-rw :39:08 14:39:07 12:33:04 Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

36 Introduction to BEA Tuxedo
PIA in BEA Weblogic UKOUG 2008 Cookie Weblogic Server HTTP browser JVM Servlet engine Servlet container Web server servlet Client thread Client Thread PeopleSoft PIA servlet Servlet thread Servlet thread Servlet thread Tuxedo application server JSL JSH JSH JSH Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

37 Connection Concentration
Introduction to BEA Tuxedo Connection Concentration UKOUG 2008 35000 users 1000 connections 1000 Java Threads 4 JVMs 100 JSHs 10-20 PSAPPSRVs 1 database Fairly typical picture 35,000 users 1000 concurrent connections 1000 users active in the last n minutes where n is the Java + JSH timeout therefore need 1000 threads, maybe 4 JVMs 100 JSH assumes 10 clients per JSH 10-20 PSAPPSRV processes each PSAPPSRV connects to database 1 database But, we didn’t use shared database server processes. Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

38 X/Open Distributed Transaction Processing
Introduction to BEA Tuxedo X/Open Distributed Transaction Processing UKOUG 2008 In an XA environment different resource managers Tuxedo server processes May connect to different resources (databases) At the very least they are different sessions on the same database. One distributed transaction They are commit or rollback together. Tuxedo can be used as a Transaction Manager (coordinator) From Oracle Application Developers’ Guide - Fundamentals Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

39 Introduction to BEA Tuxedo
Summary UKOUG 2008 Tuxedo Architecture Unix IPC based Queues, Shared Memory, Semaphores Same on Windows Sort of! Function calls Connection Concentration Scalable middleware Transaction Monitor Introduction to BEA Tuxedo UKOUG2008 © ©Go-Faster Consultancy Ltd.

40 Introduction to BEA Tuxedo
UKOUG 2008 Questions ©Go-Faster Consultancy Ltd.


Download ppt "An introduction to BEA Tuxedo"

Similar presentations


Ads by Google