Event : Common Europe Speaker : Koen Decorte CD-Invest nv

Size: px
Start display at page:

Download "Event : Common Europe Speaker : Koen Decorte CD-Invest nv"

Transcription

1 Event : Common Europe Speaker : Koen Decorte CD-Invest nv

2 CONTENT WHO ARE WE BACKEND RPG TOOLS FRONT END EXTJS FRAMEWORK JSON INTRO LET RPG TALK JSON BUILD SCREENS IN EXTJS PUTTING EVERYTHING TOGETHER WITH AJAX

3 Who are we - Small IBM i ISV and IBM business partner located in Oostkamp, (near Bruges) Belgium. - Team of 11 people. - Working with IBM i and its predecessors for more than 40 years. - Expertise in RPG, SQL, PHP, HTML, JAVASCRIPT, WEBSERVICES, WEBSITES, WEBSHOPS, 3D, etc - Do contract programming for customers ranging from furniture, frames manufacturing to dairyvet webshops.

4 BACKEND RPG TOOLS EASY400.net : tools ranging from web development to ifs, excel handling, Scott Klement website : YJAL parser, Powerext framework : backend framework with optional frontend => combines both tools.

5 CGIDEV2 (EASY400.net) Free and open source toolkit to develop interactive web applications using RPG Started in 1999, we have used it since then. Usage : websites, web interfaces, powerful in combination with other tools or with enhanced features Very easy to use when you know RPG, web pages are like printing (record formats/variables). Main disadvantages : No session management No JSON support

6 YAJL and other Scott Klement tools LIBHTTP : tool to consume webservices from RPG (since 2002) YJAL : tool to parse and write JSON (since 2013) Both LIBHTTP and YJAL are great tools used in combination with cgidev2. You can use cgidev2 to read the request from the browser and use YJAL to write the answer in JSON. This way you can easily build a powerful and flexible backend.

7 POWEREXT framework Integration of cgidev2, yjal, extjs and even nodjs on ibm i

8

9 SENCHA EXTJS FRONT-END FRAMEWORK - Using it since it started in Javascript framework allowing cross-browser and crossplatform development of web and mobile touch applications. - Ext JS includes a set of GUI-based form controls (or "widgets") for use within web applications - More info on

10 SENCHA EXTJS FRONT-END FRAMEWORK Ext JS features 115+ integrated UI components including calendar, grids, charts and more. The Ext JS Grid and Charting package can handle millions of records with ease. The framework includes a robust data package that can consume data from any back-end data source

11 Why EXTJS Cross-browser support Rich UI components Two way binding MVC (Model View Controller)/MVVM (Model View, View Model) Easy DOM access Client-side routing Single-Page Application (SPA).

12

13

14

15

16 JSON JSON = JavaScript Object Notation JSON is a syntax for storing and exchanging data. JSON is text, written with JavaScript object notation.

17 JSON DATA EXCHANGE Any JavaScript object can be converted into JSON, and sent to the server. Any JSON received from the server can be converted into JavaScript objects. No complicated parsing and translations needed.

18 JSON - SYNTAX RULES JSON syntax is derived from JavaScript object notation syntax: Data is in name/value pairs Data is separated by commas Curly braces hold objects Square brackets hold arrays

19 JSON - NAME + VALUE JSON data is written as name/value pairs. A name/value pair consists of a field name (in double quotes), followed by a colon, followed by a value: Example : {"name":"koen"}

20 JSON VERSUS XML Both JSON and XML can be used to receive data from a web server. The following JSON and XML examples both defines an persons object, with an array of 3 persons:

21 JSON EXAMPLE { persons":[ { "firstname":"koen", "lastname":"decorte" }, { "firstname":"jeroen", "lastname":"decorte" }, { "firstname":"bart", "lastname": Decorte" } ]}

22 XML example <persons> <person> <firstname>koen</firstname> <lastname>decorte</lastname> </person> <person> <firstname>jeroen</firstname> <lastname>decorte</lastname> </person> <person> <firstname>bart</firstname> <lastname>decorte</lastname> </person> </persons>

23 JSON - XML Both JSON and XML are "self describing" (human readable) Both JSON and XML are hierarchical (values within values) Both JSON and XML can be parsed and used by lots of programming languages Both JSON and XML can be fetched with an XMLHttpRequest

