Native Z/OS JSON Parsing And HTTP Services

2y ago
139 Views
12 Downloads
1.15 MB
55 Pages
Last View : Today
Last Download : 15d ago
Upload by : Axel Lin
Transcription

Native z/OS JSON Parsing andHTTP ServicesSteve WarrenIBMemail: swarren@us.ibm.com: @StevieWarr2August 11, 2015Session 17791 Copyright IBM Corporation 2015

TrademarksThe following are trademarks of the International Business Machines Corporation in the United States, other countries, or both.Not all common law marks used by IBM are listed on this page. Failure of a mark to appear does not mean that IBM does not use the mark nor does it mean that the product is notactively marketed or is not significant within its relevant market.Those trademarks followed by are registered trademarks of IBM in the United States; all others are trademarks or common law marks of IBM in the United States.For a complete list of IBM Trademarks, see www.ibm.com/legal/copytrade.shtml:*, AS/400 , e business(logo) , DBE, ESCO, eServer, FICON, IBM , IBM (logo) , iSeries , MVS, OS/390 , pSeries , RS/6000 , S/30, VM/ESA , VSE/ESA,WebSphere , xSeries , z/OS , zSeries , z/VM , System i, System i5, System p, System p5, System x, System z, System z9 , BladeCenter The following are trademarks or registered trademarks of other companies.Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.BMC Mainview AutoOPERATOR is a trademark of the BMC Software CorporationCA Ops/MVS is a trademark of the CA Technlogies corporation.Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiariesin the United States and other countries.UNIX is a registered trademark of The Open Group in the United States and other countries.Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office.IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency, which is now part of the Office of Government Commerce.zCostManagement is a trademark of the zCostManagement Corporation.zPrice Manager is a trademark of the zIT Consulting Corporation* All other products may be trademarks or registered trademarks of their respective companies.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 willexperience 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.IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.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. Actualenvironmental 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 withoutnotice. 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. Copyright IBM Corporation 20152

Agenda Web applications (quick overview) What and why of JSON? What is REST? What is missing on z/OS? Introduction to the toolkit z/OS JSON Parser details Usage z/OS HTTP/HTTPS protocol enabler details Usage Problem determination Reference material Copyright IBM Corporation 20153

Web applications(JSON, HTTP and REST) Copyright IBM Corporation 20154

Moving Beyond the BrowserBusinessesAre Evolvingstores(800) ###sweb sitesWeb APIs are thenew, fast-growingbusiness channelNot having an API today is like not having a Web Site in the 90s“ 7bnworthof itemson eBayonthroughAPIs”“ 7bnworthof itemseBaythrough APIs”Mark Carges (Ebay CTO)Mark Carges (Ebay CTO)The API which has easily 10 times more traffic then the website, has been reallyvery important to us.”Biz Stone (Co-founder, Twitter)“Theof Amazon’sWeb Webservicesis currently“Theadoptionadoptionof Amazon’sservicesis currently driving more zonactivity then everything Amazon does through their traditional web sites.” (Journalist)Jeff Bar(Amazonevangelist)/ DionJeff Bar (Amazon evangelist) / Dion Hinchcliffe (Journalist)Web 1994 was the “get me a domain and a page” era.Web 2000 was the “make my page(s) interactive and put people on it” era.Web 2010 is the “get rid of pages and glue APIs and people together” era.Robert Scoble (Author of tech blog Scobleizer) Copyright IBM Corporation 20155

Growth in Publically Published Web APIsPublic WebAPIs 005018600040002000WebAPIs1865299 620050Source: Programmable Web (some intermediate numbers extrapolated) Copyright IBM Corporation 20156

