Kendo UI Et Progress

Transcription

Kendo UI Et Progress
Paris - 09 Juin 2015
Kendo UI
Et
Progress
www.pug-france.fr
Thierry ROBISSON
Consultant Progress
[email protected]
“I Kendo, I can fly…” “
“I Kendo it”
“Yes we ken..”
• Open Edge Service Objects : Rest Adapter
• Projet Rest
Catalogue
Business Entity
• Kendo UI
• Demo
• Questions
Kendo - Rest Adapter – Rest Broker
Par défaut :
localhost:9090 = Database Administration Console, User = admin, Password = admin
localhost:8980 = Tomcat
Projet Progress de type Rest
AppServer : Tous ce qui est exécutés par l’AppServer “RestBroker”
Les Business Entity sont décrites sous la forme de classe Progress LOO
RestContent : Point d’entrée de ce qui est exécuté sur le serveur de page.
Page d’accueil par défaut : « index.html »
Catalog : Contient le descriptif du flux JSON, création manuelle
Description du flux JSON, répertoire par défaut
Description des Services : « Rest » et « Mobile »
Le Catalogue
Service mobile par défaut auquel on va associer les classes développées.
Le catalogue est par défaut dans la partie « WebContent »
Exemple :
{
"version": "1.2",
"lastModified": "Wed Apr 29 15:40:31 CEST 2015",
"services": [{
"name": "PUGService",
"address": "\/rest\/PUGService",
"useRequest": true,
"resources": [
{
"name": "fund",
"path": "\/fund",
"autoSave": true,
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {"dsfund": {
"type": "object",
"additionalProperties": false,
"properties": {"tmpclass": {
"type": "array",
"primaryKey": [
"regionid",
"classid"
],
"items": {
"additionalProperties": false,
"properties": {
"_id": {"type": "string"},
"_errorString": {"type": "string"},
"regionid": {
"type": "string",
"ablType": "CHARACTER",
"default": "regn",
"title": "region"
},
Nom du Service Rest
Nom de la Ressource
Nom du DataSet
Nom de la Temp Table
Connexion au Rest Service :
var serviceURI = 'http://localhost:8980/PUGService',
catalogURI = serviceURI + '/static/catalog/PUGService.json',
jsonURIFund
= serviceURI + '/rest/PUGService/fund',
resourceFund
= 'fund';
session = new progress.data.Session();
session.login(serviceURI, "", "" );
session.addCatalog(catalogURI);
var jsdoFund
= new progress.data.JSDO({ name: resourceFund
});
Manipulation du flux de réponse :
alert(request.response.dsfund.tmpclass[0].regionid);
Utilisation du caractère « -« dans les noms de champs : « cust-name » / « custname »
Validation du catalogue :
Localhost :8980/PUGService/rest/
Détail des ressources déclarées
Localhost :8980/PUGService/rest/PUGService/fund
Résultat de la ressource
Localhost :8980/PUGService/rest/PUGService/fund ?filter=
Résultat de la ressource
Business Entity
Développement Progress L.O.O.
Classe, Constructeur, méthodes….
Méthodes « Read », « Update », « Create » et « Delete »
Verbes Rest “Get”, “Put”, “Post” et “Delete”
Entité fonctionnelle
Exécuté par l’AppServer : RestBroker1 (nom par défaut)
Mode State-Free
@program FILE(name="beFund.cls", module="AppServer").
@openapi.openedge.export FILE(type="REST", executionMode="singleton", useReturnValue="false", writeDataSetBeforeImage="false").
@progress.service.resource FILE(name="beFund", URI="/beFund", schemaName="dsfund", schemaFile="POCMobile/AppServer/befund.i").
USING Progress.Lang.*.
USING OpenEdge.BusinessLogic.BusinessEntity.
BLOCK-LEVEL ON ERROR UNDO, THROW.
CLASS beOrder INHERITS BusinessEntity:
{"befund.i"}
DEFINE DATA-SOURCE srcclass FOR
tmpclass.
CONSTRUCTOR PUBLIC beFund():
DEFINE VAR hDataSourceArray AS HANDLE NO-UNDO EXTENT 1.
DEFINE VAR cSkipListArray AS CHAR NO-UNDO EXTENT 1.
SUPER (DATASET dsfund:HANDLE).
hDataSourceArray[1] = DATA-SOURCE srcclass:HANDLE.
cSkipListArray[1] = "".
THIS-OBJECT:ProDataSource = hDataSourceArray.
THIS-OBJECT:SkipList = cSkipListArray.
END CONSTRUCTOR.
@openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="false").
@progress.service.resourceMapping(type="REST", operation="read", URI="?filter=~{filter~}", alias="", mediaType="application/json").
METHOD PUBLIC VOID ReadbeFund(
INPUT filter AS CHARACTER,
OUTPUT DATASET dsfund):
SUPER:ReadData(filter).
END METHOD.
Kendo UI
Documentation
http://docs.telerik.com/kendo-ui/introduction
Exemples
http://demos.telerik.com/kendo-ui/
Support gratuit sur 30 jours, négociable
Repose sur Jquery
Requêtes JSDO : asynchrone
Demo
Exemple Progress Software :
http://oemobiledemo.progress.com/jsdo/example016.html
QUESTIONS

Documents pareils