30
1 © 2009 IBM Corporation WebSphere MQ V7 WebSphere MQ V7 WebSphere MQ V7 WebSphere MQ V7 솔루션 솔루션 솔루션 솔루션 소개 소개 소개 소개 김형구 차장 IBM WebSphere Sales, Software Group June 5, 2009

김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

Embed Size (px)

Citation preview

Page 1: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

1© 2009 IBM Corporation

WebSphere MQ V7 WebSphere MQ V7 WebSphere MQ V7 WebSphere MQ V7 솔루션솔루션솔루션솔루션 소개소개소개소개

김형구 차장

IBM WebSphere Sales, Software Group

June 5, 2009

Page 2: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

2© 2009 IBM Corporation

IBM WebSphere MQ IBM WebSphere MQ IBM WebSphere MQ IBM WebSphere MQ 버전버전버전버전 7777의의의의 테마테마테마테마 1111

WebSphere MQ V7.0WebSphere MQ V7.0WebSphere MQ V7.0WebSphere MQ V7.0

Web 2.0Web 2.0Web 2.0Web 2.0HTTP GETHTTP GETHTTP GETHTTP GETHTTP POSTHTTP POSTHTTP POSTHTTP POSTHTTP DELETEHTTP DELETEHTTP DELETEHTTP DELETEAJAXAJAXAJAXAJAX Applications and DataApplications and DataApplications and DataApplications and Data

IBM WebSphere MQ V7.0IBM WebSphere MQ V7.0IBM WebSphere MQ V7.0IBM WebSphere MQ V7.0

Web 2.0Web 2.0Web 2.0Web 2.0 Java Message Java Message Java Message Java Message Service (JMS)Service (JMS)Service (JMS)Service (JMS) MQ InterfaceMQ InterfaceMQ InterfaceMQ InterfaceMultiMultiMultiMulti----LanguageLanguageLanguageLanguageMessage ServiceMessage ServiceMessage ServiceMessage ServicePublishPublishPublishPublish SubscribeSubscribeSubscribeSubscribe

Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone Universal Messaging Backbone

for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0for SOA and Web 2.0

By By By By By By By By 개방형개방형개방형개방형개방형개방형개방형개방형 표준의표준의표준의표준의표준의표준의표준의표준의 지원지원지원지원지원지원지원지원

Page 3: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

3© 2009 IBM Corporation

• WMQ V7의 주된 기능 향상은 JMS 구현의 향상과 밀접한 관련

� 더 많은 애플리케이션이 JMS API로 작성되고 있으며,

� JMS는 많은 SOA/ESB 솔루션의 메시지 처리 요건을 해결하고 있기 때문

� 하지만 JMS 애플리케이션뿐 아니라 기존의 MQI, XMS 등의 인터페이스를 사용하는

모든 유형의 애플리케이션이 혜택을 받게 됨

• 다음 두 가지를 고려하도록 신기능이 디자인됨

� 사용 편이성

� 성능

• Publish & Subscribe 기능을 강화

� WebSphere Message Broker의 Publish & Subscribe 기능을 구현

• 모든 환경에서 용이한 개발/프로그래밍이 가능

� JMS의 기능구현 및 향상은 WMQ의 네이티브 API인 MQI에도 많은 향상을 가져옴

• 기존의 개발 및 관리 인터페이스의 유기적인 진화와 확장

IBM WebSphere MQ IBM WebSphere MQ IBM WebSphere MQ IBM WebSphere MQ 버전버전버전버전 7777의의의의 테마테마테마테마 2222

Page 4: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

4© 2009 IBM Corporation

지원지원지원지원 플랫폼플랫폼플랫폼플랫폼

• 기본적으로 버전 6과 같은 플랫폼을 지원

� AIX, HP-UX (x2), Solaris (x2), Linux (x4), i5/OS, z/OS, Windows

� 기본 OS 레벨 상의 업데이트 포함

� 최신 지원 환경에 관해서는 다음의 URL을 참조

http://www-306.ibm.com/software/integration/wmq/requirements/index.html

• Linux/zSeries

� 31-bit 버전은 더 이상 지원되지 않음; 64-bit 버전만 계속 지원

• Windows 2000 지원 중단

� Windows XP가 Windows의 기본 OS 레벨

� Vista 지원

• Windows x64