JSON : The Exchange Notation For Mobile DevicesJSON Sample{"name" : “Adele","breed": "Poodle",“dob": 2011-05-01}JSON standardized as part of ECMAScript in December 1999Web APIProtocolHTTP (REST)JSONJSONJSON has reached all tiersJSONRelationalMiddle TierStoreXML /JSONStore /PersistencelayerClientJavaScript With the increased popularity of Web APIs (literally thousands ofWeb APIs) and the use of Mobile Devices–User Interfaces usually have a JavaScript component ––JSON is the data structure for JavaScriptJSON is integrated with JavaScript and Java and other languages(through libraries)The JSON trend is developer driven and is reaching all tiers (UI, MiddleTier, Data Tier) Copyright IBM Corporation 2015Aspects of JSON:No namespacesNo schemasNo mixed content support Mixedcontent example: p hello b Adele /b how are you /p 7

JSON Penetration: Web API Trend Towards JSONProgrammable Web, Jan 2012Programmable Web, December 201226 Weather APIs, 12 Support JSON“Weather has always been a popular category with 26 Weather APIs listed in our directory. While XML is stillthe leading data format used, the trend of JSON becoming the Developer’s Choice over the last few years is alsoreflected in the Weather category”1 in 5 APIs said “Bye XML” - JSON is popular, atleast when it comes to API data formats. Of thenew APIs we added to our directory, one in foursupports only JSON (Dec 2012). YouTube API, forexample, switched to JSON-onlyProgrammable Web, January 2012Library of Congress, Prints and Photos API goes JSON - TheLibrary of Congress, with their Prints and Photographs APIhas finally taken the REST API plunge. If this governmentinstitution can do it, maybe you can convince the head ofyour IT department that APIs are a good idea too. Copyright IBM Corporation 20158

JSON example{"firstName": "Steve","lastName": "Jones","age": 46,"address": {"streetAddress": "123 Anywhere Ave","city": "Poughkeepsie","state": "NY","postalCode": "12601","country": "USA"},"phone": [{"type": "mobile","number": "914 555 5555"},{"type": "home","number": "845 555 1234"}]} Copyright IBM Corporation 2015Name – value pairs Name in quotes Value one of thetypes belowObjects – { }Arrays – [ ]Object entries Other objects orarrays String – “ ” Numbers Boolean Null9

What are REST APIs? Web applications are a client/server programming model using arequest/response protocol. RESTful applications are web applications that follow a simple set ofarchitectural constraints such as: using standard HTTP methods stateless servers using URIs (URLs) strictly to identify the server resource beingmodified or interrogated sending data back and forth in human-readable form REST APIs are defined by a server What URI should be interrogated Which HTTP service should be used against that URI The format of the data to be sent back and forth10 Copyright IBM Corporation 2015

30,000 foot view of REST / HTTP / JSONClient{“city”:“New York”,“units”:“F” }RequestHTTP PUTServer/service/weatherJSONResponse(REST interface){“low”:48,“high”:65 } Copyright IBM Corporation 201511

No Generic z/OS Client Web Services A few z/OS implementations here and there Rexx & Curl in z/OS UNIX (USS)Socket from COBOLApache http client from JavaDB2 REST UDFCICS SocketsWOLA & Liberty Profile No generic web services available to all z/OS clients No general usage JSON parser available in all z/OSenvironments12 Copyright IBM Corporation 2015

Intro to the toolkit Copyright IBM Corporation 201513

Overview Problem Statement / Need Addressed–The need for generic JSON parsing and HTTP services on the z/OSplatform Solution–A set of APIs that allow any z/OS application in just about anyexecution environment to avail themselves of these services Benefit / Value–Almost any application running on z/OS can easily play the role of aclient in a client/server web application. Copyright IBM Corporation 201514

