310 likes | 569 Views
OpenEdge и Rich Internet Application (RIA). Сегодня на рынке существует высокий спрос на веб-приложения, которые имеют такие же свойства и характеристики как у настольных приложений, но которые доставляются пользователям через Интернет. Особенности RIA Application:
E N D
OpenEdge и Rich Internet Application (RIA) • Сегодня на рынке существует высокий спрос на веб-приложения, которые имеют такие же свойства и характеристики как у настольных приложений, но которые доставляются пользователям через Интернет. • Особенности RIA Application: • Передают веб-клиенту необходимую часть пользовательского интерфейса. • запускаются в браузере и не требует дополнительной установки ПО на клиенте;
OpenEdge и Rich Internet Application (RIA) • Благодаря гибкости платформы, OpenEdge уже поддерживает множество различных технологий доступа к базе данных и создания Web-приложений.
OpenEdge и Rich Internet Application (RIA) Существует несколько методов доступа к базе данных OpenEdge, которые можно использовать для разработки Web-приложений: • Web Services • OpenClient • JDBC • ODBC • WebSpeed
OpenEdge и Rich Internet Application (RIA) • WebSpeed + AJAX FrameWorks = RIA Application • YUI • Ext JS • JQuery • Rico • и т.д (более 20) Выбор – YUI. Лицензия – BSD, подробная документация и множество примеров.
OpenEdge и Rich Internet Application (RIA) • WebSpeed - установка и настройка по Windows. WebSpeed устанавливается при инсталляции OpenEdge в зависимости от имеющейся лицензии. • Установить WebSpeed with local Web Server. • Указать Web Server Script Directory. • Указать Web Server Document Root Directory. Эти папки задаются при установке и настройке Apache.
OpenEdge и Rich Internet Application (RIA) • Установить WebSpeed with local Web Server.
OpenEdge и Rich Internet Application (RIA) • Назначить Web Server Script Directory. • Назначить Web Server Document Root Directory.
OpenEdge и Rich Internet Application (RIA) • Завершение установки WebSpeed.
OpenEdge и Rich Internet Application (RIA) • Apache – установка и настройка под Windows Меняем рабочую папку, заданную по умолчанию. • Например d:\dataweb\apache. • Копируем папки htdocs и cgi-bin из инсталляционной папки apache в d:\dataweb\apache. • Правим файл настройки http.conf
OpenEdge и Rich Internet Application (RIA) DocumentRoot "D:/dataWeb/apache/htdocs" <Directory "D:/dataweb/apache/htdocs"> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Satisfy all </Directory>
OpenEdge и Rich Internet Application (RIA) ScriptAlias /scripts/ "D:/dataweb/apache/cgi-bin/" <Directory "D:/dataweb/apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
OpenEdge и Rich Internet Application (RIA) • Настройка WebSpeed под Window с помощью Progress Explorer. Правой клавишей выбираем New...
OpenEdge и Rich Internet Application (RIA) • На закладке Broker General tab указываем рабочую папку, порт и опцию Auto Start.
OpenEdge и Rich Internet Application (RIA) • Устанавливаем на закладке Loggin settins имя Broker log filename, для этого создаем папку, где он будет находиться.
OpenEdge и Rich Internet Application (RIA) • На закладке Agent General указываем параметры соединения с базой данных.
OpenEdge и Rich Internet Application (RIA) • Устанавливаем на закладке Loggin settins имя Agent log filename, для этого создаем папку, где он будет находиться.
OpenEdge и Rich Internet Application (RIA) • Устанавливаем на закладке Loggin settins имя Agent log filename, для этого создаем папку, где он будет находиться.
OpenEdge и Rich Internet Application (RIA) • Запускаем брокер, вводим строку URL в Web-Браузере. http://localhost/scripts/cgiip.exe/WService=wsibol/webutil/ping.p
OpenEdge и Rich Internet Application (RIA) • Ajax – это группа технологий для написания WEB-приложений • JavaScipt • XHTML (HTML с синтаксисом XML) • DOM (Document Object Model) • CSS (Cascading Style Sheet) • XMLHttpRequest – главная часть технологии.
OpenEdge и Rich Internet Application (RIA) • XMLHttpRequest является сердцевиной технологии AJAX. • API, предоставляемый веб-клиентом, для обмена информацией между клиентом и сервером посредством протоколов HTTP и HTTPS. Информация может передаваться в любом текстовом формате, например, в XML, HTML или JSON. Позволяет осуществлять HTTP-запросы к серверу без перезагрузки страницы. • Технология не налагает ограничений на формат передаваемых данных. Данные можно пересылать как в виде XML, так и в JSON, HTML или просто неструктурированным текстом.
OpenEdge и Rich Internet Application (RIA) • Вариант работы с объектом XMLHttpRequest. // ajax.js var gRequest; function createRequest() { return window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); } // createRequest function callServer(url, data) { gRequest = createRequest(); gRequest.open("POST", url, false); gRequest.setRequestHeader("Content-Type","text/xml"); gRequest.send(data); if (gRequest.responseXML.getElementsByTagName("error")[0]) { var errorMessages = gRequest.responseXML.getElementsByTagName("errorMessage"); if (errorMessages) { for (var i = 0; i < errorMessages.length; i++) { alert(errorMessages[i].firstChild.nodeValue); } } else alert("An unknown error occurred on the server."); } } // callServer
OpenEdge и Rich Internet Application (RIA) • Пример получения данных из OpenEdge с использованием XMLHttpRequest. • Данные в формате XML // index.html <script language="javascript" type="text/javascript"> callServer('/scripts/cgiip.exe/WService=wsibol/getxmlnci05-sp.p', '<params><batchSize>' + batchSize + '</batchSize><batchNumber>' + batchNumber + '</batchNumber><wherePhrase>' + wherePhrase + '</wherePhrase></params>'); var data = gRequest.responseXML; </script> /* getxmlnci05-sp.p */ {src/web2/wrap-cgi.i} RUN outputContentType IN web-utilities-hdl ("text/xml":U). /* …................................................................................... */ hTable:WRITE-XML("STREAM", "WEBSTREAM").
OpenEdge и Rich Internet Application (RIA) • Пример получения данных из OpenEdge с использованием XMLHttpRequest. • Данные в формате JSON начиная с версии OpenEdge 10.2B // index.html <script language="javascript" type="text/javascript"> callServer('/scripts/cgiip.exe/WService=wsibol/findjsondolg.p') ; var priceData = eval("("+gRequest.responseText+")"); </script> /* findjsondolg.p */ {src/web2/wrap-cgi.i} RUN outputContentType IN web-utilities-hdl ("text/xml":U). /* …................................................................................... */ lRetOK = TEMP-TABLE ttdolg:WRITE-JSON("STREAM", "WEBSTREAM", TRUE, "'utf-8").
OpenEdge и Rich Internet Application (RIA) • Пример данных в формате • Пример данных в формате JSON, полученных из базы данных OpenEdge.
OpenEdge и Rich Internet Application (RIA) • Пример данных в формате • Пример данных в формате XML, полученных из базы данных OpenEdge.
OpenEdge и Rich Internet Application (RIA) • Пример приложения WebSpeed + Ajax + YUI framework.
OpenEdge и Rich Internet Application (RIA) • OpenEdge (WebSpeed) и Ajax позволяют создавать „насыщенные“ Web-приложения. • Версия OpenEdge 10.2B расширяют поддержку Web-приложений в языке ABL формата JSON . • Версия OpenEdge 11 расширяет дальше поддержку создания Web-приложений. • Поддержка «парсера» JSON в ABL • Поддержка Architect`ом пользовательских типовых проектов (AJAX/WebSpeed)
OpenEdge и Rich Internet Application (RIA) • Progress Developer Studio версии 11 расширяет возможности по разработке RIA приложений.
OpenEdge и Rich Internet Application (RIA) • Progress Developer Studio версии 11 расширяет возможности по разработке RIA приложений.
OpenEdge и Rich Internet Application (RIA) • Progress Developer Studio версии 11 расширяет возможности по разработке RIA приложений.
OpenEdge и Rich Internet Application (RIA) • Литература по WebSpeed. • Документация OpenEdge • WebSpeed Complete by Geoff Crawford • Making Progress with Ajax by Peter van Dam