Going Native: Leveraging DB2 for Z/OS SQL Procedures and Udfs

Total Page:16

File Type:pdf, Size:1020Kb

Going Native: Leveraging DB2 for Z/OS SQL Procedures and Udfs Abstract: Native SQL procedures were introduced with DB2 9 for z/OS, and SQL Procedure Language (SQL PL) was extended to UDFs with DB2 10. DB2 11 has delivered additional SQL PL-related enhancements. This session will provide information that attendees can use in the development, management, and monitoring of native SQL procedures and UDFs. It will also cover exploitation of native SQL procedures and UDFs to enhance DB2 for z/OS performance, scalability, and security - particularly for client-server applications. Robert Catterall IBM [email protected] 1 For years, COBOL ruled the roost with respect to the coding of DB2 for z/OS stored procedures. SQL PL, more recently on the scene, will, I think, come to be the dominant language for DB2 stored procedure development (and for development of user-defined functions). I believe that DB2 for z/OS people – systems programmers, DBAs, and application developers – should have at least some knowledge of SQL PL, and DB2-using organizations should engage in at least some degree of SQL PL routine development. 2 I’ll start by providing some information about the history of DB2 for z/OS native SQL procedures (and UDFs), and some recently delivered enhancements in this area. Then I’ll talk about the benefits of native SQL procedures and UDFs with respect to application performance, scalability, and security. After that I’ll discuss topics related to native SQL procedure and UDF development and management. I’ll conclude with some thoughts on shifting to SQL PL from other languages for DB2 stored procedure and UDF development. 3 A brief SQL PL history lesson, and a look at what’s new. 4 It was DB2 for z/OS Version 7 that introduced the ability to write stored procedure programs using only SQL statements (in other words, the stored procedure’s source is contained entirely within the associated CREATE PROCEDURE statement). The enriched SQL that enabled creation of SQL-only stored procedure source is called SQL Procedure Language, or SQL PL for short. To the existing SQL DML (e.g., SELECT, INSERT), DCL (GRANT and REVOKE), and DDL statements (CREATE, ALTER), SQL PL added what are called control statements. These statements are about variable declaration, assignment of values to variables, and logic flow control (via statements such as IF, WHILE, ITERATE, LOOP, and GOTO). 5 What did organizations like about SQL PL as introduced with DB2 for z/OS V7? Mostly they liked that the language expanded the pool of people who could develop DB2 stored procedures – people who didn’t know a programming language such as COBOL or C or Java could write DB2 stored procedures using SQL PL. What did organizations not like about first-generation SQL PL routines? Some organizations didn’t like the fact that the routines were turned into C language programs with embedded SQL DML statements as part of preparation for execution. These programs ran – like other external-to-DB2 stored procedure programs – in WLM-managed stored procedure address spaces. The concern in some people’s mind had to do with the CPU consumption of a C language stored procedure program, which often was a good bit greater than the CPU cost of executing a COBOL stored procedure program of equivalent functionality. Certain organizations opted not to use DB2 V7-style SQL procedures because the negative of added CPU cost (versus COBOL stored procedures) outweighed the benefit of an expanded pool of people who could develop DB2 stored procedures. 6 A very important enhancement was introduced with DB2 9 for z/OS running in new-function mode: native SQL procedures (organizations that migrated to DB2 10 from DB2 V8 can utilize native SQL procedure functionality in a DB2 10 NFM environment)). Unlike DB2 V7 or V8 SQL procedures (still supported in DB2 9, 10, and 11 systems, and now called external SQL procedures), DB2 9 (and beyond) native SQL procedures are internal procedures – they run in the DB2 DBM1 address space, as opposed to a WLM-managed stored procedure address space. Other differences versus external SQL procedures: • A native SQL procedure’s sole executable is its DB2 package – there’s nothing else to it. • A native SQL procedure executes under the task of the invoking application process – not under its own TCB in a stored procedure address space. • A native SQL procedure provides some capabilities not available for external SQL procedures, such as nested compound SQL statements (very handy for implementation of multi-statement condition handlers). • That functionality gap versus external SQL procedures continues to grow. DB2 11 delivered some important enhancements that are only applicable to native SQL PL routines (I’ll cover these enhancements momentarily). 7 DB2 10 for z/OS (in new-function mode) expanded the usefulness of native SQL PL routines to user-defined functions (UDFs). I like to call these routines “native” SQL UDFs, but the official term is “compiled SQL scalar functions.” As is true of SQL procedures, “native” SQL UDFs expand the pool of people who can develop user-defined functions in a DB2 environment. Could UDFs be written in SQL before DB2 10 NFM? Yes, but they were very limited in functionality (more on this to come). 8 Prior to DB2 10 (NFM), if you wanted to create a user-defined function that had some degree of sophistication, including declaration of variables and assignment of values to same, and logic such as “do loops,” you pretty much had to go with an external UDF that would be associated with a program written in COBOL (for example). With DB2 10 NFM (and beyond), that type of sophistication can be achieved with a compiled SQL scalar function written in SQL PL. As with a native SQL procedure, the “body” of a “native” SQL UDF is contained within what’s called a compound statement. Other things that “native” SQL UDFs have in common with native SQL procedures: • They run in the DB2 DBM1 address space. • They run under the task of the invoking application process. • The one and only executable is the “native” SQL UDF’s package – nothing about a “native” SQL UDF is external to DB2. 9 The ability to have a SQL PL routine as the body of a “native” SQL UDF is not the only DB2 10 enhancement related to SQL UDFs. Other goodies: • The RETURN statement in a compiled SQL scalar UDF (also called a non- inline SQL scalar UDF) can contain a scalar fullselect. Prior to DB2 10 NFM, not only could a SQL scalar UDF not contain a scalar fullselect – it couldn’t even reference a column of a table. • A table UDF, which returns a set of values, can be written in SQL in a DB2 10 NFM (and beyond) system (previously, a table UDF had to be external, i.e., associated with an external-to-DB2 program written in a language such as COBOL). Note that DB2 10, in addition to having new CREATE (and ALTER) statements for compiled SQL scalar UDFs and SQL table UDFs, still supports the pre-DB2 10 type of SQL scalar UDF (now called an inline SQL scalar UDF). 10 I had stated previously that one benefit of native SQL procedures versus external SQL procedures is the fact that new capabilities are, by and large, delivered for the former and not for the latter. An example of such a new capability is the XML support provided for native SQL procedures (and not external SQL procedures) starting with DB2 10 in new-function mode: • Input and output parameters for a native SQL procedure can be of the XML data type (prior to DB2 10 NFM, XML data had to be passed to or received from a native SQL procedure in character string form). Native SQL procedures can also declare variables of the XML data type. • The same holds true for SQL UDFs (whether scalar – inline or compiled – or table UDFs). 11 DB2 11 provides a couple of very cool native SQL procedure-only enhancements. One of those is support for array parameters: they can be passed to or received from a native SQL procedure, or declared as variables in a native SQL procedure (and the same is true for a compiled SQL scalar UDF). An important caveat: when array parameters are used for a native SQL procedure, the procedure has to be called from another SQL PL routine or from a Java program that connects to DB2 using the IBM Data Server Driver for JDBC and SQLJ type 4 driver (I underlined that Java bit because Java client-side programmers have long wanted DB2 stored procedure support for array parameters). Note that one first creates an array (it’s a category of user-defined data type) and then uses it with a native SQL procedure (or UDF). You can create ordinary arrays, in which a value in the array is identified by its ordinal position within the array (e.g., element 1, or 12, or 27), and associative arrays, in which values are ordered by, and can be referenced by, user-provided index values. The example on the slide shows a CREATE statement for an ordinary array. DB2 11 also provides several new built-in functions that facilitate working with arrays. 12 Another new and cool DB2 11 feature that is exclusive to native SQL procedures is the autonomous transaction. Here’s what this is about: suppose you want an application transaction to make a data change (e.g., insert a row into a DB2 table) that will persist even if the transaction itself is subsequently rolled back (perhaps due to a SQL error encountered by the transaction)? An autonomous transaction, which is a special form of a native SQL procedure, will do that for you, because it has a unit of work that is completely independent of the unit of work associated with the transaction that called the procedure.
Recommended publications
  • PL/SQL User's Guide and Reference 10G Release 1 (10.1) Part No
    PL/SQL User's Guide and Reference 10g Release 1 (10.1) Part No. B10807-01 December 2003 PL/SQL User's Guide and Reference, 10g Release 1 (10.1) Part No. B10807-01 Copyright © 1996, 2003 Oracle. All rights reserved. Primary Author: John Russell Contributors: Shashaanka Agrawal, Cailein Barclay, Dmitri Bronnikov, Sharon Castledine, Thomas Chang, Ravindra Dani, Chandrasekharan Iyer, Susan Kotsovolos, Neil Le, Warren Li, Bryn Llewellyn, Chris Racicot, Murali Vemulapati, Guhan Viswanathan, Minghui Yang The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
    [Show full text]
  • PL/SQL User's Guide and Reference 10G Release 2 (10.2) B14261-01
    Oracle® Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) B14261-01 June 2005 Oracle Database PL/SQL User’s Guide and Reference 10g Release 2 (10.2) B14261-01 Copyright © 1996, 2005, Oracle. All rights reserved. Contributors: Shashaanka Agrawal, Cailein Barclay, Eric Belden, Dmitri Bronnikov, Sharon Castledine, Thomas Chang, Ravindra Dani, Chandrasekharan Iyer, Susan Kotsovolos, Neil Le, Warren Li, Bryn Llewellyn, Valarie Moore, Chris Racicot, Murali Vemulapati, John Russell, Guhan Viswanathan, Minghui Yang The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
    [Show full text]
  • PL/SQL User's Guide and Reference
    PL/SQL User’s Guide and Reference Release 2 (9.2) March 2002 Part No. A96624-01 PL/SQL User’s Guide and Reference, Release 2 (9.2) Part No. A96624-01 Copyright © 1996, 2002 Oracle Corporation. All rights reserved. Primary Author: John Russell Contributing Author: Tom Portfolio Contributors: Shashaanka Agrawal, Cailein Barclay, Dmitri Bronnikov, Sharon Castledine, Thomas Chang, Ravindra Dani, Chandrasekharan Iyer, Susan Kotsovolos, Neil Le, Warren Li, Chris Racicot, Murali Vemulapati, Guhan Viswanathan, Minghui Yang The Programs (which include both the software and documentation) contain proprietary information of Oracle Corporation; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent and other intellectual and industrial property laws. Reverse engineering, disassembly or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Oracle Corporation does not warrant that this document is error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Oracle Corporation. If the Programs are delivered to the U.S. Government or anyone licensing or using the programs on behalf of the U.S. Government, the following notice is applicable: Restricted Rights Notice Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement.
    [Show full text]
  • Oracle PL SQL by Example.Pdf
    ™ Oracle® PL/SQL by Example FOURTH EDITION This page intentionally left blank ™ Oracle® PL/SQL by Example FOURTH EDITION BENJAMIN ROSENZWEIG ELENA SILVESTROVA RAKHIMOV Upper Saddle River, NJ • Boston • Indianapolis • San Francisco • New York • Toronto • Montreal • London • Munich • Paris • Madrid • Cape Town • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales 800-382-3419 [email protected] For sales outside the United States, please contact: International Sales [email protected] Visit us on the Web: www.informit.com/ph Library of Congress Cataloging-in-Publication Data Rosenzweig, Benjamin. Oracle PL/SQL by example / Benjamin Rosenzweig, Elena Silvestrova Rakhimov. p. cm. ISBN 0-13-714422-9 (pbk. : alk. paper) 1. PL/SQL (Computer program language) 2.
    [Show full text]
  • Database SQL Programming
    IBM i Version 7.2 Database SQL programming IBM Note Before using this information and the product it supports, read the information in “Notices” on page 375. This document may contain references to Licensed Internal Code. Licensed Internal Code is Machine Code and is licensed to you under the terms of the IBM License Agreement for Machine Code. © Copyright International Business Machines Corporation 1998, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents SQL programming..................................................................................................1 What's new for IBM i 7.2..............................................................................................................................1 PDF file for SQL programming..................................................................................................................... 4 Introduction to Db2 for i Structured Query Language................................................................................ 4 SQL concepts.......................................................................................................................................... 4 SQL objects...........................................................................................................................................10 Application program objects................................................................................................................13 Data definition
    [Show full text]
  • Declare Pl Sql Procedure
    Declare Pl Sql Procedure JohnnyAnticholinergic subtilizing, Rock his give-and-take hauling quintuplicate centripetally. alkalizes Selby insolently. undermanning ignominiously. Ecuadoran In a table and triggers, which for the in sql pl procedure is more features is that you are allowed in this example Can also be accessed outside of ORACLE mode by using CONCAT_OPERATOR_ORACLE. ROWTYPE attribute to anchor an entire record to a cursor, table, or view. This process could be accomplished with the use of cursor parameters. What is Record Type? Consent for the following cookies could not be automatically revoked. GO CREATE SEQUENCE Test. SQL block is defined by the keywords DECLARE, BEGIN, EXCEPTION, and END. Package utl_mail Tips: How to Send Emails with Attachments. You can design the layouts using your favorite HTML authoring tools, leaving placeholders for the dynamic content. Namely I have one Oracle database. Do I have the second option with sp_executesql? How to Send E BEGIN APEX_MAIL. New Red Hat tools and integrated system offerings allow IBM Power users to run workloads across multiple cloud environments. Toad does not upgrade the previous version. How do I convert a number to a string? Why does Disney omit the year in their copyright notices? Aliasing can also occur when the same actual parameter appears more than once in a subprogram call. DBA tasks directly on the Oracle Server from shell scripts. Sql translation profiles to the declare pl sql procedure easily located at the database of its statements. Used to store the special format of ROWIDs on the database. Only once the declaration is made, a variable can be used in the subsequent part of batch.
    [Show full text]
  • Oracle to DB2 Conversion Guide: Compatibility Made Easy
    Front cover IBM® Information Management Software Oracle to DB2 Conversion Guide: Compatibility Made Easy Move Oracle to DB2 efficiently and effectively Learn about DB2 10.5 Oracle Database compatibility features Use Oracle PL/SQL skills directly with DB2 10.5 Yvonne Chan Nick Ivanov Olaf Mueller ibm.com/redbooks International Technical Support Organization Oracle to DB2 Conversion Guide: Compatibility Made Easy September 2013 SG24-7736-02 Note: Before using this information and the product it supports, read the information in “Notices” on page ix. Third Edition (September 2013) This edition applies to IBM DB2 for Linux, UNIX, and Windows Version 10.5. © Copyright International Business Machines Corporation 2009, 2013. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . ix Trademarks . x Preface . xi Authors . xii Acknowledgements . xiii Now you can become a published author, too! . xiv Comments welcome. xiv Stay connected to IBM Redbooks publications . xv Summary of changes . xvii September 2013, Third Edition. xvii Chapter 1. Introduction. 1 1.1 DB2 family of products . 2 1.1.1 DB2 editions . 2 1.1.2 IBM DB2 10.5 Advanced Enterprise Edition features . 6 1.1.3 DB2 10 autonomic computing features . 7 1.1.4 Introduction to PureData . 9 1.2 DB2 Oracle database compatibility features overview . 9 1.2.1 Concurrency control . 10 1.2.2 Data types . 11 1.2.3 Implicit casting. 11 1.2.4 SQL Standard . 12 1.2.5 PL/SQL . 12 1.2.6 Built-in packages.
    [Show full text]
  • Development with Oracle Database 12 Atabase
    Application Development with Oracle Database 12 c ORACLE WHITE PAPER | APRIL 2015 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle ’s products remains at the sole discretion of Oracle. [O.FOOTER] ENTER TITLE OF DOCUMENT HERE Table of Contents Disclaimer 1 Introduction 6 Database Access Infrastructure and APIs ( Java, C, C++) 7 Introduction 7 Oracle Multitenant 7 New SQL Data Types 7 Auto-Increment (IDENTITY) Columns 8 Invisible or Hidden Columns 8 PL/SQL Package Types and Boolean Types as Parameters 8 Implicit Results 8 Performance and Scalability 8 SQL Plan Management (SPM) 8 Scale with Database Resident Connection Pool 8 Global Data Services – Runtime Load -Balancing 9 Large Network Buffers and Advanced Network Compression 9 Maximum Application Availability and Reliability 9 Common HA Events & Notifi cation 9 New Concepts 9 Transaction Guard 9 Application Continuity 10 Global Data Services 10 1 | ENTER TITLE OF DOCUMENT HERE Usability 10 Client-Side Deployment Descriptors and Auto -Tuning 11 Monitoring and Tracing Database Operations 11 Intelligent Connectivity and Faster Dead Client Detection 11 Security 11 Customizing Default Java Security for Java in the Database 11 JDBC Enhanced Security
    [Show full text]
  • Purexml Guide
    IBM DB2 10.5 for Linux, UNIX, and Windows pureXML Guide SC27-5521-00 IBM DB2 10.5 for Linux, UNIX, and Windows pureXML Guide SC27-5521-00 Note Before using this information and the product it supports, read the general information under Appendix E, “Notices,” on page 501. Edition Notice This document contains proprietary information of IBM. It is provided under a license agreement and is protected by copyright law. The information contained in this publication does not include any product warranties, and any statements provided in this manual should not be interpreted as such. You can order IBM publications online or through your local IBM representative. v To order publications online, go to the IBM Publications Center at http://www.ibm.com/shop/publications/ order v To find your local IBM representative, go to the IBM Directory of Worldwide Contacts at http://www.ibm.com/ planetwide/ To order DB2 publications from DB2 Marketing and Sales in the United States or Canada, call 1-800-IBM-4YOU (426-4968). When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. © Copyright IBM Corporation 2006, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this book ...........vii Displaying detailed XML parsing and validation errors...............55 Chapter 1. pureXML overview -- DB2 as ErrorLog XML schema definition for enhanced an XML database ...........1 error message support ..........57 Using XML in a non-Unicode database .....60 XML data type .............3 XML input and output overview .......3 Chapter 5.
    [Show full text]
  • SQL Routines – Procedures, Functions (And Triggers)
    SQL Routines – Procedures, Functions (and Triggers) Rob Bestgen [email protected] DB2 Center of Excellence © 2014 IBM Corporation Who is the DB2 for i Center of Excellence? An experienced IBM Team delivering: Product Offerings Developed through Engagements Briefings, consulting and guidance on demand IBM i for Business Intelligence Installation Services DB2 Web Query Getting Started Services Query/400 Modernization Services DB2 for i Modernization Workshop(s) DB2 for i SQL Performance Workshop DB2 for i SQL Performance Health Check DB2 for i Very Large Database (VLDB) Assessment DB2 for i remote database administration and engineer services For more information, contact Mike Cain ( [email protected] ) Or Doug Mack ( [email protected] ) © 2014 IBM Corporation IBM Power Systems SQL as a development language SQL A well established, standardized language for database access More than just database query access SQL provides a full procedural programming language in its own right Welcome to SQL Routines (Procedures and Functions)! 3 © 2014 IBM Corporation IBM Power Systems SQL Routines SQL Routines – Procedures – Functions SQL Triggers included in this discussion Created using the SQL programming language Enhanced portability – Supported across DB2 Family – Follows SQL PSM Standard – Similar functionality to proprietary languages on other DBMS (PL/SQL, T-SQL, etc) Makes it easier for SQL programmers to be productive faster on IBM i 4 © 2014 IBM Corporation IBM Power Systems Supported languages DB2 for i supports two types of procedures/functions/triggers 1. SQL • Coded entirely with SQL following (PSM) Standard • Allows full suite of SQL statements 2. External • Register a high-level language program (RPG, COBOL, Java, C…) for subsequent calls from SQL** • may or may not use SQL within the program itself ** Non-SQL triggers use CL command ADDPFTRG 5 © 2014 IBM Corporation IBM Power Systems Supported languages DB2 for i supports two types of procedures/functions/triggers 1.
    [Show full text]
  • PL/SQL Language Reference 11G Release 2 (11.2) E25519-13
    Oracle®[1] Database PL/SQL Language Reference 11g Release 2 (11.2) E25519-13 December 2014 Oracle Database PL/SQL Language Reference, 11g Release 2 (11.2) E25519-13 Copyright © 1996, 2014, Oracle and/or its affiliates. All rights reserved. Primary Author: Sheila Moore Contributing Author: Eric Belden Contributors: D. Alpern, E. Belden, S. Agrawal, H. Baer, S. Castledine, T. Chang, B. Cheng, R. Dani, R. Decker, C. Iyer, A. Kruglikov, S. Kotsovolos, N. Le, W. Li, B. Llewellyn, V. Moore, T. Raney, K. Rich, C. Wetherell, G. Viswanathan, M. Yang 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, then 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.
    [Show full text]
  • Modernizing the Architecture of Your DB2 for Z/OS-Accessing Applications
    Modernizing the Architecture of Your DB2 for z/OS-Accessing Applications Robert Catterall IBM Session Code: A16 May 4, 2017 10:30 - 11:30 AM | Platform: DB2 for z/OS Agenda • New imperatives driving architectural change • Important concept: the “invisible” DB2 for z/OS system • Enhancing system resiliency and flexibility with IBM MQ • Embracing modern programming languages • Leveraging application-enabling features of DB2 for z/OS 2 New imperatives driving architectural change 3 DB2 for z/OS* was introduced over 30 years ago… * originally, DB2 for MVS …and a lot has changed since then 4 1) The balance of power has shifted (in a good way) • Then: the “glass house” people (i.e., “systems” people) were on top of the IT heap • These folks often looked down on application developers • Now: it’s all about the apps (and the people who develop them) • Why that is as it should be: the value of IT systems (and the value of the data housed in those systems) is largely dependent on the value of the applications that use those systems (and access that data) • Applications bring in revenue • Applications serve customers • Applications schedule deliveries, determine product mix, pay suppliers, manage inventory, etc., etc. • Application architecture has to support application development • Agility, ease of use, flexibility – all are of primary importance from a development perspective 5 2) It’s a heterogeneous IT world MQ “Green screen” RESTful services Batch Perl, Python, PHP, Ruby, … The choice: support these interfaces, or Java, JDBC become increasingly irrelevant .NET, ODBC 6 3) Availability is more important than ever • These days, when applications go down….
    [Show full text]