Introducing the z/OS Client Web EnablementToolkit!The z/OS client web enablement toolkit provides a set ofapplication programming interfaces (APIs) to enable traditional,native z/OS programs to participate in modern web servicesapplications. Pieces of the toolkit: A z/OS HTTP/HTTPS protocol enabler to externalize HTTP and HTTPSclient functions in an easy-to-use generic fashion for user’s in almost anyz/OS environment A z/OS JSON parser which parses JSON coming from any source, buildsnew JSON text, or adds to existing JSON text.The toolkit allows its two parts to be used independently orcombined together. Payload processing is separate from communication processing. The interfaces are intuitive for people familiar with other HTTPenabling APIs or other parsers Easy for newbies Copyright IBM Corporation 201515

General programming toolkit environment Runs in just about any address space Code runs in user’s address spaceSupports both authorized and un-authorizedcallersEasy API suite providedMulti-language support Include files supplied for C, COBOL, PL/I, AssemblerMulti-language samples provided Copyright IBM Corporation 201516

z/OS JSON parserdetails Copyright IBM Corporation 201517

Elements of the z/OS JSON ParserTypes of services: Initialize / Terminate Parse Data format is not well knownProgram learns what data was passed using several traversal servicesSearch Assigns a particular JSON text stream to a parser instanceCheck input JSON text for syntax errorsCreates an internal representation of the JSONTraverse Create and free the memory space (parser instance) required by the parserQuickly locate a particular name in a name/value pairCreate / Serialize Create JSON text from scratch or insert new JSON text into the existing text.18 Copyright IBM Corporation 2015

z/OS JSON parser environment z/OS Client Toolkit execution environment: Supports both authorized and un-authorized callers Allow supervisor or problem state callers running in any PKMSupports task and SRB mode invokersSupports cross-memory mode invokersRecovery needed by caller Copyright IBM Corporation 201519

Usage of the z/OS JSON parsing services How to use the services: Initialize a parse instance Returns a parser handle Parse some JSON Text Use traversal or search methods Quick access to various constructs in the JSON textor to find a particular name Re-use the parse instance or terminate it Copyright IBM Corporation 201520

z/OS JSON parsing services - Traverse Traversal services include: Get JSON Type (HWTJGJST) Get Value (for string or numeric) (HWTGVAL) Get Numeric Value (HWTJGNUV) Get Boolean Value (HWTJBOV) Get Number of Entries (HWTJGNUE) Get Object Entry (HWTJGOEN) Get Array Entry (HWTJGAEN) Copyright IBM Corporation 201521

z/OS JSON parsing services - Traverse Traversal methods return an object or elementhandle These handles are used to address a particularobject or object entry An object handle is returned when the data valuetype of an name value pair is an object. Thisobject handle can then be used to find out thenumber of entries in the object and to traverse allthe elements in the object. An entry handle is returned when addressing aparticular entry. It is used to drill down into thecontents of the entry. Copyright IBM Corporation 201522

z/OS JSON parsing services JSON search (HWTJSRCH): Allows a particular “name” to be quickly consultedwithin the entire JSON text or within a particularobject. The value handle returned references the valueassociated with the found “name” Two search types: HWTJ SEARCHTYPE GLOBAL HWTJ SEARCHTYPE OBJECT Copyright IBM Corporation 201523

z/OS JSON parsing services - Create JSON creation services: Create JSON Entry (HWTJCREN) Serialize JSON Text (HWTJSERI) Allows the creation of new JSON text or the addition ofentries to existing JSON text. Provides option to merge multiple JSON text streamseasily and to validate that the insertion point issyntactically valid Allows JSON text to be traversed even after new textadded Copyright IBM Corporation 201524

z/OS Client Toolkit JSON Parser Syntax (InitializeParser Instance) Call HWTJINIT (returnCode, maxParserWorkAreaSize, parserHandle, diagArea) returnCode (output) maxParserWorkAreaSize (input) represents the maximum size of storage theparser can consume during parser functions. This maximum size is notnecessarily obtained when the JSON instance is initialized, but allows theparser to consume UP to this value. Defaults to unlimited if the value isspecified as zero. parserHandle (output) is a 12-byte character value generated by the parserwhich contains a handle to be used on all subsequent JSON parser servicesfor this parser instance. This instance contains all of the data structures andstorage areas required for the parser to run and to run efficiently. diagArea (output) 4-byte address pointing to a 132-byte storage area mappedin the provided include files. It is comprised of a 4-byte reason code field anda 128-byte error text field. Copyright IBM Corporation 201525

