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