Exchange and PTW

This is a group for blog entries and the like reporting on Progress Exchange and PTW conferences.

When you are subscribed to this group it is easy to create blog items, or pictures, or other stuff in this group. Other subscribers will receive notification by e-mail when you do that. Of course this also means that you can subscribe to this group if you only want to be notified. Be sure to check the "my subscription" settings to make sure that e-mail notification is enabled!


Pictures of Exchange 2007 (Phoenix, AZ)

As I am writing this blog entry it is not 10 June yet, but the countdown has begun. In preparation of the trip I have bought a brand new digital camera and installed an Image Gallery module in The Hive. My intention is to collect your mugshots, or other visual phenomena, and upload a daily picture journal during the conference.

I like pictures. I am certainly not a good photographer but I like to take snapshots. What I also like, is to see snapshots taken by other people at events where I was, so each year just after an Exchange I am watching the PEG for messages where people announce on which (personal) website they have put their pics. And I think I am not the only one. Unfortunately I don't remember where all the pictures are that I have seen. Do you?

So this year it is going to be a little bit easier. My pictures will be right here at The Hive. I hope your pictures will be here too. Yeah, why not. You can upload your pictures too, we can share the same gallery.

Today the gallery is still empty, but I have done some testing on our Staging site (where we test new Hive features) so you can have a look here: http://staging.oehive.org/image to get an impression. If you want to upload pictures but don't know how, then here is a guide: http://www.oehive.org/node/864.

See you later!
Jurjen.


Progress Technology World for Europe, Middle East and Africa 2006 ( in Finnish )

Matkaraportti

Progress Technology World for Europe, Middle East and Africa 2006
Athens, Greece 10 – 12 September 2006

En ollut ainoa - suomalaisista enkä muunmaalaisista - joka olin positiivisesti yllättynyt tämänvuotisen Progress-käyttäjäpäivien sisällölliseen antiin. Siis toisin kuin viime vuonna Lissabonissa, jossa odotukset ylittivät tarjonnan.

Tässä on mahdollista kuvailla vain omia havaintojani - muut osanottajat tehkööt samoin. Suomesta meitä taisi olla parikymmentä. Rinnakkaisia esityksiä oli aina 6 ja vaikka muutama esitys pidettiin kahdesti, yksi henkilö pystyi osallistumaan vain noin 20 %:iin tilaisuuden annista.

SUNDAY SEPTEMBER 10
9:00 - 12:00
Pre - Conference Workshop
Implementing Auditing in OpenEdge Applications

Osallistuin siis myös koulutukseen auditoinnista. Progressin 10-versiossa on toteutettu kokonaisvaltainen auditointisysteemi tietokantamuutoksista. Auditoinnin talletustaulut ovat suoraan tietokannan skeemassa suojattuna. Auditoinnin avulla talletetaan halutuista tietokantamuutoksista - ja muista sovellustapahtumista - kuka muutti, lisäsi tai poisti tai teki mitä.

Toteutus vaikuttaa kaikin puolin pätevältä käyttöönotettavaksi.

13:45 - 15:00
General Opening – Niel Powers Ballroom III

Avajaiset olivat näyttävä Progress-tuote-esittely, jossa käytiin kaikki tuotelinjat lävitse, ei pelkästään Progress- eli "OpenEdge" -tuotteita, vaan Sonic, DataDirect, Actional, EasyAsk ja mitä niitä onkaan. Vakuuttavasti perusteltiin, että vaikka Progress tuotetarjonta on laajasti laajentunut, sen liikeidea ei ole miksikään muuttunut. Halutaan olla ykkönen ratkaisutoimittajana liiketoimintasovellusten kehittämisen, käyttöönoton, hallinnan jne. alueella. Nykyinen sovellusten integraation ja palvelulähtöinen (SOA) arkkitehtuuri vaativat sovelluksilta entistä enemmän.

Tässä yritysostojen strategiassa ei siis ole kyse – pelkästään – mahdollisimman suurista tuotoista osakkeenomistajille, vaan siinä varustetaan tarjontaa sovelluskehityksen tulevaisuuteen.

15:20 - 16:20 DB-01 John Campbell (WSS)
Right-size your Database

