z/tpf Enhanced HTTP Client and High Speed Connector Enhancements

Similar documents
TPF Debugger / Toolkit update PUT 12 contributions!

TPF Users Group Code Coverage in TPF Toolkit

Chris Filachek Database/TPFDF Subcommittee. AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.

Name: Mark Gambino Venue: SOA Subcommittee

Lisa Banks Distributed Systems Subcommittee

Business Events Update

z/tpfdf Encryption Communications Subcommittee! IBM z/tpf April 11, 2016! Chris Filachek z/tpf and z/tpfdf Architecture & Development!

TPFUG JavaScript Object Notation (JSON)

z/tpf Support for Java Enhancements

Hardware Cryptography and z/tpf

Chris Filachek Database/TPFDF Subcommittee

New Data Reduction Tool

TPF Users Group Fall 2008 Title: z/tpf Support for OpenLDAP

The Value of Using Name-Value Pairs

Loading Files with Programs: Version Control in the File System

z/tpf Descriptor Definition Projects

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

Mary Komor Development Tools Subcommittee

z/tpf Communications Enhancements

TPF Users Group Fall 2007 Title: DASD External Copy Services Subtitle: Group Update -- APAR PJ31865

TPF Users Group Fall 2007

TPF Users Group Spring 2008 Title: z/tpfdf Status Update

DFDL Enhancements SOA Subcommittee

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

Josh Wisniewski Development Tools Subcommittee

KVM for IBM z Systems

Jim Johnston Distributed Subcommittee

TPF Users Group - Fall 2009 TPF Toolkit Updates

Recoup Deferred Lost z/tpf APAR PJ31559

z/tpf File System Security Update

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

Name : Mark Gambino Venue : Communications Subcommittee

TPF Users Group Spring 2007

TPF Users Group Fall 2006

IBM Client Center z/vm 6.2 Single System Image (SSI) & Life Guest Relocation (LGR) DEMO

Secure Key Management and Data Privacy on z/tpf

z/tpf Maintenance Packaging, Content, and Web Resources

TPF Users Group Fall 2007 Title: Threads Support in z/tpf

IBM Mainframe Life Cycle History

TPF Users Group Spring 2006

TPF Users Group Spring 2006

V6R1 System i Navigator: What s New

IBM Tivoli Directory Server for z/os. Saheem Granados, CISSP IBM Monday, August 6,

TPF 4.1 Communications - TCP/IP Enhancements

TPF Users Group Spring 2005

Innovate 2013 Automated Mobile Testing

TPF Users Group Fall 2006

Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java

Name: Peter Lemieszewski Venue: Education

Implementing WS-Security on TPF

Storwize V7000 real-time compressed volumes with Symantec Veritas Storage Foundation

IBM UrbanCode Cloud Services Security Version 3.0 Revised 12/16/2016. IBM UrbanCode Cloud Services Security

... IBM Power Systems with IBM i single core server tuning guide for JD Edwards EnterpriseOne

IBM and Lawson M3 (an Infor affiliate) ERP software workload optimization on the new IBM PureFlex System

IBM. Networking INETD. IBM i. Version 7.2

Now Available in z/os V2R2 JES3: OUTDISP

z/vm 6.3 Installation or Migration or Upgrade Hands-on Lab Sessions

IBM Infrastructure Suite for z/vm and Linux: Introduction IBM Tivoli OMEGAMON XE on z/vm and Linux

Using IBM Flex System Manager for efficient VMware vsphere 5.1 resource deployment

TPF Toolkit for WebSphere Studio V3 V Using an Internal Update Site

Dynamic Routing: Exploiting HiperSockets and Real Network Devices

Brendan Lelieveld-Amiro, Director of Product Development StorageQuest Inc. December 2012

z/osmf 2.1 User experience Session: 15122

IBM Active Cloud Engine centralized data protection

CICS TS V4.2 - Connectivity

CONNReadme.txt. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM System Storage SAN Volume Controller IBM Easy Tier enhancements in release

z/tpf OpenSSL Support Dan Yee IBM Software Engineer August 10, 2016

IBM Power Systems solution for SugarCRM

Sample SOAP Consumer Application on z/tpf Enterprise Edition V1.1

Using Tivoli Workload Scheduler event-driven workload automation

IBM System Storage DS8870 Release R7.3 Performance Update

Build integration overview: Rational Team Concert and IBM UrbanCode Deploy

IBM Next Generation Intrusion Prevention System

z/os Data Set Encryption In the context of pervasive encryption IBM z systems IBM Corporation

Computing as a Service

Optimizing Data Transformation with Db2 for z/os and Db2 Analytics Accelerator

jetnexus ALB-X on IBM BladeCenter

z/osmf 2.1 Advanced Programming

