Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen
Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan
Tietoja OF-1-kehittäjistä - IAP Progress-kehittäjiä vuodesta 1989 Perustettu 1994 Hampurissa, Saksassa Pitkäaikaisin asiakassuhde vuodesta 1993 28 työntekijää 90% työstä liittyy Progress-työkaluihin ja projekteihin Konsultointi, siirtyminen uuteen teknologiaan, sovelluskehitys OF-1 Tools4Progress (Viper, PCase, Skin-Client) Corticon, Rollbase ja Telerik Progress Partner - Elite Service Delivery (SDP)
OF-1 taustatietoja Tuotekehitys 6 kehittäjää OF-1 PCase Skin-Client Skin-Client Mobile Viper OF-1 lukuja Kehitys alkoi 2005 2 versiota vuodessa noin 35 OF-1 asiakasta 135 PCase 20 Skin-Client 120 Viper yli 10 sovellusten uusimisprojektia 4 (46)
OF-1 Arvo asiakkaalle Arvo Nykyaikainen teknologia Teknologian helppo käyttö Web/Cloud/SaaS sisään rakennettuna Lähdekoodi sisältyy tuotteeseen Monipuolinen käyttöliittymä Useita käyttöliittymävaihtoehtoja Jako useisiin ikkunoihin (MDI) Muokattavuus Älykkäät monipuoliset komponentit Tuottavuus Visuaaliset työkalut Business Entities Toteutus painottuu enemmän määrittelyyn kuin ohjelmointiin Ohjelmointi 100% Progress ABL-kielellä Työvälineet PCase Skin-Client Designer Viper 5 (46)
Vain yksi ohjelmointikieli Progress ABL Ohjelmalogiikka kirjoitetaan Progress ABL olio-ohjelmaluokkiin 6 (46)
Arkkitehtuuri 7 (46)
OF-1 Screen Designer Yksi määrittely kaikille käyttöliittymille: HTML5,.Net ja Java 8 (46)
OF-1 Screen Designer Component object tree 9 (46)
OF-1 Screen Designer Component classes library 10 (46)
Hook Class Editor Yhteinen logiikka kaikille käyttöliittymille 11 (46)
OF-1 Database Designer (PCase) 12 (46)
OF-1 Database Designer (PCase) 13 (46)
Business entity design (PCase) 14 (46)
Business entity methods (PCase) 15 (46)
OF-1 Report Designer (Viper) 16 (46)
OF-1 Report Designer (Editor) Viper raportin tiedot täytetään Progress ABL -ohjelmalla 17 (46)
OF-1 Report Designer - esimerkkejä 18 (46)
HTML5 UI (Skin-Client) HTML5- ja Java-käyttöliittymät Progress ABL ohjelmalla HTML5 vuodesta 2014 Joukko uusia widgettejä Perustuu JQuery UI Telerik tuki Kaikki olio-ohjelmia Skin-Client HTML5 Demo 19 (46)
.NET -käyttöliittymä Infragistics controls Vuodesta 2010 lähtien Täysi tuki Telerik suunnitelmissa 20 (46)
Esimerkkejä mitä voi tehdä ilman ohjelmointia Monet asiat onnistuvat ilman ohjelmointia Määritellään työkaluilla 21 (46)
Menu, toolbar ja desktop Toolbar Desktop Menu 22 (46)
Kieliversiointi Näyttö Virheilmoitukset Menut Tekstit 23 (46)
Näytön hallinta linkitetyt ikkunat (MDI) 24 (46)
Näytön tilan hallinta 25 (46)
Kenttien valinta Päätaulun kentät Omat kentät Linkitettyjen taulujen kentät 26 (46)
Taulukko suodatus lajittelu Vaihtoehtoiset suodattimet MaxRecords, BatchOffVrtFld Luku erissä 27 (46)
Taulukon suodatus 28 (46)
Taulukon sarakkeiden tyyppi Sarake voi olla: Merkkikenttä Combo-box Toggle-box Lookup Kuva (Blob tai kuvan polku) 29 (46)
Taulukon rivien muotoilu 30 (46)
Taulukon rajausehto 31 (46)
Taulukon sarakkeiden valinta 32 (46)
Taulukon Excel-vienti 33 (46)
Custom browse-taulukko Taulukon rivin vapaa muotoilu 34 (46)
Viewer-näyttö Voi sisältää erilaisia kompentteja Voi olla linkitetty Automaattinen linkitys toolbar:n Automaattinen näyttö 35 (46)
Zoom Field 36 (46)
Zoom Auto Search 37 (46)
Kerrosten välinen yhteydenpito sisäänrakennettu 38 (46)
Tietokanta- ja käyttöliittymälogiikan ohjelmointi Kuinka ohjelmoidaan Kuinka käytetään clientilta 39 (46)
Tietokantalogikka BE-luokat Generoi automaattisesti be-orderline-g.cls luokat be-orderline.cls Generoi automaattisesti luokat OF-1 clientit voivat käyttää proxy/be-orderline.cls adapter/be-orderline.cls Muiden clientien käyttöön 40 (46)
Käyttöliittymän eventit Generoi automaattisesti propertyn itemsearch-c-g.cls METHOD PUBLIC ABSTRACT VOID ChooseBtnOrder (ocomp AS CLASS c-component, oparam AS CLASS c-parameter). itemsearch-c.cls Generoi automaattisesti event-metodit 41 (46)
Client käyttää BE-metodia be-orderline-g.cls be-orderline.cls proxy/be-orderline.cls METHOD PUBLIC ABSTRACT LOGICAL savetobasket(qty AS INTEGER, Itemnum AS INTEGER). METHOD OVERRIDE PUBLIC LOGICAL savetobasket( INPUT Qty AS INTEGER, INPUT Itemnum AS INTEGER ): DEFINE BUFFER OrderLine FOR OrderLine. DEFINE VARIABLE newlinenum AS INTEGER NO-UNDO. IF Qty > 0 AND CAN-FIND(ITEM WHERE Item.Itemnum = Itemnum) THEN DO TRANSACTION: METHOD STATIC LOGICAL savetobasket(qty AS INTEGER, Itemnum AS INTEGER): RETURN(saveToBasket(of1.cclasses.components.desktop.c-desktop:oActScreen, END METHOD. INPUT Qty, INPUT Itemnum)). METHOD STATIC LOGICAL savetobasket(oscreen AS of1.cclasses.components.c-screen, Qty AS INTEGER, Itemnum AS INTEGER): DEFINE VARIABLE ht AS HANDLE NO-UNDO. ht = setttparamval(ht, "Qty", STRING(Qty) ). ht = setttparamval(ht, "Itemnum", STRING(Itemnum) ). oscreen:msgencall("sports.entities.be-orderline:savetobasketi",ht). DEFINE VARIABLE creturn AS LOGICAL NO-UNDO. creturn = LOGICAL(getTTParamVal(ht,"cReturn")). RETURN creturn. FINALLY: DelTTParam(ht). END. END METHOD. itemsearch-c.cls METHOD PUBLIC VOID savetobasket():... ASSIGN Qty = INTEGER(ofi_Qty:cSCREEN-VALUE) ItemNum = INTEGER(oitem#Itemnum:cSCREEN-VALUE). ok = sports.entities.proxy.be-orderline:savetobasket(input Qty, INPUT ItemNum). 42 (46)
Demo 43 (46)
Tutustu ja testaa www.iap.de 44 (46)
Haluatko oppia lisää? OF-1 työpaja Suomessa keväällä 2017 Jos kiinnostaa ota yhteyttä Yhteystiedot seuraavalla sivulla Olio-ohjelmoinnin perusteet on hyvä osata OF-1 osien esittely, esimerkit ja harjoitukset Kesto 3 päivää Ajankohta ja hinta selviää myöhemmin Järjestän ennen työpajaa halukkaille päivän olio-ohjelmointikoulutuksen Progress Object Oriented ABL osien esittely, esimerkit ja harjoitukset Jos tarvitset lisää osaamista Progress Developer Studio-työkaluun, voin järjestää myös siihen koulutusta Järjestän halukkaille Skin-Client Mobile koulutusta 45 (46)
Yhteystiedot OF-1 ja Tools4Progresstuotteiden jälleenmyyjä vuodesta 2000 Kulolaakso 19 A 02340 Espoo Finland Puh: 040-701 8665 e-mail: veli-matti.korhonen@wonne.fi 46 (46)