Writing All Your Code In OpenEdge Architect Peter van Dam.

Slides:



Advertisements
Similar presentations
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
Advertisements

Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
1 JavaScript & AJAX CS , Spring JavaScript.
Using AJAX Galip Aydin, Ahmet Sayar, and Marlon Pierce Community Grids Lab Indiana University.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
The Easiest Way to Write Web Applications Jordi Sastre IT Architect, PSC May 2012.
Introduction to AJAX AJAX Keywords: JavaScript and XML
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
JavaScript & jQuery the missing manual Chapter 11
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
GIS technologies and Web Mapping Services
AJAX Without the “J” George Lawniczak. What is Ajax?
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
COMP 321 Week 7. Overview HTML and HTTP Basics Dynamic Web Content ServletsMVC Tomcat in Eclipse Demonstration Lab 7-1 Introduction.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
J.Holvikivi 1 Ajax & scripts Jaana Holvikivi Metropolia.
Google APIs Why Aren’t You Using Them? Jeff Blankenburg Project Engineer Quick Solutions, Inc.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
Lecture 9: AJAX, Javascript review..  AJAX  Synchronous vs. asynchronous browsing.  Refreshing only “part of a page” from a URL.  Frameworks: Prototype,
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
TerraFly Project High Performance Database Research CenterHigh Performance Database Research Center NASA Regional Applications CenterNASA Regional Applications.
INNOV-7: Building a Richer UI for the Browser Chris Skeldon Senior Solution Consultant.
the acronym for Asynchronous JavaScript and XML.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Web Technologies Lecture 1 The Internet and HTTP.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
 AJAX – Asynchronous JavaScript and XML  Ajax is used to develop fast dynamic web applications  Allows web pages to be updated asynchronously by transferring.
AJAX Asynchronous JavaScript and XML 1. AJAX Outline What is AJAX? Benefits Real world examples How it works 2.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Summer 2007 Florida Atlantic University Department of Computer Science & Engineering COP 4814 – Web Services Dr. Roy Levow Part 1 – Introducing Ajax.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
JavaScript & Introduction to AJAX
AJAX – Asynchronous JavaScript And XML By Kranthi Kiran Nuthi CIS 764 Kansas State University.
INNOV-2: Build a Better Web Interface Using AJAX Chris Morgan Pandora Software Systems
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
AJAX CS456 Fall Examples Where is AJAX used? Why do we care?
PHP and AJAX. Servers and Clients For many years we tried to move as much as possible to the server. Weak clients, poor bandwidth, browser compatibility..
Introduction to AJAX MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/4/2016.
JavaScript, Sixth Edition Chapter 11 Updating Web Pages with Ajax.
JavaScript and Ajax Week 10 Web site:
AJAX. Objectives Understand and apply AJAX Using AJAX in DOJO library.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
Lesson 11: Web Services and API's
Introduction to Dynamic Web Content
JavaScript and Ajax (Ajax Tutorial)
Google Web Toolkit Tutorial
Lesson 11: Web Services & API's
AJAX – Asynchronous JavaScript and XML
Asynchronous Java script And XML Technology
AJAX.
Introduction to AJAX MIS 3502 Jeremy Shafer Department of MIS
Google Maps: A Short How-to
Introduction to AJAX MIS 3502 Jeremy Shafer Department of MIS
Chapter 27 WWW and HTTP.
COP 3813 Intro to Internet Computing
Lesson 11: Web Services and API's
MIS JavaScript and API Workshop (Part 3)
Ajax and JSON Jeremy Shafer Department of MIS Fox School of Business
Client-Server Model: Requesting a Web Page
Ajax and JSON Jeremy Shafer Department of MIS Fox School of Business
AJAX By Prof. B.A.Khivsara
Presentation transcript:

Writing All Your Code In OpenEdge Architect Peter van Dam

2  Agenda Item 1  Eclipse Plug-ins  ABL  JavaScript  HTML  XML  OpenEdge GUI for.NET (tomorrow) Agenda Making Progress With Ajax

3 n OpenEdge Architect 10.2A is based on Eclipse 3.4 n You can install additional Plug-ins Installing Plugins

4 n Progress Software conveniently provides a number of Plug-ins on the Progress Download Center n These are listed under “Eclipse Components for OpenEdge/Sonic Development Integration” n We are using the Web Tools Project (WTP) n Provides HTML, JavaScript and WSDL editors (among other things) Installing Plugins

5 Sports2000 in Google Maps

6 A Word About Ajax

7 n An inaccurate acronym for the clever combination of the following existing techniques: n Asynchronous data retrieval using XMLHttpRequest n JavaScript n Data interchange and manipulation using XML What Is Ajax?

8 n It does not have to be Asynchronous n It does not have to be XML n You definitely need JavaScript n Relies heavily on: n DHTML (Dynamic HTML) for DOM manipulation n CSS (Cascading Style Sheets) in order to separate presentation from data What Is Ajax (2)?

9 The Bottom Line: NO PAGE RELOADS!

10 n Obtain a Google Maps Key n Geocode Your Addresses n Create Your Google Maps Web Page n Bonus: Integrate Google Maps with.NET How To Set Up Google Maps

