Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Samankaltaiset tiedostot
XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

15. Ohjelmoinnin tekniikkaa 15.1

Tech Conference Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

9. Periytyminen Javassa 9.1

Web Services tietokantaohjelmoinnin perusteet

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

C# ja.net. Juha Järvensivu 2007

Rajapinta (interface)

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

15. Ohjelmoinnin tekniikkaa 15.1

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Microsoft Dynamics CRM 4.0. Jani Liukkonen

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Makrojen mystinen maailma lyhyt oppimäärä

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Maiju Mykkänen Susanna Sällinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Olio-ohjelmointi Javalla

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Metodien tekeminen Javalla

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

1. Omat operaatiot 1.1

Microsoft Visual J++ ohjelmointiympäristö

Mikä yhteyssuhde on?

Javan perusteita. Janne Käki

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

ELM GROUP 04. Teemu Laakso Henrik Talarmo

4. Luokan testaus ja käyttö olion kautta 4.1

RINNAKKAINEN OHJELMOINTI A,

Suunnittelumalleja, MVC. Juha Järvensivu 2008

5. HelloWorld-ohjelma 5.1

Oliot viestivät metodeja kutsuen

KOHDELUOKAN MÄÄRITTELY

4. Olio-ohjelmoinista lyhyesti 4.1

YHTEYSSUHDE (assosiation)

public static void main (String [] args)

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Uutta Remote Support Platform 3.0 -versiossa

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Tapahtumat. Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi.

Osio 4: Graafinen käyttöliittymä

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

21~--~--~r--1~~--~--~~r--1~

Aalto Yliopisto T Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Sisältö. 22. Taulukot. Yleistä. Yleistä

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)

TIETORAKENTEET JA ALGORITMIT

Tiedostonkäsittely ja asetusten tallentaminen. Graafisen käyttöliittymän ohjelmointi Luento 14

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi. Kai Lindgren, Teollinen tuotanto/metropolia

1. Olio-ohjelmointi 1.1

Java kahdessa tunnissa. Jyry Suvilehto

812336A C++ -kielen perusteet,

Jypelin käyttöohjeet» Ruutukentän luominen

Visual Basic -sovelluskehitin Juha Vitikka

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

9. Periytyminen Javassa 9.1

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

7. Näytölle tulostaminen 7.1

Action Request System

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Ohjelmoinnin perusteet, syksy 2006

2. Olio-ohjelmoinista lyhyesti 2.1

Osio 4: Graafinen käyttöliittymä

Java UI-komponentit (JTable) Juha Järvensivu 2007

Ohjelmointi 1 C#, kevät 2013,

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Johdatus ohjelmointiin

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

Luokan muodostimet (Constructors)

5. HelloWorld-ohjelma 5.1

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin

1. Mitä tehdään ensiksi?

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Sisältö. 2. Taulukot. Yleistä. Yleistä

Transkriptio:

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)