Esityksessä käytiin läpi Progress-tietokannan kehittymistä sen mitoituksen ja talletustekniikan kannalta.

Olennaista tässä on se, että versiossa 10 on otettu käyttöön aikaisemman talletustekniikan (siitä käytetään kömpelöä nimeä "Storage Area Type I") lisäksi uusi "Storage Area Type II". Jälkimmäisessä objektit (taulu, indeksi, LOB) on erotettu toisistaan ja yhdistetty klustereiksi. Saman taulun tietueet pysyvät omissa lohkoissaan automaattisesti ja Progress kykenee hyödyntämään aikaisempaa tehokkaammin käyttöjärjestelmien i/o mekanismeja. Suoritustehoa ja parempaa organisoitumista saadaan tilansäästön sijasta.

"Storage Area Type II" käyttöönotto edellyttää tietokannan uudelleenorganisointia eli Dump/Load-operaatiota tavalla tai toisella.

John Campbell esittely myös työkaluaan, jolla talletusalueet suunnitellaan taulujen koon ja tietueiden kokojen perusteella. Manuaalisesti tehtävä on melko vaikea vähänkin isommassa tietokannassa. Olen itse tehnyt samanlaisen työkalun, joka lisäksi kattaa Dump/Load-proseduureja suoraan tietokannasta tietokantaan ja Dump/Load-proseduurin, jossa proseduuri tehdään tuotantoaikana ja seisakissa käsitellään vain edellisessä vaiheessa muutetut, poistetut ja luodut tietueet.

16:30 - 17:30 INNOV-02 Erik Brouwer
What is new in OpenEdge 10.1 Database Administration

Tässä esityksessä käytiin läpi OpenEdge-tietokannan uudet ominnaisuudet viimeisessä julkistetussa versiossa 10.1. Esimerkiksi "Storage Area Type II" oli jo 10.0-ominaisuus eikä sitä käsitelty.

Seuraavat ominaisuudet kannattaa huomioida:

- Säikeistetty (= aiempaa tehokkampi) index rebuild ja binäärinen dump.
- Indeksien aktivointi ajoaikaisesti.
- Tietokantatiedostojen (ekstenttien) lisäys ajoaikaisesti.
- Tietokantalokin muoto uudistettu
- Käynnistysparameterihin uudet oletusarvot:

-B - Blocks in Database Buffers
new default value: 8 * -n => max(3000, 8 * -n)

-aibufs - After-image Buffers
new default value: 5 => 20

-bibufs - Before-image Buffers
new default value: 5 => 20

-semsets - Semaphore Sets
new default value: 1 => 3

-spin - Spin Lock Retries
new default value: 0 => 10.000 or 6.000 * # CPUs

- automatisoitu after image-tiedostojen hallinta ja arkistointi

MONDAY SEPTEMBER 11

9:00 - 10:00 DEV-03 David Olson
Application Development of the Future

Aiheena siis oli liiketoimintasovellusten kehittämisen haasteet tulevaisuudessa ja mitä Progressilla on tähän annettavaa.

Tästä ei jaettu esityskalvoja, koska se sisälsi runsaasti epävarmaa ja oikeasti avointa tietoa tulevaisuuden strategioista.

Kysymys liiketoimintasovellusten tulevaisuudessa on prosessi-keskeisestä lähestymistavasta ja sovellusten palveluarkkitehtuurista. Siihen ei enää riitä konseptiksi "tietokanta" - "ohjelmointikieli" - "käyttöliityntä". Tarvitaan "SmartInfraStructure" - termin David keksi esityksensä aikana.

Tulevaisuuden trendejä ovat "tapahtumakanavan prosessointi" reaaliaikaisesti, malleihin perustuva integraatio jne.