� Windows 64-bit 애플리케이션 지원

� 기존 32-bit 애플리케이션 역시 지원

� 일부 EXIT 프로그램은 32-bit와 64-bit를 모두 지원하기 위해 재컴파일 필요

• Java 1.4.2 또는 이후 버전

Page 5: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

5© 2009 IBM Corporation

PublishPublishPublishPublish & & & & SubscribeSubscribeSubscribeSubscribe

• JMS, WMQ API의 일부

� 비동기적 메시지 처리 기반의 다수 대 다수 통신

� 애플리케이션 간의 보다 더 느슨한 연결을 지향하는 메시지 처리 모델

� V7로부터 네이티브 MQI의 일부로 완전히 구현됨

• Point-to-Point 비동기적 메시지 처리는 애플리케이션을 느슨하게

엮음(Decoupling)

� 하지만 여전히 송신자와 수신자와의 연결해야 함

• Publish & Subscribe은 애플리케이션간의 느슨한 연결을 더욱 진보시킴

� 송신자는 얼마나 많은 수신자가, 또는 어떤 수신자가 Message를 받게 되는지 알

필요가 없음

� 애플리케이션 간의 연결은 Queue가 아닌 Topic

• WMQ 버전 6에는 별도의 Publish & Subscribe Broker 서비스가 있었음

� 버전 7에서도 기존 애플리케이션은 호환됨

• 버전 7에 이르러 Publish & Subscribe 구현에 많은 향상

� z/OS 역시 지원 시작

Page 6: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

6© 2009 IBM Corporation

Publish & SubscribePublish & SubscribePublish & SubscribePublish & Subscribe를를를를 이용한이용한이용한이용한 Loose CouplingLoose CouplingLoose CouplingLoose Coupling

SubscriberSubscriberSubscriberSubscriberSubscriberSubscriberSubscriberSubscriber

SubscriberSubscriberSubscriberSubscriber

PublisherPublisherPublisherPublisher

Topic

Topic

Topic

Topic

1:Many1:Many1:Many1:Many

PublisherPublisherPublisherPublisher

SubscriberSubscriberSubscriberSubscriber

1:11:11:11:1

Topic

Topic

Topic

Topic

PublisherPublisherPublisherPublisherPublisherPublisherPublisherPublisher

SubscriberSubscriberSubscriberSubscriber

Many:1Many:1Many:1Many:1

Topic

Topic

Topic

Topic

PublisherPublisherPublisherPublisherPublisherPublisherPublisherPublisher

SubscriberSubscriberSubscriberSubscriberSubscriberSubscriberSubscriberSubscriber

Many:ManyMany:ManyMany:ManyMany:Many

Topic

Topic

Topic

Topic

PublisherPublisherPublisherPublisher

1:None1:None1:None1:None

Topic

Topic

Topic

Topic

Page 7: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

7© 2009 IBM Corporation

PublishPublishPublishPublish & & & & Subscribe Subscribe Subscribe Subscribe 관리관리관리관리• Topic String(토픽 문자열)을 기반으로

� Message를 발행(Publish)하거나 구독(Subscribe)

� Topic에 대한 권한을 부여하거나 누가 발행/구독하는지 상태를 체크

• WMQ의 새로운 오브젝트인 Topic 오브젝트를 작성해서 쓰거나/Defined Topics

� Queue나 Channel처럼 WMQ의 새로운 오브젝트 유형

� 별도의 이름을 가지나 Topic String 속성을 가짐

� Topic의 계층 구조인 Topic Tree를 구성

• 애플리케이션으로부터 임시로 Topic을 작성해서 쓸 수 있음/In-Use Topics

� 애플리케이션이 Publish 또는 Subscribe하는 주제

� 상위 계층으로부터 속성(예: 보안속성)을 상속받음