11 n Simply go to and follow the instructions n A Key is free for public web sites only n You need a Google Account (also free) n The Key is valid for a single URL n There is no page view limit n There is a limit of 15,000 Geocode requests per day n Of course there is a paid alternative… Obtaining a Google Maps Key

12 n Obtain a Google Maps Key n Geocode Your Addresses n Create Your Google Maps Web Page n Bonus: Integrate Google Maps with.NET How To Set Up Google Maps

13 n Geocoding is the process of converting addresses into geographical coordinates n A coordinate (any point on earth) is defined by a latitude and a longitude n Latitude is between -90 and + 90 and longitude between -180 and n They are represented as numbers with 6 decimals n You must add these to the addresses in your database What Is Geocoding?

14 n Google Maps allows you to geocode 15,000 addresses a day n You can either use a JavaScript object or a direct HTTP request n We can issue HTTP requests from the ABL using httpget.i Google Maps Geocoding Services

15 n Procedure httpget has 4 input parameters: n Host n Port n Path n File Httpget.i

16 n The URL is n There are 3 parameters: n key n output n q Example: key= &output=csv&q=276%2 0North%20Drive%20%20Burlington% %20USA The Geocoder

17 Geocoder csv Response HTTP/ OK Cache-Control: private Last-Modified: Sun, 27 Jan :39:03 GMT Content-Type: text/plain; charset=UTF-8; charset=ISO Set-Cookie: PREF=ID=ca4d6eaca99623eb:TM= :LM= :S=f FnZXx06nDdguvB_; expires=Tue, 26-Jan :39:03 GMT; path=/; domain=.google.com Server: mfe Date: Sun, 27 Jan :39:03 GMT Connection: Close 200,8, ,

18 Geocoder csv Response (2) n The last line contains 4 items n HTTP status code (200: success) n Accuracy n Latitude n Longitude 200,8, ,

19 Getcoordinates.p

20 n Obtain a Google Maps Key n Geocode Your Addresses n Create Your Google Maps Web Page n Bonus: Integrate Google Maps with.NET How To Set Up Google Maps

21 n You can call the server from JavaScript using the XMLHttpRequest object n This object is the basis for Ajax n The server needs to accept HTTP requests n Two possibilities: n WebSpeed n Web Services n In this example we will use WebSpeed How To Call A Progress Server?

22 Calling Progress Using WebSpeed WebSpeed Ajax Architecture Making Progress With Ajax Ajax Engine Ajax Engine Browser Client User Interface (HTML) User Interface (HTML) WebSpeed Agent WebSpeed Agent Database Web Server Web Server Documents

23 Creating the XMLHttpRequest function createRequest() { if (window.XMLHttpRequest) return new XMLHttpRequest(); else return new ActiveXObject("Microsoft.XMLHTTP"); }

24 Calling the Server from JavaScript var gRequest; function callServer(url) { gRequest = createRequest(); gRequest.open("POST", url, false); gRequest.setRequestHeader("Content-Type","text/xml"); gRequest.send(null); } callServer(' '); var data = gRequest.responseXML;

25 The WebSpeed Program {src/web2/wrap-cgi.i} RUN outputContentType IN web-utilities-hdl ("text/xml":U). DEFINE VARIABLE hTable AS HANDLE NO-UNDO. /* Create and populate temp-table */ hTable:WRITE-XML("STREAM", "WEBSTREAM"). DELETE OBJECT hTable.

26 Gm-getxmlcustomers.p

27 Processing the XML in JavaScript Hangon Potkulauta Ky Puistokatu 7 A 45 Hanko Espoon Pallokeskus Sinikalliontie 18 Espoo

28 Processing the XML in JavaScript var tableNode = data.getElementsByTagName("myTable")[0]; if (tableNode) { var rowNode = tableNode.firstChild; // first myTableRow while (rowNode) { var yAttr = new Array; var fieldNode = rowNode.firstChild; // first field while (fieldNode) { yAttr[fieldNode.nodeName] = ""; if (fieldNode.firstChild) // text node yAttr[fieldNode.nodeName] = fieldNode.firstChild.nodeValue; fieldNode = fieldNode.nextSibling; // next field } // for each field rowNode = rowNode.nextSibling; // next myTableRow } // for each row } // tableNode

29 Creating the Map var map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); // Initialize the map map.setCenter(new GLatLng(0, 0), 0);

30 Creating the Markers var point = new GLatLng(yAttr["latitude"], yAttr["longitude"]); var title = yAttr["Name"]; var html = " " + title + " " + yAttr["Address"] + " " + yAttr["City"]; var marker = createMarker(point, title, html); map.addOverlay(marker); function createMarker(point, title, html) { var options = {title: title}; var marker = new GMarker(point, options); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); return marker; }

31 Managing Bounds var bounds = new GLatLngBounds(); // Adjust the center and zoom level bounds.extend(point); map.setCenter(bounds.getCenter()); map.setZoom(map.getBoundsZoomLevel(bounds)); For each address:

32 Demo

33 Integration With OpenEdge GUI for.NET

34 Questions ?

35

36 Thank You