턱시도(소프트웨어)
Tuxedo (software)개발자 | 오라클 코퍼레이션 |
---|---|
안정된 릴리스 | 12.2.2 / 2016년 4월 , 전( |
기입처 | C, C++, COBOL, Java, Python, Ruby, PHP |
운영 체제 | 크로스 플랫폼 |
유형 | 응용 프로그램 서버 |
면허증. | 독자 사양 |
웹 사이트 | www |
Tuxedo(Transactions for Unix, Extended for Distributed Operations)는 분산 컴퓨팅 환경에서 분산 트랜잭션 처리를 관리하는 데 사용되는 미들웨어 플랫폼입니다.Tuxedo는 트랜잭션 처리 시스템 또는 트랜잭션 지향 미들웨어 또는 다양한 시스템 및 프로그래밍 언어를 지원하는 엔터프라이즈 애플리케이션 서버입니다.1980년대에 AT&T에 의해 개발된 이 제품은 2008년에 BEA Systems를 인수하면서 Oracle Corporation의 소프트웨어 제품이 되었습니다.Tuxedo는 이제 Oracle Fusion 미들웨어의 일부가 되었습니다.
역사
1983년부터 AT&T는 고가용성을 위해 Tuxedo를 설계하여 일반적으로 이용 가능한 분산 시스템에서 초당 수천 건의 트랜잭션을 필요로 하는 애플리케이션을 지원하는 매우 확장성이 뛰어난 애플리케이션을 제공하고 있습니다.당초의 개발은, 온라인 트랜잭션 처리(OLTP) 기능을 필요로 하는 미국 전화 회사의 운용 서포트 시스템의 작성과 관리를 목표로 하고 있었습니다.
Loop Maintenance Operations System(LMOS)에서 파생된 턱시도 개념.Tuxedo는 IBM의 IMS(Information Management System)를 사용하는 메인프레임 시스템에서 훨씬 저렴한 가격의 Unix([1]AT&T 자체)로 LMOS 애플리케이션을 이동할 수 있도록 지원했습니다.
원래 턱시도 팀은 후안 M을 포함한 LMOS 팀의 멤버로 구성되었다.안드레이드, 마크 T. 카지스, 테런스 드와이어, 스티븐 펠츠.[2]1993년 Novell은 AT&T의 Unix System Laboratories(USL) 사업부를 인수하여 당시 턱시도 개발을 담당했습니다.1993년 9월에는 25개의 [3]다른 플랫폼에서 실행되는 "가장 잘 알려진" 분산 트랜잭션 처리 모니터로 불렸습니다.1996년 2월, BEA Systems는 NetWare 이외의 플랫폼에서 Tuxedo를 개발하고 배포하기로 Novell과 독점 계약을 체결했으며, 대부분의 Novell 직원이 Tuxedo와 함께 [4][5]BEA에 합류했습니다.2008년 Oracle Corporation은 BEA Systems를 인수했고 TUXEDO는 Oracle Fusion 미들웨어 [6][7]제품군의 일부로 출시되었습니다.
턱시도(Tuxedo)는 다수의 다계층 애플리케이션 개발 도구에서 트랜잭션 미들웨어로 사용되고 있습니다.오픈 그룹은 X/Open XA 및 XATMI와 같은 [8]일부 턱시도 인터페이스를 표준 기준으로 사용했습니다.
턱시도 개발자들은 1990년대 [9][10]초에 그것에 대한 논문을 발표했다.나중에 그것은 몇몇 연구 프로젝트의 [11][12][13]기초가 되었다.
특징들
- 표준 기반 API - SCA, The Open Group XATMI, Object Management Group CORBA
- 통신 유형 - 동기, 비동기, 대화, 비송신 요청 알림, 게시/서브스크라이브
- 타입 버퍼
- FML/FML32 - Abstract Syntax Notation One 또는 Fast Infoset과 유사한 자기 설명 필드 버퍼
- XML
- STRING 및 멀티바이트 문자열 MBTRING
- CARRAY 바이너리 블럽
- VIEW/VIEW32 외부에서 기술된 레코드
- COBOL 레코드 구조를 나타내는 RECORD
- 트랜잭션 관리 - 글로벌 트랜잭션 - 2단계 커밋 프로토콜 - X/Open XA
- /D - 클러스터링 - 도메인
- /WS - 리모트 클라이언트
- WTC - Weblogic 턱시도 커넥터
- Java 클라이언트 - Jolt[14]
- Java EE(J2EE) 통합 - Tuxedo JCA 어댑터[15]
- 양방향 SOAP 및 REST 웹 서비스 - SALT[16]
- /Q - 과도 큐(메모리 내) 및 영속 큐(신뢰성 큐라고도 함)
- 데이터 의존형 라우팅(DDR)
- 이벤트 브로커(게시 및 구독 메시징이라고도 함)
- 보안 - 인증, 인가, 감사 및 공개 키 인프라스트럭처 기반 메시지 서명 및 암호화
- 프로그래밍된 관리 및 SNMP 지원
- 시스템 및 애플리케이션 퍼포먼스 감시 - TSAM Plus[17]
- 로드 밸런싱, 서버 산란 및 붕괴
- 메인프레임 접속 - TMA[18]
- 대부분의 Unix 플랫폼, Linux, Microsoft Windows 및 OpenVMS 및 IBM i와 같은 기타 독점 플랫폼에서 C, C++, COBOL, Python, Ruby, PHP 및 Java 애플리케이션을 지원합니다.
메시징 코어
Tuxedo는 메시지 라우팅 및 큐잉 시스템의 핵심입니다.요청은 이름 있는 서비스로 전송되며 Tuxedo는 메모리 기반 프로세스 간 통신 기능을 사용하여 요청을 서버에 큐잉합니다.요청자는 요청을 실제로 처리하는 서버의 위치나 구현 방법을 알지 못합니다.본질적으로, Tuxedo는 이 문구가 만들어지기 수십 년 전에 서비스 지향 아키텍처(SOA) 요소를 제공했습니다.Tuxedo는 메시지 내용을 사용하여 데이터 의존 라우팅을 통해 요청을 수신하기 위해 어떤 서버를 사용해야 하는지 결정할 수 있습니다.
클러스터링
Tuxedo 시스템의 핵심은 게시판(BB)입니다.이것은 Tuxedo 도메인의 구성과 상태를 포함하는 공유 메모리 세그먼트입니다.서버, 서비스, 트랜잭션 및 클라이언트는 모두 BB에 등록되며 도메인 내의 머신 전체에 걸쳐 상태를 볼 수 있습니다.BB에 대한 업데이트를 조정하기 위해 각 머신에서 BBL(게시판 연락)이라는 프로세스가 실행되어 BB의 로컬 복사본을 최신 상태로 유지합니다.마스터 머신은 BB에 대한 업데이트를 조정하는 "Distinguished Board Reaction"이라고 불리는 프로세스를 실행합니다.이를 통해 각 머신은 도메인 내의 각 머신에 어떤 서버, 서비스, 트랜잭션 및 클라이언트가 있는지 확인할 수 있습니다.
브릿지라고 불리는 각 기계의 다른 프로세스는 한 기계에서 다른 기계로 요청을 전달하는 역할을 합니다.이것에 의해, Tuxedo는 도메인내의 다양한 머신에 부하를 분산해, 복수의 머신상에서 서버나 서비스를 실행할 수 있게 됩니다.또한 BBL과 브릿지는 서로 감시하고 한쪽에서 장애가 발생했을 때 다른 한쪽을 재시작합니다.마스터 머신에 장애가 발생했을 경우 백업 마스터로 지정된 다른 머신이 마스터 머신의 기능을 이어받을 수 있습니다.또, 1개의 도메인내의 머신은 다른 아키텍처(x86, IA32, SPARC, P시리즈 등)로 할 수 있기 때문에, Bridge는 엔디안성등의 차이도 취급합니다.
Oracle Exalogic Tuxedo에서는 InfiniBand의 RDMA 기능을 활용하여 브리지를 우회합니다.이것에 의해, 머신상의 서비스의 클라이언트는, 다른 머신상의 서버에 직접 요구를 발신할 수 있습니다.
유연한 버퍼 형식
턱시도 응용 프로그램은 전달되는 데이터 유형에 따라 다양한 메시지 형식을 사용할 수 있습니다.가장 일반적인 형식 중 하나는 이진 XML 또는 ASN.1 형식과 매우 유사한 FML 버퍼 형식입니다.FML 버퍼에는 임의의 유형의 이름 있는 필드 수를 포함할 수 있습니다.필드를 반복하고 중첩할 수 있습니다.자기 기술 바이너리 형식이기 때문에 XML과 같은 것을 지원하기 위해 필요한 해석에 비해 필드의 처리는 오버헤드가 거의 발생하지 않습니다.VIEW 버퍼는 기본적으로 레코드, C 구조 또는 COBOL 카피북입니다.VIEW 버퍼에는 데이터 종속 라우팅 등에 필요한 경우 Tuxedo가 버퍼 내의 필드에 액세스할 수 있도록 하는 외부 설명이 있습니다.기타 버퍼 형식에는 XML, CARRAY(Opaque Binary Data), STRING 및 MBSTRING(멀티바이트 문자를 포함하는 문자열 버퍼)가 있습니다.턱시도에서는 XML 버퍼 간에 FML 버퍼를 자동으로 투과적으로 변환할 수 있습니다.
사용자가 개발한 버퍼 유형(예: Tuxedo 버전의 Panther RAD 도구 세트에 의해 정의된 JamFlex 버퍼)도 지원됩니다.
통신 콘센트레이터
원격 클라이언트(Java, CORBA 또는 /WS)의 경우 Tuxedo는 원격 네트워크 통신을 처리하는 수신기/핸들러라고 하는 통신 콘센트레이터를 제공합니다.클라이언트는, 이러한 통신 콘센트레이터에 접속해, 클라이언트의 프록시로서 기능합니다.클라이언트가 요청을 하면 청취자/핸들러는 로컬 Tuxedo 인프라스트럭처를 사용하여 클라이언트를 대신하여 요청을 작성합니다.Tuxedo는 서버가 로컬머신에 없는 경우에도 서비스를 제공하는 도메인 내의 서버 간에 요청을 로드밸런싱합니다.대부분의 Java EE 응용 프로그램서버에서는 클라이언트가 클러스터가 있는 다른 머신에 요구를 송신하는 것에 의해서 로드밸런싱이 이루어집니다.
게이트웨이
도메인 간 서비스 공유를 용이하게 하기 위해 Tuxedo는 도메인 게이트웨이를 제공합니다.도메인 게이트웨이를 사용하면 원격 도메인에서 서비스를 가져오고 내보낼 수 있습니다.이것에 의해, 로컬 도메인은 리모트 도메인의 서비스를 로컬 서비스인 것처럼 인식할 수 있습니다.도메인 게이트웨이는 보안 콘텍스트와 트랜잭션콘텍스트를 리모트도메인으로 전파하는 역할을 합니다.Tuxedo 도메인을 함께 연결하는 것 외에도, 도메인 게이트웨이는 TCP/IP, IBM의 SNA(Systems Network Architecture) 또는 OSI 프로토콜을 사용하는 메인프레임 시스템과 Java Platform, Enterprise Edition 애플리케이션 서버를 위한 것입니다.메인프레임 게이트웨이의 경우 각 시스템은 원격 시스템에서 가져온 서비스를 로컬 서비스로 간주하고 로컬 시스템 인프라를 사용하여 이러한 서비스와 상호 작용합니다.즉, Tuxedo는 CICS 트랜잭션을 Tuxedo 서비스로 간주하고 CICS는 Tuxedo 서비스를 CICS 트랜잭션으로 간주합니다.
장애 복구
각 머신의 BBL은 모든 서버의 상태를 감시하고 장애가 발생한 서버를 자동으로 재시작할 수 있습니다.또, 행하고 있는 서버를 검출해, 필요에 따라서 강제 종료/재기동할 수도 있습니다.클러스터 환경의 BRIDGE 프로세스는 BBL을 모니터링하기 때문에 단일 장애 지점이 없습니다.서버 또는 시스템 장애의 영향을 받고 준비 단계가 완료되지 않은 트랜잭션은 롤백됩니다.준비 단계는 완료되었지만 커밋 단계는 완료되지 않은 트랜잭션은 Tuxedo 부트 시퀀스의 일부로 커밋됩니다.
트랜잭션 감시 및 조정
Tuxedo 응용 프로그램은 모든 서비스 호출 및 리소스 관리자(데이터베이스 등)에 의해 제어되는 리소스에 대한 관련 업데이트를 트랜잭션에 의해 제어하도록 요청할 수 있습니다.응용 프로그램이 트랜잭션을 시작하면 모든 후속 서비스 호출 및 중첩된 호출이 트랜잭션의 일부로 포함됩니다. 원격 도메인에서 실행된 서비스도 마찬가지입니다.그런 다음 Tuxedo는 영향을 받는 모든 리소스에 대한 원자적인 업데이트를 보장하기 위해 자원 관리자와 커밋 처리를 조정합니다.트랜잭션은 응용 프로그램에서 제어하거나 컨테이너 관리 트랜잭션과 같은 Tuxedo 구성으로 자동으로 제어할 수 있습니다.
큐잉 서브시스템
Tuxedo는 /Q라는 큐잉 서브시스템을 제공합니다.이 기능을 통해 응용 프로그램은 이름 있는 큐에서 메시지를 명시적으로 큐잉 및 큐잉 해제할 수 있는 일시적인 큐잉 및 영속적인 큐를 제공합니다.큐는 메시지 가용성 시간, 만료 시간, 우선순위, LIFO, FIFO 또는 조합별로 정렬할 수 있습니다.큐는 XA 준거 자원 매니저에 의해 관리되므로 큐 조작이 분산 트랜잭션에 참여할 수 있습니다.큐에서 엔트리를 삭제하고 관련 Tuxedo 서비스를 호출하여 응답 메시지를 관련 응답 큐에 배치하는 자동 큐 전송 서버가 제공됩니다.
이벤트 서브시스템
Tuxedo 내의 이벤트 서브시스템은 브로커링 이벤트뿐만 아니라 원하지 않는 이벤트를 지원합니다.요청되지 않은 이벤트를 사용하면 Tuxedo 응용 프로그램이 응답을 기다리지 않는 클라이언트에 대역 외 통지를 보낼 수 있습니다.브로커된 이벤트를 사용하면 응용 프로그램이 관심 이벤트를 구독할 수 있으며 다른 응용 프로그램이 이벤트를 게시하면 해당 이벤트에 가입한 모든 응용 프로그램이 이벤트를 수신합니다.이를 통해 응용 프로그램은 보다 일반적인 요청/응답 모델 대신 이벤트 기반 모델을 사용할 수 있습니다.또한 /Q와 조합할 수 있는 게시 및 구독 메시징 모델을 제공합니다.
애드온 제품
Oracle은 Tuxedo에 많은 애드온 제품을 제공합니다.
메인프레임 재호스팅
2010년 3월에 Oracle은 두 가지 [19]신제품을 발표했습니다.관련된 Oracle Tuxedo Application Rehosting Workbench와 함께 CICS 및 Batch용 Application Runtime을 사용하면 분산 시스템의 Tuxedo로 IBM Customer Information Control System(CICS) 및 배치 애플리케이션을 마이그레이션할 수 있습니다.자동 변환 툴, CICS와 동등한 API 프리프로세서 매크로 확장 및 JES-2와 같은 배치 실행 환경을 제공함으로써 메인프레임 애플리케이션의 이행을 대폭 간소화할 수 있습니다.
소금.
이 제품은 양방향 웹 서비스 SOAP/HTTP(S) 게이트웨이를 제공합니다.이 게이트웨이를 사용하면 Tuxedo 서비스를 변경하지 않고 외부 SOAP 클라이언트에서 Tuxedo 서비스에 액세스할 수 있습니다.마찬가지로 Tuxedo 응용 프로그램은 외부 웹 서비스를 로컬 Tuxedo 서비스처럼 호출할 수 있습니다.최신 버전의 SALT는 Apache Web Server, Oracle HTTP Server 및 Oracle iPlanet Web Server용 WS-AtomicTransactions 및 모듈을 지원하므로 Tuxedo 서비스를 호출하여 동적 웹 콘텐츠를 생성할 수 있습니다.버전 12.1.3에서는 SALT는 RESTful 서비스에 대한 지원이 추가되었습니다.
TSAM Plus
이 제품은 여러 Tuxedo 도메인에 대한 중앙 집중식 모니터링 기능을 제공합니다.Tuxedo 도메인의 머신에 TSAM Plus 에이전트가 배치됩니다.이러한 에이전트는 설정된 정책에 따라 실행 중인 Tuxedo 프로세스에서 메트릭 데이터를 수집하여 데이터를 TSAM Plus Manager로 되돌려 보냅니다.이러한 프로세스에서는 데이터가 이력 또는 실시간으로 사용됩니다.TSAM Plus는 설정 정보, 콜 경로, 콜 패턴, 서비스 실행, 트랜잭션 및 기타 모니터링 메트릭을 제공합니다.TSAM Plus는 Tuxedo ART CICS 및 배치 애플리케이션도 감시합니다.TSAM Plus의 추가 컴포넌트는 Oracle Enterprise Manager Cloud Control용 플러그인으로 Tuxedo 응용 프로그램의 완전한 운영, 구성, 관리 및 관리를 제공합니다.
턱시도 메인프레임 어댑터(TMA)
이 제품은 기본 프로토콜을 사용하여 메인프레임과 통신하는 Tuxedo에서 실행되는 게이트웨이 프로세스 세트를 제공합니다.이 게이트웨이는 메인프레임과 Tuxedo 플랫폼 간의 양방향 통합을 제공하며 메인프레임에서는 Tuxedo가 리모트 CICS 또는 IMS 영역으로, 로컬 Tuxedo 응용 프로그램에서는 리모트 CICS 또는 IMS 영역이 또 다른 Tuxedo 도메인으로 인식되도록 합니다.
JCA 어댑터
Tuxedo JCA 어댑터는 Java EE(J2EE) 1.5 이상의 JCA 컨테이너에 배포할 수 있는 JCA 1.5 호환 리소스 어댑터를 제공합니다.이 어댑터는 JCA Common Client 인터페이스 또는 CCI와 Oracle WebLogic Server의 Oracle WebLogic Tuxedo Connector 컴포넌트에서 지원되는 JATMI 인터페이스를 모두 지원합니다.분산거래 지원과 함께 메시지 유입 및 유출을 지원합니다.
턱시도 메시지 큐
Oracle MessageQ의 기능과 턱시도 기능을 결합한 엔터프라이즈 메시징 기능을 제공합니다.이는 배달 알림, 오프라인 메시징, 저장 및 전달 기능과 같은 기능을 제공함으로써 Tuxedo의 기존 /Q 메시지 큐잉 기능을 확장합니다.
레퍼런스
- ^ Philip A. Bernstein; Eric Newcomer (2009). Principles of transaction processing. Morgan Kaufmann. pp. 330–336. ISBN 978-1-55860-623-4.
- ^ "Juan M. Andrade". Author biography. Pearson Education InformIT. Retrieved October 11, 2011.
- ^ Paul Korzeniowski (September 13, 1993). "Supercharge your LAN with On-Line Transaction Processing". InfoWorld. Vol. 15, no. 37. p. 70. Retrieved October 11, 2011.
- ^ "Novell and BEA Systems, Inc. Complete Transition of TUXEDO to BEA". News release. BEA Systems, Inc. February 28, 1996. Archived from the original on July 1, 2003. Retrieved October 11, 2011.
BEA is the exclusive developer and distributor of the TUXEDO System on UNIX, NT, and all non-NetWare platforms, and Novell will develop TUXEDO-based applications for NetWare. In addition, most Novell TUXEDO employees, including development and marketing personnel, have joined BEA, and BEA has assumed all contracts with TUXEDO partners, distributors, and customers. BEA has exclusive rights to the TUXEDO trademark.
- ^ Paul Krill (February 5, 1996). "Novell Rents out Tuxedo Development". InfoWorld. Vol. 18, no. 6. p. 12. Retrieved October 11, 2011.
- ^ Juan M. Andrade, Mark T. Carges, Terrence Dwyer, and Stephen Felts (1996). The TUXEDO System: Software for Constructing and Managing Distributed Business Applications. Addison-Wesley. p. xxxiv. ISBN 978-0-201-63493-8.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ "Number 1 in Middleware: Oracle Unveils BEA's Role in Product Strategy for Next-generation Middleware" (Press release). Oracle Corporation. July 1, 2008. Retrieved October 11, 2011.
- ^ Carl Hall (February 2, 1996). Building client/server applications using TUXEDO. John Wiley & Sons. p. 35. ISBN 978-0-471-12958-5.
- ^ Juan M. Andrade, Mark T. Carges, M. R. MacBlane (February 24, 1992). Open online transaction processing with the TUXEDO system. IEEE Computer Society International Conference, (COMPCON) Digest of Papers. Vol. 37. pp. 366–371. doi:10.1109/CMPCON.1992.186740. ISBN 978-0-8186-2655-5.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ E. P. Felt (January 20, 1993). Distributed transaction processing in the TUXEDO system. Proceedings of the Second International Conference on Parallel and Distributed Information Systems. Vol. 2. pp. 366–371. doi:10.1109/PDIS.1993.253082. ISBN 978-0-8186-3330-0.
- ^ H. Kaufmann, H.-J. Schek (December 18, 1996). Extending TP-monitors for intra-transaction parallelism. Fourth International Conference on Parallel and Distributed Information Systems. Vol. 4. IEEE. pp. 250–261. doi:10.1109/PDIS.1996.568686. ISBN 978-0-8186-7475-4.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ T. Altiok, Wei Xiong, M. Gunduc (December 9, 2001). A capacity planning tool for the Tuxedo middleware used in transaction processing systems. Proceedings of the Winter Simulation Conference. Vol. 1. IEEE. pp. 502–507. CiteSeerX 10.1.1.78.2871. doi:10.1109/WSC.2001.977330. ISBN 978-0-7803-7307-5.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ Yin Wen, He Jingsha (December 9, 2001). The application of Tuxedo middleware in the banking system. IEEE 3rd International Conference on Communication Software and Networks. Vol. 3. pp. 594–597. doi:10.1109/ICCSN.2011.6013904. ISBN 978-1-61284-485-5.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ "Oracle Tuxedo 12c R2 Documentation". docs.oracle.com.
- ^ "Oracle Tuxedo JCA 12cR1 (12.1.1) Documentation". docs.oracle.com.
- ^ "Oracle SALT 12.1.3 Documentation". docs.oracle.com.
- ^ "Oracle TSAM Plus 12cR2 (12.1.3) Documentation". docs.oracle.com.
- ^ "Oracle Tuxedo 12c R2 Documentation". docs.oracle.com.
- ^ "Oracle Releases New Mainframe Re-Hosting Products for Oracle Tuxedo 11g". News release. Oracle Corporation. March 31, 2010. Retrieved October 11, 2011.
추가 정보
- UNIX System Laboratories (February 1992). TUXEDO System release 4.1: Transaction manager reference manual. Prentice Hall.