22 IZBOR PROGRAMSKEGA ORODJA ČETRTE INFORMATICA 1/89 GENERACIJE Deskriptorji: REACIJSKE BAZE, IZBOR SISTEMA, PROGRAMSKA ORODJA, Zvone Kribel, Boris Legac, Marjan Marušič, Andrej Novak LUKA KOPER, ČETRTA GENERACIJA Luka Koper, Sektor za informacijski sistem Podajamo kriterije, s katerimi je? Luka Koper, oz. komisija za izbor nove programske opreme izbirala med različnimi ponudniki. Komisija je sestavila do podrobnosti specificirano vzorčno aplikaci jo, ki jo sorazmeroma lahko preslikamo v CICS-ov program. Ob preverjanju lastnosti opreme, smo pri SI i do zaključka, da izbor programske opreme ni tehnično, temveč mul-tidlsciplinarno vprašanje. SELECTING THE: FOURTH GENERATION PROGRAMMING TOOLS: In this paper we describe the criterinns that, were used in Port of Koper for the evaluation of 4GL. and DBMS. We describe in detail one case application that was tested with the PL/1 programming language and VSAM under CICS/VS environment. During the evaluation we came to a conclusion that the selection is not. only a technological matter, it should be a mu11 i discipli ne process. 1. UVOD V Luki Koper Se tri UNIVERSE, relacijsko leta koristimo banko podatkov, CA- programskim jezikom ADL in aplikacijskim generatorjem. S postavitvijo plana razvoja luškega IS in po triletnih izkušnjah dela s to relacijsko banko smo prišli do ugotovitve, da potrebujemo programska orodje, ki nam bo omogočala doseganje boljših performans aplikacij v proizvodnj i.Dne 9. marca 88 smo v ta namen ustanovili komisijo za izbor nove programske opreme. S 1. oktobrom smo pričeli prenašati produkcijsko zahtevne aplikacije iz CA-Universe v produkte ameriške družbe Applied Data Research. Glavni zahtevi do nove opreme sta: - omogoča izgradnjo enotne produkcijsko stabilne podatkovne banke, - nuditi mora visoko produktivno programsko okolj e. V sestavku podajamo kriterije za izbor opreme glede na potrebe razvoja informacijskega sistema Luke Koper. Poleg tega podajamo razlike med produkti dveh družb, ki sta ostali v ožjem izboru. Opisali smo tudi vire informacij o lastnostih teh produktov. V posebnem razdelku je podrobno definirana aplikacija, ki smo jo posredovali specialistom v obeh družbah. Ob koncu sledi zaključek in naše izkušnje pri izboru nove opreme. 2. RAZLIKE Po analizi tržišča je prišlo v širši produktov naslednjih proizvajalcev: i zbor Computer Associate: CA UNIVERSE IBM: SOL/DS, CSP ADR: DATACOM, DATADICTIONARY. IDEAL Software AG: ADABAS, PREDICT, NATURAL CINCOM: SUPRA, MANTIS ORACLE: ORACLE CULLI.NET: IDMS Po prvih primerjalnih boru ostala le še ADR raz 1ogov: - CA-UNIVERSE analizah i n SAG sta i z j ož j f?m i z ~ nasiednj i h SQL, CSP: SUPRA,MANTIS ORACLE: IDMS: v produkcijskem okolju zahteva zmogljivo strojno opremo, ki je Luka Koper ne more z agot.ovi ti . ni pravo produkcijsko okolje sistem je prekomp]eksen za naše razpoložljive resurse Ni v DOS/CICS okolju, večina instalacij na DEC-VAX firma ima organizacijske, finančne in tehnične težave. Po izvršitvi vrednotenja posameznih produktov smo ugotovili, da so razlike med produkti družb Software AG in ADR minimalni, tj. samo 47. možnih točk. Te razlike so v naslednjem: - podatkovna baza (ADABAS je nekoliko enostavnejša, ima možnost dinamičnega dodajanja atributov, ponavljajoče se skupine) . - razvojni, jezik (NATURAL ima dostop do VSAM 23 datotek.in ima možnost oken; IDEAL je enostavnejši za uporabo in ima boljšo programsko dokumentacijo) - podatkovni slovar DATADICTIONARY ni možno izključiti pri prevodu programov, v PREDICT pa lahko vpišemo tudi nekatera integracijska pravila. Obe družbi s svojo ponudbo zagotavljata izpolnitev kriterijev, ki smo jih postavili kot obvezne. ADABAS koristi ameriška FBI, DATACOM/DB pa ameriška vojska, ADABAS ima cca 2200 instalacij. DATACOM/DB ima 1800 instalacij. Družba Software A6 ni imela v bližini instalacije s podobnim HW in v podobni gospodarski veji. Produkte družbe ADR smo si ogledali v dveh centrih v Trstu in v Inter--frigo v Baslu v Švici. Zanimiv je pristop tujcev, ki sploh niso vzeli v precep konkurenčnih produktov. Ob potovanju v Basel smo se pogovorili s predsednikom evropske veje družbe ADR v Klotenu pri Zurichu in istočasno smo obiskali nemško družbo Software AB v Darmstadtu. V obe družbi smo poslali podrobno definicijo vzorčne aplikacije in zahtevali ocene CICS particij, odzivnega časa in prosili, naj r.am razvijejo specificirano aplikacijo v NATURALu, oz. IDEAL-u. 3. APLIKACIJA Aplikacija dodaja posamezen slog v tabelo delavcev. CICS-ovo ime transakcije je ZDDA in program naj bo ZDDOADD, ki je del projekta ZDD. Ta aplikacija mora koristiti psevdokon-verzacijski način na 250 CICS terminalih (200 VTAM in 50 lokalnih 3270 ali 3170). Povprečna se doda 2.5 sloga v sekundi, največ pa 5 slogov v sekundi ob obremenitvi. Odzivni čas naj bo največ 2 sekundi, zaželjeno je povrečje ene sekunde v 8 urni izmeni. a). Osnovna tabelo delavcev specificiramo z ANSI SQL-om z: CREATE TABLE DELAVEC ( SIFDEL INTEBER NOT NULL, IME VARCHAR (20), PRIIMEK VARCHAR (20), DAT ROJ CHAR(6) ) i Pogled (view). ZDDVDEL vsebuje vsa polja z izjemo DAT_R0J polja. Polje SIFDEL mora imeti masko PIC'99999' povsod, kjer se pojavi. Prvi znak polj IME in PRIIMEK naj bo vedno črka. preveri obstoj sloga s tem ključem. če tabela že vsebuje tega delavca, program prikaže LME020 sporočilo. fee tega delavca še ni v tabeli, program prikaže ZDDMDTL mapo s sporočilom LMI010, kamor uporabnik vnese ime in priimek delavca. Vrednost polja SIFDEL program samo prenese iz predhodnega zaslona. Obe polji program preveri ali imata prvi znak črko, sicer sporočilo LME022. če je vse v redu, program doda slog s ključem SIFDEL v ZDDVDEL. Spet se prikaže zaslon ZDDMCTL s sporočilom LMI002, ki mu sledi sporočilo LMI001 sporočilo (konkatenirano). d). Upoštevajoč hišni standard mora vsaka aplikacija koristiti standardni modul GETMS6,ki pričakuje vhodni parameter 6 znakov dolgo šifro sporočila in vrne preko globalnega področja (npr. CICS Common Work Area) 39 znakov dolg niz sporočila iz posebne tabele. Ta aplikacija koristi sledeča sporočila: LMI001 Prosim, vnesite ključ. LMI002 Vrstica je uspešno dodana v tabel o LMI010 Prosim, vnesite vrednosti stolpcev. LMEOOO Ničesar niste vnesli. LME001 Ključ mora biti številka. L.ME020 Ta vrstica že obstaja v tabeli. LME022 Prvi znak niza mora biti črka. 4. CENE Ponujeni finančni pogoji obeh firm so podobni: Družba cena letno vzdrže- vanje ADR '263.608 US* 35.477 US* Teden šolanja 600 US* Po petih letih znaša celotna vsota z osnovnim šolanjem (na dveh procesorjih) 461.297 US* SAG 201.850 US* 36.700 US* Za dva CPU 27B.438 US* 50.625 US* Teden šolanja: prvo leto 5.000 US* drugo leto 7.500 US* ostala , 11.000 US* Po petih letih znaša celotna vsota z osnovnim šolanjem 480.938 US* 5. ZAKLJUČEK b). Aplikacija koristi dve BMS mapi ZDDMCTL kontrolni zaslon in ZDDMDTL za detaljni izgled sloga. ZDDMCTL ima samo SIFDEL polje, kamor operator vnese šifro delavca, ki ga želi dodati. Zaslon ZDDMDTL ima IME, PRIIMEK in SIFDEL polja, vendar SIFDEL je v tem zaslonu samo izhodno polje. Oba zaslona imata polje sporočil na spodnjem robu zaslona. Ob vsaki napaki napačno polje osvetlimo. Qbe mapi vsebujeta standardne tekste kot so ime organizacije, ime projekta, ime zaslona mape, datum in uro ob zadnjem pritisku neke AID tipke. c). Z vnosom ZDDA poženemo program ZDDOADD, prikaže se zaslon ZDDMCTL z LMI001 sporočilom. Vsa sporočila so v standardni tabeli. Ko uporabnik vnese vrednost polja SIFDEL (vse numerično) in ENTER, program preveri PIC'99999' masko. če je napaka, program ponovno pošlje mapo na terminal z osvetljenim poljem SIFDEL in standardnim sporočilom LME001. Program zaključimo z CLEAR AID tipko, s PF1 program prikaže zaslon za pomoč ZDDHA00 (help). Ko operator uspešno vnese SIFDEL, program Nakup nove programske opreme je v našem okolju dokaj zahtevna in nehvaležna naloga. Pogosto imajo glavno besedo pri izboru opreme samo vodilne osebe, ki običajno niso dovolj tehnično usmerjene. Delno se lahko izognemo napačni odločitvi z ustanovitvijo posebne komisije za izbor opreme. V Luki Koper smo izbrali slednje. Hitro se je pokazalo, da je naloga zelo zahtevna in da jo je zelo težko kvalitetno rešiti v zastavljenih šestih mesecih. Dokaj hitro smo ugotovili utesnjenost in tehnično zaostalost našega okolja. Naštejmo nekatere najbolj pereče težave, ki smo jih srečali pri sodelovanju v komisiji: - pol leta je nedvomno premalo časa za ocenitev programskih orodij, ki so strateškega pomena za delovno organizacij o. - Vsak posamezen programski produkt iz razreda sistemov za upravljanje bank podatkov je plod cca 10 do 20 človek/let in tega dela ni možno spoznati v treh tednih. - V komisiji smo močno pogrešali strokovnjake s finančnimi in pravnimi izkušnjami. Literatura za napotke pri sklepanju pogodb s tujimi softwarskimi hišami ni uporabna v 24 našem okolju. 3. RAZVOJ APLIKACIJ 6. REFERENCE 1. RELATIONAL DBMSs, Xephon Buyer's Guide, Xephon Technology Transfer Ltd, London, 1986 2. A BUYER'S GUIDE TO DATA BASE MANAGEMENT SYSTEM, Datapro Research Corp., Delran NJ, 1985 3. Diane L. HERDT: DBMS EVALUATION CRITERIA, Auerbach System Development Management portfolio 34-02-40, Auerbach Publishers Inc., Baston MA, 1987 4. Gordon C. EVEREST: DATABASE MANAGEMENT, Objectives, System Functions, and Admi-ni stration, McGraw Hill 1986 PRILOGA: Kriteriji za izbor opreme z utežmi glede na pomen posameznega kriterija za izgradnjo IS Luke Koper: 1. PRODUKCIJSKO OKOLJE UTEŽ 1.1. Operacijski sistem DOS pod VM * 1.2. CICS okolje * 1.3. Možnost vsaj 250 CICS terminalov (za isto transakcijo) na obstoječem HW * 1.4. Odzivni čas 2 sekunde (5 transakcij/s) * 1.5. Sledi spremembam releas-ov IBM prog. * 1.6. Omogoča spremembo (strojne opreme, DOS -> MVS * 1.7. Vključitev drugih uporabnikov v Luški IS preko SNA * 1.8. File transfiar na PC * 2. PODATKOVNA BAZA .1 Enoten podatkovni slovar (ne glede- na St. DOS-ov) 10 .2. Vsebuje orodja za poročila na DD, (crossre-f erence) # .3. Recovery (avtomatski restart) 10 .4. Monitoring (možnost -fizične namestitve podatkov) 10 .5. Možnost sprememb podatkovnih definicij (ne prizadene obstoječih apli-k a c i j ) 5 .6. Zaščita podatkov (permiti) je na nivoju DB/DD * .7. Zaklene samo slog pri spreminjanju (locking) 10 .8. Moien je pristop z ANSI SQL jezikom 7 .9. Tip podatkov datum (operacije +,-, <>,=> in preverjanje pravilnosti datuma 3 .10.Null vrednost (nedefinirana vrednost) 5 .11. Iransacti on control, rollback, commit * .12.Agregatne funkcije (avg,sum,group,by) 5 . 13. Možnost dostopa do banke 5 PL./l programom 10 .14.Možnost definiranja VIEto-ov z dostopom tudi do datotek, ki rušo v bazi (VSAM) 8 .15.Omogoča kompresijo podatkov 3 .16.Formiranje viewov tipa SELECT, JOIN z WHERE pogojem z možnost update na eno tabelo 5 .17.Podpora nacionalnim znakom, latin 2 10 . 18. Integr-i tete entitet 10 . 19. lritegri tete domene 5 .20. Integri tete referenčne 3 .21.Kriptozasčita 3 . 1. r> 3.4. ki deluje preko (map za .6. .7. 10 11 Programski jezik, slovarja pod. Generator map in reportov PRINT) Pomoč pri izdelavi dokumentacije Interaktivni vpogledi v podatkovni siovar Generator aplikacij (vodenje preko menijev, help) Možnost izvajanja batch aplikacij v samostojni particiji Možnost orodij za pomoč pri metodah analize in designa na PC (ČASE Tools) podpora poslovne grafike na PC Razvoj aplikacij na PC, ki imajo dostop do centralne podatkovne baze preko file transfer ■Popolna zamenjava za klasične programske jezike (vse kar lahko v PL/I) . Relacijski pristop do podatkov izključno preko VIEW-ov 4. MIGRACIJA 4.1. Starih aplikacij ni potrebno prevajati DL/I (DL/I transparenca) 4.2. Starih aplikacij ni potrebno prevajati VSAM (VSAM transparenca) 4.3. Omogoča postopen prenos v novo okolje 4.4. Odzivni časi pri migriranih aplikacijah v DB naj ne padejo več kot za 10'/. 4.5. Utility za prenos job control PODPORA PROIZVAJALCA 5. 1. Osnovno šolanje v Luki Koper Kvalitetno šolanje specialistov (sistemci, DBA) 5.3. Literatura (ažurna, original 2 izvoda, številka licence, interni časopis proizvajalca) 5.4. Nepretrgana tehnična podpora (24 urni telefon) 5.5. UP-DOWN LOAD 5 G BYT0V <:. 8 urah 5.6. Menjava releasov ne sme vplivati na izdelave aplikacije in na banko podatkov 5.7. Zagotovljeno svetovanje pri razvoju apli kaci j 6. NABAVNI POGOJI 6.1. Cena enkratnega nakupa do 270.000 % možnost obročnega odplačevanja 6.2. Testna instalacija 6.3. Osnovno šolanje vključeno v ceno 10 10 3 3 10 10 10 7 10 10 10 10 7 10 4 Vrednost polja UTEs pove pomembnost te lastnosti za rai-vaj IS Luke Koper. Zvezdica v tem stolpcu pomeni, da je označega lastnost obvezna. Način izračuna točk ¿a posamezne produkte: TPI = £ Uj * OPij J = 1 l"Pi - točke i - tega produkta Uj - utež j - tega produkta N - števila kriterijev izbora OPij - ocena j - tega kriterija za i-ti produkt (v razponu od 0 do 10 točk)