� 관리 작업으로 만들지 않으나 관리 인터페이스를 통해 확인할 수 있음//// NEWSNEWSNEWSNEWSSPORTSSPORTSSPORTSSPORTSCRICKETCRICKETCRICKETCRICKET RUGBYRUGBYRUGBYRUGBYDEFINED TOPIC DEFINED TOPIC DEFINED TOPIC DEFINED TOPIC TREETREETREETREE ININININ----USE TOPICSUSE TOPICSUSE TOPICSUSE TOPICSSUBSCRIBE("/SPORTS/CRICKET/WEST INDIES")SUBSCRIBE("/SPORTS/CRICKET/WEST INDIES")SUBSCRIBE("/SPORTS/CRICKET/WEST INDIES")SUBSCRIBE("/SPORTS/CRICKET/WEST INDIES")SUBSCRIBE("/NEWS/POLITICS/WESTMINSTER")SUBSCRIBE("/NEWS/POLITICS/WESTMINSTER")SUBSCRIBE("/NEWS/POLITICS/WESTMINSTER")SUBSCRIBE("/NEWS/POLITICS/WESTMINSTER")SUBSCRIBE("/TV/DRAMA/WEST WING")SUBSCRIBE("/TV/DRAMA/WEST WING")SUBSCRIBE("/TV/DRAMA/WEST WING")SUBSCRIBE("/TV/DRAMA/WEST WING")

Page 8: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

8© 2009 IBM Corporation

WMQ WMQ WMQ WMQ ExplorerExplorerExplorerExplorer의의의의 Publish/Subscribe Publish/Subscribe Publish/Subscribe Publish/Subscribe 관련관련관련관련 화면화면화면화면

Page 9: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

9© 2009 IBM Corporation

PublishPublishPublishPublish & & & & Subscribe Subscribe Subscribe Subscribe 애플리케이션애플리케이션애플리케이션애플리케이션 프로그래밍프로그래밍프로그래밍프로그래밍

• JMS Publish & Subscribe Implementation을 네이티브 MQI에 포함, 구현

� MQI 프로그래밍 레이어를 개선하여 JMS 구현을 좀 더 네이티브하게

� JMS 구현이 새로운 MQI 기능을 활용

• Subscription을 위한 새로운 WMQ Call 추가

� 이전 버전의 WMQ에서 추가적인 헤더(MQRFH2) 등을 다룰 때 생기는 불편을 해소

� MQSUBMQSUBMQSUBMQSUB는 Topic에 Subscribe하기 위한 새로운 WMQ Call

– 이후 발생하는 Topic을 가진 Message에 대한 ‘구독’ 선언

• 기존 Call에 대한 새로운 옵션 추가

� Topic 오브젝트에 접근하기 위한 MQOPEN 옵션 상의 변화

� Topic 오브젝트를 닫아 구독을 중단하기 위한 MQCLOSE 옵션 상의 변화

� Message를 발행(Publish)하거나 받아보기 위한 MQPUT, MQGET 옵션 상의 변화

• 문서와 예제 프로그램을 통해 활용 가이드 제공

Page 10: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

10© 2009 IBM Corporation

MQMD MQMD MQMD MQMD 헤더의헤더의헤더의헤더의 확장확장확장확장: : : : Message PropertiesMessage PropertiesMessage PropertiesMessage Properties

• 애플리케이션 데이터가 아닌 MQMD 내의 임의의 필드, Message Properties 확장가능

� 사용자가 확장 가능한 MQMD

� JMS 스펙을 네이티브하게 WMQ에 적용

• 새로운 WMQ Call인 MQSETMP과 MQINQMP 추가

� Properties는 정수형, 문자열, 불리언 등 다양한 자료형 선택 가능

• 같은 요건을 수행하던 기존의 RFH2 folder보다 개발이 간편

� 애플리케이션이 필요 없는 경우 보이지 않음

� 추가적인 Parsing 과정 없이 바로 애플리케이션 데이터로 접근

• 이전 버전과의 호환성을 위한 구성 옵션 제공

� Queue와 Channel에 이전 버전에 대한 호환성을 제공할 것인지 설정 가능

– PROPCTL/등록정보제어 속성

� 디폴트 설정은 이전 버전 기반을 위해 RFH2 folders로 보이게 함

• WHY Message Properties?

� JMS와의 원활한 상호 운용: Selector의 사용, RFH2 헤더 회피 등

� Message 헤더 내의 패턴을 검출하거나

� 필요에 의해 Message를 변경하지 않고 컨트롤 정보가 필요한 경우

MQMDMQMDMQMDMQMD

BODYBODYBODYBODY

PROPSPROPSPROPSPROPS

XX=YYXX=YYXX=YYXX=YY

Page 11: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

11© 2009 IBM Corporation

