Insights and Answers for IT Professionals 如何運用 Host Integration Server 2000 整合大型主機 與 N-tier應用程式 翁顯亮 臺灣微軟技術專員 mailto:joewe@Microsoft.com 本課程假設您… 已具備以下基本技術知識: IBM SNA架構 Microsoft DCOM, COM+ Microsoft Windows 2000基本觀念 講座大綱 企業大型主機應用環境現況 大型主機與Internet / Intranet的互通技術剖析 Microsoft / SNA 網路的整合 N-Tier開發架構與COMTI機制 主機端資料存取技術 整合主機主機與開放系統非同步模式技術(MSMQ) HIS為企業提供的效益 企業資訊整合的挑戰 應用系統 提供全方位應用 系統整合 資料 提供多樣化資料 存取技術 網路環境 提供最先進開放系統 架構 < 提供全方位企業資訊整合服務 > 為什麼要做企業資訊整合? IT 需求 降低操作成本與複雜性 將主機系統納入電子商務與N-tier開發技術的支援 事業結盟 事業發展必須符合多樣性與最佳解決方案需求 保障既有的投資 互通性是主要的任務 為什麼重視企業資訊整合? 保障既有的資料與應用系統 投資 主機系統仍然是主要的作業 平台之一 Source: Forrester Research Inc, Cambridge, Mass Mainframe’s Last Hurrah May 1996 IBM SNA 應用系統與環境 SNA 網路模式 硬體架構 連線模態 連接到Front-End Processor 軟體架構 Logical Unit 的種類 SNA Peer-Oriented Model Peer-Oriented Model 架構 IBM MVS 主機應用程式需要 VTAM 支援 SNA 網路模式 Hierarchical provides access to centralized processing from components on the network Peer-oriented enables distributed processing by allowing all computers in the network to have access to resources on any other computer in the network 硬體架構 Mainframe Front-End Processor Cluster Controller Printer Terminal 連線模態 IBM Channels Open Systems Adapter Front-End Processor Cluster Controller 連接到Front-End Processor Mainframe 802.2 DLC Front-End Processor SDLC Cluster Controller 軟體架構 Mainframe + VTAM = PU 5 Software Applications VTAM SSCP Mainframe FEP + ACF/NCP = PU 4 Software Applications ACF/NCP CC + Configuration Utility = PU 2 Front-End Processor Software Cluster Controller Configuration Support Program Logical Unit 的種類 LU 2 LU 1 LU 3 Printer Terminal SNA Peer-Oriented Model Applications APPN Exchange of Data Applications Applications Peer-Oriented Model架構 End Node (EN) Transaction Program (TP) APPN Network Node (NN) TP SDLC 802.2 DLC Twinax Low-Entry Networking Node (LEN) TP IBM MVS 主機應用程式 VTAM支援的需求 Time Share Option (TSO) NetView Information Management System (IMS) Data Communications (DC) Customer Information Control System (CICS) Microsoft / SNA 網路通訊協定 Windows NT Workstation Windows 95 Windows 3.x MS-DOS OS/2 LAN/WAN Protocols SNA TCP/IP IPX/SPX Banyan VINES AppleTalk Microsoft Networking Physical Connections Logical Connections SNA Server Macintosh UNIX 掀開 SNA 連線黑盒子 Terminal Access SNA Host Network Printer Applications File Transfer Data Files Security Integration Database Integration Transaction Integration MS HIS Server Security Databases Transactions Hierarchical Network 中的 HIS (PU 2) Physical Connections HIS Server Mainframe (PU 5) SNA Server (PU 2) Front-End Processor (PU 4) Peer-Oriented Network中的 HIS LAN / WAN Mainframe HIS Server (PU 2.1 LEN) AS/400 HIS的連線模態 Mainframe PU Definition HIS Server Connection Connection Controller Description AS/400 802.2 DLC SDLC X.25 Twinax 802.2 DLC SDLC X.25 DFT Channel Microsoft 與 IBM SNA 整合 Managing Peer Communications By Using PU 2.1 Establishing Peer Sessions By Using APPC LU 6.2 Protocol Determining Properties By Using APPC Modes Advanced Peer-to-Peer Networking Creating Applications That Use the APPC and CPI-C APIs Communicating Using Transaction Programs 企業整合的網路架構(一) SNA 連線方式 Extensive SNA API, Protocol Support TN3270, TN5250, AFTP Shared Folder Gateway Host Print Server Integrated Security (Password Sync, Single Sign-on) Highly Scalable (30,000 sessions, Load-Balancing, Hot Back-up) HIS 2000 One-way password sync with RACF, Top Secret, ACF/2 Integration with Active Directory (AD) LU assignment, host security settings via AD tools No need to configure server names on clients WMI support for configuration and management 企業整合的網路架構(二) Host Connectivity Support Mainframe IBM Mainframe • (OS/390, MVS, VSE, VM, TPF) IBM “Compatible” Mainframe • • • Amdahl Fujitsu (also FNA support) Hitachi (also HNA support) Host Platforms IBM Midrange • • 802.2 (over ethernet, token ring, frame relay, ATM) SDLC (over leased or switched telephone circuits) X.25/QLLC (over private or packet switched networks) ESCON channel Bus&Tag channel DFT (over coax cabling) AS/400 AS/400 S/3X Gateway Functionality Remote Clients AS/36 Windows NT® Server 802.2 (over ethernet, token ring, frame relay, ATM) SDLC (over leased or switched telephone circuits) X.25/QLLC (over private or packet switched networks) Twinax (over twisted pair cabling) 802.2 (over ethernet, token ring, frame relay, ATM) SDLC (over leased or switched telephone circuits) TCP/IP, IPX/SPX, NetBEUI, Banyan VINES, AppleTalk, DLC, DecNet MS-DOS® TeleNet Unix Windows® Windows 9x® Windows™ Windows NT OS/2 for Workgroups Workstation® Macintosh OpenVMS Microsoft 與大型主機的互通之路 N-Tier架構與COMTI機制 整合主機Transaction處理 企業應用系統整合與COMTI 什麼是COMTI COMTI – 應用程式端技術 COMTI – 主機端技術 管理Peer Communication 利用PU 2.1 PU 2.1 (LEN) connection PU 2.1 (NN) connection PU 2.1 (EN) 建立Peer Sessions 利用APPC LU 6.2 Protocol APPC LU 6.2 PU 2.1 (LEN) session connection APPC LU 6.2 APPC LU 6.2 PU 2.1 (NN) PU 2.1 (EN) connection 建立使用APPC與CPI-C API的應用程式 CPI-C API APPC LU 6.2 PU 2.1 (LEN) Session Connection APPC API CPI-C API APPC LU 6.2 APPC LU 6.2 PU 2.1 (NN) PU 2.1 (EN) Connection 利用TP進行通信 TP: Transaction Programs TP Conversation CPI-C API TP Conversation TP APPC API CPI-C API Partner Partner APPC LU 6.2 APPC LU 6.2 APPC LU 6.2 PU 2.1 (LEN) PU 2.1 (NN) PU 2.1 (EN) Local Session Connection Connection COMTI MTS/COMTI Conversation CPI-C API CICS Conversation TP APPC API CPI-C API Partner Partner APPC LU 6.2 APPC LU 6.2 APPC LU 6.2 PU 2.1 (LEN) PU 2.1 (NN) PU 2.1 (EN) Local Session Connection Connection 主機技術 Host/SNA Three-Tier/COM DLC SDLC IMS CICS IPX/SPX TCP/IP Communication DB/2 Sybase OS/400 Oracle VSAM MS SQL Data Management Transaction Processing Tuxedo MTS 整合主機Transaction處理 主機Transaction程式設計的不同點: 通訊協定 資料溝通方式 安全性 維護性 企業應用系統整合 全方位Transaction整合 - COMTI COMTI - “COM Transaction Integrator” Quickly generates COM wrappers for CICS, IMS transactions Enables easy MTS, COM+ application access to existing business logic Enables full transactional coordination between MTS and CICS, IMS transactions HIS 2000的技援 XML document dispatch in addition to COM+ Terminal Oriented Screen Support LU0 Support COMTI SDK for Customer & ISV extensions Host Initiated Transactions Support for COM+ load-balancing, queued invocation VB project integration and source import extensions 企業應用系統整合 COMTI 綜覽 COMTI “wraps” CICS and IMS transactions and exposes them as COM objects. With COMTI, HTTP developers are quickly and easily able to: IIS / ASP TCP/IP SNA Build n-tier applications that COMTI MVS/CICS integrate MTS with IBM CICS and TCP/IP SNA IMS transactions Build Windows applications which access host transactions without learning host programming integrate MTS via 2PC to maintain distributed transactional integrity MVS/IMS DCOM COMTI – 應用程式端技術 Visual Basic Program Private Sub GetBalance_Click() Dim objBank As Object ‘ via Late Binding Dim curRetBalance As Currency Dim lngReturn As Long Set objBank = CreateObject("Cedar.Bank") ‘ invoke CICS via COMTI lngReturn = objBank.cedrbank(txtName.Text, txtAccount.Text, curRetBalance) curBalance.Text = curRetBalance ‘ Display result Exit Sub Mirror TP CSMI CICS MTS DCOM MTS Component “Cedar.Bank” APPC Linked-to-Program LINK from mirror transaction COMTI Proxy COMMAREA .TLB Name (in) AccNum (in) AccBal (out) Analyze [input] data in COMMAREA Do work using local resource managers Place [output] data in COMMAREA EXEC CICS RETURN 企業應用系統整合 COMTI – Scenario MVS “Look-up” Account Balance CICS “Account Balance” Transaction Program Return Account Balance CICS DB2 企業應用系統整合 COMTI Automation Creation 1. Identify COBOL program 2. Import COBOL code into Component Builder 3. Click to create Type Library (.tlb file) with Component Builder 4. Drag and Drop the .tlb file into the MTS Package. When the component is called, it invokes a CICS or an IMS transaction and passes the input parameters for processing.. 企業應用系統整合 COMTI – COBOL Host Code IDENTIFICATION DIVISION. PROGRAM-ID. CEDRBANK. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. 01 DFHCOMMAREA. 02 COMTIBANK-COMMAREA. 03 NAME PIC X(30). 03 ACCNUM PIC X(6). 03 ACCBAL PIC S9(7)V9(2) COMP-3. Transaction Definition (imported into Component Builder) PROCEDURE DIVISION. MOVE 777.12 TO ACCBAL. Transaction Logic EXEC CICS RETURN END-EXEC. 企業應用系統整合 COMTI 主機端技術 CICS (Customer Information Control System) Mirror TP CSMI APPC TCP/IP MTS IIS / ASP Business Process MTS Component TCP/IP Listener DB2 / VSAM COMTI Proxy .TLB COMTI Component Builder Linked-to CICS TP COMMAREA IMS (Information Management System) APPC TCP/IP The COMTI Proxy provides the run-time translation between the mainframe and the client/server COM components Terminal IMS Control IMSRegion Control Region IMS Message IMS Queue Message Queue IMS TP IMS Database COMTI access CICS TPs through the CICS mirror transaction (CSMI) and IMS TPs via the IMS Message Queue 企業應用系統整合 COMTI 用戶端應用程式技術 Visual Basic Program Private Sub GetBalance_Click() Dim objBank As Object 'Use late binding Dim curRetBalance As Currency Dim lngReturn As Long 'do the COMTI invocation Set objBank = CreateObject("Cedar.Bank") lngReturn = objBank.cedrbank(txtName.Text, txtAccount.Text, curRetBalance) 'put the currency data returned into display field curBalance.Text = curRetBalance Exit Sub Mirror TP CSMI CICS MTS DCOM MTS Component “Cedar.Bank” COMTI Proxy .TLB APPC LINK from mirror transaction Linked-to-Program Analyze [input] data in COMMAREA COMMAREA Do work using local resource managers Name (in) AccNum (in) AccBal (out) Place [output] data in COMMAREA EXEC CICS RETURN 企業應用系統整合 COMTI 總結 COMTI is a tool for: Maximizing reuse of legacy apps Programmatic access to legacy applications Leverage existing CICS/IMS transactions in updated 3-tier solutions Web-based access to Mainframe business logic/data Building XML interface to legacy applications Building blocks for integration of custom applications, transports and integration tools Requirements on the host: CICS v3.3 or later IMS v4.0 or later (IMS v6.0 for 2PC support) TCP/IP v3.2 or later (optional) Link-Model host applications (for CICS TPs) Non-Conversational TP input/output 企業資料整合 Transaction Scenario - 2 Phase Commit MVS HTTP CICS Region MTS IIS / ASP OLE DB Data Flow Data Flow Enlist Transaction Program COMTI Microsoft SQL Server MCAllocate APPC bonding SL2 Business Process APPC Prepare / Prepared TM Log Commit / Committed RESYNC Distributed Transaction Coordinator (DTC) Resource Manager DB2 Enlist XLN / Recovery Resource Recovery Service (RRS) TM Log 整合主機端資料 VSAM DB/2 OS/400 ODBC Driver for DB2 OLE DB Provider for AS/400 and VSAM SNA Server 主機端資料整合與存取技術 企業資料整合 多樣化的資料存取技術 存取技術現況 ODBC Drivers for DB2 and Oracle OLE DB providers for VSAM, OS/400, DB2 and Oracle Snapshot Replication to Enterprise Database Servers via ODBC Drivers HIS 2000的支援 DRDA Server Provider for AS/400 Data Queues ODBC Drivers (DB2, Oracle and Sybase) OLE DB Provider for Sybase Heterogeneous Replication Service Incremental (near real time) Merge (Change capture at multiple sites) 企業資料整合 用戶端資料存取 Rich Client n-Tier Empower individuals to access data, while enhancing manageability and scalability DCOM MS Transaction Server IIS / ASP Business Process ODBC/OLE DB Data Providers TCP/IP SNA HTTP ODBC/OLE DB Data Providers Rich Client 2-Tier Empower individuals to access data directly from the desktop Browser Client n-Tier Develop flexible web-based applications which access legacy data TCP/IP SNA DB2, VSAM, OS/400, Oracle, Sybase 企業資料整合 Data Provider Overview ODBC/OLE DB Data Providers MVS IMS/D B MVS VSAM DB2, VSAM, OS/400, Oracle, Sybase TCP/IP SNA MVS DB2 Oracle DB2 ODBC OLE DB rd Party w/Babylo 3 n* Requester Server AS/4 00 Syba se 佈署 SNA Server Mainframe or AS/400 Client ADO OLE DB DDM LU6.2 OLE DB SNA Data node Provider VSAM, OS/400 The ODBC Driver for DB2 企業資料整合 異質性複製 Replication Propagation Moving “Like to Like” or Mirroring Moving between dissimilar systems and/or data formats Transformation Alteration or “transformation” of the data from it’s original format 企業資料整合 資料存取 – 異質性複製 DB2 Sybase Microsoft SQL Server OS/400 Oracle VSAM Snapshot Replication - Takes a snapshot of current data in a publication at a Publisher and replaces the entire replica at a Subscriber on a periodic basis. Incremental Replication - Distributes transactions to Subscribers as incremental changes are made. Merge Replication - Allows sites to make autonomous changes to replicated data, and at a later time, merge changes made at all sites. Merge replication does not guarantee transactional consistency. 利用 OLE DB Providers 達到無主機碼境界 異質性複製目標 MVS IMS/DB MVS VSAM DB2, VSAM, OS/400, Oracle, Sybase, IMS TCP/IP SNA Microsoft SQL Server MVS DB2 Oracle DB2 AS/4 00 Microsoft w/Babylon 3rd Party BMC Data Mirror Open Universal Vision Solutions from SQL Server to SQL Server to/from SQL Server Syba se 案例研討 – 台新銀行 主機與開放系統非同步模式 非同步技術 – 應用程式整合 MSMQ-MQSeries Bridge Today Extend the Reach of Windows NT Applications Seamless Integration of MSMQ and Legacy Systems High Performance NT Integration (Perfmon, EventLog,..) HIS 2000 Windows 2000 support Enhanced Administration Enhanced Security MQSeries 5.1 Support MQSeries PubSub Broker support 非同步技術 - 資料整合 MSMQ-MQSeries Bridge MQ Series World Asynchronous Messages Build n-tier applications that integrate MSMQ & MQSeries Ideal for offline applications that perform Host transactions Supports MQSeries on: Windows NT Server MSMQ to MQ Series Bridge MSMQ MQ Series AS/400 MVS VSE MSMQ World Unix OpenVMS = Messaging Client Tandem NSK = Queue Manager MSMQ 的作用 探討應用MSMQ的非同步技術 MSMQ與IBM-MQ的互通 Message如何在異質平台中溝通 什麼是Message Queuing? 非同步 Requests are sent, and responses are received, as ‘messages’ 以訊息為基礎的好處 傳遞保證 路由機置 較少的連結 安全 MSMQ Queuing Model Sender Receiver Apps Apps At the abstract level, applications send and receive messages via queues MSMQ 互通性 MSMQ 易與其他訊息系統整合 MSMQ interoperate with Tibco with the Tibco MSMQ\Tibco Bridge Neon has native MSMQ support OpenBroker e-Biz 2000 Interoperate with MQSeries with the Microsoft MQSeries Bridge MSMQ Everywhere with Level8 MSMQ/MQSeries 的互通 MSMQ World Sender The MSMQ Bridge component is responsible for: 1. taking messages off the MSMQ connector queue 2. converting MSMQ message properties and Information to MQSeries compatible message properties and Data 3. sending messages to the MQSeries environment using the MQSeries API Apps MQSeries World Receiver Apps Translation Send Wait Receive MSMQ Bridge MSMQ MQ Series Receive Process Send Bridging Providing messaging-based communication integration between heterogeneous applications MSMQ/Geneva 的互通 (一) Windows Server Application MSMQ API (COM, C++) MSMQ Queue Manager Queue Queue Non-Windows Server Application GenevaMQ API Geneva Message Queuing Queue Manager Level 8 MQC Queue Queue Queue Queue MSMQ/Geneva 的互通 (二) Level8 -Geneva Message Queuing “MSMQ Everywhere” MSMQ Programming Interfaces MSMQ Queues MSMQ Messages MSMQ Protocols On most Enterprise Operating Systems Unix VMS HP3000 AS/400 HP3000 And more! Linux HPUX Contact: http://www.level8.com MSMQ Triggers CoCreateInstance Ships with the Resource Kit for both Windows NT 4.0 and Windows 2000 Supports both CreateProcess A.dll EXE COM components B.exe MSMQ Triggers API Filter Support Queue Manager ‘ -messages with only certain properties will invoke the trigger A’ ‘B’ ‘C’ Sys Sys MSG Queues System 企業應用系統整合 COMTI 與MSMQ Supports Transaction Integration with CICS and IMS via COM Transaction Integrator (COMTI) Supports Bi-Directional Message Interoperability between IBM’s MQSeries and MSMQ through the MSMQ-MQSeries Bridge 案例研討 – 安泰人壽 HIS 2000為企業提供的效益(一) Comprehensive Network Support Comprehensive Data Access Extensive Data Access Providers (DB2, Oracle, VSAM and Sybase) Replication (Snapshot, Incremental and Merge) Comprehensive Application Integration SNA and TCP/IP Connectivity Support Security integration (password sync, SSO) Network gateway (Emulation, Printing and File Transfer) Transactional Integration via COMTI Messaging Integration via MQ Series Bridge (MOM) XML based integration Deployable on Windows NT 4.0 and Windows 2000 Scalable, secure and manageable HIS 2000為企業提供的效益(二) Data Performance-improved OLE DB provider for DB2 2PC support for OLE DB driver for DB2 via LU6.2 (tested with mainframe only) Support for AS/400 data queues via an ActiveX control Host file transfer (mainframe, AS/400 and S/36) Performance-improved ODBC driver for DB2 Replication (requires SQL Server Shiloh beta 2) Incremental replication from AS/400 DB2 (no 2PC support) Incremental and merge replication from Oracle to SQL Server (no 2PC support) HIS 2000為企業提供的效益(三) COMTI Updated and corrected samples Server-only licensing MSMQ-MQSeries Bridge Support MSMQ 2.0 (in Windows 2000 Server), and MQ Series 5.1 Support for MQ 5.1 Extended Attributes Auto config of MQSeries Configuration Wizard MSMQ encryption between the MSMQ clients and the MSMQ-MQSeries bridge (single bridge per key only) Tracing and Event log enhancements HIS 2000為企業提供的效益(四) Security Integration Host security database based on MSDE for enhanced reliability, supportability One-way synchronization of Windows NT Server/Windows 2000 Server passwords with RACF, Top Secret and ACF/2 without 3rd party host component SNA Gateway Print Service enhancements (built-in HP PDTs, improved transparency GDI support, simplified UI, I/O Completion Ports in Beta update) Load balancing and hot backup support for LU6.2 2PC applications HIS 2000為企業提供的效益(五) ADMIN and Setup Active Directory support (client/server in OU, resource location) Upgrade 4.0 installation WMI API support (SNA config and status, trace, samples) WMI provider for MSMQ-MQSeries Bridge 整體服務 Insights & Answers for IT Professionals TechNet 光碟、TechNet Plus光碟 Microsoft® TechNet 實務技術講座 網站 www.microsoft.com/taiwan/technet TechNet Flash資訊技術人電子快訊 TechNet CD 標準版內容 一年十二期 Microsoft Knowledge Base 有助於精通所有產品的 Resource Kits 讓系統保持最佳狀態的的 Service Packs, patches, drivers, tools 等等 實務技術文章 評估與部署指南 TechNet 技術訓練課程 (Seminar Online) 個案研討、建置策略白皮書 … TechNet Plus 版的內容 TechNet Plus = TechNet 標準版光碟的內容 + Microsoft 各種最新產品的 Beta 評估版 以及正式評估版光碟 2001年2月TechNet Plus Microsoft Mobile Information 2001 Server企業版 Beta Microsoft SharePoint Portal Server RC-1 Exchange 2000 Conferencing Server正式評估版 Exchange 2000 Server企業版正式評估版 Microsoft SQL Server 2000中文版正式評估版 Microsoft BizTalk Server 2000企業版正式評估版 Microsoft Internet Security and Acceleration (ISA) Server 2000企業版正式評估版 Microsoft Host Integration Server 2000正式評估版 Microsoft Visio 2000標準版正式評估版