z/vm 6.3 A Quick Introduction

Partitions. Make Administration on the Cloud more organized. Rajesh (Raj) Patil Girish Padmanabhan Rashmi Singh

Frankensteining Software: Recycling Parts of Legacy Systems. Jennifer Manning and Joseph Kramer

Your Notes and Domino in the Cloud

Behind the Glitz - Is Life Better on Another Database Platform?

Lab DSE Designing User Experience Concepts in Multi-Stream Configuration Management

Active Energy Manager. Image Management. TPMfOSD BOFM. Automation Status Virtualization Discovery

Speaker Notes. IBM Software Group Rational software. Exporting records from ClearQuest

ztpf_zdt_readme.txt IBM z/tpf Limited License for Development and Test readme Copyright IBM Corporation 2016

ZVM20: z/vm PAV and HyperPAV Support

IMS V13 Overview. Deepak Kohli IMS Product Management

Microsoft Exchange Server 2010 workload optimization on the new IBM PureFlex System

IBM Cognos Dynamic Query Analyzer Version Installation and Configuration Guide IBM

Greg Daynes z/os Software Deployment

IBM Multi-Factor Authentication in a Linux on IBM Z environment - Example with z/os MFA infrastructure

Tivoli Netcool/Impact

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

TSO/E LOGON: What Are My Options?

DFSMSdss Best Practices in an SMS Environment

Thomas Petrolino IBM Poughkeepsie Session 17696

Transcription:

z/tpf Enhanced and High Speed Connector Enhancements Jamie Farmer Communications Subcommittee

Disclaimer Any reference to future plans are for planning purposes only IBM reserves the right to change those plans at its discretion Any reliance on such a disclosure is solely at your own risk IBM makes no commitment to provide additional information in the future

Original Support z/tpf System Long Running Daemon Problems with Original Long Running Daemons are not automatically recycled Daemon Daemon Daemon Curl Curl Curl Sessions Inefficient model to pass data across processes Current libcurl package does not support the latest TLS standards REST consumer would require significant changes to original client support

Original Support z/tpf System Long Running Daemon Problems with Original Long Running Daemons are not automatically recycled Daemon Daemon Daemon Curl Curl Curl Sessions Inefficient model to pass data across processes Current libcurl package does not support the latest TLS standards REST consumer would require significant changes to original client support

Enhanced z/tpf System Layer HSC Layer Layer HSC Layer High Speed Connector Group (Shared System Table) Endpoint 1 Endpoint 2 Shared socket obtained from HSC System Table ECB Sends Request On Sessions Enhanced No long running daemons No longer passing data across processes Leveraging high speed connector

Terminology Session Types Persistent Sessions Long running client sessions that can be shared by any z/tpf application ECBs and managed by the z/tpf high speed connector Non-Persistent Sessions client session that is established and subsequently torn down after processing a single request API Requests Synchronous Requests The application ECB issuing the client request does not receive control back until the response is received (or a timeout occurs) Asynchronous Requests The application ECB issuing the client request can exit and a new application ECB is created when the response is received

tpf_httpsendrequest Format LIBS := CHTE #include <tpf/c_httpsh> int tpf_httpsendrequest(char *host, t_httprequest *requestparms, tpf_httpsvr_resp **response, t_httpconnect *connectparms, int options); host: Host or IP address to establish session to requestparms: A t_httprequest structure containing the client request information - Version: only supports 11 - Request Type: GET, HEAD, PUT, POST, DELETE - uri: The service on a host to be accessed - timeout: How long to wait to send request and receive response (in milliseconds) - headers: User defined headers to include in request - body: User defined body to send to remote (Ignored if not PUT / POST) response: Pointer to an tpf_httpsvr_resp structure containing the response connectparms: Non-persistent connect options (ignored for persistent sessions) options: Not used will be used for future extensions

tpf_httpsendasyncrequest Format LIBS := CHTE #include <tpf/c_httpsh> int tpf_httpsendasyncrequest(char *host, t_httprequest *requestparms, tpf_httpsvr_resp **response, t_asyncrequestparms *asyncparms, t_httpconnect *connectparms, int options); asyncparms: The asynchronous parameters for the request containing the program to invoke when the response is received as well as user data to pass options: TPF KEEP_REQUEST option to save original request across ECBs during the asynchronous application call

Persistent vs Non-Persistent Sessions z/tpf tpf_httpsendrequest( tpfrulesaircocom, ) tpf_httpsendasyncrequest( tpfrulesaircocom:81, ) Endpoint Descriptor groupname: tpfrules aliashostname: tpfrulesaircocom tpfrulesaircocom:81 Persistent Sessions tpf_httpsendrequest( wwwgooglecom, ) Non-Persistent Sessions 1 Session established 2 Request sent 3 Response received 4 Session End Persistent vs Non-Persistent sessions are transparent to the application - Allows an administrator switch from non-persistent to persistent sessions with no application changes!