z/OS Client Toolkit JSON Parser Syntax (Parseexisting JSON text) Call HWTJPARS (returnCode, parserHandle, JSONTextAddr, JSONTextLen,objectHandle, diagArea); returnCode (output) parserHandle (input) 12-byte character value representing the JSON parserinstance to be used for the new JSON text to be parsed. JSONTextAddr (input) 4-byte address representing the actual storage locationof the JSONText to be parsed. JSONTextLen (input) 4-byte value representing the length of the JSONTextstorage area supplied in the above JSONTextAddr input parameter. diagArea (output) 4-byte address pointing to a 132-byte storage area mappedin the provided include files. It is comprised of a 4-byte reason code field and a128-byte error text field. Copyright IBM Corporation 201526

z/OS Client Toolkit JSON Parser Syntax (Traversalexample) Call HWTJGJST (returnCode, parserHandle, objOrEntryValueHandle, JSONType,diagArea) objOrEntryValueHandle (input) 4-byte value representing a previouslyreturned object or entry handle. JSONType (output) 4-byte returned value specifying the JSON type.–Example: JSONType returned is HWTJ OBJECT TYPE Call HWTJGNUE (returnCode, parserHandle, objectHandle, numOfEntries,diagArea) objectHandle (input) 4-byte value representing a previously returned handle. numofEntries (output) 4-byte returned value with the number of entries in thereferenced object. Now loop thru all the entries, invoking HWTJGOEN (Get Object Entry) for eachentry in the object. Copyright IBM Corporation 201527

z/OS Client Toolkit JSON Language Support Include files and sample programs provided in: C/C COBOL PL/I Assembler (Include file only) Copyright IBM Corporation 201528

Installation – z/OS JSON Parsing Services V2R2 – None (in the base) V2R1 – Install APAR OA46575 and re-IPL External message to know the toolkit is installed and ready to go:–HWT001I message will appear in the syslog stating the toolkit isenabled Copyright IBM Corporation 201529

z/OS HTTP/HTTPSprotocol enablerdetails Copyright IBM Corporation 201530

Usage & Invocation – z/OS HTTP Services Provides similar functionality to existingopen-source libcurl HTTP/HTTPS interface Interface is very similar Underlying code is z/OS-specific and notported in any way Copyright IBM Corporation 201531

HTTP features supported by toolkit HTTPS connectionsHTTP cookies managementProxiesURI redirectionBasic client authenticationChunked encoding Copyright IBM Corporation 201532

HTTP Services execution environment Same as the JSON part of the toolkit except: Task mode callers only Key zero callers not allowed OMVS segment required for address space using HTTPenabler Recovery recommended by caller Copyright IBM Corporation 201533

Two aspects of HTTP toolkit app Connection The socket created between the client and server forthe purpose of exchanging informationCan be established as SSL/TLS, thru a particularlocal IP addresses, thru a proxy, using a particular IPstackRequest An HTTP request sent over a previouslyestablished connectionRequests not tightly coupled to a particularconnection Copyright IBM Corporation 201534

Elements of the z/OS HTTP enablerTypes of services: Initialize / Reset / Terminate Set options Create, reset or free the memory space (connection or request instance)required by the HTTP enabler Prepare the connection or request instance with the desired configurationoptionsOptions set one at a timeConnect / Disconnect Establish or disconnect a connection instance with a server using socketsIf SSL/TLS has been selected, the connect will handle all SSL interactionsSend request Couple a request with previously connected connection instance.Set Linked List service Utility service that creates a linked list of data objects of the same type. Forexample: create a list of HTTP headers and set theHWTH OPT HTTPHEADERS option to the list created by this service. Copyright IBM Corporation 201535