WMQ ExplorerWMQ ExplorerWMQ ExplorerWMQ Explorer에서에서에서에서 MessageMessageMessageMessage PropertiesPropertiesPropertiesProperties 확인확인확인확인

Page 12: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

12© 2009 IBM Corporation

Asynchronous Message ConsumptionsAsynchronous Message ConsumptionsAsynchronous Message ConsumptionsAsynchronous Message Consumptions

• JMS 스펙에 대한 WMQ의 네이티브한 Implementation

� JMS 외의 MQI 기반 프로그램 또한 활용

• 비동기적인 Message Consumer는,

� Message-driven 방식의 호출 가능한 Function 혹은 Runtime

� Message가 Queue에 도착하면 Message를 처리(GET)

� Queue Manager가 Invoke

� Buffer를 통해 호출한 프로그램에 Message 본문을 Return

• 비동기적으로 Message 가져오기(Call Back 기능)

� 새로운 WMQ Call인 MQCBMQCBMQCBMQCB로 Message Consumer 기능을 할 Function이나Runtime을 등록

� 새로운 WMQ Call인 MQCTLMQCTLMQCTLMQCTL로 Message Consumer를 시작/정지

� MQGET(WAIT) 또는 MQGET(SIGNAL)을 사용하지 않아도 됨

� 애플리케이션 디자인 상에서 Thread가 다수의 Queue로부터

– 로직의 Blocking 없이

– 비동기적으로 Message를 가져오도록 디자인 가능

Page 13: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

13© 2009 IBM Corporation

MQOPENMQOPENMQOPENMQOPENObjName = “DESTQ”hObj

DESTQDESTQDESTQDESTQSelectorString = “team=hursley”

Asynchronous Message Consumptions Asynchronous Message Consumptions Asynchronous Message Consumptions Asynchronous Message Consumptions ---- Message SelectorMessage SelectorMessage SelectorMessage Selector

• JMS 스펙의 Selector에 대한 네이티브 지원• SQL92 질의를 활용하여 GET 또는 Subscribe하려는 Message 필터링

� MQMD의 개별 필드나 Message Properties 내의 값을 토대로

� MQOPEN 또는 MQCB 수행 시 오브젝트 핸들(Object Handle)에 SQL 질의 추가

– 이를 위하여 Object Handle이 변경되었음

� Queue Manager 내에서 수행되며, 해당 애플리케이션은 필터의 결과만을 보게 됨

� 애플리케이션 Message 본문 내부에 대한 필터링은 하지 않음

– Content에 대한 탐색, 파싱, 필터링은 WebSphere Message Broker를 계속 활용1.1.1.1.team = team = team = team = hursleyhursleyhursleyhursleysport = footballsport = footballsport = footballsport = football2.2.2.2.team = team = team = team = hursleyhursleyhursleyhursleysport = baseballsport = baseballsport = baseballsport = baseball3.3.3.3.team = team = team = team = romseyromseyromseyromseysport = footballsport = footballsport = footballsport = footballMQRC_NO_MSG_AVAILABLEMQRC_NO_MSG_AVAILABLEMQRC_NO_MSG_AVAILABLEMQRC_NO_MSG_AVAILABLE

DESTQDESTQDESTQDESTQ

1111

2222

3333

Page 14: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

14© 2009 IBM Corporation

Asynchronous Message ConsumptionsAsynchronous Message ConsumptionsAsynchronous Message ConsumptionsAsynchronous Message Consumptions---- Java Java Java Java 프로그래밍프로그래밍프로그래밍프로그래밍 상의상의상의상의 향상점향상점향상점향상점

• JMS API 상에서 모든 MQMD 필드들에 대해 Properties로 접근

� 프로그램 상에서 접근 가능하도록 선언 필요

� 애플리케이션이 JMS 스펙을 넘어서는 WMQ 프로세스 처리를 필요로 하는 경우 유용

• JMS API 상에서 전체 Message 컨텐츠에 대한 접근 가능

� Bytes Array로 전체 컨텐츠 접근

� 이전에는 보통 제거되었던 RFH2 folders 등의 정보를 탐색할 수 있음

• Java를 위한 각종 Message Header Classes 제공

� PCF(Programmable Command Format) Structure를 이전보다 쉽게 구성할 수 있는

이점

� MQI에서 쓰이는 다른 WMQ 내의 Header Structure에 용이한 접근 가능

