Oracle Tuxedo Message Queue(OTMQ)--企业级消息中间件
Oracle Tuxedo 11g 为企业云而来

Oracle Tuxedo 11g 为企业云而来作者:暂无来源:《计算机世界》 2012年第1期Oracle 日前正式发布了中间件Tuxedo 11g,新版Tuxedo 重点加强了与Oracle 中间件云服务器Exalogic 的优化集成以及对大型机应用程序向开放平台迁移的支持。
据悉,新版 Tuxedo 可帮助企业将IT 转变为企业云运行,并能跨各种环境将每个应用程序部署在理想位置,从而高效运行于企业公有云之上。
而且,借助Oracle 独特的集成方式,Oracle Tuxedo 可以将Oralce 应用、ISV 应用、定制应用综合集成,为企业提供最佳的应用程序平台,还能与Oracle 的Exalogic 中间件云服务器、Exadata数据库云服务器等Oracle 的软硬件集成系统紧密融合,帮助降低IT 成本,显著提高系统性能。
“经过在Exalogic X2-2 上优化运行,新版Tuxedo 为那些需要高质量服务的高容量、低延迟关键任务型应用提供了动态和可扩展性的解决方案。
”甲骨文公司全球软件开发副总裁熊光樑告诉记者。
据悉,Oracle Exalogic 中间件云服务器X2-2 全机架空间内容纳了40TB SAN 磁盘、4TB 读取缓存以及72TB 写入缓存,可提供应用程序共享存储和高可用性集群。
其运算能力相当于30 台X86 服务器。
Oracle Tuxedo 11g 与OracleExalogic 中间件云服务器进行优化集成后,能帮助客户将现有应用性能提升7 倍。
“Oracle Exalogic 中间件云服务器是拥有高ROI 的集成化系统,可为企业提供完备的、部署就绪的私有云,并使Tuxedo、Java 及Oracle商业应用程序性能进一步提升。
”熊光樑表示。
值得一提的是,新版Tuxedo11g 还特别为大型机用户将应用迁往开发平台提供了技术手段和工具,从而为延长大型机应用系统的寿命带来新的途径,并能降低系统的维护和管理成本。
TUXEDO与ORACLE数据库的互连

TUXEDO与ORACLE数据库的互连TUXEDO与ORACLE数据库的互连[转]TUXEDO与ORACLE数据库的互连在银行、电信、金融等行业的大型计算机应用系统中,中间件的使用日益普及,中间件已与操作系统、数据库并列为三大基础软件。
BEA Tuxedo作为最优秀的中间件产品,在我国的很多行业中广泛使用,本文通过一个简单的例子介绍如何在TUXEDO中访问ORACLE 数据库。
在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。
这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。
TUXEDO服务端可以和ORACLE在同一台服务器上,也可以在不同的机器上,如果在不同的机器上,在TUXEDO的服务端所在的机器要安装一个ORACLE的客户端。
TUXEDO服务端与ORACLE数据库连接有两种方式:1、不通过XA接口直接互连。
适用于整个系统只有一个数据库的情况。
2、通过XA接口互连,对整个系统有一个数据库或多个数据库都适用,建议采用,本文介绍这种互连的配置方法。
在银行、电信、金融等行业的大型计算机应用系统中,中间件的使用日益普及,中间件已与操作系统、数据库并列为三大基础软件。
BEA Tuxedo作为最优秀的中间件产品,在我国的很多行业中广泛使用,本文通过一个简单的例子介绍如何在TUXEDO中访问ORACLE 数据库。
在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。
这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。
TUXEDO服务端可以和ORACLE在同一台服务器上,也可以在不同的机器上,如果在不同的机器上,在TUXEDO的服务端所在的机器要安装一个ORACLE的客户端。
TUXEDO服务端与ORACLE数据库连接有两种方式:1、不通过XA接口直接互连。
Oracle Tuxedo服务架构基于Web服务的门户说明书