Usage of the z/OS HTTP enabler services Simple services allow the user to easily build anHTTP/HTTPS request, step-by-step.–Init a connection.–Set the desired HTTP connect options.–Issue the HTTP connect.–Init a request.–Set the desired HTTP request options.–Issue the HTTP request.–Process the response.–Term the request or re-use.–Term the connection Copyright IBM Corporation 201536

HTTP Services – Connection Options Various settable options for preparing an HTTP connect for the set commandinclude: HWTH OPT HTTP VERSION – values are 4-byte integers representing the HTTPversion desired. The following constants are provided: HTTP VERSION NONE HTTP VERSION 1 0 HTTP VERSION 1 1 HWTH OPT URI – valid values are either a v4 or v6 IP address, or hostname Example http://192.168.0.1 or http://[2001:1890:1112:1::20]/ orhttp://www.example.com HWTH OPT PORT – Value specifying which remote port number to connect to,instead of the one specified in the URL or the default HTTP or HTTPS port. HWTH OPT IPSTACK – Optional value 1 to 8 character z/OS TCP/IP stack to beused by the connection HWTH OPT LOCALIPADDR – Optional outgoing local IP address HWTH OPT LOCALPORT – Optional outgoing local port HWTH OPT SNDTIMEOUTVAL – Sending timeout value HWTH OPT RCVTIMEOUTVAL – Receiving timeout value Copyright IBM Corporation 201537

HTTP Services – SSL Options SSL support options include: HWTH OPT SSLVERSION – sets the SSL versions to be supported by this HTTPrequest. More than one version may be selected. (e.g. TLS1.2, TLS1.1, TLS1.0,SSLv3) HWTH OPT SSLKEYTYPE – Specifies the manner the key will be supplied to thisHTTPS request. The following constants are provided: SSLKEYTYPE KEYDBFILE SSLKEYTYPE KEYRINGLABEL SSLKEYTYPE KEYRINGNAMEHWTH OPT SSLKEY – Specifies the value of the key. The value specified depends onthe value set by SSLKEYTYPE. For SSLKEYTYPE KEYDBFILE - represents path and name of the key databasefile name For SSLKEYTYPE KEYRINGNAME – represents the RACF key ring name HWTH OPT SSLKEYSTASHFILE – specifies the stash file of the key databasefile. Only valid if SSLKEYTYPE KEYDBFILE is specified. Ignored in all othercases. HWTH OPT SSLCLIENTAUTHLABEL – optional label that represents a clientcertificate if SSL client authentication is requested by the server. Copyright IBM Corporation 201538

HTTP Services – Proxy Options Proxy support options include: HWTH OPT PROXY – set the HTTP proxy to user.Specified the exact same as HWTH OPT URI above. HWTH OPT PROXYPORT – specify the proxy port toconnect to. Specified the exact same as HWTH OPT PORTabove Copyright IBM Corporation 201539

HTTP Services – Redirect Options Redirect options include: HWTH OPT MAX REDIRECTS – maximum number ofredirects to follow for a given request. HWTH OPT XDOMAIN REDIRECTS – are cross-domainredirects allowed? HWT OPT REDIRECT PROTOCOLS – do you allow theHTTP/HTTPS protocol to be upgraded and/or downgraded ona redirect? Copyright IBM Corporation 201540

HTTP Services – Cookie Options Cookie support options include: HWTH OPT COOKIETYPE – sets cookie handling type COOKIETYPE NONE – cookie engine not activated COOKIETYPE SESSION – cookie engine enabled – cookiesautomatically sent, but end when connection ends COOKIETYPE PERSIST - cookie engine enabled – cookiesautomatically sent, cookies saved to output buffer when connectionendsin HWTH OPT COOKIE INPUT BUFFER – specifies inputcookie data store HWTH OPT COOKIE OUTPUT BUFFER – specifies outputcookie location for a cookietype of COOKIETYPE PERSIST Copyright IBM Corporation 201541