24 JSON - XML JSON doesn't use end tag JSON is shorter JSON is quicker to read and write JSON can use arrays The biggest difference is: XML has to be parsed with an XML parser. JSON can be parsed by a standard JavaScript function. For AJAX applications, JSON is faster and easier than XML.

25 PREPARE RPG BACKEND TO TALK JSON Install cgidev2 Install Yajl Configure HTTP Apache server Setup development library

26 HTTP CONFIG BASICS DefaultNetCCSID 1208 KeepAlive On KeepAliveTimeout 15 ExpiresActive On # A means expire after a month in the client's cache ExpiresByType text/css A ExpiresByType application/x-javascript A ExpiresByType application/javascript A ExpiresByType text/html A

27 HTTP CONFIG BASICS <Directory /QSYS.LIB/CSMEXT.LIB> CGIConvMode %%EBCDIC/MIXED%% Options +ExecCGI order allow,deny Allow From all AddOutputFilter INCLUDES.pgm.pl.class </Directory>

28 HTTP CONFIG BASICS AliasMatch ^/QSYS\.LIB/CSMEXT\.LIB/(.*) /QSYS.LIB/CSMEXT.LIB/$1 ScriptAliasMatch ^/csmextp/(.*) /QSYS.LIB/CSMEXT.LIB/$1

29 LET RPG TALK TO BROWSER RPG HEADER ADD binding directories CGIDEV2 an YJAL.

30 LET RPG TALK TO BROWSER RPG COPY BOOKS /copy *libl/qcpyprc,prototypeb /copy *libl/qcpyprc,usec /copy *libl/qcpyprc,variables3 /copy *libl/qcpyprc,yajl_h

31 LET RPG TALK TO BROWSER RPG READ INPUT FROM THE BROWSER * parse browser input nbrvars = zhbgetinput(savedquerystring:qusec) ; action = zhbgetvar('action') ;

32 LET RPG TALK TO BROWSER * succes output { SUCCESS : 1 } yajl_genopen(*off) ; yajl_beginobj(); yajl_addchar('success':'1') ; yajl_endobj();

33 LET RPG TALK TO BROWSER * send output to browser httpstatus = 200; yajl_writestdout(httpstatus: errout) ; yajl_genclose();

34 SQL SETTINGS set option srtseq=*langidshr, closqlcsr=*endmod, commit=*none First SQL line in code and needs to be excuted first.

35 LET RPG TALK TO BROWSER row = c2n2(zhbgetvar('wid')) ; exec sql select wid, wcode, wdesc, wseq into :wid, :wcode, :wdesc, :wseq from workw where wid = :row; if ( SqlStt <> SqlNormal ); SEND ERROR endif ;

36 BUILD JSON RECORD yajl_beginobj() ; yajl_addchar('wid': %trim(%editc(wid:'4'))) ; yajl_addchar('wcode':%trim(wcode)) ; yajl_addchar('wdesc': %trim(wdesc)) ; yajl_addchar('wseq':%trim(%editc(wseq:'4'))) yajl_endobj() ;

37 EXAMPLE OUTPUT {"SUCCESS":"1","WID":"1","WCODE": KDC01 ","WDESC": Koen Decorte","WSEQ":"10"}