– 예: MQCIH, MQDLH Classes 제공

Page 15: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

15© 2009 IBM Corporation

Client Client Client Client 성능성능성능성능 관련관련관련관련 향상점향상점향상점향상점 1: Read Ahead1: Read Ahead1: Read Ahead1: Read Ahead

• Client 연결을 위한 미리 읽어 오기 기능("Read Ahead“):

� Client가 GET할 가능성이 있는 다수의 Message를 미리 MQGET하여 Client 측의Read Ahead Buffer에 저장

� 관리 인터페이스를 통해 이 옵션을 사용할지 여부 결정: 애플리케이션 코드에 영향없음, 오브젝트 설정과 API 옵션으로 적용 가능

– 신규 오브젝트 등록정보로 추가, 디폴트는 Off

– API 옵션: ex) MQOO_READ_AHEAD

– 연결 상태에서 미리 읽기 옵션 선택 여부 확인

� JMS Client 인터페이스도 MQI와 동일한 이점이 부여됨

� Read Ahead Buffer 크기나 그 크기가 결정되는 방식을 설정

� Client의 성능 향상 VS Low Quality of Service

– Read Ahead Buffer의 Message는 버려지거나

– Client 코드가 Buffer를 모두 소모할 때까지 기다리도록 구성

– 일부 API 옵션에 대한 사용 제한: ex) MQGMO_SYNCPOINT

Page 16: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

16© 2009 IBM Corporation

Client Client Client Client 성능성능성능성능 관련관련관련관련 향상점향상점향상점향상점 2: Asynchronous Put2: Asynchronous Put2: Asynchronous Put2: Asynchronous Put• Client의 비동기적인 Put ("Asynchronous Put 또는 Fire & Forget“):

� 애플리케이션은 MQPUT Call에 대해 동기적으로 그 결과에 대한 CC(완료 코드)나RC(리턴 코드)를 동기적으로 기다리지 않겠다고 선언 가능

– 대신 이후에 그 결과를 확인할 수 있음; 새로운 MQI Call인 MQSTATMQSTATMQSTATMQSTAT Call 사용

– Client 코드는 CC=OK나 RC=OK를 발행하고 나서 Message를 네트워크를 통해 Queue Manager로 보냄

� Completion Code = OK가 Message가 Queue에 문제 없이 쓰여진 것을 의미하는것은 아님

� 관리 인터페이스를 통해 이 옵션을 사용할지 여부 결정: 애플리케이션 코드에 영향없음, 오브젝트 설정과 API 옵션으로 적용 가능

– 신규 오브젝트 등록정보로 추가, 디폴트는 Off

– API 옵션: ex) MQPMO_ASYNC_RESPONSE

� 적절한 환경 하에 Client에 적용하는 경우 큰 성능 향상 기대

� 적용 가능한 환경

– Non-persistent Message 또는 단일 UOW 내의 Persistent Message들만 가능

– Client로 연결한 애플리케이션만 가능

Page 17: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

17© 2009 IBM Corporation

향상된향상된향상된향상된 Client ConnectionClient ConnectionClient ConnectionClient Connection 관리관리관리관리 1111

• Multi-threaded Client 애플리케이션을 위한 Conversation 공유(Multiplexing)

� 같은 Process에서 파생된 Thread는 같은 소켓(Socket) 내에서 처리

– Channel 설정 절차는 최초에 한 번만 수행되어 두 번째와 그 이후에 파생되는 Client 연결Thread는 더욱 빠른 소켓 처리 시작

– Server 쪽 Socket 수의 낭비를 막을 수 있음

– 그에 따라 Queue Manager 쪽의 필요 Thread를 줄일 수 있음

– 양방향 Heartbeat을 통해 더 신속한 Client 장애 감지

� 오브젝트 및 API 옵션 상의 변화

– SVRCONN Channel의 SHARECNV 값: Socket 당 최대 공유 Connection 수

� MQI Client + JMS Client MQI Client + JMS Client MQI Client + JMS Client MQI Client + JMS Client 모두모두모두모두 개선개선개선개선

• Client Connections 관리

� 단일 컴퓨터에서 해당 SVRCONN Channel을 통해 허용할 Client 연결 인스턴스 수를제한하고 확인 가능

– 최대 인스턴스; MAXINST( ): 해당 SVRCONN Channel에 대한 최대 연결 인스턴스 개수