HTTP Services – Connect/Disconnect Connect to HTTP Server Attempts to connect using all of the attributes set by previous setfunctions using this connection handle. If successful, this connection is eligible to be used forHTTP/HTTPS requests. Disconnect from HTTP Server Attempts to disconnect the connection created by the Connectservice. If successful, the connection element will be disconnected but allattributes associated with the connection still be intact. If asubsequent Connect is issued, the attributes specified on the priorConnect will be used. Copyright IBM Corporation 201542

HTTP Services – Request Options Setting Request Options–Use same Set service as for HTTP connect options Various settable options for preparing an HTTP requestinclude:– HWTH OPT REQUEST – values are 4-byte integers representing thedesired HTTP CRUD request methods:» HTTP REQUEST GET» HTTP REQUEST PUT» HTTP REQUEST POST» HTTP REQUEST DELETE Copyright IBM Corporation 201543

HTTP Services – Request Options Various settable options for preparing an HTTP request (continued):– HWTH OPT HTTPHEADERS – 4-byte pointer to a linked list of HTTP requestheaders. These request headers were chained via the HWTHSLST link list appendservice.– HWTH OPT COOKIE – specific cookies to send apart from normal cookie handling– HWTH OPT REQUESTBODY – 4-byte pointer to a request body data (useful on anHTTP POST operation only).– HWTH OPT RESPONSEHEADER EXIT – 4-byte address of the program to receivecontrol once for each response header received by the application.– HWTH OPT RESPONSEHEADER USERDATA – 4-byte address of the optionaluser data buffer to be passed into the response header exit when it receives control.– HWTH OPT RESPONSEBODY EXIT – 4-byte address of the program to receivecontrol when the response body is received.– HWTH OPT RESPONSEBODY USERDATA – 4-byte address of the optional userdata buffer to be passed into the response body exit when it receives control. Copyright IBM Corporation 201544

HTTP Services – Request Options HTTP authorization options: HWTH OPT HTTPAUTH – Do I want HTTP basic client authentication?HWTH OPT USERNAME and HWTH OPT PASSWORD must be set if basicclient authentication is selected.HTTP request body and response body translate functions HWTH OPT TRANSLATE REQBODY – translate request body from EBCDIC toASCII automatically.HWTH OPT TRANSLATE RESPBODY – translate response body from ASCII toEBCDIC automatically. Copyright IBM Corporation 201545

HTTP Services – Send Request Send Request to HTTP server–Attempts to send the request represented by the requesthandle using the connection represented by the connectionhandle.–Receives the appropriate response. Copyright IBM Corporation 201546

HTTP Services – Processing responses Response Header and Response Body exits– Callback exits receive control for each response header received and once forthe response body.– The response header exit is called in series (meaning serially) so that only oneresponse header is presented to the application at any one time. If the user’sexit does not return control to the toolkit, the next response header will not bedelivered.– Response header can reject the rest of the request at any time by setting thereturn code back to the toolkit to “abort” Copyright IBM Corporation 201547

HTTP Services – Chunked encoding Responses with chunked encoding present Toolkit supports the chunked encoding data transfer method(Transfer-encoding: chunked).Automatically de-chunks data sent from the server using thechunked encoding method. The response body exit does not need to handle the various chunks;rather, the data is delivered to the exit already decoded. If the chunked data contains trailer headers, the header exit will beinvoked (once for each trailer header) prior to this routine receivingcontrol.Note: The toolkit ignores chunk extensions Copyright IBM Corporation 201548

z/OS Client Toolkit HTTP Language Support Include files and sample programs provided in: C COBOL – sample delivered soon after GA viaAPAR PL/I – sample delivered soon after GA via APAR Assembler (Include file only) Copyright IBM Corporation 201549