Jos näkökulmaa haetaan kehitystyökaluista, Web 2.0 (O'Reilly) edellyttää siirtymistä staattisuudesta dynaamisuuteen. Työkalujen pitää olla arkkitehtuureihin nähden reaktiivisia. Progressin omatekoisen UIB-työkalun (nykyinen nimi AppBuilder tai OpenEdge Studio) reaktiivisuus ei tällöin riitä. Siksi on siirryttävä Eclipse-pohjaiseen kehittämiseen - joka on OpenEdge Architect.

AJAX taas osoittaa, ettei Microsoft sittenkään voittanut käyttöliittymäkisaa, vaan muitakin vaihtoehtoja on tarjolla. Ongelma täällä ovat työkalut, joita voi luonnehtia "horrible".

10:10 - 11:10 DEV-04 Anthony Swindells
Progress Dynamics on Steroids

Progress Dynamics on täysimääräinen sovelluskehys (Framework), jota Progress ylläpitää. Tavoitteena oli alunperin korvata kaikki vastaavat Progress-pohjaiset sovelluskehykset ja saada käyttäjät käyttämään yhtenäistä menetelmää. Muutama vuosi sitten Progress kuitenkin luopui tästä tavoitteesta ja samalla Dynamicsin kehittämisestä.

Nyt kehittämisen painopiste on OpenEdge-tuotteiden "core"-ominaisuuksissa, jolloin niistä hyötyvät nekin kehittäjät, jotka eivät käytä määrättyä Framework-tekniikkaa. Tällä suunnalla on edetty esimerkiksi, kun ProDataSet-objektiin on sisällytetty aikaisemmin SmartDataObject-proseduurin toiminnot, ja nyt auditointi-tekniikka on sisällytetty tietokannan skeemaan Frameworkin repository-taulun sijasta.

Dynamics-tekniikkaa käyttävillä ei kuitenkaan ole mitään hätää, pikemminkin päinvastoin. Uudet ominaisuudet on helpompi ottaa käyttöön, kun sovellus on hyvin jäsennelty ja perustuu uudelleenkäytettävään koodiin. Dynamicsia myös tuetaan hamaan tulevaisuuteen, ja tuntemieni Dynamics-käyttäjien kesken veikkailimme ajankohtaa, jolloin Progress Software taas palaa Framework-kehittämiseen.

11:30 - 12:30 INNOV-05 Edwin Lijnzaad (Caesar Vitalogic)
Building a Drag & Drop web front-end with AJAX and OpenEdge 10.1

AJAX-käyttöliityntätekniikka oli eri esityksissä vahvasti esillä. Kysymys on Web-selaimessa toimivasta käyttöliitynnästä, jossa ei enää lähetetä web-palvelimelle kaikkia FORM-objektin kenttiä tai vastaanoteta koko XHTML-dokumenttia.

JavaScriptiä, tyylisivuja ja XML:ää yhdistelemällä pystytään käsittelemään lomakkeen yksittäisiä objekteja ja niihin kohdistuvia tapahtumia toisistaan erillään, kuten GUI-käyttöliitynnässä - "Event-Driven".

Tässä esityksessä näytettiin raahaa- ja pudota-käyttöliitynnän rakentamista Web-selaimeen. Objektit ja niiden koodi oli pääosin poimittu Webin ilmaisjakelulistoilta.

14:00 - 15:00 INNOV-06 Matt Verrinder (Proaxima)
AJAX Development with OpenEdge and ps:eScript

Matt Verrinder näytti, miten AJAX-komponentit saadaan yhdistetyksi eScript-tekniikkaan. eScriptin valinneet ovat siis tässäkin etulyöntiasemassa - onnittelut Teille!

15:10 - 16:10 INNOV-07 John Sadd
Using the ProDataSet in OpenEdge 10

Kävin kuuntelemassa tämän esityksen päivittääkseni tietoni ProDataSet-objektista (ja TEMP-TABLE:sta). Ja olihan niitä:

Batch:

Kun ProDataSet:iä käytetään Clientin ja AppServerin väliseen datasiirtoon, nyt on mahdollisuus määritellä tiedonsiirron eräkoko, eli montako riviä siirretään enintään, jos tietokantakysely tuottaa enemmän rivejä. Objekti "tietää" automaattisesti, missä erässä ollaan, aivan kuten SmartDataObject-komponentissa.

REFERENCE-ONLY / BIND:

Jos ProDataSet tai TEMP-TABLE määritellään "REFERENCE-ONLY", sille ei luoda proseduurissa instanssia. BIND-optio parametrissa yhdistää sen kutsuttavassa proseduurissa määriteltyyn ja siellä olevaan objektiin.

Uusi objektisyntaksi - kaksois-kaksoispiste, kun argumentit on tunnettu:

Esimerkki valaisee asiaa. Voit koodata joko:

hDataSet:GET-BUFFER-HANDLE(“ttOrder”):BUFFER-FIELD(“OrderNum”):BUFFER-VALUE

tai

hDataSet::ttOrder::OrderNum

ProDataSet ja XML:

Nyt (versiossa 10.1) XML-dokumentti syntyy entistä helpommin luomalla ensin ProDataSet-objekti ja ajamalla sille metodi "WRITE-XML". Vastaavasti XML-dokumentti luetaan ProDataSet-objektiin metodilla "READ-XML", ja skeemaa käsitellään metodeilla "WRITE-XMLSCHEMA" ja "READ-XMLSCHEMA".

16.30 - 17.30 DB-08 Dan Foreman (BravePoint)
Ultra-High Availability

Aiheena siis tietokannan jatkuvakäyttöisyys - miten välttää virhetilanteet ja katkokset ja miten niihin pitää varautua.

Sain muistiin seuraavan toimenpideluettelon:

- Testaa koko elvytyssuunnitelmasi kerran vuodessa.
- Replikoi tuotantokantasi toiselle palvelimelle.
- Tee lokia kaikista varmistustoimista ja After Image-vaihdoista. Luo hälytys, jos jokin näissä epäonnistuu.
- Älä käytä "root"-tunnusta, ellei ole täysin pakko.
- Suojaa tietokantatiedostot käyttöjärjestelmän oikeuksilla.
- Aja kaikille kannoille EnableLargeFiles ja varmista että käyttöjärjestelmä tukee tätä.
- Älä käytä kill -9 paikallisten client-prosessien poistoon.
- Pidä aina tietokannan st-tiedosto ajan tasalla.
- Aja proutil dbanalys säännöllisesti.
- Monitoroi BI-tiedoston maksimikokoa ja pitkiä transaktioita.
- Säädä -bithold parametri 50%:iin käytettävissa olevasta bi-levytilasta.
- Kasvata bi-tiedostot bigrow:lla, mutta pienemmiksi kuin hälytysraja tai em. kynnys.
- Monitoroi tietokanta-areoiden ylärajoja (High Water Mark), jottei alue kasva vaihtuvalle ekstentille.
- Tutki päivittäin, onko lokitiedostossa joitain sanoista:
kill* drastic warn* error system dead fatal abnormal exceed* fail* wrong unexpected* invalid died damage* overflow* violation insufficient missing disappear* corrupt* allow* attempt* cannot enough illegal beyond impossible increase unknown unable stop*
- Tee varmistus ensin levylle, sieltä nauhalle, sitten toiseen rakennukseen.
- Tutki säännöllisesti varmistuksen laatu (paras tapa = palautus, kelvolliset -vp & -vf optiot prorest:ssa)
- Käytä After Imaging-ominaisuutta! Jos sanot "datan menetystä ei voi hyväksyä" ja samalla ET KÄYTÄ After Imagingia, petät itseäsi ja sinun kannattaisi harkita jotain muuta kuin tietokannan hoitajan uraa!
- Pidä "Schema Area" erillään sovelluksen datasta.

TUESDAY SEPTEMBER 12
9:00 - 10:00 DEV-09 Salvador Viñals, David Olson, John Sadd
Info Exchange on tools and ABL

Taas tulevaisuuden suunnitelmia, joita ei ole vahvistettu.

Suunnitelmissa ERROR-objekti.
GUI: Browse-objektiin combo-box, checkbox ja lajittelu (Jo oli aikakin!). Tab folder-objekti kieleen.

XREF to XML.

10:10 - 11:10 TOTAL-10 Thomas Hansen (appSolutions)
Managing OpenEdge Development with the New Roundtable Eclipse Plug-In

Ajatuksenani oli saada hieman tietoa, jossa "Extreme Dynamics"-hankkeesta ko. henkilö on mukana. Esityksessä kuitenkin keskityttiin Roundtable-koodinhallntaan.

11:30 - 12:30 INNOV-11 Anthony Swindells
Audit enable your application the easy way

Uudelleenkertaus auditoinnista. Nyt paremmin esitettynä, koska esityksen pitäjä oli konseptin pääarkkitehti.

14:00 - 15:00 INNOV-12 David Olson & Jan van Lishout
A Look Inside the OpenEdge UI Research Lab

Progressissa näyttää kehitys menevän painopistealoittain. Vast'ikään 4GL-kielen nimi muutettiin "ABL" eli Advanced Business Language (tai Logic). Siitä saa sen käsityksen, että kielellä ei tehtäisi sovelluksien käyttöliityntää, vaan logiikkaa.

Nyt oli kuitenkin huomattu, että Progress-sovellusten käyttöliitynnät kaipaavat parantamista. Nimittäin - oli sovellus logiikaltaan miten hyvä tahansa ja täyttäisi käyttäjän tarpeen, sen käyttöliitynnästä voi syntyä vanhanaikaisuuden vaikutelma joka saattaa tyrmätä koko hankinnan.

Taaskaan ei jaettu esityskalvoja, koska suunnitelmia ei ole vahvistettu. Niitä kuitenkin oli vahvasti mietitty.

Käyttöliityntävaihtoehtoja Progress-sovelluksella on paljon:

- ABL-kielen käyttöliityntäobjektit (FILL-IN, BUTTON, MENU, BROWSE jne...) ja vielä Windows:ssa Active-X-komponentit.
- Web-selain teknologia JavaScripteineen ja AJAX:eineen.
- Open Client, jossa käytetään clientina DOT.NET tai Java Clientia, niin ollaan "vapaita" koko Progressista Client-puolella. Progress toimii tässä konseptissa AppServerissä hoidellen ABL-funktiota.

Nyt kaavaillaan tähän luetteloon uutta ratkaisua (Huom! Tätä ei ole julkistettu eikä mitenkään virallistettu!):

Uudessa konseptissa Progress-client:ssa kutsuttaisiin työasemassa olevia DOT.NET-objekteja Progress-kielellä (OO 4GL). Tällöin ei oltaisi riippuvia Progress-kieleen implementoidusta syntaksista (4GL käyttöliityntä) eikä myöskään hankalasti hallittavaista Active-X-komponenteista. Käyttöliityntä kehittyisi siis sitä mukaa, kuin DOT-NET:iin tulisi uusia ratkaisuja. Tätä on ilouutinen niille kehittäjille, jotka käyttävät Progress-Clientia (Client/Server tai WebClient).

15:10 - 15:20 Progress Software European Innovation Awards
15:20 - 16:00 General closing session

Palkinnot menivät seuraaville:

Ohjelmistotalosarja: Kirjakaupan logistiikkaratkaisu (made in Holland), jossa käytettiin RFID-tarroja kussakin kirjassa. Inventaario tehtiin heiluttamalla RFID-lukijaa kirjahyllyjen edustalla. Oli myös sovellettu EasyAsk- tekniikkaa, jossa englannin kielellä kysyttiin varastotietoja.

Loppukäyttäjäsarja: Volvo-varaosajärjestelmä - toteuttajana Volvo ja XPower. Mukana myös NetSetup.

16:00 - 18:00 Post-Conference Workshop
Info exchange on DB and management Post-Conference Workshop

Todella mielenkiintoista asiaa, vaikka tässä vaiheessa Progress-tietokannan tulevaisuudesta oli kiinnostunut vain 10 henkeä.

10.1b:n lisäksi (esim. long long integer - 64bit) suunnitemissa mm.
- Tablemove, joka ei lukitse koko taulua prosessoinnin ajaksi, vaan rivejä.
- Monisäikeiset Tablemove ja Dump.
- Tilastodemoni, joka kerää tietoa tabanalys-tulostetta varten.
- Alustasta riippumaton varmistus.
- Indeksin koko kasvaa 129B => 2 K.
- Progress Explorer:lle tulee korvaaja johon sisällytetään Fathom Lite.

-----------------------------|----------------
Teppo Määttänen | TR-Tiimi Oy
Consultant | Struerintie 1
| 30100 FORSSA
Mobile : int-358-50-5748 226 | www.trtiimi.fi
-----------------------------|----------------

Kuva: Acropolis-kukkulalla oli kuumaa!