– Client 당 최대 인스턴스; MAXINSTC( ): 해당 SVRCONN Channel에 대한 단일 Client(IP) 당최대 연결 인스턴스 개수

� 의도적인 또는 의도적이지 않은 Client의 Server 자원 점유에 대한 예방 차원의 대응에적합

Page 18: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

18© 2009 IBM Corporation

향상된향상된향상된향상된 Client ConnectionClient ConnectionClient ConnectionClient Connection 관리관리관리관리 2: Client Multiplexing2: Client Multiplexing2: Client Multiplexing2: Client Multiplexing

SVRCONN ChannelSVRCONN ChannelSVRCONN ChannelSVRCONN Channel의의의의Conversation Conversation Conversation Conversation 공유공유공유공유((((대화대화대화대화 공유공유공유공유))))SVRCONN ChannelSVRCONN ChannelSVRCONN ChannelSVRCONN Channel의의의의 상태에서상태에서상태에서상태에서확인할확인할확인할확인할 수수수수 있는있는있는있는 공유공유공유공유 상태상태상태상태

Page 19: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

19© 2009 IBM Corporation

향상된향상된향상된향상된 Client ConnectionClient ConnectionClient ConnectionClient Connection 관리관리관리관리 3333

개별개별개별개별 Client Client Client Client 최대최대최대최대 수수수수 도달도달도달도달 에러에러에러에러MessageMessageMessageMessage

Page 20: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

20© 2009 IBM Corporation

WMQ WMQ WMQ WMQ 버전버전버전버전 7777의의의의 새로운새로운새로운새로운 기능과기능과기능과기능과 JMS JMS JMS JMS 스펙스펙스펙스펙 간의간의간의간의 연결연결연결연결

Client Conversation 공유 기능은 JMS Session들이Socket을 공유하도록 지원

JMS의 비동기적인 Message 가져오기는 MQI의 Call Back 기능을 활용

JMS Selector는 MQI에서 Selector를 제공함으로써네이티브하게 지원됨

JMS의 비동기적인 Message Producing은 MQI 옵션또는 오브젝트 설정으로 지원

새로운 Publish & Subscribe 엔진은 JMS Topic 도메인과 일치

MQMD와 MQ Message 본문을 JMS 프로그램에서접근할 수 있으며 Message Properties를작성/접근할 수 있는 API 제공

CS S S hChC hC hCJMS Client WMQ Queue ManagerSocketConsumerConsumer xProducerConsumerConsumerConsumerProducer

WMQ AppJMS App

Page 21: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

21© 2009 IBM Corporation

WebSphere MQ Bridge for HTTPWebSphere MQ Bridge for HTTPWebSphere MQ Bridge for HTTPWebSphere MQ Bridge for HTTP

• Rich Internet 애플리케이션이 Enterprise Messaging 인프라인 WMQ에 쉽게

접근

� WMQ의 Queue와 Topic을 URI에 맵핑

� AJAX와 같은 Web 2.0 애플리케이션들이 URI 호출을 통해 MQGET와 MQPUT 수행

– 웹 브라우저에서 Queue나 Topic으로 Message를 전송하거나 받을 수 있음

– Low Latency Web Pub/Sub과 같은 커뮤니케이션 모델 구현 가능:

ex) 주식 정보, 스포츠 중계, 항공/철도 출발/도착 정보 등

� Non-servlet(JSP) Implementation

• HTTP만 지원되면 어떤 플랫폼이든 WMQ에 접근

� WMQ 미지원 플랫폼: ex) 다양한 Linux 배포판들

� Pervasive 장치들: POS 장비, RFID 리더 등

� Client 측에 라이브러리 설치 필요 없음

� 기타 Lightweight Client 플랫폼

Page 22: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

22© 2009 IBM Corporation

WMQ HTTP BridgeWMQ HTTP BridgeWMQ HTTP BridgeWMQ HTTP Bridge WMQ WMQ WMQ WMQ JCA + JCA + JCA + JCA + JMSJMSJMSJMShttp://mq.com:1415/msg/http://mq.com:1415/msg/http://mq.com:1415/msg/http://mq.com:1415/msg/ queues/myQqueues/myQqueues/myQqueues/myQtopics/stocks/IBMtopics/stocks/IBMtopics/stocks/IBMtopics/stocks/IBMHTTP: HTTP: HTTP: HTTP: POST/GET/DELETEPOST/GET/DELETEPOST/GET/DELETEPOST/GET/DELETE