Synchronous Request For Persistent Sessions tpf_httpsendrequest() tpf_httpsendrequest() API Processor Get From Group High Speed Connector Group Build Request from API Input New Layer Send on the socket Read Reply from socket Code Existing Code Put back in Group Return to

Asynchronous Request For Persistent Sessions tpf_httpsendasyncrequest tpf_ httpsendasyncrequest API Processor Get From Group High Speed Connector Group Build Request from API Input New Layer Send on the socket Code Issue Activate On Receipt New ECB Read Reply from Existing Code Return to Put back in Group ENTDC to application program

Defining Persistent Sessions <tns:groupname>tpfrules</tns:groupname> <tns:grouptype></tns:grouptype> <tns:qmaxdepth>100</tns:qmaxdepth> Endpoint <tns:qthreshold>80</tns:qthreshold> Descriptor <tns:synctimeout>200</tns:synctimeout> File <tns:maxasyncdata>10000</tns:maxasyncdata> <tns:maxasyncmessage>10000</tns:maxasyncmessage> <tns:aliashostname>tpfrulesaircocom</tns:aliashostname> <tns:aliashostname>tpfrulesaircocom:81</tns:aliashostname> <tns:endpoint> <tns:endpointname>httprulp</tns:endpointname> <tns:role>primary</tns:role> <tns:destination>httprulpaircocom</tns:destination> <tns:start>10</tns:start> <tns:max>20</tns:max> <tns:buffersendsize>262144</tns:buffersendsize> <tns:bufferreceivesize>262144</tns:bufferreceivesize> </tns:endpoint> Load Version Control File System TPF

Changing the Persistent Session Configuration Transparent to the z/tpf applications Increase capacity (adding more endpoints/socket) Change endpoint definitions (ie socket buffer sizes) Change group definitions (queue sizes, timeouts, thresholds) Simply load an updated version of the file through the z/tpf loader package to apply updates Changes take effect immediately for existing endpoint groups!

What If I m Using the Original Today? This is not a rip and replace! New client APIs have been created for use with the enhanced client The two supports can be run concurrently Allowing for a controlled migration of your applications to the new support

Enhanced Performance Up to 80% improvement in performance using the Enhanced vs the existing Optimized socket processing Cross process request/reply copies not required

Enhanced Deliverable APAR PJ44733 was delivered December 2017 - PUT 14 High Speed Connector and Enhanced is 100% TE-Eligible

High Speed Connector z/tpf System New for 2017! tpf_httpsendrequest Enhanced Processor tpf_httpsendasyncrequest tpf_send_message High Speed Connector Group Endpoint 1 Endpoint 2 High Speed Connector HSC Group Endpoint 1 Sessions Standard Messages TCP High Speed Connector z/tpf managed persistent client sessions Ability to send standard messages Ability to send user defined messages asynchronously tpf_send_async_message Endpoint 2 TCP Sessions User defined messages TCP

Asynchronous High Speed Connector API For User Defined Messages New tpf_send_async_message function Same parameters as existing tpf_send_message API, except for the asynchronous information Ability to specify the program to enter in new ECB when response is received Ability to send user data to the new application ECB Included in APAR PJ44733 delivered in December 2017 PUT 14

What s Coming? Actively working on enabling high speed connector and Enhanced with Transport Layer Security (TLS) Latest TLS standards will be supported Actively looking at enabling Apache-2 with the latest TLS standards z/tpf already supports latest TLS standards

Summary PJ44733 Provides a better performing Persistent and non-persistent sessions Synchronous / Asynchronous application client APIs Provides infrastructure for z/tpf REST consumer support Provides new asynchronous application API for high speed connector Improved dynamic management of high speed connector groups

Thank You! Questions?

Trademarks IBM, the IBM logo, ibmcom and Rational are trademarks or registered trademarks of International Business Machines Corp, registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcom/legal/copytradeshtml Notes Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment The actual throughput that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have achieved Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions This publication was produced in the United States IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice Consult your local IBM business contact for information on the product or services available in your area All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only Information about non-ibm products is obtained from the manufacturers of those products or their published announcements IBM has not tested those products and cannot confirm the performance, compatibility, or any other claims related to non-ibm products Questions on the capabilities of non-ibm products should be addressed to the suppliers of those products Prices subject to change without notice Contact your IBM representative or Business Partner for the most current pricing in your geography This presentation and the claims outlined in it were reviewed for compliance with US law Adaptations of these claims for use in other geographies must be reviewed by the local country counsel for compliance with local laws