ORACLE SERVICE ARCHITECTURE LEVERAGING TUXEDOFEATURES∙Web services calls to and from Oracle Tuxedo with extensible data mapping∙RESTful Web services with JSON, XML or HTML payload ∙Auto transformation to/from Tuxedo buffer types∙Easy-to-use Tuxedo Services Console for all configuration needs∙Support for custom http headers∙SOAP/http with WS-specs implementations∙MTOM support for binary data ∙WS-Security , WS-AT, WS-RM∙Single-sign-on with other applications when using Oracle Access Manager∙SAML Single Sign-On∙XML schema for custom buffer types∙Data transformation tracing∙SOCKS proxy enabled∙MIB and dynamic configuration∙Web based configuration tool ∙Integrated monitoring tools∙ECID propagation Oracle Service Architecture Leveraging Tuxedo (SALT) is a standards-based, bi-directional Web services gateway. SALT provides transparent and reliable access to existing Oracle Tuxedo services as RESTful andSOAP/http Web services with a high-performance, easy-to-use, and configuration-driven model. In addition, Oracle Tuxedo applications can call external RESTful and other Web services as Tuxedo services, with the gateway seamlessly transforming the call using HTTP protocol. The result is widespread access to applications using Web services without any Web services specific coding, enabling interoperability among distributed applications that span diverse hardware and software platforms.SOA-Enable Oracle Tuxedo Applications Without Re-CodingOracle SALT allows organizations to integrate mission-critical applications written in C, C++, COBOL and Java into service-oriented architectures (SOA) without costly rewrites . Leveraging a configuration-driven approach eliminates the need for programming changes and allows companies to use existing enterprise assets and to lower their total cost of ownership (TCO).As a native Oracle Tuxedo Web services implementation, Oracle SALT reduces the run-time conversions that might exist with other solutions for accessing Oracle Tuxedo services.Create an Extensible Web Services ArchitectureOracle SALT and Oracle Tuxedo allow enterprises to develop composite (or hybrid) end-to-end solutions that leverage the scalability and robustness of Oracle Tuxedo combined with the extensibility of SOA. Uniting these two environments simplifies a broad spectrum of transaction-processing solutions via powerful, open standards-based APIs. With a high-performance, easy-to-use, configuration-driven model for bidirectional Web services integration, developers can publish existing Oracle Tuxedo services as standard Web services using the SOAP/HTTP(S) protocol.BENEFITS∙Enable interoperability among distributed applications that span diverse hardware and software platforms∙Simplify access to Oracle Tuxedo applications using standard Web services protocols∙Reduce complexity and time-to-market for new Web services with configuration driven approach∙Atomic transactions ensure data consistency∙Facilitate the development of heterogeneous distributed applications with a cross-platform, cross-language data model∙Lower your TCO by leveraging existing IT assets without the need for costly rewrites With Oracle SALT, Oracle Tuxedo services can transparently call external Web services as if calling another native Tuxedo service. In addition to basic Web services protocols, the application complies with most primary Web services specifications, including SOAP, Web Services Description Language (WSDL), WS-Addressing, WS-Security, WS-AtomicTransaction, and WS-ReliableMessaging. This improves TCO by leveraging existing skill sets, tools, and information assets.Figure 1. Oracle SALT in an enterprise services networkOracle SALT can be integrated with Oracle Service Registry and Oracle Enterprise Repository to publish Tuxedo services metadata for broad access within the enterprise, enabling their use in Oracle BPEL PM, Oracle Business Rules, and Oracle Service Bus as well as any 3rd party users of the Registry and Repository.RESTful Web services allow use of HTTP to directly call Tuxedo services or for Tuxedo applications to be able to make HTTP requests to external applications. The HTTP verbs GET, POST, DELETE, and PUT are mapped to Tuxedo service names. For inbound requests, HTTP content, either XML or JSON, is mapped to the specified Tuxedo buffer type, while the HTTP header information is placed into the Tuxedo header information that can be retrieved with the tpgetcallinfo() API. Upon return from the service, the reply buffer is mapped back into XML or JSON and then returned to the caller.Similarly for outbound calls, service names associated with the HTTP verbs are advertised by the SALT gateway. Tuxedo applications call these services with the appropriate Tuxedo buffer type and the buffer is converted to either XML or JSON before the corresponding HTTP request is made. The response from the external service then transformed from XML or JSON into a Tuxedo buffer and delivered back to the caller.Optimize Performance, Scalability, and InteroperabilityOracle SALT improves performance with significantly faster response times while offering full support for multiple interaction styles, including inbound/outbound, synchronous/asynchronous, and request/response. SALT supports XML and key WS standards, and interoperates with multiple Web services platforms, including OracleWebLogic Server, Oracle Service Bus, Apache Axis, and .NET.SecurityOracle SALT uses the Oracle Tuxedo security framework for authentication, protects point-to-point transactions using Secure Socket Layer (SSL) protocols, and can route traffic through SOCKS proxies.Web browser based Tuxedo Services ConsoleOracle SALT provides configuration-only way to expose or access Web services. The Tuxedo Services Console, embedded in the base product, provides a point and click approach to create the required configuration to expose Tuxedo services as Web services, eliminating the need to understand structure of the configuration files and manually edit those.Oracle Tuxedo delivers a robust platform to run high-volume applications across distributed, heterogeneous computing environments, enabling transactions that stretch from customer-facing, business-critical applications to back-office processes, across any system, anywhere in the world.RELATED PRODUCTS: ∙ Oracle Tuxedo ∙ Oracle Tuxedo System and Applications Monitor (TSAM)∙Oracle Tuxedo Mainframe Adapters∙ Oracle Tuxedo JCAAdapter∙ Oracle Tuxedo Message Queue ∙ Oracle Tuxedo Application Rehosting Workbench ∙ Oracle Tuxedo Application Runtime for CICS and Batch∙Oracle Tuxedo Application Runtime for IMS∙ Oracle Tuxedo ApplicationRuntime for BatchFigure 2. Oracle Tuxedo Services Console interfaceOracle SALT uses the service metadata repository for Tuxedo service definitions. Using the Tuxedo Services Console, service definitions for Tuxedo services can be automatically populated or edited. Tuxedo services are then grouped as operations to become part of a Web service.Tuxedo Services Console Features and BenefitsOut-of-the-box experience The console is embedded into the Oracle SALT gateway and does not require any additional product or add-on installation.Service Definition Discovery For discovery and automatic population of service definitions in the metadata repository.Service Definition Editor A service metadata editor to add/edit/delete service definitionsdirectly.Web Service Definitions Editor Web service definitions group Individual services (operations) into an actual Web Service.Policies can be configured here at the service, operation or individual message level.Security SSL and authentication can be used to protect access to theconfiguration tool.Import WSDLs Imports WSDLs to create configuration for accessing external WebservicesImport RESTful Web services Import JSON definitions so that these external RESTFul Web services can be accessed from Tuxedo applicationsTest client A simple test client for testing RESTful Web services Property Editor Setup SALT gateway propertiesContact UsFor more information about Oracle SALT, please visit or call +1.800.ORACLE1 to speak to an Oracle representative.Copyright © 2010-2016, Oracle and/or its affiliates. All rights reserved.This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.。
TUXEDO中间件基础培训教程

TUXEDO中间件基础培训教程TUXEDO是一种常用的中间件,用于构建分布式系统和业务应用。
它提供了灵活的架构和强大的功能,能够处理高并发的请求和可靠的消息通信。
本篇文章将介绍TUXEDO的基础知识和用法,帮助读者了解和使用TUXEDO中间件。
一、TUXEDO中间件概述1. 应用服务器(Application Server):负责处理客户端请求,调用相应的服务和资源。
2. 事务管理器(Transaction Manager):负责管理分布式事务,保证事务的一致性和可靠性。
3. 路由器(Router):负责根据客户端请求的目标,将请求路由到相应的应用服务器。
4. 消息队列(Message Queue):用于在不同的应用服务器之间传递消息。
二、TUXEDO开发环境2.配置TUXEDO环境:设置TUXDIR环境变量和相关配置文件,以便使用TUXEDO命令和功能。
3.开发工具:TUXEDO提供了命令行工具和图形化界面工具,可以根据具体需求选择适合的工具进行开发。
三、TUXEDO应用开发1. 定义服务(Service):服务是TUXEDO中间件的核心概念,它表示一个可供调用的逻辑单元。
可以使用工具或配置文件定义服务,并设置相应的参数和属性。
2. 编写客户端代码:客户端代码负责与TUXEDO中间件进行交互,发送请求和接收响应。
可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行调用。
3. 编写服务代码:服务代码负责响应客户端请求,并进行相应的数据处理和业务逻辑。
可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行编程。
4.配置资源:资源是TUXEDO应用的关键组成部分,包括数据库连接、文件系统等。
可以使用配置文件或工具对资源进行定义和配置。
5.部署应用程序:将开发完成的应用程序部署到TUXEDO环境中,并进行测试和验证。
四、TUXEDO事务处理1.本地事务:在单个应用服务器内执行的事务,可以通过TUXEDO事务管理器进行管理。
Oracle 21世纪企业集成解决方案指南说明书