38 SEND QUERY RESULT AS A PAGING GRID start=c2n2(zhbgetvar('start')); limit=c2n2(zhbgetvar('limit')); if limit=0; limit = 250; endif; search = zhbgetvar('search'); sort = zhbgetvar('sort ); sortdir = zhbgetvar('dir');

39 // build SQL statement SQ = X'7D' ; stmt='select wid, wcode,, wdesc, wseq from workw' ; if (search <> *blanks ) ; stmt = stmt + ' where wdesc like ' + sq + '%' + %trim(search) + '%' +sq; endif; if (sort <> *blanks ) ; stmt = stmt + ' order by ' + %trim(sort)+ ' '+ %trim(sortdir) + ', wid' ; else; eval stmt = stmt + ' order by wid ; endif ;

40 * prepare statement exec SQL include sqlca ; exec SQL prepare subfileselect from :stmt; if sqlstt=sqleof; // send no records error Endif; exec SQL declare csr001 insensitive scroll cursor for subfileselect; exec SQL open csr001; totalcount = sqler2;

41 if ( start <> 0 ); exec sql fetch relative :start from csr001 for :limit rows into :workwrecords; Else; exec sql fetch csr001 for :limit rows into :workwrecords; Endif; if sqlcod<>good; // send no records found Endif; If sqler2 < limit; limit = sqler2; endif ;

42 yajl_beginobj() ; yajl_addchar( SUCCES: 1 ) ; yajl_addchar('totalcount': %trim(%editc(totalcount:'4'))) ; yajl_beginarray('workwrec') ; For i = 1 to limit; yajl_beginobj() yajl_addchar('wid': %trim(%editc(workwrecords(i).wid:'4'))) ; yajl_addchar('wcode': %trim(workwrecords(i).wcode)) ; yajl_addchar('wdesc': %trim(workwrecords(i).wdesc)); yajl_addchar('wseq': %trim(%editc(workwrecords(i).wseq:'4'))) ; yajl_endobj() ; endfor; yajl_endarray() ; yajl_endobj() ;

43 LET RPG TALK TO BROWSER {"SUCCESS":"1","totalCount":"2","WORKWRE C":[{"WID":"1","WCODE":"KDC01","WDESC":" Koen Decorte","WSEQ":"10"},{"WID":"2","WCODE": "JDC01","WDESC":"Jeroen Decorte","WSEQ":"20"}]}

44 SENCHA EXTJS FRONTEND EXTJS 6 => 2 TOOLKITS Classic = for desktops Modern = for mobile devices If you want to target both = universal application

45 SENCHA EXTJS FRONTEND "builds": { "classic": { "toolkit": "classic", "theme": "theme-triton" }, "modern": { "toolkit": "modern", "theme": "theme-neptune" } },

46 SENCHA EXTJS FRONTEND Sencha Cmd command line tool to automate tasks (build, generate, update, etc... Requires Ruby Java run time sencha generate app ext... Sencha architect = integrated ide tool

47 MODEL VIEW CONTROLLER VIEW MODEL Model This represents the data layer. The model can contain data validation and logics to persist the data. In Ext JS, mostly model is used along with a data store. View This represents the user interface. So, components such as button, form, and message box are views. Controller This handles any view-related logic, event handling of the view, and any app logic. View model This encapsulates the presentation logic required for the view, binds the data to the view, and handles the updates whenever the data is changed.

48

49

50 <!DOCTYPE html> <html> <head> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, maximumscale=1, user-scalable=no"> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>workwith</title> <link rel="stylesheet" type="text/css" href="/crext/css/crext.css" /> <link rel="stylesheet" type="text/css" href="/ext-6.0.2/build/classic/themeclassic/resources/theme-classic-all.css"> <script src="/ext-6.0.2/build/ext-all.js"></script> <script src="/ext-6.0.2/build/classic/theme-classic/theme-classic.js"></script>

51 EXTJS template Wait until the DOM is ready and Ext JS is loaded and parsed. Ext JS provides a function called Ext.onReady, which executes a callback automatically when all the nodes in the tree can be accessed. in jquery = $( document ).ready(). Ext.onReady(function(){ alert("this is my first Extjs app!"); });

52 EXTJS template An alternative to this code can also be: Ext.application({ name : 'MyFirstApplication', launch : function() { Ext.Msg.alert("Hello"," my first Ext JS app"); } });

53 LINK EVERYTHING TOGETHER - AJAX Ext.Ajax.request({ url:"serverside/rpgprogram.pgm", success: function(response,options){ console.log('success function executed, here we can do some stuff!'); }, failure: function(response,options){ Ext.Msg.alert("Message", 'server-side failure with status code ' + response.status); }, callback: function( options, success, response ){ console.log('callback executed, we can do some stuff!'); } });

54 LINK EVERYTHING TOGETHER - AJAX The success function will be executed only when the server responds with a status If the response status is 403, 404, 500, 503, and any other error status, the failure callback will be executed. Each function (success or failure) receives two parameters. The first parameter = server response object. The second parameter is the coniguration option The callback function will be executed always, no matter if it's a failure or success. Also, this function receives a third parameter: a Boolean value according to if the request was successful.

55 LINK EVERYTHING TOGETHER - AJAX success: function(response,options){ var data = Ext.decode(response.responseText); Ext.Msg.alert("Message", data.msg); }, if (data.success=='1') { Ext.getCmp('p0').setValue(data.WID); Ext.getCmp('p1').setValue(data.WCODE);.

56 THANK YOU FOR YOUR ATTENTION

So, if you receive data from a server, in JSON format, you can use it like any other JavaScript object.

So, if you receive data from a server, in JSON format, you can use it like any other JavaScript object. What is JSON? JSON stands for JavaScript Object Notation JSON is a lightweight data-interchange format JSON is "self-describing" and easy to understand JSON is language independent * JSON uses JavaScript

More information

Introduction to AngularJS

Introduction to AngularJS CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop

More information

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

PHP & My SQL Duration-4-6 Months

PHP & My SQL Duration-4-6 Months PHP & My SQL Duration-4-6 Months Overview of the PHP & My SQL Introduction of different Web Technology Working with the web Client / Server Programs Server Communication Sessions Cookies Typed Languages

More information

CSC Web Technologies, Spring Web Data Exchange Formats

CSC Web Technologies, Spring Web Data Exchange Formats CSC 342 - Web Technologies, Spring 2017 Web Data Exchange Formats Web Data Exchange Data exchange is the process of transforming structured data from one format to another to facilitate data sharing between

More information

Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First

Solving Mobile App Development Challenges. Andrew Leggett & Abram Darnutzer CM First Solving Mobile App Development Challenges Andrew Leggett & Abram Darnutzer CM First CM First WebClient Solutions CM WebClient Full desktop experience in browser CM WebClient Mobile Online mobile solution,

More information

Introduction to Sencha Ext JS

Introduction to Sencha Ext JS Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive

More information

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Assigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a. U+00A9 is a copyright symbol U+0F03 is an

Assigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a. U+00A9 is a copyright symbol U+0F03 is an Unicode Unicode Assigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a UTF U+00A9 is a copyright symbol U+0F03 is an Universal Character Set Transformation Format describes how zeroes

More information

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

P a g e 1. Danish Technological Institute. Scripting and Web Languages   Online Course k Scripting and Web Languages P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

Build Tizen HTML5 Apps w/ Sencha Architect & Sencha Touch

Build Tizen HTML5 Apps w/ Sencha Architect & Sencha Touch Build Tizen HTML5 Apps w/ Sencha Architect & Sencha Touch About me /** * About me */ Ext.create("Person", { firstname: "Stefan", lastname : "Stölzle", company : "Sencha, Inc.", //position : "Sr. Solutions

More information

Professional Course in Web Designing & Development 5-6 Months

Professional Course in Web Designing & Development 5-6 Months Professional Course in Web Designing & Development 5-6 Months BASIC HTML Basic HTML Tags Hyperlink Images Form Table CSS 2 Basic use of css Formatting the page with CSS Understanding DIV Make a simple

More information

All India Council For Research & Training

All India Council For Research & Training WEB DEVELOPMENT & DESIGNING Are you looking for a master program in web that covers everything related to web? Then yes! You have landed up on the right page. Web Master Course is an advanced web designing,

More information

Kyle Rainville Littleton Coin Company

Kyle Rainville Littleton Coin Company Kyle Rainville Littleton Coin Company What is JSON? Javascript Object Notation (a subset of) Data Interchange Format Provides a way for communication between platforms & languages Derived from Javascript

More information

/ Introduction to XML

/   Introduction to XML Introduction to XML XML stands for Extensible Markup Language. It is a text-based markup language derived from Standard Generalized Markup Language (SGML). XML tags identify the data and are used to store

More information

Grading for Assignment #1

Grading for Assignment #1 Grading for Assignment #1-4 -35 Out of 100 points points off for not following directions Name in wrong place Wrong dimensions in image or html no name, weird links Linking to whatever page had a picture

More information

JavaScript Performance

JavaScript Performance JavaScript Performance 1 Order Matters 2. 1 home

More information

Mobile Web from the RPG and Dojo Perspectives

Mobile Web from the RPG and Dojo Perspectives Mobile Web from the RPG and Dojo Perspectives IBM has adopted the open-source Dojo toolkit as its internal standard! Is Open Source relevant to the IBM ILE community? How does Open Source Web and ILE work

More information

JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript Object Notation

JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript Object Notation JSON The Fat-Free Alternative to XML { Lecture : 27, Course : CSC375, Days : TTh", Instructor : Haidar Harmanani } Why JSON? JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript

More information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

This tutorial has been prepared for beginners to help them understand the concepts of ExtJS to build dynamic web UI.

This tutorial has been prepared for beginners to help them understand the concepts of ExtJS to build dynamic web UI. About the Tutorial ExtJS stands for Extended JavaScript. It is a JavaScript framework and a product of Sencha, based on YUI (Yahoo User Interface). It is basically a desktop application development platform

More information

CSCI 1320 Creating Modern Web Applications. Content Management Systems

CSCI 1320 Creating Modern Web Applications. Content Management Systems CSCI 1320 Creating Modern Web Applications Content Management Systems Brown CS Website 2 Static Brown CS Website Up since 1994 5.9 M files (inodes) 1.6 TB of filesystem space 3 Static HTML Generators Convert

More information

Connecting the Dots. Building Web Applications with PHP, HTML, CSS, and JavaScript

Connecting the Dots. Building Web Applications with PHP, HTML, CSS, and JavaScript Connecting the Dots Building Web Applications with PHP, HTML, CSS, and JavaScript John Valance division 1 systems johnv@div1sys.com www.div1sys.com All materials copyright 2014-2017 John Valance

More information

JSON as an XML Alternative. JSON is a light-weight alternative to XML for datainterchange

JSON as an XML Alternative. JSON is a light-weight alternative to XML for datainterchange JSON The Fat-Free Alternative to XML { Lecture : 27, Course : CSC375, Days : TTh", Instructor : Haidar Harmanani } JSON as an XML Alternative JSON is a light-weight alternative to XML for datainterchange

More information

Front-End UI: Bootstrap

Front-End UI: Bootstrap Responsive Web Design BootStrap Front-End UI: Bootstrap Responsive Design and Grid System Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com

More information

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL: Specialized - Mastering jquery Code: Lengt h: URL: TT4665 4 days View Online Mastering jquery provides an introduction to and experience working with the JavaScript programming language in the environment

More information

Introduction to JSON. Roger Lacroix MQ Technical Conference v

Introduction to JSON. Roger Lacroix  MQ Technical Conference v Introduction to JSON Roger Lacroix roger.lacroix@capitalware.com http://www.capitalware.com What is JSON? JSON: JavaScript Object Notation. JSON is a simple, text-based way to store and transmit structured

More information

OAR. Open Access for RPG. of KrengelTech. by Aaron Bartell. Copyright Aaron Bartell 2011

OAR. Open Access for RPG. of KrengelTech. by Aaron Bartell. Copyright Aaron Bartell 2011 OAR Open Access for RPG Copyright Aaron Bartell 2011 by Aaron Bartell of KrengelTech aaronbartell@mowyourlawn.com Abstract Open Access for RPG (OAR) has now been out for more than a couple years and is

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

Working with Database. Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database

Working with Database. Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database Working with Database Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database Web programming Basic Web Programming: HTML CSS JavaScript For more Dynamic Web Programming:

More information

a Very Short Introduction to AngularJS

a Very Short Introduction to AngularJS a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 4 - Simulating a backend without needing a server (2017-11-03) made by Philip Guo, derived from labs by Michael

More information

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal

More information

User Interaction: XML and JSON

User Interaction: XML and JSON User Interaction: XML and JSON Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 XML w3schools.com bookstore book book book title author year price title author year price title author year price

More information

Build CA Plex Web/Mobile App

Build CA Plex Web/Mobile App Build CA Plex Web/Mobile App Mobile Application Workshop Create two mobile applications Offline with CM WebClient HSync Online with CM WebClient Mobile Workshop files available on USB Flash if not downloaded

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON) COURSE TITLE : ADVANCED WEB DESIGN COURSE CODE : 5262 COURSE CATEGORY : A PERIODS/WEEK : 4 PERIODS/SEMESTER : 52 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 HTML Document Object Model (DOM) and javascript

More information

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc.

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda What is and Why jmaki? jmaki widgets Using jmaki widget - List widget What makes up

More information

CSC 309 The Big Picture

CSC 309 The Big Picture CSC 309 The Big Picture Server GET path/to/route Host: example.com Client Client sends HTTP request to server How? Server GET path/to/route Host: example.com Client Client sends HTTP request to server

More information

PHP / MYSQL DURATION: 2 MONTHS

PHP / MYSQL DURATION: 2 MONTHS PHP / MYSQL HTML Introduction of Web Technology History of HTML HTML Editors HTML Doctypes HTML Heads and Basics HTML Comments HTML Formatting HTML Fonts, styles HTML links and images HTML Blocks and Layout

More information

web-sockets-homework Directions

web-sockets-homework Directions web-sockets-homework Directions For this homework, you are asked to use socket.io, and any other library of your choice, to make two web pages. The assignment is to create a simple box score of a football

More information

IBMi in the IT infrastructure of tomorrow

IBMi in the IT infrastructure of tomorrow IBMi in the IT infrastructure of tomorrow This is a two day workshop squeezed into 60 minutes!! For: itour - Common Denmark By: Niels Liisberg IBMi in the IT infrastructure of tomorrow Introduction to

More information

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde JavaScript static void _f_do_barnacle_install_properties(gobjectclass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, jquery and other frameworks

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates PHP Course Contents An Introduction to HTML & CSS Basic Html concept used in website development Creating templates An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development

More information

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007 Web 2.0 and AJAX Security OWASP Montgomery August 21 st, 2007 Overview Introduction Definition of Web 2.0 Basics of AJAX Attack Vectors for AJAX Applications AJAX and Application Security Conclusions 1

More information

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN AJAX ASYNCHRONOUS JAVASCRIPT AND XML Laura Farinetti - DAUIN Rich-client asynchronous transactions In 2005, Jesse James Garrett wrote an online article titled Ajax: A New Approach to Web Applications (www.adaptivepath.com/ideas/essays/archives/000

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

Manual Html A Href Onclick Submit Form

Manual Html A Href Onclick Submit Form Manual Html A Href Onclick Submit Form JS HTML DOM. DOM Intro DOM Methods HTML form validation can be done by a JavaScript. If a form field _input type="submit" value="submit" /form_. As shown in a previous

More information

Intro To Javascript. Intro to Web Development

Intro To Javascript. Intro to Web Development Intro To Javascript Intro to Web Development Preamble I don't like JavaScript But with JS your feelings don't matter. Browsers don't work well with any other language so you have to write code that either:

More information

Oracle Application Express 5.1

Oracle Application Express 5.1 Oracle Application Express 5.1 New Features [Name] [Title] December 2016 2 Agenda 1 2 3 4 5 6 7 Oracle Application Express Overview Interactive Grid Oracle JET Charts Universal Theme Productivity Improvements

More information

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

Enterprise Web Development

Enterprise Web Development Enterprise Web Development Yakov Fain, Victor Rasputnis, Anatole Tartakovsky, and Viktor Gamov Beijing Cambridge Farnham Koln Sebastopol Tokyo O'REILLY Table of Contents Preface Introduction xi xxiii Part

More information

DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI DOWNLOAD OR READ : JQUERY AJAX JQUERY API DOCUMENTATION PDF EBOOK EPUB MOBI Page 1 Page 2 jquery ajax jquery api documentation jquery ajax jquery api pdf jquery ajax jquery api documentation In jquery

More information

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,

More information

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

Index LICENSED PRODUCT NOT FOR RESALE

Index LICENSED PRODUCT NOT FOR RESALE Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using

More information

Modern Web Application Development. Sam Hogarth

Modern Web Application Development. Sam Hogarth Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

CSC 337. JavaScript Object Notation (JSON) Rick Mercer

CSC 337. JavaScript Object Notation (JSON) Rick Mercer CSC 337 JavaScript Object Notation (JSON) Rick Mercer Why JSON over XML? JSON was built to know JS JSON JavaScript Object Notation Data-interchange format Lightweight Replacement for XML It's just a string

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications www.thinwire.com Case Study: Dodging the Pitfalls of Enterprise Ajax Applications A Quick Introduction: Joshua Gertzen Lead Architect of the ThinWire Ajax RIA Framework Core Technology Architect for CCS

More information

Using XMLSERVICE with.net

Using XMLSERVICE with.net Using XMLSERVICE with.net Communicating with IBM i from.net Presented by : Richard Schoen President/Chief Technical Officer RJS Software Systems richard@rjssoftware.com What Is XMLSERVICE? XMLSERVICE is

More information

Jquery Manually Set Checkbox Checked Or Not

Jquery Manually Set Checkbox Checked Or Not Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the

More information

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc. About the Tutorial JSON or JavaScript Object Notation is a lightweight text-based open standard designed for human-readable data interchange. The JSON format was originally specified by Douglas Crockford,

More information

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy

More information

CSC 405 Computer Security. Web Security

CSC 405 Computer Security. Web Security CSC 405 Computer Security Web Security Alexandros Kapravelos akaprav@ncsu.edu (Derived from slides by Giovanni Vigna and Adam Doupe) 1 The XMLHttpRequest Object Microsoft developers working on Outlook

More information

Byte Academy. Python Fullstack

Byte Academy. Python Fullstack Byte Academy Python Fullstack 06/30/2017 Introduction Byte Academy pioneered industry-focused programs beginning with the launch of our FinTech course, the first of its type. Our educational programs bridge

More information

Oracle Service Cloud Integration for Developers Ed 1

Oracle Service Cloud Integration for Developers Ed 1 Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle Service Cloud Integration for Developers Ed 1 Duration: 5 Days What you will learn The class covers how to extend the Service

More information

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

AD406: What s New in Digital Experience Development with IBM Web Experience Factory AD406: What s New in Digital Experience Development with IBM Web Experience Factory Jonathan Booth, Senior Architect, Digital Experience Tooling, IBM Adam Ginsburg, Product Manager, Digital Experience

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

More information

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON 94 Developing a Web Server Platform with SAPI support for AJAX RPC using JSON Assist. Iulian ILIE-NEMEDI Informatics in Economy Department, Academy of Economic Studies, Bucharest Writing a custom web server

More information

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Ajax The notion of asynchronous request processing using the XMLHttpRequest object has been around for several years, but the term "AJAX" was coined by Jesse James Garrett of Adaptive Path. You can read

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

10.1 Overview of Ajax

10.1 Overview of Ajax 10.1 Overview of Ajax - History - Possibility began with the nonstandard iframe element, which appeared in IE4 and Netscape 4 - An iframe element could be made invisible and could be used to send asynchronous

More information

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller

More information

Basics of Web Technologies

Basics of Web Technologies Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Web Designing Given below is the brief description for the course you are looking for: Introduction to Web Technologies

More information

Roadmap. Mike Chtchelkonogov Founder & Chief Technology Officer Acumatica

Roadmap. Mike Chtchelkonogov Founder & Chief Technology Officer Acumatica Roadmap Mike Chtchelkonogov Founder & Chief Technology Officer Acumatica mik@acumatica.com Andrew Boulanov Head of Platform Development Acumatica aboulanov@acumatica.com Acumatica xrp Priorities Platform

More information

Overview

Overview HTML4 & HTML5 Overview Basic Tags Elements Attributes Formatting Phrase Tags Meta Tags Comments Examples / Demos : Text Examples Headings Examples Links Examples Images Examples Lists Examples Tables Examples

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

I, J, K. Eclipse, 156

I, J, K. Eclipse, 156 Index A, B Android PhoneGap app, 158 deploying and running, 172 New Eclipse project, 158 Activity dialog, 162 application properties, 160 AVD, 170 configuration, 167 Launcher Icon dialog, 161 PhoneGap

More information

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web Backend Development SWE 432, Fall 2017 Design and Implementation of Software for the Web Real World Example https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

More information

Frontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević

Frontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević Frontend guide Everything you need to know about HTML, CSS, JavaScript and DOM Dejan V Čančarević Today frontend is treated as a separate part of Web development and therefore frontend developer jobs are

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek @wrzodek Roche Group Penzberg Founded 1896 in Basel, Switzerland Employing > 82,000 people Clear focus

More information

WKA Studio for Beginners

WKA Studio for Beginners WKA Studio for Beginners The first and foremost, the WKA Studio app and its development are fundamentally different from conventional apps work and their developments using higher level programming languages

More information

function < name > ( < parameter list > ) { < statements >

function < name > ( < parameter list > ) { < statements > Readings and References Functions INFO/CSE 100, Autumn 2004 Fluency in Information Technology http://www.cs.washington.edu/100 Reading» Fluency with Information Technology Chapter 20, Abstraction and Functions

More information

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native

More information