Installation – z/OS HTTP Enabler Services V2R2 – None (in the base) V2R1 – Install APAR OA46622 after GA of V2R2 and re-IPL External message to know the toolkit is installed and ready to go:–HWT001I message will appear in the syslog stating the toolkit isenabled Copyright IBM Corporation 201550

Problem determination – HTTP Enabler Return Code from service Specific return code can give explanation DiagArea Many times provides detailed explanation. Status values returned in callback routines Provides HTTP status values from server HWTH VERBOSE set option Toolkit directs many trace-like messages to the standard output of theapplication. Useful during debugging. SOCKAPI CTRACE option System SSL tracing Copyright IBM Corporation 201551

Toolkit Reference Materials z/OS 2.2 MVS Programming: Callable Services for HighLevel Languages Complete toolkit documentation z/OS 2.2 MVS System Messages, Volume 6 (GOS Toolkit message documentation z/OS 2.2 MVS System Codes Toolkit abend ’04D’x documentation Copyright IBM Corporation 201552

z/OS Hot Topicsmagazine (August2015) REST easy onz/OS –Introducing thez/OS Client WebEnablementToolkit (pg. 26-27) Copyright IBM Corporation 201553

Questions? Copyright IBM Corporation 201554

Please fill out your sessionevaluations!Enjoy the rest of your week! Copyright IBM Corporation 201555

new JSON text, or adds to existing JSON text. The toolkit allows its two parts to be used independently or combined together. Payload processing is separate from communication processing. The interfaces are intuitive for people familiar with othe

Related Documents:

Table of Contents . Disclaimer . 1 Introduction . 3 . Brief Introduction to JSON and Querying JSON in Oracle 12c 4 Storing JSON 4 JSON Path Expressions 5 Querying JSON 5 Indexing JSON 6 NoBench Benchmark 8 Benchmark Details 8 Performance Enhancements for JSON data 10 JSON with In-Memory Columnar Store (

JSON and SQL in Oracle Database Oracle Database 12c Release 1 added many great features for native support of JSON in tables and via SQL. "IS JSON" constraint for existing types -there is no JSON type -(N)VARCHAR2, (N)CLOB, BLOB, RAW JSON operators in SQL -JSON_VALUE, JSON_QUERY, JSON_TABLE, JSON_EXISTS, IS JSON JSON Dataguide

JSON-to-JSON transformation languages enable the transformation of a JSON document into another JSON document. As JSON is grad-ually becoming the most used interchange format on the Internet there is a need for transformation languages that can transform the data stored in JSON in order for the data to be used with other sys-tems.

Figure 1: Parsing vs. Query processing Cost Twitter Dataset, Queries from [30], Spark Jackson Nevertheless, JSON is a raw data format. That is, JSON data must be parsed before it can be further processed or analyzed. Un-fortunately, parsing JSON data is expensive. As a result, with the curre

The JSON Web Algorithms (JWA) specification enumerates cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS) , JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. All these specifications utilize JavaScript Object Notation (JSON) based da

Java API for Processing JSON (JSON-P) Streaming API to produce/consume JSON - Similar to StAX API in XML world Object model API to represent JSON - Similar to DOM API in XML world Align with Java EE 7 schedules JSR Supporters - fasterxml.com(Jackson), Doug Crockford(json.org) JSR-353

SQL/JSON data model A sequence of SQL/JSON items, each item can be (recursively) any of: SQL/JSON scalar — non-null value of SQL types: Unicode character string, numeric, Boolean or datetime SQL/JSON null, value that is distinct from any value of any SQL type (not the same as NULL)

SQL/JSON in SQL-2016 SQL/JSON data model A sequence of SQL/JSON items, each item can be (recursively) any of: SQL/JSON scalar — non-null value of SQL types: Unicode character string, numeric, Boolean or datetime SQL/JSON null, value that is distinct from any value of any SQL type (not the same as NULL)