libwwwlibwwwlibwwwlibwww

Web Web Web Web BrowsersBrowsersBrowsersBrowsersJavascript Javascript Javascript Javascript

AJAXAJAXAJAXAJAX

HTTP HTTP HTTP HTTP CCCClientslientslientslients JJJJ2222EE Application ServerEE Application ServerEE Application ServerEE Application Server

JavaJavaJavaJava

SVRCONNCHANNELWMQ Bindings WMQ Bindings WMQ Bindings WMQ Bindings ConnectionConnectionConnectionConnectionWMQ JMS WMQ JMS WMQ JMS WMQ JMS CCCClientlientlientlientCCCConnectiononnectiononnectiononnection Queue ManagerQueue ManagerQueue ManagerQueue Manager

WebSphere MQ Bridge for HTTP WebSphere MQ Bridge for HTTP WebSphere MQ Bridge for HTTP WebSphere MQ Bridge for HTTP ---- Architectural OverviewArchitectural OverviewArchitectural OverviewArchitectural Overview

Page 23: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

23© 2009 IBM Corporation

HTTPHTTPHTTPHTTP----MQI MQI MQI MQI CallCallCallCall 맵핑맵핑맵핑맵핑

• Queue 또는 Topic을 구분하기 위해 URI 정의

• REST 프로토콜에 기반한 리소스 맵핑

• Message Format:

� 헤더(MQMD)는 HTTP 헤더에 추가됨

� Message 본문은 HTTP 본문으로 전달됨

� Message Type은 HTTP Content-Type을 통해 전달됨

– “text/plain” 또는 “text/html”는 WMQ의 문자열 Message인 MQFMT_STRING에해당되며

– 기타 다른 유형의 Message는 WMQ 이진 Message인 MQFMT_NONE으로 맵핑

HTTP verb mapping

MQGETMQGETMQGETMQGET----MQPUTMQPUTMQPUTMQPUTMQGET w. MQGET w. MQGET w. MQGET w.

browse browse browse browse

http://http://http://http://hosthosthosthost////msgmsgmsgmsg/queue//queue//queue//queue/qnameqnameqnameqname////http://http://http://http://hosthosthosthost////msgmsgmsgmsg/topic//topic//topic//topic/opic_pathopic_pathopic_pathopic_path////

Messages

DELETEPUTPOSTGETSample URIsResource

Page 24: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

24© 2009 IBM Corporation

WMQ WMQ WMQ WMQ 버전버전버전버전 7777의의의의 Explorer Explorer Explorer Explorer 향상점향상점향상점향상점

• Queue Manager 그룹설정(Sets) + Explorer Configuration Export/Import 지원

� Queue Manager들을 탐색창 내에서 그룹으로 나누어 관리할 수 있음

� 가령, "Test", "Production“ 등으로 그룹을 작성해 그 용도에 따라 접근하도록 분류

� 이와 같은 설정을 Explorer에서 Export/Import할 수 있어 관리 유연성 증가

• 보안 설정

� Channel Exits와 userid/password에 대한 설정이 용이해졌음

� Explorer를 통해 원격지 Queue Manager에 연결하고자 할 때 Password 관리자를 통해 로그인

가능

� 편의를 위해 Password를 컴퓨터에 안전하게(암호화하여) 보관

� (사용자 설정을 위해 Client 채널 설정 불필요 및 보안 수준 향상)

• 이전 버전 대비 더 긴밀한 JMS 관리 통합

� Connection Factory나 Destination과 같은 JMS 오브젝트를 작성하면서, 동시에 이를 WMQ의

오브젝트인 Queue 또는 Topic과 연관시킬 수 있음

� Explorer에서 직접 JNDI 컨텍스트에 대한 설정이 가능하며 JNDI 네임스페이스에 오브젝트 스펙을

직접 등록

• Message 찾아보기(Browse) 옵션 설정

� Message의 개수나 열람할 Message의 바이트를 지정 가능

Page 25: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

25© 2009 IBM Corporation

Queue Manager Queue Manager Queue Manager Queue Manager Set(Set(Set(Set(그룹설정그룹설정그룹설정그룹설정))))