Business Integration for the 21st Century Peter BelknapORACLE PRODUCT LOGOProgram Agenda•21st Century Integration Landscape •Oracle SOA Suite and BPM Suites –Industrial SOA for Integration Everywhere –Business-Driven Process ImprovementIntegration or Extension? Oracle Fusion Middleware“Extension”Platform“Integration”PlatformMeeting the “Data Tsunami” ChallengeMuch more data, many more events need to be handledmuch more quicklyNew and existing business processes need to be integrated reliably, securely,and inexpensivelyOperators and customers expectincreased visibility and control IT must respond with a flexible, secure, scalable infrastructureAd Hoc Point to Point IntegrationStandards-based Service Oriented ArchitectureDeclarative Re-use Building a Successful Service-Oriented ArchitectureVisibility, Control, AnalyticsEnterprise SecurityOracle Identity Access, RiskMgmtOracle SOA GovernanceCanonicalServicesLoosely Coupled Layered Architecture Core Business ApplicationsOracle BPEL PM,CEP Oracle AIAOracle Service Bus ERP , Custom ApplicationsExadata Cloud Application Foundation on ExalogicSUNOracle BI, BAM WebCenterIntegration Landscape•Complete•Best-in-Class •Integrated •OpenOracle Fusion MiddlewareUser Engagement User EngagementIdentity Management & Security Identity Management & SecurityBusiness ProcessManagement Management ContentManagement Management BusinessIntelligence IntelligenceService Integration Service Integration Data Integration Data IntegrationDevelopment DevelopmentTools ToolsCloud ApplicationFoundation FoundationEnterprise EnterpriseManagement ManagementWebSocialMobileKey Usages Of SOA in Fusion AppsUsage Category Description UsageProcess Customization (for Developers) Allow developers to customize process to suitbusiness needs.•Simple sequential BPEL process steps.•Customer can modify steps.Human Workflow Support human workflow with complexapprovals including approval hierarchies •Most important usage by many fusion apps•Manual task or approval tasksIntegration Decouple external systems. Allows bringingnew systems online without changing coreProcesses •Mediator is an example•End to End Integration •Flexibility with Rules based routingProcess Composition (for Business Analysts) Make it easier for business analyst to modifyprocess at runtime.•Business Analysts arrange orchestrationflow of “pre-canned” tasks / processes•Process Composer use caseLong Running or Batch Processing Support Batch processing and other longrunning jobs as scheduled /async processes •Executed as a batch or is a long running process•Processing itself happens outside •Orchestration, fault handling and compensations are keyEvent Processing Support event processing using SOA model. •Event driven integration•Events to add flexibility and loose coupling2. Process DecompositionDecomposition of Long Running Processes• BPEL for main process and subprocesses • Rules• Mediator (dynamic routing) • Asynchronous services1. Human ApprovalsHuman Interactions within the process (most prevalent)• BPEL (or BPMN)• Human Tasks/AMX with HCM integration• Rules for dynamic routing • ADF Task flows• Customizable Worklist• Actionable email notifications3. Business EventsDecoupling using business events•Events publication from ADF •Event Delivery Network•Async invocation of process, human tasks or ESS jobs5. Enabling Edge Integration4. Batch jobs6. Synchronous MicroflowsSynchronous Processes•Synchronous processes•Dynamic processing using rules •Straight through processing with BPEL & ADF services •SDO entity variablesLong Running batch jobs•Scheduler for time basedscheduling and job incompatibility •BPEL for orchestration•Asynchronous Services/jobs •ODI integrationEdge Integration•Dynamic endpoints•Support multiple protocols •Mediator with differenttransformations based on end point8. Process CompositionFusion Micro Patterns7. Activity GuideMultistep human interactions•BPEL/BPMN processes with human tasks•Activity guide metadata •ADF task flows•AG controls in apps UIBusiness user driven process composition•BPMN based process templates •BPMN/BPEL Rules, human workflow •BPM composer for customization •Service catalogApplication Integration ArchitectureSolutions Which Deliver Sustainable Integration•Powered by Oracle Fusion MiddlewareLeverage Oracle’s best -in-class, standards-based SOA Middleware platform•Reference Process ModelsOptimize business performance leveraging Oracle’s extensive experience and best practices•Pre-Built IntegrationsAccelerate implementation of discreet business processes using AIA’s pre -built integrations across Oracle Applications•Foundation PackBuild cross-functional business processes across any of your applications utilizing a standardized approach and methodologyComplete. Open. Integrated.BPM SuiteProcess ManagementRegistry &Repository Service ManagementSOA Governance ProcessIntegration B2B IntegrationSOA Suite ODI SuiteBulk DataProcessing Data QualityFoundation PackReference ProcessModelsCommon Objects & Standard Shared ServicesSOA/BPM Framework &MethodologyDeveloper UtilitiesPre-Built IntegrationsPackaged Integration Accelerators For Specific Applications & Processes:Process Integration Packs and Direct IntegrationsArtifactsPoliciesImplementationEfficiency, Reuse & ConsolidationSecuritySystematic Enforcement of PolicyDefinitionBusiness/IT AlignmentMetadataMonitoring andManagementProduction Assurance for SLAsOracle Governance SolutionComplete solution for Application Integration ProjectsArchitects Business OwnersDesignersITOperationsRelease ManagementDevelopers &IntegratorsSecurity EngineersConsumer Provisioning& LEADING IDEs & LEADING IDEs& ENTERPRISE GATEWAY & ENTERPRISE GATEWAYEnterprise Repository for Oracle Fusion Applications https://Program Agenda•21st Century Integration Landscape •Oracle SOA Suite and BPM Suites –Industrial SOA for Integration Everywhere –Business-Driven Process ImprovementConnect & normalizeAdaptersERP MAINFRAME SERVICES PARTNERSDB •Over 200 adapters•For all technologies & applications: EBS, PSFT, Siebel, SAP , Databases, Files, FTP , JMS, MQ, B2B, etc. •Graphical introspection of target •Abstract complexity of underlying applications•Convert from proprietary formats to XMLTPS TPSmsg msg/s /s1,000’sservicesservices Virtualize, route, scaleOracle Service BusERPMAINFRAMESERVICES PARTNERSDB SERVICE BUS SERVICE BUS•Foundation for yourshared services infrastructure•Convert from one protocol and format to another, on the fly (ex: consume a Mainframe service from .NET over SOAP)•Add scalability through cachingOracleCoherence Data GridWorklistPortalMS Office MAINFRAME Online ShoppingMobile DevicesApplicationInstance 1ApplicationInstance 2Application Instance 3Proxy Services•Enforces agility by replacing direct coupling with a flexible virtual endpoint to the consumerXBusiness Services•Access service from multiple endpoints•Ensures high availability when apps go down and during maintenance ORACLE SERVICE BUSOracle Service Bus - Service Virtualization,Automated Service PoolingOracle Service BusKey Ingredients for an Enterprise Service BusUnified SecurityFTP MQ Adaptive MessagingSMTP MetadataReportingSLA AlertsContent Based RoutingTransformation Import / Export Validation Service ManagementService VirtualizationConfiguration Framework HTTP/S JCAJMSFile Change CenterMonitoringWSRM Tux EJBService ChainingREST AuthenticationAuthorization Identity Sign/EncryptJDBC AQ SAP EBS PSFT JDE SBLReduced RiskService results available even when application is downImproved PerformanceEliminate repeated application requests for static dataPredictable ScalabilityCached results maintained internally resulting in less dependence on 3rd party service provider availabilityScalability & PerformanceService Result Cache – Coherence in the boxCRM SalesERPBusiness AppsXCloud Vendor ACloud Vendor BENTERPRISE SERVICE BUSResult accessedfrom cache Result accessed from cacheERP MAINFRAME SERVICES EVENTSPARTNERS DB BPEL & BPMN BPEL & BPMN BUSINESS RULES BUSINESS RULES HUMAN WORKFLOW HUMAN WORKFLOW SERVICE BUS SERVICE BUSOrchestrateStandards-based BPEL & BPMN•Build process logic•Involve people(human workflow) as well as systems •Self-describinggraphical design-time environment•Build compensation logic for non-transactional servicesUnified Platform for Services, Events & Processes Unified Process PlatformProtocol BindingsDeclarative Composite AssemblySOA Composite Editor•Drag & Drop•Visual•Single Unit ofDeployment•Easyversioning•Based onSCA standardBuilt-In Business RulesHuman Workflow ServiceWorkspace applicationHuman Workflow ServiceWSDLTaskHuman Workflow MetadataProcess(BPMN/BPEL)ADF task flow to show work item details in workspaceTaskCompletedAssign TasksSupervisor Task Assignee Process OwnerTask Metadata including routing slip, AMX stage and list builder configurationsRules engineProcess ComposerBusiness Analyst-Driven Process ModelingSimple Drag andDrop ProcessModelingLeverage Existing Models •Import Visio and XPDL modelsBusiness IT CollaborationSingle Model From Modeling to ExecutionStudio – Comprehensive IDE for Developers Empower business analyst withcatalog of implementationartifactsSingle BPMN 2.0modelSimulate Before You ImplementKPIsRich set of ChartsQueue Buildups and What-ifsAdd security, management, governance and eventingCOMPLEXEVENT PROCESSINGBAMEM JDev WebPOLICY MANAGERERP MAINFRAME SERVICES PARTNERS DB BPEL & BPMN BPEL & BPMN BUSINESS RULES BUSINESS RULES HUMAN WORKFLOW HUMAN WORKFLOWSERVICE BUS SERVICE BUSDATA INTEGRATOR DATA INTEGRATORGOLDENGATE GOLDENGATEEVENTSClearly separates: •process logic from•security concernsCentralized policy management & visibility: versioning, rollback, auditing Global, Policy-driven SecurityAttach/detach policies at design-time…(right in JDeveloper)Or attach/detach policies at runtime, after deployment(in Enterprise Manager)•All-in-onemanagement console•End-to-end (process) instance tracking•No explicit work required fromdeveloper to enable tracing •Unified error handlingBPELHuman Workflow Routing Business RulesExternal ServiceDrill downDrill-down intocomponentsOut-of-the-box visibilityEnd-to-end instance tracking in Enterprise Manager•Unified exception handling framework (“Error hospital”):•Search•Delete•Recover failed instances(individual or batch)•Directly access corresponding log entriesRecoveryActionRecoveryscreenEdit payloadFaults &exceptionslogExceptions HandlingMonitor ExpressInstrument BPEL processesright from JDeveloperAvailable Monitor Objects:Interval / Counter / CaptureFeed into pre-builtBAM dashboards(or build your own)BI Views for BPMN processesOracle Business Activity Monitoring Meaningful, Event-driven Visibility for Business Users Monitor business processes & services in real-timeKey Performance Indicators (KPIs)Service-Level Agreements (SLAs)Analyze events as they occurCorrelate events & KPIsIdentify trends as they emergeAlert users to bottlenecks & solutionsAct on current conditionsEvent-driven alertsReal-time dashboardsBPEL processes & web services integrationReal Time Data CollectionOracle BAMJ M S B u s MS MQ IBM MQ Tibco Oracle AQSonic JMS 1.1 D a t a b a s eSQL ServerSybase Oracle JDBC File SystemWeb ServiceBPM/BPEL/OSB/B2B Oracle E-Business Real-time alertsReal-timedashboard/reportsD a t a S o u r c e sCall Web ServiceDB2 Enterprise ManagerBAM Adapter ODIOracle BAM: Architected for IntegrationInternetBAM DashboardsWebApplicationsStartPage ActiveViewer ActiveStudio Architect AdministratorReportServeriCommandOracle Database(Grid)BAM Data & Metadata External Data ObjectsWebServicesInternetEnterprise Integration FrameworkApplication ServerBIWeb ServicesJMS ConnectorBAM AdapterADFBAM DataControlADF Pages with DVTBAM ServerEventEngineActions & Escalations Notification ServicesReportCacheSnapshots & Change Lists Memory / DiskActiveDataCacheViewSets API KernelDataSets DataStorageEngineODIDatabasesOLTP & Data Warehouses Mobile DevicesData & Metadata Import & ExportBPELBPMMessage Queues CEPOESBNorwegian Shipping Insurance CompanyProject Metrics:Single developer (OSB, jQuery)Just a couple of months to productionWebcache HTTPSOAPDMZ OpenText eDocsOSBIntranetDMInternetjQueryRESTCRMCustomer dataclaim documentsUsed Oracle SOA Suite to provide single-view across internal and cloud applications•65,000 suppliers and 1,200+ retailers worldwide: Wal-Mart, Amazon, Rite-Aid, Ford, …✓Oracle Fusion Middleware reduced processing times by 10x✓Multi-tenant single instance installation provides economies of scaledocument enrichment, transformation and routing•Purchase orders (PO) •Advanced Shipping Notices (ASN) •Catalogs•Inventory inquiries •etc.retailers suppliersOracle B2BEDIEDIOracle B2BProject Metrics:•50,000 business docs/hr (peak)•600,000 BPELinstances/hr (peak)•Growing fast (over 7 million BPEL instances on Black Friday!)•Dehydration store close to 1TB a daySPS CommerceOracle SOA Suite used to build a public cloudMobile Applications built on Oracle SOA SuiteEvent Processing Use Cases Financial Services Homeland SecurityAlgorithmic trading Fraud Detection, digital marketing•Filter, correlate and aggregate events from high volume streams with consistent low latency •Handle disparate event and data sources•Facilitate time window processing•Recognize and act on complex patterns•Manage your data before it reaches your database•Protect your core business processes from the “data tsunami” Threat detection, sensor datacorrelation, emergency responseTelecommunications & ServicesMeter alarm filteringPower restoration confirmationMobile work unit tracking UtilitiesOracle Event Processing (OEP)❑ Lightweight OSGI-based container❑ SQL99-compliant Continuous Query Language (CQL)❑ Tight integration with Oracle Coherence and Oracle Spatial❑ Deploy on a high-end server in the datacenter or on a small server in remote locationsLocation Proximity Tracking Highlights “Interest” Area (ZONES)Smart Grid - UtilitiesFinancial Services - Best ExecutionOracle SOA Suite directionsOracle has the most complete stack today Oracle has the most integrated stack today → No technology disruption in 12cFocus areas:→ Industrial SOA→Developer’s productivity→Integration Everywhere (Cloud, Mobile, …)Industrial SOA“heavy duty”“Individual manual labor is often replaced by mechanized mass production and craftsmen are replaced by assembly lines.“1.More out-of-the-box productivity:1.Templating2.Zero-config dev environments3.Mapping improvements2.Performance & Scalability3.Diagnosability4.Built-in GovernanceIndustrial SOAExalogic: Extreme Performance SOA and BPM Platform •High-Performance Compute Nodes•Integrated Storage•InfiniBand Interconnect Fabric•Tuned and Optimized SOA Platform:520ms•Faster XML Processing9X •Scalability optimizations•Platform Optimizations58msOracle SOA and BPM Suites - Summary•The most complete & integrated offering •Mature, widely adopted – and growing faster than any other solution•Stable roadmap→The leading and most capable integration stack→Technical Documentation:/cd/E23943_01/soa.htm。
TUXEDO配置参数详解

