WebSphere_MQ_7新特性
- 格式:pdf
- 大小:4.15 MB
- 文档页数:63
IBM WebSphere MQ产品介绍© 版权所有 IBM Corp. 2004,2005。
保留所有权利。
1. 慨览什么是 Websphere MQWebSphere® MQ消息传递产品帮助业务应用在不同平台上交换信息并收发作为消息的数据,从而实现应用集成。
它们保护网络接口,确保‘一次性’的传递消息、处理通信协议、跨越可用资源分配工作负载、进行系统故障恢复、帮助实现程序的可移动性。
因此,编程人员可利用其技能来满足关键业务要求,而不是致力于基本的网络复杂性。
MQ的功能Websphere MQ∙能够通过点到点的数据活动可视性来实现业务数据的广泛共享并管理复杂性,从而利用传统应用的现有投资。
∙降低更改现有应用的需求,同时使用最新的消息传递和标准和数据格式将这些应用连接在一起,从而构建业务灵活性以快速响应动态环境。
∙可实现实时协作并减少信息使用错误,从而扩展现有应用的覆盖范围。
∙创建强韧的IT基础设施,支持面向服务的架构(SOA),从而为企业演变成随需应变企业提供所需的灵活性。
∙通过业界标准来合并并简化业务应用流程,从而降低集成基础设施的维护成本。
∙支持从桌面系统到主机的异构的任意到任意连接(支持35个以上的平台)。
∙全面的API,设计用于简化任何消息传递任务的编码。
∙允许企业集成单独的自主孤岛。
∙不受时间影响的通信。
∙有保证的一次性交付。
∙WebSphere MQ支持高吞吐量,客户日传输信息超过2.50亿条。
∙可连接当前企业中的任何商用系统。
∙不受网络中断的影响- 始终能够提供重要数据。
∙成为电子商务企业需要较短的时间、较少的技能和资源。
MQ 的技术特性:消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。
消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。
消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。
WebSphereMQV7新功能(7)配置安全性设置也更加容易,可以为每个队列管理器配置通道出口、用户标识和密码,或者为一个组或工作空间中的所有队列管理器配置通道出口、用户标识和密码。
从 MQ V6.0.2开始,MQ Explorer 插件包含了图形问题发现工具,只需要单击一次,该工具就可以对消息传递主干配置进行检测和分析,并且可以通过对象权限管理器(OAM),以图形化方式对用户许可进行配置。
图 8:使用MQ Explorer设置OAM并且无需购买WebSphere MQ for z/OS V7.0 Client Attachment Feature,就可以利用 MQ Explorer来管理 MQ 网络中的 z/OS 平台上的MQ 了。
发布/订阅管理简化从MQ V7.0 开始,对发布/订阅的管理完全集成在了图形化的MQ Explorer 工具中,从而可以更方便地使用和配置这一功能。
由于发布/订阅功能的内置,利用MQ V7.0 ,可以直接在应用程序中发布主题,不需要启用单独的发布和订阅组件;可以自动启用属于所有队列管理器的发布和订阅服务;可以像管理队列那样直接管理作为MQ Explorer 对象的主题,从而简化了管理以及安全管理。
可以使用图形化的向导创建主题,该向导也可以生成相应的 JMS 主题。
利用自带的工具发送、接收和测试,使得测试、发布和订阅工作变得更为简单,该工具同时包含了发布、订阅和点到点消息传递的具体样本。
图 9:使用 MQ Explorer 管理发布/订阅利用MQ V7.0,可以更轻松地看到某个主题下订阅了哪些应用程序,就像可以看到哪些应用程序正在使用具体某些队列一样(使用Display QStatus命令),可以在不更改任何代码的情况下,将现有应用程序从点到点消息传递模式切换为发布/订阅模式。
MQ V7.0添加了一个新的Topic 对象类型,该类型可以用于定义发布和订阅主题,以及建立支持更大主题空间的主题层次结构。
®。
WebSphere IBM WebSpherev7WebSphere 应用基础平台© 2009 IBM CorporationIBMAgendaWebSphere WebSphere v7 v7JavaEE5, EJB3.0, JPASOA 参考架构IBMIBM SOA基础架构的技术支撑业务创新和优化服务利用实时的业务信息获得更 好的更好的决策交互服务 交互服务 开发服务在人员、 在人员、流程和信 息之间实现协作流程服务 流程服务可编排的自动化业 务流程信息服务 信息服务以一种统一的方式 管理多样化的数据 和内容连接贸易(业务) 连接贸易(业务) 伙伴构建于一个健壮的、 构建于一个健壮的、 可扩展的、 可扩展的、安全的 服务环境和现有信息和应用 资产的交互更加容 易基础架构服务优化的吞吐量、 优化的吞吐量、可用性和 性能Apps & Info Assets集成的开 发环境, 发环境, 用于设计、 用于设计、 创建相应 的解决方 案成果ESB在服务之间,用 在服务之间,使通讯更便捷 管理并保 护服务、 护服务、 应用以及 资源合作伙伴服务 合作伙伴服务业务应用服务 业务应用服务 用服访问服 访问服务IT服务管理 服务管理3IBMWebSphere Application Server功能扩展•J2EE 1.2, 1.3, 1.4 support •JDK 5.0 support •Portlet support •Session Initiation Protocol (SIP) support •WS-Notification, WS-Business Activity and WSResource Framework, WS-I BSP support •Virtual Member Manager •OSGi based architecture •Consumability and ease of use enhancements •Serviceability enhancements Optional Functions: •WS-* •EJB3.0 •Web 2.0, Ajax •J5EE support •More Web Services •Additional FEP or Product Extensions •SCA/Web 2.0 FEP•J2EE 1.2, 1.3 support •JDK 1.3 support •Web Services based on Apache engine •Configuration data in XML files •Packaging simplification •Network Deployment Cell for clustering and scalability •Built-in messaging engine based on WebSphere MQ •J2EE 1.2 support •Configuration data in database •Support for Web Services •Merging of z/OS and distributed code base•J2EE 1.2, 1.3 support •JDK 1.4 support •Web Services based on JSR 101/109 on IBM engine •Support for JSF•J2EE 1.2, 1.3, 1.4 support •Web Services based on J2EE 1.4 •WS-Security and Basic profile support •Common data model, SDO •Inclusion of PME for all packaging •High Availability Manager •Java-based Messaging engine •Mixed version cell support for V5.0.X and V6V4.0.X 2001V5.0 4Q2003V5.1 2Q2004V6.0.X 4Q2004V6.1 2Q2006V6.1 FEP V7 2007 2008 Q34WebSphereUltimate scalability & performance; functional depth & breadthIBMv7Application Server for zOS Application Server Hypervisor Edition Application Server Network Deployment Application ServerOptimized for mainframesCustomer NeedsApplication Server for Developer Application Server Express Ideal for business critical and key company wide apps requiring highest levels of reliability, security, scalability & manageabilityReduced acquisition costs; Small footprint..Application Server Community EditionTailored for smaller business Ideal for lightweight, departmental apps where cost and simplicity are keyFast deploymentBuilt on common WebSphere codeCapabilitiesHigh Qualities of ServiceBuilt on open source technologyWebSphere•IBMv7Product install will continue to have the same look and feel as WebSphere Version 6 / 6.1Job Manager Proxy Server Plus….. Secure Proxy Server Application Client Thin client libraries IHS/plugin Admin Agent Work Manager, Application Profiles, etc. Web-based Administration, Web Services EJB Container, Messaging Web, SIP, Portlet Containers (Servlets, JSPs, XML) JDK 6WebSphere Application Server Network Deployment (Clustered, multi-machine ) machineHigh Availability Manager, Edge Components Deployment Manager, Node Agent, ClusteringKernel (Single Server)Install tools App development tools IBM Support Assistant ITCAM subsetIBMAgendaWebSphere WebSphere v7 v7JavaEE5, EJB3.0, JPA, WebServiceIBMJavaJava SE 6.0 Java EE 5.0 Portlet JSR 286Web Services SIPWS-I Reliable Secure Profile and Basic Profile 1.2/2.0,Java SE 6IBMJava Compiler APIJava Scripting support JMX – MBean event generation at thresholds Java Web Start – JNLP spec upgrade Web ServicesJAX-WS JAXB StAXJDBC 4.0Java EE 5IBMEJB 3.0, JPA, JAX-WS 2.0, JSP 2.1, Servlet 2.5, JSF 1.2 Uses the concept of progressive disclosureAnnotations and injection support reduced complexity Java Persistence API (JPA) allows simpler entities to be created using annotated POJO model EJBs are developed as Plain Old Java Objects (POJOs)Web ServicesIBMAnnotations: EJB 3.0 –Simpler session beansWAS V7 Stateful Session Bean Examplepublic interface ShoppingCart {public int someShoppingMethod();}Business InterfaceEJB 2.0/2.1EJB 3.0public interface ShoppingCart extends EJBLocalObject {public int someShoppingMethod();}BeanDefine Bean asplain Java interface1111public class CartBean implements ShoppingCart,SessionBean {private float total;private Vector productCodes;public int someShoppingMethod() { … }public void ejbActivate() { }public void ejbPassivate() { }}Bean Implementation@Statefulpublic class CartBean implements ShoppingCart {private float total;private Vector productCodes;public int someShoppingMethod() { ... }}Implementation is a POJO,that is annotated @Stateful and implements the business methodsBeans may also implement optional life cycle methods:@Init, @PostConstruct, @PreDestroy, @PostActivate, @PrePassivate, @RemoveObject obj = Context.lookup(“java:comp/env/ejb/MyCartHome”);@EJB ShoppingCart myCart;EJB ClientEJB 2.0/2.1CodeEJB 3.0 Code@EJB annotation will cause the container to give you access to the bean.Annotations: EJB 3.0 –Simpler session beansWAS V7 Session Bean Client Example12CartHome theCartHome = (CartHome) obj;ShoppingCart myCart = theCartHome.create() ;myCart.someShoppingMethod();…myCart.someShoppingMethod();…12Simplifying Object Relational MappingWAS v7 uses annotations and dependency injection to simplify EJB and JPApublic abstract class CustomerBeanimplements Customer, EntityBean {public CustomerBean() { }public abstract String getName();public abstract void setName(String n);public abstract int getAmountSpent();public abstract void setAmountSpent(int @Entity @Table (name=“CUSTS”)public class Customer implementsSerializable {public Customer() { } @Idpublic String getName() { return name; }public void setName(String n) { name = n; }public int getAmountSpent() { return EJB 2.1EJB 3.013amount);private EntityContext ctx;public String ejbCreateByName(String) throws EJBException { }public void setEntityContext (EntityContext theCtx) throws EJBException {ctx = theCtx; }public void unsetEntityContext() throws EJBException {ctx = null; }}amountSpent; }public void setAmountSpent(int a) { amountSpent = a; }private String name;private int amountSpent;}EJB 2.0/2.1CodeEJB 3.0 CodeBean-Client Code@PersistenceContext EntityManager em;Customer cust1 = new Customer();cust1.setName(“Joe Cheapo”);Object obj = Context.lookup(“java:comp/env/ejb/CustomerHome”);CustomerHome ch = (CustomerHome) obj;Customer cust1 = ch.create(“Joe Cheapo”);cust1.setAmountSpent(5);@PersistenceContext annotation injects an instance of EntityManagerpersistence contextSimplifying Object Relational MappingWAS v7 Entity Bean Client Example1414cust1.setAmountSpent(5);em.persist(cust1);Customer cust2 =em.find(Customer.class, “Bill Spendy”);cust2.setAmountSpent(250);…Customer cust2 =ch.findByPrimaryKey(“Bill Spendy”);cust2.setAmountSpent(250);…Make thePOJO Entity Beanmanaged and persistedIBMWeb Services 规范更新WS-IBasic Profile 1.2, 2.0, Reliable Secure Profile 1.0OASISWS-ReliableExchange (WS-ReliableMessaging), WS-SecureExchange (WS-Trust/WS-SecureConversation, WS-SecurityPolicy), WS-Transaction (WS-AtomicTransaction, WS-BusinessActivity), Kerberos Token Profile, WS-DistributedManagement (WSDM)W3CSOAP 1.2, MTOM, XOP, WS-Security 1.1, WS-AddressingMetadata, WS-Policy其它WS-MetadataExchangeIBMWAS v7 对JavaEE5 及其他标准的支持Java2 Enterprise Edition (J2EE)J2EE 1.3 Certified J2EE 1.4 Certified Java EE 5 Certified Java Database Connectivity (JDBC) Core and Extensions 2.0 3.0 4.0 Enterprise Java Beans (EJB) 2.0 2.1 3.0Java Connector Architecture (JCA) 1.0 1.5 1.5Java Transaction API (JTA) 1.0.1 1.0.1 1.1Java Transaction Service (JTS) 1.0 1.0 1.0Java Messaging Service (JMS) 1.0.2 1.1 1.1RMI/IIOP 1.3 1.3 1.3Java Server Pages (JSP) 1.2 2.0 2.1Java Servlets 2.3 2.4 2.5Java API for XML Processing (JAXP) 1.1 1.2 1.2Java Auth and Authorization Service (JAAS) 2.0 2.0 2.0Java Naming & Directory Interface (JNDI) 1.2 1.2 1.2Java Activation Framework (JAF) 1.0 1.0 1.1Java Mail 1.2 1.3 1.4Java Management extensions (JMX) 1.0 1.2 1.2Java Secure Socket Extension (JSSE) 1.0 1.0.3 1.0.3Java Cryptography Extension (JCE) 1.2.1 1.2.2 1.2.2Java Authorization Contract with Containers (JACC)J2EE1.3无此标准 1.0 1.1Java Server Faces (JSF) 无支持支持Portlet 无 1.0 2.0Java Persistence无无 1.0IBMWAS v7 对Web Services 及其它开放标准的支持Web ServicesWAS 5.1WAS 6.1WAS 7JAXB N/A 2.0 2.1JAXP 1.1 1.2 1.2JAXR N/A 1.0 1.0JAX-RPC 1.0 1.1 1.1JAX-WS N/A 2.0 2.1Web ServicesWAS 5.1WAS 6.1WAS 7WS-Addressing N/A 1.0 1.0WS-AT N/A 1.0 1.1WS-BA N/A 1.0 1.1WS-COOR N/A 1.0 1.1WSDL1.1 1.1 1.1WS for Java EE JSR JSR 109.1.1JSR 109.1.2RAMP N/A 1.0 1.0SOAP 1.1 1.2 1.2SAAJ 1.1 1.3 1.3MTOMN/A 1.0 1.0SOAP over JMS N/AN/A1.0StAX N/A 1.0 1.0UDDI 2.0 3.0 3.0W3C XML Schema1.01.01.0(JSR 109)109.1.0WS-I Basic Profile 1.0 1.1 2.0WS Metadata (JSR 181)N/A JSR 181JSR 181WS-Notification N/A 1.3 1.3WSRF N/A 1.2 1.2XOP N/A 1.0 1.0WS-PolicyN/AN/A1.5IBMAgendaWebSphere应用服务器v7 产品概述WebSphere应用服务器v7 新功能特点标准支持(JavaEE5, EJB3.0, JPA, WebService) 性能提升应用部署和管理安全性参考文档IBM智能预置Web Container V7 服务器仅加载需要的功能模块以提高内存使用效率 显著降低了应用服务器的内存足迹与启动时间V6.1 服务器HA Manager Security SIP Container Web Services EJB Container Infrastructure…动态激活动态激活!!!!IBMWebSphere 应用服务器v7——高性能、高扩展性及高可靠性应用平台的基石在单核与4核系统的吞吐量测试中,领先于同类产品相比Oracle/HP与Oracle/Sun的同类型产品,性能提升超过16%*Web Services Performance每秒处理超过75,000次事务,只需花费与同类产品一半的价格 WebSphere应用服务器V7中Web服务的性能比V6.1中最高可提升100%。
WebSphere MQ传输环境搭建和测试IBM公司的WebSphere MQ产品可以方便地实现分布式异构系统之间的消息传递。
对于大型的分布式系统,使用MQ进行数据通信可以说是非常有效的,而且适用于异构环境(如NT和多种UNIX之间通信)。
本文主要介绍:MQ核心组件简介、MQ环境的搭建以及通过编写简单的程序对MQ进行测试,希望能起到抛砖引玉的作用。
一、MQ核心组件简介MQ的核心组件包括:队列管理器(QueueManager)、队列(Queue)、通道(Channel)、消息(Message)和集群(Cluster)。
队列管理器(QueueManager)提供队列服务,管理属于该队列管理器的队列和通道等所有MQ对象。
队列(Queue)是用于存储消息(Message)的数据结构,有四种类型:本地队列(LocalQueue)、远程队列(RemoteQueue)、别名队列(AliasQueue)和模型队列(ModelQueue),最常用到的是本地队列和远程队列。
通道(Channel)是提供了从一个队列管理器到其他队列管理器的数据传输路径。
通道类型有若干种,其中常用的是发送方通道(SenderChannel)和接收方通道(ReceiverChannel)。
消息(Message)是应用程序之间传递的一系列字节数据,MQ传递的消息有两部分组成:消息描述符(MessageDescriptor)和应用数据(ApplicationData)。
默认最大传递的消息大小是4MB,可以根据需要进行设置,最大可到100MB。
集群(Cluster)是分布式网络上的多个队列管理器的集合,本文不涉及集群的具体内容,有兴趣的读者可参考相关资料。
二、MQ环境的搭建本文搭建的环境以Windows平台为例,搭建步骤如下:(一)、准备工作准备2台Win2000环境(XP也可),通过以太网连通。
机器A:IP地址为:10.1.1.1机器B:IP地址为:10.1.1.2均安装MQ 5.3,如需进行第三部分的程序测试,需要安装JDK并设置相应的类路径。
WebSphere MQ一小时快速入门一、什么是中间件中间件是处于应用软件和系统软件之间的通用服务,是一类以自己的复杂换取企业应用简单化的可复用的基础软件。
中间件主要分为消息中间件、应用服务器中间件、交易中间件等等。
而今天,笔者晓奕主要向大家介绍的正是IBM厂商的消息中间件WebSphere MQ。
二、WebSphere MQ简介Websphere MQ是IBM的商业消息通讯中间件(Commercial Messaging Middleware)。
Websphere MQ提供一个具有工业标准、安全、可靠的消息传输系统。
它可实施在广泛的IBM和非I BM平台上,它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递消息完成整个工作流程。
通过使用WebSphere MQ用户可以简单方便的开发出可靠、高效的分布式应用系统。
三、WebSphere MQ主要对象消息是对使用它的应用程序有意义的以字节为单位的字符串。
消息可以用来实现在相同或不同平台上应用程序间的通信。
队列是用于存储消息的数据结构。
按功能可以分为本地队列、远程队列、传输队列、模板队列、别名队列、死信队列等等。
队列管理器在WebSphere MQ中队列管理器是基本的软件系统,队列管理器可看成是队列和其他对象的容器。
通道是一种提供从一个队列管理器到另一个队列管理器的通信路径。
它又叫消息通道,用在分布式的队列把消息从一个队列管理器发送到另一个队列管理器。
按照定义可以分为发送通道(Sender)、接收通道(Receiver)、服务器通道(Server)、请求器通道(Requester)等。
MQSC命令是用来管理队列管理器对象,包括队列管理器本身、通道、队列和进程定义。
可以使用 runmqsc 向队列管理器发出 MQSC 命令。
四、WebSphere MQ体系结构WebSphere MQ的体系结构如图所示,它是由许多对象所组成的,主要包括队列管理器、队列、通道、进程定义等对象。
IBMWebSphereMQ几个特性的应用IBMWebSphereMQ消息中间件有很多的特性和优点,使用IBMWebSphereMQ可以简化和优化消息通讯的应用设计。
为了满足用户各种不同的应用的通讯需求,IBMWebSphereMQ采用了大量业界领先的技术,并拥有许多先进的功能,其中很多是其他厂商所无能为力的。
将这些技术和功能应用到客户的通讯系统之中,可以简化应用逻辑,优化系统架构,从而提高整个系统的可靠性、可用性和可扩展性。
下面将介绍怎样使用IBMWebSphereMQ的一些特性来简化程序。
1.利用消息的COA机制处理接收回执在通讯应用处理中,如果数据的发送方需得到接收方结果收妥的确认后方可进行。
我们可以利用MQ的消息的COA (ConfirmOnArrival)机制来实现。
所谓COA机制,是指当消息从源地址发往目的地址时,当消息到达目的队列之后,由MQ系统本身自动产生一个应答,返回给源地址,返回的消息的内容可以是原始消息的前100个字节或者是原始消息的全部内容。
当从发送方向接收方发送数据时,在消息中设置COA标志,当消息到达接收方时,接收方的MQ系统会自动产生一个应答,反馈给发送方,发送方只有在收到此应答消息时,才对接收行进行相应业务处理。
2.利用MQ机制实现网络超时和业务处理超时处理在有些客户业务系统中,数据的发送和接收有两种情况需要特殊处理,一种是发生网络故障,数据没有在指定的时间内到达接收方情况下的超时处理;另一种情况是,在指定时间内,尚未发出的数据要从MQ的队列清除,对此两种情况的解决方案如下:网络故障,数据没有在指定的时间内到达接收方情况下的超时处理把数据从发送方送到接收方,若发生网络故障,数据将无法在规定的时间内被发出,为此我们可以采用如下方案,在方案中我们可以利用到MQ的以下三种机制:MQ消息生命周期:MQ的消息可以设定生命周期,在消息指定生命周期到达时,可以自动将消息删除或取出进行其他处理。
IBM SOA講堂-WebSphere動靜皆宜: WebSphere MQ 7.0新功能介紹及與PM4Data(檔案傳輸服務)& WTX(資料轉換引擎)的整合Owen ChangWebSphere Technical Sales SpecialistIBM Taiwan Software Groupowench@AgendaWebSphere MQ v7.0 新功能介紹WebSphere MQ Integrate With WTX(整合協同服務)資料轉換引擎WebSphere MQ Integrate WithPM4DATA(檔案傳輸服務)SummaryNext Version ObjectivesImproved support for "standards-based" messaging –Underpinning SOA and ESB architectures–Ease-of-use–PerformanceExtension of publish/subscribe capabilities–Leading to simplification with Message BrokerEasier programming in any environment–Some features suggested by JMS requirements are useful in MQI Common across Distributed and z/OS codebasesPlatform CoverageEssentially the same platforms as V6–Minor updates to base OS levels–Linux based on RH4 or Suse9; AIX V5.3; z/OS 1.8 (GA 3Q06)Drop Linux/zSeries31-bit–64-bit edition will continueDrop Windows 2000–Windows XP is base level–Will include VistaWindows 2003 x86-64 support–Adds 64-bit application support–Supporting existing 32-bit applications–Some exits will require recompiling to support both 32 and 64-bit modes Java 1.4 and laterPublish/SubscribePoint-to-point asynchronous messaging decouples applications –But still implies a one-one relationship between sender and receiverPublish/subscribe is a further stage of decoupling–Sender has no direct knowledge of how many (if any) apps will see a message–Link between applications is a Topic, not a QueueA natural part of the JMS API–Combined both Publish/Subscribe and Point-to-Point styles–Want to make it a natural part of the native MQIV5.3 and V6 (Distributed) included a Publish/Subscribe broker (nee MA0C)Also have Message Broker and Event Broker productsGoal is to simplify and improve ...Relationship with Message BrokerNext version of Message Broker will prereq this version of WMQ for pub/sub–But WMB V6 will continue to work with new WMQ releases–Migration can be done one piece at a timeThe publish/subscribe engine is removed from the broker–The Nodes will call the WMQ engine transparently–Message Flows do not need to be changedAdministration tooling will be integrated with WMQ tooling –One place to configure WMQ and WMB resources–V6 SupportPacs show directionLooking for any other optimisations ...–Vision is all TRANSPORT is in WMQ–For example, multicastPublish/Subscribe AdminBased on TopicsTopic Objects–New object type, like queue or channel definitions–A 48-character name which has a longer attribute for full topic string–Defines major points in a topic treeIn-use topics–The topic strings that applications are publishing or subscribing on–Inherit attributes (eg security) from the "closest" defined topic object–Not defined administratively, but can be viewed/NEWS SPORTSCRICKET RUGBY DEFINEDTOPIC TREEIN-USE TOPICS SUBSCRIBE("/SPORTS/CRICKET/WEST INDIES")SUBSCRIBE("/NEWS/POLITICS/WESTMINSTER")SUBSCRIBE("/TV/DRAMA/WEST WING")Publish/Subscribe Admin (2)Support for durable and non-durable subscriptions–With durable, a client can go away and come back later without missing messages–Durable can cause queues to fill ...–No "cleanup" task needed for non-durableSubscriptions–Able to see who is subscribing to topics: like DISPLAY QSTATUS–Able to create subscriptions on behalf of a third partyStatus and Statistics–Items such as number of messages published on a topicSecurity–Use of a topic is restricted by permissions on the associated topic object–On z/OS drives need for mixed-case support in RACF–Follows existing WMQ model for security configuration (RACF or OAM)Publish/Subscribe TopologiesWMQ V6 publish/subscribe networks based on hierarchies–All brokers linked in parent/child treeWMB publish/subscribe networks based on hierarchies of collectives –All systems in a collective are connected to each other (mesh)–Also has "clones“New product will have hierarchies and pub/sub clusters (a.k.a. collectives)–With interoperability to other pub/sub systems through hierarchiesDesign gives–Scalability–Availability–Ease of administrationCollectives based on WMQ clustering–Cluster can be defined independently of any existing cluster used for queueingPublish/Subscribe MQICannot change the JMS API–But we want to make some of its facilities more easily available in the MQI–To improve MQI programming and improve (make thinner) the JMS layer New verb for subscribing–So you do not need to build RFH or RFH2 headers in the application–MQSUB registers a subscription–Includes information about where messages will be read from–Do not need to specify a queue –can be automatically assigned New options on existing verbs–MQOPEN to get access to a topic–MQCLOSE will deregister a subscription–MQPUT, MQGET to publish and to receive subscriptions–MQSUBRQ (new verb) for initial stateConversion of point-to-point applications without code changes –Administrative changes to objectsPublish/Subscribe Application MigrationNew verbs remove need for some of the older interfaces–Which will be deprecated –though not removed immediately–PCF and RFH1 facilities for WMQ publish/subscribe applications: Identity, Streams New MQI operations will not be available for old VB and ActiveXprograms–Use .Net classes insteadA single application cannot mix new verbs with old options–Can't use RFH1(Register Publisher) and MQPUT(topic) in same programSeparate daemon included to translate MA0C pub/sub commands –With some performance cost–Not needed when all publish/subscribe applications have been converted Migration step to convert existing WMQ and WMB subscriptionsMost common "application" is IBM-supplied JMS/XMS layer –New client design to take advantage of new facilities when they exist–So installing new JMS jar or XMS dll will be all that's neededMessage PropertiesArbitrary values associated with the message but not part of the body–Like a user-extendable MQMD–Already part of JMSNew verbs MQSETMP and MQINQMP–Properties can be integers, strings, boolean, etc.Easier to use than RFH2 folders–Receiving apps do not see them unless they want–No need to parse and skip over message headersAppear as RFH2 properties on older queue managers Permits explicit statement of relationships between messages–eg Message X is a REPLY to Message Y–Which can then be exploited by products looking for patterns MQMDBODYPROPSXX=YYUsing Properties –Possible Scenario// This is a router app -get a message and work with it// 1. Initial setup and read inputMQCRTMH(hConn, &CrtMsgHOpts, &hRequestMsg, &RC, &RC);GetMsgOpts.MsgHandle= hRequestMsg;MQGET(hConn, hObj, &MsgDesc, &GetMsgOpts, BufLen, &Buffer, &DataLen, &CC, &RC); // 2. Forward request unchanged to a server app, named in the message PutMsgOpts.Action= MQPACT_FORWARD;PutMsgOpts.OriginalMsgHandle= hRequestMsg;MQPUT(hConn, hServerObj, &MD, &PutMsgOpts, DataLen, &Buffer, &CC, &RC);// 3. Tell requester message has been dealt with by updating existing property Name.VSPtr= “RequestStatus”;Name.VSLength= MQVS_NULL_TERMINATED;MQSETMP(hConn, hRequestMsg, &SetPropOpts, &Name, &PropDesc, MQTYPE_STRING, “REQUEST RECEIVED”, 16, &CC, &RC);PutMsgOpts.Action= MQPACT_REPLY;PutMsgOpts.OriginalMsgHandle= hRequestMsg;MQPUT(hConn, hReplyObj, &MD, &PutMsgOpts, DataLen, &Buffer, &CC, &RC);// 4. Also put a completely unrelated message to a logging queuePutMsgOpts.Action= MQPACT_NEW;PutMsgOpts.OriginalMsgHandle= MQMH_NONE;MQPUT(hConn, hLogObj, &MD, &PutMsgOpts, DataLen2, &LogMsgBuf, &CC, &RC); MQCMIT(hConn,&CC,&RC);Other MQI EnhancementsAsynchronous Message Reception–New verb MQCB defines a callback function–Automatically Invoked when a message arrives–No need for MQGET(WAIT) or MQGET(SIGNAL)Selectors–Use a SQL92 clause to select messages by properties includingMQMD fields–Can be specified on MQOPEN, MQSUB for filtering messages–Filtering is normally done inside queue manager for efficiency–Not filtering on message body contents–Message Broker still required for content filteringNew Quality of ServiceTraditional WMQ non-persistent messages morereliable than some needReceiving Messages/Subscriptions:–Messages sent to a client in advance of MQGET, queued internally–Administrative choice –no application changes needed–Higher performance in clientSending/Publishing Messages:–Application can indicate it doesn't want to wait for the return code –Maybe pick up return code later –MQSTAT verb–Maintains transactional semantics–Higher performance in clientImplementation also gives us more heartbeatopportunities–Faster failure notification for clientsWMQ Explorer EnhancementsGrouping–Queue Managers can be partitioned into groups within the Navigator–eg"Test", "Production"Security Configuration–Easy to set channel exits, userid/password configurations per queue manager–Still recommend a SVRCONN security exit for authentication–... or globally for all queue managers in a group or workspaceTighter JMS integration–Creating an queue/topic can define a JMS destination at the same time 3rd party plug-ins can create new property pages for an object–Makes them look even more integratedInvestigating alternative distribution mechanisms–eg Eclipse Update siteOther Ease-of-use ItemsLooking to produce items such as–More sample programs–Demonstrations–Default configurationsDefault configuration wizard will create all objects needed–For JMS and for publish/subscribe operationNo need for command to start/stop a broker –The "broker" process disappears unless needed for compatibility of old apps–All queue managers will have publish/subscribe function automatically availableHTTP-MQ GoalsSimplify access to MQ Apps from Rich Internet Applications –Gives AJAX and Web 2.0 access to the Enterprise–Submit data direct to queues & topics from Browser–Low Latency Web Pub/Sub–Stock price update, Sports scoreboard, Airport and Rail Departures / Arrivals notificationEnable MQ Application Connectivity from any Platform or Language with HTTP capabilities–Significantly increase range of supported platforms– e.g. –Linux distros, POS terminal running Windows Services for Unix environment, RFID reader, Mobile devices–No client library installation requiredLightweight (low qualities of service) messagingBackground: HTTP-MQ is Loosely Modeled on RESTREpresentational State Transfer (Roy Fielding)o Everything is modeled as a Resourceo Every resource is identified by an address (URI)o Resources have state (representation)o HTTP is used to transfer state to networked applicationo HTTP verbs operate on the resource¾GETÆretrieves a resource’sstate representation¾POSTÆUpdates resource(or other processing)¾DELETEÆdeletes resource¾PUTÆCreates / updatesresource stateSummaryImprovements to publish/subscribeImprovements to JMS/XMS layerEase-of-use for administratorsEase-of-use for MQI programmersPerformanceTighter integration with Message BrokerContinues to extend the enterprise messaging foundationAgendaWebSphere MQ v7.0新功能介紹 WebSphere MQ Integrate With WTX( 整合協同服務)資料轉換引擎 WebSphere MQ Integrate With PM4DATA(檔案傳輸服務) Summary21What does WebSphere TX do?It’s a complex transformation engine that extends the value of DS Enterprise EditionIt takes any kind of data from its native formANY DataHierarchical Relational Tabular Semi Structured BinaryPackedProcesses them together, natively, with no CodeMANY to MANY IntegrationTabularBinaryHierarchicalSemi Packed Structured Ex. - Hierarchical Data , Binary Data, Packed Data, Tabular Data, Relational Data, Nested Structures, Mixed-Type Data, and on and on… RelationalAnd outputs them into their native target formatsANY Data22Transformation Vision - SimplifiedTransform Anything Transform Anywhere Everyone Transforms23What Makes WebSphere TX so Different?One Engine, Multiple Deployment Options In-Process Data Validation Code-Free Design and Deployment Ontological Data Model for all Data Types High Throughput Execution of Complex Transformations and Enhancements24Examples of Complex Transformation Challenges Addressed by WebSphere TXData Enhancement– Lookups – Data Logic and Routing – Data Validation – Context Based Data and Usage RulesMany to Many Transformation– Single-Transaction, interdependent data sets, conversions and logic – Mixed Data and Source/Target Types – Dependent Result Sets, Nested Structure DependenciesComplex Data Transformation– Nested, Semi-structured And Hierachical Data Types – Dependent Inputs And Outputs – Binary, Packed, EBCDIC, ASCII, Mixed Character Data25WebSphere Integration Reference ArchitectureDevelopment Services Business Innovation & Optimization Services Interaction Services Process Services Information ServicesEnterprise Service Bus Partner Services Business Application Services Application and Information AssetsWebSphere TXInfrastructure Management Services26WebSphere TX: A Unified Transformation Environment across our portfolioONE Transforma tion Engine for the Enterprise!– Powerful transform capabilities without coding – Natively handles any data type – Solves really hard transformation problemsFor batch environmentsAvailable NowWebSphere TX(as a standalone engine)MAP TRANSFORMFor WebSphere Available Now Message Broker For WebSphere Process Server For WebSphere ESB For WebSphere Partner GatewayAvailable For 3rd Party Now Integration ProductsUnifying Enterprise Data Transformation(as an embeddable engine)Compleme nts existing27WebSphere : A Powerful, Modular PlatformProcess Mgmt Event Mgmt Transformation Transport= WebSphere PS = WebSphere MB = WebSphere TX = WebSphere MQ28WebSphere TX across the WebSphere PlatformAIM Offerings WTX - embeddedAvailable Now Available NowIIS WTX OfferingsWebSphere Message BrokerWTX Server For Unix (AIX, Solaris, HPUX, Linux)(WTX OEM version)MapStageAvailable NowWTX – add-on WebSphere Process ServerAvailable NowWebSphere DataStageWTX Server For z/OS (IMS, CICS, Batch, USS)WTX Packs are available for all offersWTX – add-on WebSphere ESB WTX Server For WindowsAvailable NowWTX – add-on WebSphere Partner Gateway B2BWTX Launcher - cross-platform (For Existing Customers)•SWIFT •HIPAA •NCPDP •HL7 •EDI,EDIFACT •TRADACOMS •ODETTE •Etc..Available NowWTX SOA and Extended SOA Edition (RTI – Remains in IIS)29WebSphere TX and The IBM Enterprise Service Bus Advanced EditionBroad Connectivity & Mediation: FIX SWIFT Messages Files Custom Formats Database HL7 JMS ACORD AL3 HIPAA CICS Standardization of SMTP NCPDP RV EDI-FACT ACORD Data Handling IMS Across the WebSphere Portfolio cXML ebXML MVR XML EDI-X.12WebSphere DataStage TX “Transformation” Broad APIs and Platform Support: MQI, JMS, SOAPWebSphere Message Broker “Data In Motion”WAS V6 BusDeep Web Services support:JMS, SOAP, WSDL, XML…emerging WS standards.30WebSphere TX Adds a Powerful Transformation Environment to our ESB PortfolioProvides a universal transformation engine– Powerful transform capabilities without coding – Natively handles any data type – Solves really hard transformation problems in less timeComplements existing portfolio of products– WebSphere MQ – WebSphere Message Broker – WebSphere ESBContinues to complement IIS portfolio of products (MapStage offering) Delivers new opportunities for sales to customers with mainframe, batch, and third party environmentsShape = Protocol Color = Data type31Combined power of two industry leading technologiesUniversal transformation engineInputsMQ JMS HTTP Files Timer Database Telemetry MQe Real-timeAdvanced ESB execution environmentIndustry Maps (SWIFT, EDI, HIPAA)OutputsMQ JMS HTTP Files Timer Database Telemetry MQe Real-time MulticastWebSphere TX TransformationDataStage TX Transformer Mapping Model XSLT Model Compute (ESQL) Model Compute (Java) ModelTransformation CapabilitiesESQL, Java, XSLT, MapTX Server, or custom codeComplex Event Processing High AvailabilityWebSphere Message BrokerPub/SubClusteringDataStage TX mappingMRM Data Models (XML, COBOL, Etc)ESQL, Java, XSLT, MapIndustry formats (SWIFT, EDI, etc)WebSphere WebSphere WebSphere TX MessageMessage Broker Model Type TreesParsing and formatting capabilities32WebSphere TX Extender for WebSphere Message BrokerUnix or Windows USS Available Spring ‘06 “Powerful ESB with Powerful, Universal Transformation”WebSphere Message Broker V6*Transformed message Format 2Original MessageTransform TransformAppl. Appl. AFormat 1Augment Augment Q1Inpu t Nod e*Transformation NodeAppl. Appl. BOutput NodesQ2 Appl. Appl. C Q3Database Node+Augmented message Format 3Log LogWarehouse NodeContent accessed from databaseWarehoused MessageDatabase Content*WebSphere TX Extender for WebSphere Message BrokerOne method of transformation regardless of data type or transformation challengeIt is the Power of WTX transformation on top of the Power of the WMB Platform33WMB Plug-in componentsParser– Transforms bit streams to Message Trees (MQInput) and Message Trees to bit streams (MQOutput) – Transforms Message Trees to Message Trees (RCD)Plug-in node– Transforms anything to anything – Icon installs into Message Flow palette – Easy configuration34WMB Parser Use CasesConvert any input stream to standard Message Tree Reuse existing ESQL Mix and match WTX and standard parsers No need for custom written (c coded) ParsersCustom WTX ParsersStandard XML Parser35WebSphere TX plugin node for WebSphere Message BrokerCan be used to call any WebSphere TX map from within a Message Broker flow Transaction Control of message broker is maintained Message Broker passes BLOB to WebSphere TX map Plugin can pass BLOB back to message broker, or can parse to any other format: XML, MRM, ...Call TX map for parsing36WebSphere TX and WebSphere Process ServerInteraction through:WebSphere Process ServerCustomer– web Service calls – Java API – RMI ServerWebSphere TXBankShared ServiceBank 2 – “Supplier”Outsourced37WebSphere Message Broker Adds Rich Enterprise Service Bus Connectivity ServicesMediation Services Event Services Transport ServicesTransport ServicesAssured delivery Secure delivery Transactional delivery Manageable delivery Delivery replay Modifiable qualities of transport.Event ServicesEvent detection Event triggering Event distribution Complex Event Processing (CEP).Mediation ServicesRouting Transport switching Programming model switching Transformation & content augmentation Customized communications.Message Broker brings these to WTX38WebSphere WPG + TX Combined Implementation OfferingFull B2B Solution ImplementationSend POReceive POWebSphere TXReceive AcknowledgeWebSphere TX Trading ManagerAcknowledge WebSphere Partner Send Receive PO PO GatewayResponse Response Receive AcknowledgeSendCustomerSend PO Acknowledge39AgendaWebSphere MQ v7.0 新功能介紹 WebSphere MQ Integrate With WTX( 整合協同服務)資料轉換引擎 WebSphere MQ Integrate With PM4DATA(檔案傳輸服務) Summary40內容什麼是Process Manager for Data? 特點和功能 可管理的資料交換 工具 支援的平臺 支援的檔案類型 如何與PM4DATA整合41什麼是Process Manager for Data (PM4Data)?基於WebSphere MQ企業級解決方案,用於解決資料和檔案傳輸問 題架構具有可擴展性PM4Data提供如下服務的保證:– – – – – – – – – 高效能,雙向多文件並行傳輸 安全性 多平臺覆蓋 集中監控和點對點的視覺化管理 提供資料的追蹤和監控、例外處理和容錯機制 大資料量傳輸基礎架構 利用成熟技術提供自動的整合解決方案 該解決方案可以增強現有檔案和資料為基礎的技術資產,提供更多業務價值 強大的企業資料整合平臺,可擴展的強大能力實現資料移動的整合、管理和控制以及跨各類異構平臺的整合任務42PM4DATA File, Database and Queue IntegrationQueue QueueData transfer request PM4Dataor PM4Data New or Append file or Database updateDBorFileIBM WebSphere MQQueueor PM4Data New file or Database update舉例 來源資料需要被移動到一個或多個目標系統 PM4DATA能夠檢測到應用的更新 點對點的視覺化狀態監控和通知提醒43PM4DATA File, Database and Queue Integration and File Processing Queueor Application PM4Data New or Append file Database updateorFileDBPM4Data Detect update immediatelyIBM WebSphere Business Integration Message BrokerQueueor PM4Data or New or Append file Database update舉例 應用對資料進行更改 更新被檢測到並進行捕獲 一個或多個目標系統的更新 在WebSphere Message Broker內部進行轉換和路由處理 點對點的視覺化狀態監控和通知提醒44可管理的資料移動HTML/XML HTTP/SManaging Platform狀態資料變成訊息MessageMessageMessage訊息接收和組裝Source platform簡化的資料移動場景 點對點詳細的傳輸狀態Target platform複雜的、可靠的、安全的、高效能的、大資料量的可管理的資料傳輸解決方案,利用WebSphere MQ 可支援非同步的、交易性的資料傳輸能力 在傳輸操作中,自動處理平臺和檔案類型的差異 通過客製化出口提供可擴展的能力 高安全性和資料壓縮能力 點對點的資料傳輸視覺化 多叫用方法,包括XML訊息介面45可管理的資料移動Source PlatformMQSeries Queue ManagerWebSphere MQ ChannelsHTML/XML HTTP/SManaging PlatformStatusTarget PlatformMQSeries Queue ManagerPM4DataFilePM4Data點對點詳細的傳輸狀態46可管理的資料移動Source PlatformMQSeries Queue ManagerWebSphere MQ ChannelsHTML/XML HTTP/SManaging PlatformStatusTarget PlatformMQSeries Queue ManagerPM4DataFilePM4Data點對點詳細的傳輸狀態47可管理的資料移動Source PlatformMQSeries Queue ManagerWebSphere MQ ChannelsHTML/XML HTTP/SManaging PlatformStatusTarget PlatformMQSeries Queue ManagerPM4DataFilePM4Data點對點詳細的傳輸狀態48可管理的資料移動Source PlatformMQSeries Queue ManagerWebSphere MQ ChannelsHTML/XML HTTP/SManaging PlatformStatusTarget PlatformMQSeries Queue ManagerPM4DataFilePM4Data點對點詳細的傳輸狀態49PM4Data Managed Data Movement StatusSource PlatformMQSeries Queue ManagerHTML/XML HTTP/SManaging PlatformStatusTarget PlatformMQSeries Queue ManagerMQSeries ChannelPM4DataFilePM4DataFileEnd-to-end detailed transfer status50。