Page 26: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

26© 2009 IBM Corporation

WMQ Explorer WMQ Explorer WMQ Explorer WMQ Explorer 보안설정보안설정보안설정보안설정 및및및및 원격원격원격원격 Queue Manager Queue Manager Queue Manager Queue Manager 연결연결연결연결

Page 27: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

27© 2009 IBM Corporation

성능성능성능성능 향상향상향상향상

• Persistent Publish & Subscribe 처리량 최고 60% 증가• Non-persistent Client 처리량 최고 300% 증가• JMS Selector 처리량 최고 250% 증가• Message Listener(Message Driven Bean) 처리량 최고

45% 증가

• 자세한 버전 별 성능 비교는 SupportPacs로 제공되는 버전7 Performance Report 참고

Page 28: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

28© 2009 IBM Corporation

WebSphere MQ WebSphere MQ WebSphere MQ WebSphere MQ 버전버전버전버전 7 7 7 7 ---- 요약요약요약요약

• Publish & Subscribe에 대한 기능 및 성능 향상• JMS Implementation에 대한 지원 확대와 성능 향상• 관리성 향상• MQI 기반의 개발 용이성 증대• 전체적인 성능 향상(Performance Report 발행)

Page 29: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

29© 2009 IBM Corporation

QualitiesQualitiesQualitiesQualities----ofofofof----ServiceServiceServiceService Delivery StylesDelivery StylesDelivery StylesDelivery Styles

Transactional

Persistent

At-least-once

Best-Effort

Fire-and-Forget

Request-Reply

Replay

Guaranteed

At-Most-Once

Client-Server

Backbone

Point-to-Point

Peer-to-Peer

Publish/Subscribe

Grid

Bus

Fastest speed

Multicast

Lowest Latency

Unicast

SkillsSkillsSkillsSkills

Languages

Mindsets

Orientations

COBOL, C/C++, RPCJava, JEE, JMS.NET, C#, VB, WCFAJAX, Perl, Python…ServiceBatchFilesMessageResource…WSDL, XML, WS-*REST, MEST, KISS

EndEndEndEnd----PointsPointsPointsPoints

Vendor Platforms

Applications

Operating Systems

Devices

Web services

Web 2.0

JEE, .NET, etcExploitation & SupportSAP, Siebel, etc…Mobile, Wireless, PoS,Sensor, Actuator, RFID…Appliances

HTTP, AJAX, REST,…SOAP, WSDL, WS-RM, WS-N…

IBMIBMIBMIBM’’’’s Vision s Vision s Vision s Vision –––– SOA Messaging BackboneSOA Messaging BackboneSOA Messaging BackboneSOA Messaging Backbone• 모든 Transport 요건에 대한 범용의 Messaging Backbone을 제공

Page 30: 김형구차장 IBM WebSphereSales, Software Group June 5, · PDF file•Java 1.4.2 또는이후버전. 5 ... MQMD MQMD 헤더의헤더의확장: :: : Message PropertiesMessage Properties

30© 2009 IBM Corporation

Why IBM?Why IBM?Why IBM?Why IBM?

15년이 넘도록 검증된 기술 –15년이 넘도록 Messaging 기술에서 Leadership 유지

다양한 지원–Platform, technologies, languages 에 대한 폭넓은 지원

–IBM은 Messaging 분야에만 9,300 명이 넘는 certified

developers 를 보유

가장 많이 사용되는 Messaging Backbone–10,000 이상의 고객이 IBM Messaging Backbone 사용

–Fortune50 고객 중 90% 이상, Fortune10 고객 중 9고객이

사용

–Global 25 중 80% 이상, Global 10 중 7개 고객이 사용

Mission-critical Backbone으로 사용–금융권고객은 MQ Network을 통해 하루 1조 달러이상의

data traffic 을 처리

계속되는 기술 투자와 Innovation

–Messaging and ESB 분야에 120개가 넘는 특허 소유

–새로운 WebSphere MQ family 제품

–항상 제품에 대한 enhancements, updates and new

releases 제공Results reported from actual IBM WebSphere MQ implementations*

–공공 고객은 하루 675,000,000 이상의 message 를 전송

–금융권 고객은 하루 213,000,000 이상의 message 전송 (

z/OS only )

신뢰성 있는 Data 전송 (하루 수백억의

message 처리)