The JSON agenda 17:00 Welcome to JSON: What is JSON, and why should I care about JSON? RESTfull webservices and JSON Microservices and …. JSON 18:30.

Slides:



Advertisements
Similar presentations
An Erlang Implementation of Restms. Why have messaging? Separates applications cheaply Feed information to the right applications cheaply Interpret feed.
Advertisements

SOAP.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Peoplesoft: Building and Consuming Web Services
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
UNIT-V The MVC architecture and Struts Framework.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
“ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1.
From 5250 to 2014 Moving forward quicker than you think! YKK, São Paulo 11 April 2014 By Niels Liisberg CTO System & Method A/S Copenhagen Denmark.
Module 14: WCF Send Adapters. Overview Lesson 1: Introduction to WCF Send Adapters Lesson 2: Consuming a Web Service Lesson 3: Consuming Services from.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
M1G Introduction to Database Development 6. Building Applications.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Open Data Protocol * Han Wang 11/30/2012 *
Moving forward quicker than you think! By Niels Liisberg CTO, System & Method A/S Copenhagen, Denmark.
Serialization. Serialization is the process of converting an object into an intermediate format that can be stored (e.g. in a file or transmitted across.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
JDeveloper 10g and Oracle ADF Business Components Getting the Most Out of Your Data Avrom Roy-Faderman Senior Programmer November, 2005.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
Profound.js: The future of open source development on IBM i
Introduction to MEAN (JavaScript Full Stack Development)
Web Technologies Computing Science Thompson Rivers University
Selenium and Selenium on Rails
Physics validation database
Business Directory REST API
Node.js Express Web Applications
z/Ware 2.0 Technical Overview
Data Virtualization Community Edition
Play Framework: Introduction
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
Play Framework: Introduction
Node.js Express Web Services
CASE STUDY -HTML,URLs,HTTP
Next Generation SSIS Tasks and data Connection Series
Data Virtualization Tutorial: JSON_TABLE Queries
IBM Data Server Gateway for OData
IBM Start Now Host Integration Solutions
Build Better Apps with MEAN.
SQL Server 2016 JSON Support FOR Data Warehousing
HTTP: the hypertext transfer protocol
Enterprise Application Architecture
Testing REST IPA using POSTMAN
Intro to NoSQL Databases
Web Application Architectures
Windows Azure Keenan Newton 3-021
A JSON’s Journey through SQL Server
Intro to NoSQL Databases
JSON for the Data Mortal
Web Application Architectures
Integrating REST API and SQL Server JSON Functions
Planning and Storyboarding a Web Site
ExtJs and microservices
The New and Improved SQL:2016 Standard
Web Technologies Computing Science Thompson Rivers University
Web Application Architectures
Techniques to Invoke Web Services from SAS
Consuming Web Services with 2E Generated Objects
WCF Data Services and Silverlight
REST Easy - Instant APIs for Your Database
Intro to NoSQL Databases
Chengyu Sun California State University, Los Angeles
Presentation transcript:

The JSON agenda 17:00 Welcome to JSON: What is JSON, and why should I care about JSON? RESTfull webservices and JSON Microservices and …. JSON 18:30 A break from JSON: A JSON sandwich and a cup of JSON 18:50 Yet more JSON: The Watson JSON API JSON and JAVA JSON in DB2 20:00 It’s time to say good bye to JSON.

But first: 1) Power up your smartphone !!! 2) Enter kahoot.it in your browser It’s time for quizzzzz.. … it’s Kahoot time !!!!!

JSON Publishing functions JSON support in DB2 for i JSON Publishing functions JSON_ARRAY JSON_ARRAYAGG JSON_OBJECT JSON_OBJECTAGG JSON Query support Predicates: IS JSON JSON_EXISTS Scalar functions: JSON_QUERY() JSON_VALUE() DB2 JSON Store JSON_TABLE() June 2015 November 2016 TBD TBD First DB2 Family member to have JSON_TABLE support (note that Oracle has it already) Why invest in adding JSON into DB2 for i? JSON is very popular SQL Standards body is adopting this into the standard IBM i 7.1, 7.2, & 7.3 IBM i 7.2 & 7.3

JSON_TABLE Converts a JSON expression into relational data JSON-expressions can be: Character or Graphic (use FORMAT JSON) Binary (use FORMAT BSON) JSON path expression lax Structural problems are tolerated Arrays are automatically unnested strict Structural problems result in an error Arrays are not automatically unnested Can leverage HTTP Functions SELECT * FROM JSON_TABLE( <JSON-expression> , <JSON-path-expression> COLUMNS ( <column-definitions> ) <error-option> FORMAT BSON would equate to using the DB2 JSON Store: http://www.ibm.com/developerworks/ibmi/library/i-json-store-technology/index.html

JSON Object SELECT * FROM JSON objects are represented using a list of key-value pairs Curly braces { } indicate object start and end Value Pairs are separated by commas Keys and values separated by colons SELECT * FROM json_table('{"first":"John","last":"Doe"}', '$' columns("first" VARCHAR(40), "last" VARCHAR(40))) x;

What is JSON Lightweight transporter protocol Any abstract data types Any complex data Human readable Easy to parse in any environment (IoT) Easy to produce Cross age/culture developer Esperanto Only by simple components: Primitives, arrays and object

A humongous number of JSON transactions Why is JSON A humongous number of JSON transactions New design paradigms – MVC / MVVM Simple to produce in RESTfull services

Model View Control? MVC / MVVM Controller Client Web Server IBMi

It is easy to produce

But - what is wrong in this picture? Access the HTTP protocol header Access the URL directly Static binding to SQL table layout Construct the JSON by hand and send it by HTTP

What is wrong in this picture PLUMBING!! Error prone to the output quality ( well formed JSON) Require knowledge of the HTTP protocol Is only accessible from the HTTP protocol Can not be reused, ( called from an other application) Can not be unit tested Hard to extend Hard to debug

Why micro services? Run in any environment. JSON in, JSON out. Easy unit testing Graceful error handling. Can be written in any language Can be reused, called from an other application Don’t rely on HTTP – why not a dataqueue? Easy to debug Easy to extend Require some kind of routing

Micro services in node.js Seneca Is a micro service framework for node.js – Can we make it run on power – let’s try: ssh or call qp2term on your IBMi ( mine is dksrv206) Mkdir /seneca git -c http.sslVerify=false clone https://github.com/senecajs-attic/getting-started.git cd getting-started Npm install echo "require('seneca')().use('math').listen()" > msTest.js node msTest.js Now try this in your browser: http://dksrv206:10101/act?role=math&cmd=sum&left=1&right=2

Any language? Yes: you can make microservices with almost all languages: JAVA – with the spring framework node.js – seneca RPG with noxDB / icebreak

It’s JSON break time

Let’s talk with Watson Watson has an REST api we can utilize. Let’s play