TUXEDO配置参数详解
1、TUXCONFIG:
TUXCONFIG(TUXCONFIG)是TUXEDO系统的初始参数文件,也是系统中最重要的参数配置文件,它是在TUXEDO系统环境初始化时被读取,并影响系统的行为。
TUXCONFIG中所有参数都是静态字符串,也就是说TUXCONFIG中的参数都必须在系统环境初始化时就被定义,不能在运行过程中进行动态变更。
TUXCONFIG中定义的参数可以分类如下:
(1)系统参数:这类参数用于控制TUXEDO系统的基本行为,其中主要包括系统节点的跨越连接策略、超时时间配置、服务配置参数等。
(2)组件参数:这类参数主要用于控制特定的TUXEDO组件,如消息传递队列、客户服务器、事件传递服务器等,参数设置主要关系到这些组件的行为。
(3)应用参数:这类参数用于配置应用程序的参数,如运行的服务名称、程序运行时的参数设置等。
2、TUXENV:
TUXENV(TUXENV)是TUXEDO系统的运行环境参数文件,它里面包含了系统级参数和应用级参数,而且这些参数可以在运行时动态变更。
TUXENV 中定义的参数设置都是以文本形式存放的,每一行表示一条参数,参数设定包括参数名称、参数值、参数描述等内容。
TUXENV中定义的参数可以分类如下:
(1)系统参数:这类参数用于控制TUXEDO系统的基本行为。
Oracle Tuxedo Message Queue产品概述12c Release 1 (12.1
Oracle® Tuxedo Message Queue (OTMQ) Product Overview12c Release 1 (12.1.1)June 2012Oracle® Tuxedo Message Queue (OTMQ) Product Overview, 12c Release 1 (12.1.1)Copyright © 2012 Oracle and/or its affiliates. All rights reserved.This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.Oracle Tuxedo Message Queue Product OverviewUnderstanding Oracle OTMQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Multiple Queue Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Permanent Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Primary Queue (PQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2Secondary Queue (SQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Multi-Reader Queue (MRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Unlimited Queue (UNLIMITQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Temporary Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Reliable Message Delivery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Delivery Interest Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Synchronous/Asynchronous Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Synchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Asynchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4No-reply mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Undelivered Message Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Message Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5Publish/Subscribe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Publish/broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5Subscribe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Naming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6WS SAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Large QSPACE Size Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Automatic Multi-Context Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Oracle OTMQ System Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 See Also. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Oracle Tuxedo Message Queue Product Overview iii Oracle Tuxedo Message Queue Product OverviewOracle Tuxedo Message Queue Product Overview iiiiv Oracle Tuxedo Message Queue Product OverviewOracle Tuxedo Message Queue Product OverviewThe following sections provide an overview to the Oracle Tuxedo Message Queue product:z Understanding Oracle OTMQz Oracle OTMQ System ComponentsUnderstanding Oracle OTMQThe Oracle Tuxedo Message Queue (OTMQ) component improves and enhances the Oracle Tuxedo queuing services. Besides the existing queuing features of the Oracle Tuxedo /Qcomponent, the OTMQ also provides richer queuing features, such as Reliable Message Delivery, Synchronous/Asynchronous Messaging, Publish/Subscribe, Message Filtering, Dynamic Queue Alias (Naming), Journal, etc. Also since the OTMQ was implemented based on the OracleTuxedo infrastructure, it can provide supports on transaction, security, scalability and HA.The following sections provide an overview of OTMQ features:z Multiple Queue Typesz Reliable Message Deliveryz Delivery Interest Pointz Synchronous/Asynchronous Communicationz Undelivered Message Actionz Message FilterOracle Tuxedo Message Queue Product Overview1Oracle Tuxedo Message Queue Product Overviewz Publish/Subscribez Namingz Journalz WS SAFz Large QSPACE Size Supportz Automatic Multi-Context SupportMultiple Queue TypesOracle OTMQ can have multiple attributes, which define its behaviors. For more information, see tmqadmin() in the Oracle Tuxedo Message Queue Command Reference Guide.According to the life cycle of queues, the queue types can be:z Permanent Queuez Temporary QueuePermanent QueueThe permanent queue must be pre-allocated. The permanent queue has active property defined as permanent or temporary. The permanent active queue can always receive and store messages even there is no application attaching to it, unless storage quota is exceeded. The temporary active queue can only receive and store messages when it is attached by application. The permanent queue is created by tmqadmin()qcreate command.The permanent queue should be specified as one of the following types when being created:z Primary Queue (PQ)z Secondary Queue (SQ)z Multi-Reader Queue (MRQ)z Unlimited Queue (UNLIMITQ)Primary Queue (PQ)The primary queue acts as the main mailbox for a user process to receive messages from other processes. It can be attached by only one queue client. An application can have only one primary queue, although it may associate with queues of other types.2Oracle Tuxedo Message Queue Product OverviewReliable Message DeliverySecondary Queue (SQ)The secondary queue acts as an alternate mailbox for a user process to receive messages. An application owns the secondary queue by attaching to it. When an application attaching to a primary queue that is the owner of the secondary queue, the application is automatically attached to the secondary queue at the same time. When the application detaching from its primary queue, all secondary queues associated will be detached too.Multi-Reader Queue (MRQ)The multi-reader queue is pre-allocated. It can be attached by multiple queue clients at the same time.Unlimited Queue (UNLIMITQ)The unlimited queue's behavior is totally same as the traditional Tuxedo /Q queue. An application need not attach the unlimited queue to dequeue from it.Temporary QueueThe temporary queue is created at runtime when an application requests to attach a temporary queue. The process attaching to the temporary queue is the owner of this queue, and no other processes can attach or receive messages from this queue. Once the application detaches from the temporary queue, all the messages left in this queue will be deleted. The temporary queue count and range are specified by tmqadmin() qspacecreate command.Reliable Message DeliveryOracle OTMQ provides reliable message delivery, which can make sure the message be delivered to the receiver successfully.For more information, see Using Recoverable Messaging in the Oracle Tuxedo Message Queue Programming Guide.Delivery Interest PointDelivery Interest Point (DIP) is the checkpoint during the message delivery. When a message passes the specified checkpoint, an ACK notification message is returned to the sender application to indicate the message delivery status.Oracle OTMQ supports following DIPs:z SAF: when a recoverable message is stored in the local queue space storageOracle Tuxedo Message Queue Product Overview3Oracle Tuxedo Message Queue Product Overview4Oracle Tuxedo Message Queue Product Overview zDQF: when a recoverable message is stored in the target queue space storage zMEM: when a non-recoverable message is stored in the target queue zDEQ: when a non-recoverable message is dequeued from the target queue z ACK: when the receiver explicitly acknowledge the non-recoverable message by sending back the ACK notification message using tpqconfirmmsg(3c)zCONF: when a recoverable message is successfully delivered from DQF to the target queue, and explicitly acknowledged using tpqconfirmmsg(3c)Synchronous/Asynchronous CommunicationOracle OTMQ applications can enqueue/send messages in the following modes:Synchronous modeThe application waits for acknowledgement after sending messages to target. Also the application can choose to wait until the message is sent to specific Delivery Interest Points.Asynchronous modeThe application doesn't wait after sending messages, but should explicitly call tpdeqplus(3c) to get ACK notification message to verify if the message has been successfully delivered to target.No-reply modeThe application does not wait after sending messages, also doesn't expect any acknowledge messages. This mode is for performance sensitive scenarios.Undelivered Message ActionUndelivered Message Action (UMA) means the action when the message sender receives a failure acknowledgment notification.If Reliable Message Delivery is enabled, UMA means the action when the message fails to be stored in the SAF/DQF storage.Otherwise, UMA means the action when the message fails to be delivered.The valid Oracle OTMQ UMA options are listed in following table.Message FilterTable 1 OTMQ UMA OptionsUMA DescriptionDISC Discard - the message is deleted.RTS Return to sender - the message is delivered to the sender's response queue.SAF Store and forward - the message is written to the message recovery journal on the sender system.DLQ Dead letter queue - the message is written to the dead letter queue.DLJ Dead letter journal - the message is written to the DLJ.Message FilterMessages are read from queues in FIFO order unless another order is defined for the queue. Oracle OTMQ also provides message filter that allow user to read message that matching the selection criteria defined by the message filter. For more information, see Using Filter in the Oracle Tuxedo Message Queue Programming Guide.Publish/SubscribeThe publish-and-subscribe capability sends a message to multiple recipients registered to receive information from a message broadcasting stream. It is the asynchronous routing of events among the message queuing clients and servers.Publish/broadcastOracle OTMQ application can send a broadcast message using the standard tpqpublish () function. The sending application can generate broadcast messages without knowing the location or number of recipient programs.SubscribeOracle OTMQ application can selectively receive a broadcast message by first subscribing to a broadcast stream. To subscribe to a message stream, the receiving application first use tpqsubscribe() to subscribe a message stream. Broadcast messages are then enabled for the application and flow into the receiver's queue for processing using the standard tpdeqplus() function.Oracle Tuxedo Message Queue Product OverviewFor more information, see Publish/Subscribe in the Oracle Tuxedo Message Queue Programming Guide.NamingNaming is a powerful capability that enables applications to refer to queues by alias instead of by their queue names. Naming separates applications from the details of the current environment configuration and enables system managers to make configuration changes without requiring developers to change their applications.For more information, see Using Naming in the Oracle Tuxedo Message Queue Programming Guide.JournalOracle OTMQ uses message recovery journal queues to store messages that are designated as recoverable.The message journal queue on the local queue space is called the store-and-forward (SAF). The message journal queue on the remote queue space is called the destination-queue-file (DQF). Ifa recoverable message cannot be delivered, it is stored in either the SAF or DQF, andautomatically re-sent to the target.Dead letter queue (DLQ) is a memory-based mechanism for storing undeliverable messages that cannot be stored for automatically recovery. Similar as DLQ, dead letter journal (DLJ) is adisk-based mechanism for storing undeliverable messages that cannot be stored for automatically recovery.Another auxiliary journal queue is the post confirmation journal (PCJ). Recoverable messages that are successfully confirmed by the receiver can be written into the PCJ for audit.Oracle OTMQ provides the tpqreadjrn() function to dump messages from these journalqueues.For more information, see Using Recoverable Messaging in the Oracle Tuxedo Message Queue Programming Guide.WS SAFIn WS mode, OTMQ messages that are sent using a recoverable delivery mode are written to the local store-and-forward (SAF) journal file (tmqsaf.jrn), when the connection to the server system is not available.Large QSPACE Size Support Note:this WS SAF feature is available only when the WS client is in "Single-context" mode.For more information, see tpinit(3c) in the Oracle Tuxedo Function Reference.Large QSPACE Size SupportFor OTMQ, QSPACE can exceed 2G size limitation at 64bit unix platform for both persistent and non-persistent messages.In tmqadmin, sub-command "crdl" will create persistent device for qspace. The maximun value of this command is 2147483647, which is a system value, and the unit is system block size. So, the maximun size of persistent QSpace is 2147483647*block (bytes).The tmqadmin->qspacecreate command has a -n optional, which indicates the size of the area that reserved in shared memory for non-persistent messages for all queues in the queue space. The size may be specified in bytes (b) or blocks (B), where the block size is equivalent to the disk block size.For both "block(B)" and "byte(b)" argument of qspacecreate -n command, the max value is 2147483647. If using block(B) argument, the maximun size for non-persistent messages reserved is 2147483647*block.Notes:For HPUX ia 64-bit platform, in hpux_ma.h, defined _TMSIGNLESHM as 1, which means one process creates a shared memory segment and attaches it to its address space.So, if need to create over 2G share memory thru tmqadmin command, set Oracle Tuxedoenvironment variable TM_ENGINE_TMSHMSEGSZ to a larger value, which should less thanor equal to the SHMAX value that the system defines.There is another environment variable TM_QM_NAPTIME that defines the thread sleepingtime in nanosecs. Note that using this variable may expand the time window of the racingcondition of queue dead lock.Automatic Multi-Context SupportThe Oracle Tuxedo API tpinit() has two modes of operation: single-context mode andmulticontext mode. For OTMQ, if an application calls tpinit() explicitly, OTMQ does not go into multi-context mode automatically.If application does no tcall tpinit(), then following calling of tpqattach() OTMQ goes into mulitcontext mode automatically. For WS client, the automation of multicontext modeassociation is not available.Oracle OTMQ System ComponentsOracle OTMQ provides following system-level components for queuing services:Oracle Tuxedo Message Queue Product Overviewz TuxMsgQ()The Oracle OTMQ Message Queue Manager Server. It does the actual messageenqueue/dequeue operations on behalf of the processes that request its queuing service.z TuxMQFWD()The Oracle OTMQ Message Forwarding Server. It is also known as the Oracle OTMQOffline Trade Driver, which can forward messages from Journal to target queuesautomatically, when the original queuing operation was chosen to use recoverable deliverymode, or the operation was failed and the message was put into Journal for re-delivery.To support the queuing service, Oracle OTMQ provides a new Transaction Management Server TMS_TMQM as the X/OPEN XA-compliant resource manager interface to manage the Oracle OTMQ queue space.z TMS_TMQM(), is the TMS server for the Oracle OTMQ resource manager. It must beconfigured in the server group for TuxMsgQ() and TuxMQFWD().Besides the basic queuing services, Oracle OTMQ also provides supplemental features forcustomer. To support these features, Oracle OTMQ has following system level component:z TMQ_NA(), is the Oracle OTMQ Naming Server. It provides naming service which allowsruntime queue alias binding and lookup.z TMQEVT(), is the Oracle OTMQ Event Broker, which is used to notify subscriber whentopics are published using tpqpublish(). The subscriber uses tpqsubscribe(3c) tosubscribe a topic.z TMQFORWARDPLUS(), is the message forwarding server. It forwards messages that havebeen stored using tpenqueue(3c)/tpenqplus(3c) for later processing. The applicationadministrator enables automated message processing for the application servers byspecifying this server as an application server in the *SERVERS section.Oracle OTMQ can also interoperate with another traditional message queue product: Oracle Message Queue (OMQ). To achieve the message level interoperability, the Oracle OTMQprovides following two system level components:z TuxMsgQLD(), is the Oracle OTMQ Link Driver Server. It is the bridge for Oracle OTMQto interoperate with another messaging product, Oracle Message Queue (OMQ). For moreinformation, see Interoperablity in the Oracle Tuxedo Message Queue Release Notes.z TuxCls(), is the Oracle OTMQ Client Library Server. It acts as a remote agent to performqueuing operations base on Oracle OTMQ queue space and queues on behalf of theSee Also existing Oracle Message Queue clients. For more information, see Interoperablity in theOracle Tuxedo Message Queue Release Notes.See Alsoz Oracle Tuxedo Message Queue Installation Guidez Oracle Tuxedo Message Queue Administration Guidez Oracle Tuxedo Message Queue Programming Guidez Oracle Tuxedo Message Queue ReferenceOracle Tuxedo Message Queue Product Overview。
Tuxedo产品介绍
Tuxedo产品介绍近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。
这种模式的成功使用已为许多国际大型企业在应用的开发与部署方面节约了大量的时间与金钱。
三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑与数据分为三个不一致的处理层,从而使其应用系统不但具备了大型机系统稳固、安全与处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。
而交易中间件作为构造三层结构应用系统的基础平台,提供了下列两个要紧功能:负责客户机与服务器间的联接与通讯;提供一个三层结构应用开发与运行的平台。
交易中间件提供一个基础的框架去帮助你建立、运行与管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。
根据StandiShGrOUP的调查报告,使用一个成熟的交易中间件产品能够为应用开发节约25%-50%的时间。
而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。
一个优秀的交易中间件应具备下列六个条件:(1)成熟、稳固、可靠(2)很强的产品生命力(3)完整、高质量的功能(4)优秀的性能(5)开放、遵循标准(6)简单、易用而TUXEDo就是一个具备了以上所有条件的优秀的中间件产品。
本节将对TUXEDO进行介绍,包含下列内容:1 BEATUXEDo的技术特色2 BEATUXEDO的核心系统构成3TUXEDO才支术详述3.1 高速数据甬道3.2 目录服务的实现3.3 通讯服务3.4 负载平衡3.5 优先级3.6 伸缩性与动态配置的支持3.7 故障恢复与稳固的运行环境3.8 安全性3.9 交易完整性与分布式事务处理3.10 支持多种数据类型与字段操纵语言3.11 管理3.12 网络调度与通讯失败的自动恢复3.13 提供5种APl3.14 支持字符界面的开发3.15 对远程安装,设置的支持4国际化5与数据库的连接6开发工具7跨平台支持8互连性9典型开发过程简介10节约费用1. BEATUXEDO的技术特点、(1)最成熟、稳固、可靠的开放平台交易中间件产品•16年的历史,世界第一个开放平台交易中间件产品•数千个大型客户,数百万个前端用户,每天处理数亿笔交易•在全球交易中间件市场(包含WAS)上占据了46%的市场占有率,包含主机平台,开放系统等等,而第二名的旧M只占据了9%(来自IDC1999 报告)(2)最强生命力的开放平台交易中间件产品•以开放为本,BEATUXEDo出身于开放系统的化身一UNIX,从其基础体系结构上就是开放的,目的是支持所有开放的系统资源。
Oracle企业级应用
JDE 一般 中小客户 强
SIEBEL (CRM)
一般(设备类的客户需 求较强)
PS (HR) 一般
强 (渠道管理)
一般
一般
一般
AGILE (PLM)
代表客户
强
GE、LG、华为、中兴、美的
强(大客户)
伊利、光明、青岛啤酒、蓝带啤酒、怡宝水、 汇源、海霸王食品、雅仕利
美的、新大陆、
强
强 (会员管理)
一般
EPM
BI APPS
和sales 的协作
ORACLE 产品线
有效的寻 找机会
目标客户
市场竞争 情况
ORACE 生态链
Oracle IBM Microsoft HP
Vertical Apps Horizontal Apps Middleware Database Operating System Virtualization Servers Storage Management
基于统一的基础平台、根据业 务需求组装不同的应用模块, 形成适合企业发展不同时期的 应用套件
财务 管理
人力 资源
采购 管理
库存 管理
零售 管理
物流 管理
分销 管理
制造 管理
3rd 软件
原有 系统
…
自主
OA
开发
定制 开发
其他 …
Oracle应用集成架构 (AIA): Applications Integration Architecture
和sales 的协作
ORACLE 产品线
有效的寻 找机会
目标客户
市场竞争 情况
ORACE 生态链
分行业的产品匹配
高科技术电子 食品与饮料 餐饮连锁
Tuxedo培训教程优质文档-2024鲜版
01 TuxedoChapterTuxedo定义及发展历程Tuxedo是一款由Oracle公司推出的中间件产品,用于构建分布式事务处理应用。
Tuxedo起源于1980年代,由AT&T实验室开发,后被BEA公司收购,最终被Oracle公司收购并成为其重要中间件产品之一。
Tuxedo在发展过程中不断引入新技术和功能,如支持Java、C、COBOL等多种编程语言,提供消息队列、负载均衡、故障恢复等特性。
Tuxedo核心功能与优势分布式事务管理高可用性可扩展性安全性安装步骤与配置环境安装Tuxedo软件配置环境变量创建域和服务器部署应用解决方案解决方案解决方案检查网络连接是否正常,确认服务器端口号和应用配置是否正确。
问题3问题1问题2检查参与分布式事务的资源管理器是常见问题及解决方案02 TuxedoChapter服务与服务组件服务定义在Tuxedo中,服务是指一个可执行的业务逻辑单元,它接收请求并返回响应。
服务通常与特定的业务功能或操作相关联。
服务组件服务组件是构成服务的基本单元,包括服务程序、服务数据和服务配置。
这些组件协同工作,以实现服务的完整功能。
服务接口服务接口定义了服务的输入和输出参数,以及服务的调用方式。
通过服务接口,客户端可以与服务进行交互。
通信机制Tuxedo 支持多种通信机制,包括请求/响应、发布/订阅和点对点通信。
这些通信机制可以根据业务需求灵活选择。
消息队列Tuxedo 使用消息队列来实现异步通信。
消息队列是一种暂存消息的容器,它允许发送者和接收者在不同的时间点上进行通信。
消息传递在Tuxedo 中,消息可以通过不同的方式进行传递,如同步传递、异步传递和可靠传递。
消息传递的可靠性可以通过确认机制和重试机制来保障。
消息队列与通信机制事务管理与负载均衡事务管理负载均衡故障恢复安全性及可靠性保障身份验证与授权01数据加密02监控与日志记录0303 TuxedoChapter01020304安装Tuxedo 开发环境,配置相关资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle Tuxedo Message Queue (OTMQ) -- 企业级消息中间件ORACLEPRODUCTLOGO日程•Tuxedo Message Queue:背景介绍•Tuxedo Message Queue:功能概览•Tuxedo Message Queue:与其他产品的集成•小结Oracle Tuxedo Message Queue 背景介绍•消息中间件产品:从80年代开始•解决分布式系统中异构平台,不同编程语言,不同网络协议的模块之间的交互技术•松耦合•通常是异步模式•将丰富的消息处理功能与Tuxedo的高可用性、高性能、可扩展性等相结合•利用Tuxedo-Exalogic技术,提高吞吐量降低延迟•与其它消息产品的紧密集成•第一个版本为12c (12.1.1.0)•两种选择:•安装在已有的Tuxedo之上•独立安装为什么要了解Oracle Tuxedo Message Queue•现有的Tuxedo用户需要消息中间件:–TMQ与Tuxedo无缝集成–配置管理容易上手–从/Q升级非常容易•现有的OMQ客户–功能升级–TMQ与OMQ双向互通,可以分阶段迁移•还不是Tuxedo或OMQ用户–丰富的功能–基于Tuxedo的,经过实践检验的平台技术Oracle Tuxedo Message Queue 功能概览全景图功能TMQ 通信方式点对点✓发布/订阅✓消息传递模式同步✓异步✓存储方式内存✓硬盘✓消息转发方式直接发送到目标队列✓存储转发✓消息交付的可靠性语义可靠✓不保证可靠✓XA交易✓消息过滤与排序✓触发Tuxedo服务✓同步模式和异步模式•同步模式:发送者阻塞在等待确认消息•异步模式:发送者无阻塞式发送消息•异步确认模式:异步显式调用tpdeqplus()获取确认消息•异步无确认模式:不关心发送的状态,没有ACK。
这种模式可以应用在对性能敏感的应用场景下消息传递方式•DIP(Delivery Interest Point):用户关心的消息传递过程中的传递检查点•对于可靠传输模式(SAF/DQF/CONF),在某些条件下可能出现重复送达情况,OTMQ 会标志出这种消息,供应用逻辑决定处理方式。
DIP 消息存储位置发送方返回(阻塞方式)接收者显式发送确认消息保证可靠递交存储转发(SAF) 源节点(SAF 队列) 存储成功是源节点目标队列(DQF) 目标节点(DQF队列) 存储成功是目标节点目标节点接收者确认是目标节点接收确认(CONF)QUE NA 消息成功保存到了目标队列否NADEQ NA 消息从目标队列中取出来否NAACK NA 接收者确认是NA使用DIP的例子•假设程序使用同步(WF)方式,并设置DIP为SAF来发送消息,则大致流程如下:clienttpenqplus() OTMQ ServerSAF1.call tpenqplus()2.send request to server3.store msg in SAF4.returns success5.tpenqplus() returns successtarget queue 6.store msg in target queue and get success response 7.remove msg in SAF client queue8.store ACK in client queue9.dequeue ACK message to check the success status–Client 调用tpenqplus()来enqueue 消息 –tpenqplus()向OTMQ server 发起请求–OTMQ server 收到请求后先将用户消息入SAF 存储 –OTMQ server 通知tpenqplus()可以成功返回–Client 继续tpenqplus()之后的操作–OTMQ server 进行真正的enqueue 操作,将用户消息入目标队列 –消息入目标队列操作成功后,OTMQ server 将用户消息从SAF 中移除,并返回成功ACK 到用户队列–Client 从自己的用户队列中读取ACK 消息以确认最终消息送达队列读权限:独占式和共享式•独占方式读访问消息队列–一个TMQ进程可以同时最多独占两个Queue:主队列(primary queue),从属队列(secondary queue)–在发送/接收消息前,必须成功调用tpqattach(),才能独占消息队列的读访问权限。
–仅有一个应用可以独立访问主队列(primary queue),或其从属队列(secondary queue),并从中读取数据。
•支持共享资源队列(multi-resource queue),允许多个应用读取MRQ 中的消息UMA:消息递达失败处理•UMA(Undelivered Message Action):在指定DIP消息发送失败(超时,或地址错误等)的时候需要执行的操作。
•UMA包含:–DISC:失败的消息直接丢弃–RTS:将消息返回到发送者–SAF:将消息转发到SAF队列里–DLQ:将消息转发到死信队列(DLQ)里,死信队列是个基于内存的队列,如果机器重启,该队列里的消息并不会保留。
–DLJ:将消息转发到死信日志队列(DLJ)里,死信日志队列是个基于磁盘的队列,如果机器重启,该队列里的消息会一直存在。
消息过滤–简单条件过滤•OTMQ支持应用选择消息过滤类型来读取消息。
•简单过滤–每次调用tpdeqplus()时, 在TPQCTL中指定过滤条件–支持以下过滤条件✓Priority✓MSG_TYPE✓MSG_CLASS✓CORRID✓SEQ NUMBER消息过滤-复杂过滤–两个API✓tpqsetselect(),tpqcancelselect() –一次设置多次使用–支持多个过滤条件✓MSGID✓CORRID✓Priority✓Msg sender queue✓Msg type✓Msg class✓Seq Number✓User data–具有关系运算功能✓<, <=, >, >=, ==, !=–具有逻辑运算功能✓多个过滤条件之间“与”✓多个过滤条件之间“或”–具有排序功能✓先入先出✓取最大值✓取最小值•例如:sender queue 是“management” 且Priority最高的发布/订阅•发布者发布消息( tpqpublish() )–此时发布者是不需要知道接收者在哪里或有多少接收者。
–用异步方式发送已经订阅的消息。
–指定Topic•订阅者订阅感兴趣的消息,在服务端注册该订阅的消息。
–tpqsubscribe()订阅消息,支持正则表达式,例如topic=A*–tpqunsubscribe()取消订阅•TMQ将消息发送到所有订阅该消息的订阅者指定的队列中。
队列别名•可以指定消息队列的别名•使应用程序内部模块之间的接口更灵活:–无需改动应用代码,仅仅改动消息队列的配置就可以实现不同的应用逻辑。
•应用可以在运行时绑定消息队列的别名。
•命名服务–利用进程内存缓存提高效率–命名服务的高可用性:配置两个全局命名服务(主name服务和备份name 服务)。
当主name服务意外停止服务后,允许备份name服务接管全局的命名服务。
OTMQ的高可用性•OTMQ的server group自动迁移•用户可以配置OTMQ服务所在的主节点和备份节点。
•主节点失败导致OTMQ服务不可用,则主节点上的OTMQ server group会自动迁移到备份节点上。
•快速的迁移过程对应用的影响被减小到最小。
•利用集群环境可以达到99.999%以上的高可用性。
消息触发Tuxedo服务调用•系统进程TMQFORWARDPLUS:接收消息,并把该消息转发到与应用定义的队列同名的Tuxedo服务处理,并将结果返回到应用指定的队列中。
Client:tpenqplus(“TOUPPER”, msg…) tpdeqplus(“reply_que”, …)TuxedoOTMQTuxMsgQTMQFORWARDPLUSTOUPPEROTMQ QspaceTOUPPERreply_que1 tpenqplus2 enqueue3 dequeue4 tpcall5 tpreturn6 enqueue7 tpdeqplus8 dequeue9 return msg•事务处理:由TMS服务提供事务处理功能•把对消息的操作包含在全局事务中•保证事务范围中所有操作的原子性•事务中可以包含Tuxedo其它操作TRAN1将消息放到队列中CLIENT:tpbegin() tpenqplus() tpcommit()TRAN2取得一个消息Tuxedo服务调用将返回结果放到结果队列中TMQFORWARDPLUS: tpbegin()tpdeqplus()tpcall()tpenqplus()tpcommit()Oracle Tuxedo Message Queue 与其他产品的集成OTMQ与其它产品的互联与集成•能够与Oracle Tuxedo Message Queue互联与集成的产品包括:–WLS JMS–OMQ–MQ SeriesOTMQ与WLS JMS的集成•WLS JMS是一个企业级的,与Weblogic服务器紧密整合的消息系统。
•WLS JMS 完全遵从JMS规范.•OTMQ与WLS JMS的整合方式:–通过WTC tBridge来定义OTMQ queue与WLS JMS queue之间的双向映射,使得WLS的JMS client和OTMQ client之间能够互动。
–受限于WTC tBridge对原有Oracle Tuxedo /Q的支持TuxedoWLSJMS ClientJMS queuetBridgeDGWOTMQserverOTMQ queueOTMQClient send recv tpenqueuetpdeqplustpenqplustpdequeuesendrecvOTMQ与OMQ的集成•Oracle Message Queue(OMQ)是一个具有悠久历史的消息中间件。
•OMQ在许多企业级分布式应用中都被广泛应用。
•OTMQ与OMQ的整合方案–OTMQ通过自身的TuxMsgQLD Server与OMQ的Link Driver互联,以达到消息级别的整合。
TuxedoOMQOMQ Client Pams_put_msg OTMQserverOTMQ queuetpenqplustpdeqplusOTMQClienttpdeqplustpenqplusLinkDriverPams_get_msgOMQ queueTuxMsgQLDServerGCP/QETuxedo /Q 到OTMQ 的升级•/Q 的Qspace 升级为OTMQ 版本的Qspace (使用OTMQ 提供的升级工具)。