TPFUG JavaScript Object Notation (JSON)

Similar documents
Business Events Update

TPF Users Group Code Coverage in TPF Toolkit

z/tpf Enhanced HTTP Client and High Speed Connector Enhancements

z/tpf Descriptor Definition Projects

Hardware Cryptography and z/tpf

TPF Debugger / Toolkit update PUT 12 contributions!

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

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

Chris Filachek Database/TPFDF Subcommittee

DFDL Enhancements SOA Subcommittee

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

Name: Mark Gambino Venue: SOA Subcommittee

New Data Reduction Tool

Lisa Banks Distributed Systems Subcommittee

z/tpf Support for Java Enhancements

Loading Files with Programs: Version Control in the File System

The Value of Using Name-Value Pairs

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

Mary Komor Development Tools Subcommittee

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

TPF Users Group Fall 2007

KVM for IBM z Systems

TPF Users Group - Fall 2009 TPF Toolkit Updates

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

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

Recoup Deferred Lost z/tpf APAR PJ31559

Jim Johnston Distributed Subcommittee

Josh Wisniewski Development Tools Subcommittee

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

z/tpf File System Security Update

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

z/tpf Communications Enhancements

z/tpf Maintenance Packaging, Content, and Web Resources

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

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

TPF Users Group Spring 2007

IBM Mainframe Life Cycle History

TPF Users Group Fall 2006

Innovate 2013 Automated Mobile Testing

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

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

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

Name : Mark Gambino Venue : Communications Subcommittee

Secure Key Management and Data Privacy on z/tpf

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

TPF Users Group Spring 2006

Name: Peter Lemieszewski Venue: Education

TPF Users Group Spring 2006

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

IBM. Networking INETD. IBM i. Version 7.2

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

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

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

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

DB2 REST API and z/os Connect SQL/Stored Procedures Play a Role in Mobile and API Economics

z/osmf 2.1 User experience Session: 15122

V6R1 System i Navigator: What s New

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

z/vm 6.3 A Quick Introduction

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

TPF Users Group Spring 2005

TPF Users Group Fall 2006

TPF Lab: z/tpf Development Environment Tools and SCMs

PROGxx and LLA Enhancements z/os 1.12

... WebSphere 6.1 and WebSphere 6.0 performance with Oracle s JD Edwards EnterpriseOne 8.12 on IBM Power Systems with IBM i

Migrating Classifications with Migration Manager

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

Computing as a Service

IBM Scale Out Network Attached Storage (SONAS) using the Acuo Universal Clinical Platform

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

IBM System Storage DS8870 Release R7.3 Performance Update

Lawson M3 7.1 Large User Scaling on System i

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

IBM System Storage IBM :

Introduction to IBM System Storage SVC 2145-DH8 and IBM Storwize V7000 model 524

jetnexus ALB-X on IBM BladeCenter

A Pragmatic Path to Compliance. Jaffa Law

Your Notes and Domino in the Cloud

TPFUG DFDL Education. Bradd Kadlecik, TPF Development Lab. Mar 25,2015

Build integration overview: Rational Team Concert and IBM UrbanCode Deploy

IBM Active Cloud Engine centralized data protection

IBM Application Runtime Expert for i

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

z/osmf 2.1 Advanced Programming

IBM Security QRadar Version Customizing the Right-Click Menu Technical Note

Tivoli Netcool/Impact

Jeremy Canady. IBM Systems and Technology Group ISV Enablement March 2013

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

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

Infor M3 on IBM POWER7+ and using Solid State Drives

Enterprise Workload Manager Overview and Implementation

Using Tivoli Workload Scheduler event-driven workload automation

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

outthink limits Spectrum Scale Enhancements for CORAL Sarp Oral, Oak Ridge National Laboratory Gautam Shah, IBM

IBM Next Generation Intrusion Prevention System

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

Best practices. Starting and stopping IBM Platform Symphony Developer Edition on a two-host Microsoft Windows cluster. IBM Platform Symphony

SAS workload performance improvements with IBM XIV Storage System Gen3

Implementing WS-Security on TPF

IMS Connect Much More Than a TCP/IP Gateway

Transcription:

TPFUG JavaScript Object Notation (JSON) Colette A. Manoni, TPF Development Lab March 23, 2015

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. 2015 IBM Corporation 2

JavaScript Object Notation (JSON) Is a lightweight data-interchange format Based on a subset of JavaScript programming language Text format makes it completely language independent Uses 2 constructs / data structures Name : value pairs Ordered list of values { "anobject": { "anumber": 147, "astring": "Hello world!", "aboolean": true, "adate": "2015-03-23 }, } "arrayofobjects": [ { "item": 1 }, { "item": 2 }, { "item": 3 } ] 2015 IBM Corporation 3

Why JSON? Document is smaller in size than XML Parsers available in all different languages Can be used easily from JavaScript REST/JSON popular replacement to SOAP/XML Widely used in mobile applications Interoperability with TPF Can pass-thru data from mobile applications Streamline the processing - don t need a converter in the middle 2015 IBM Corporation 4

JSON Parser/Generator on z/tpf PJ42279 available with PUT11 Design points Standards Investigated porting an existing parser No standard API exists for JSON Performance Key is to keep processing lightweight Basic measurements on-par or better than distributed parsers Better performance (~5%) than XML parser Integration with existing z/tpf functions Infonodes DFDL 2015 IBM Corporation 5

The APIs: tpf_doc_* APIs structured after tpf_xml_* tpf_doc_* APIs can be used to parse and generate either XML or JSON documents New capabilities with tpf_doc_* tpf_doc_getelement and tpf_doc_addelement Elements accessed using a fully qualified path notation starting from the root Child nodes are specified through the use of the '.' character. Array nodes (only available with JSON tree structures) are specified using the '[' and ']' surrounding the desired array index. Multidimensional arrays are supported. The quote character ' ' may be used to surround node specification to include other special characters as part of the the node name. 2015 IBM Corporation 6

Example: tpf_doc_addelement and tpf_doc_getelement JSON document: { a : 1, b : [1, 2, {c: 1}] } tpf_doc_addelement( a, 1 ); tpf_doc_addelement( b[0], 1 ); tpf_doc_addelement( b[1], 2 ); tpf_doc_addelement( b[2].c, 1 ); tpf_doc_getelement( a ) = 1 tpf_doc_getelement( b[0] ) = 1 tpf_doc_getelement( b[1] ) = 2 tpf_doc_getelement( b[2].c ) = 1 2015 IBM Corporation 7

Data type: TYPE_RAW_TEXT JSON documents are usually encoded using Unicode (UTF-8 ) With the parser, all data is converted to EBCDIC to enable application processing Not all UTF-8 characters can be converted to EBCDIC May sometimes get the substitution character corrupts original data tpf_doc_* APIs provide option to preserve the original encoding Always preserved when parsing JSON Option to preserve when parsing XML Can access the original string via the xmlnodesarray structure by specifying TYPE_RAW_TEXT for the data type xmlnodesarray *tpf_doc_getelement (XMLHandle api_handle, char * elementpath, XML_DATA_TYPE data_type) xmlnodesarray->nodesarray[x].nodevaluestr will contain original Unicode value 2015 IBM Corporation 8

Questions?

Thank you!

Trademarks IBM, the IBM logo, and ibm.com 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 www.ibm.com/legal/copytrade.shtml. 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. 2015 IBM Corporation 11