[Forrige artikkel] [Indeks] [Neste artikkel] [CW hjemmeside]

Avanserte klient/tjener-verktøy


Blant applikasjonsutviklerne er "klient/tjener: neste generasjon" det hotteste tema om dagen. Velkjente SQL-verktøy er blitt prøvd ut, samt nyere talenter. Det er en ny, ukjent og forvirrende verden dette her, og det spørs om du føler deg noe særlig lurere etter å ha lest dette.

OVERSATT AV MORTEN SOLLI

Vi er på din side, bare så det er klart. Etter en omfattende testing av tre utviklingsmiljøer på klientsiden -- Borlands Delphi Client/Server,

Powersofts Powerbuilder Enterprise 4.0 og Symantecs Team Enterprise Developer 2.0 -- er vi minst like forvirret som deg om hva som er det beste produktet til å skrive neste generasjon klient/tjener-applikasjoner. Ingen av disse produktene hadde den sammensetning av sunn grunnleggende metodikk, superhøy run-time applikasjonshastighet, ekstensiv databasebevissthet, prikkfrie automatiseringsfunksjoner, fleksibel og enkel programmering, samt hendige verktøy og hjelpeprogrammer, som vi i vår uttrettelige søken etter det perfekte var ute etter. Sluttresultatet ble et dødt løp mellom Powerbuilder og Enterprise Developer, med Delphi på en god tredjeplass.

Med følehornene ute

Vi foretok en undersøkelse blant 1.000 Infoworld-lesere involvert i bruk eller kjøp av verktøy for applikasjonsutvikling, om hvordan selskapene de jobber for utnytter klient/tjener-verktøy. Med utgangspunkt i svarene deres utarbeidet vi denne testen. Produktene ble testet i seks hovedområder innen applikasjonsdesign -- dybde i definisjonskatalogen, generering av transaksjonslogikk, kvalitet på beslutningsstøtte-funksjonene, kapasitet for forenklet applikasjonsvedlikehold, støtte for team-utviklingsverktøy, samt metoder for å skrive en applikasjon som simultant akksesserer heterogene databaser.

I tillegg ble det utført tre hastighetstester. Query-testen ser på kapasiteten til å hente data fra tjeneren. Rapporttesten er ment å måle produktenes kapasitet for datamanipulering og formatering, mens testen for mallesing måler hvor lang tid det tar å repainte et brukergrensesnitt-skjermbilde som måler eksekveringshastigheten i run-time. Endelig er selvsagt de faste kategoriene, dokumentasjon, pris og støtte, inkludert i testen.

Grå mus

De avanserte klient/tjener-verktøyene er svært preget av repriser. I stor grad er de repriser på velkjente produkter som fyller tiden mens vi venter på at et helt nytt konsept -- annen generasjon klient/tjener-verktøy -- skal debutere for Windows.

-- Ingen av disse verktøyene tilhører annen generasjon ennå, fastslår Evan Quinn. Han leder forskningen på tredjegenerasjons språk- og utviklingsmiljøer for International Data, et markedsanalysefirma i Massachusetts.

-- Jeg kan bygge utmerket shrinkwrap programvare med Delphi, mener Quinn. Delphi er nå et profesjonelt engineeringsverktøy. Powerbuilder befinner seg primært på avdelingsnivå, men med virksomhetsnivået i sikte. Hastigheten til dagens versjon av Enterprise Developer begrenser programmet til skrivebordsbruk, ifølge analytiker Quinn, som tilføyer:

-- For at disse verktøyene skal opphøre å være grå mus og vinne stjernestatus, må de få tilføyd gruppevare for utviklere, stramme opp sine grensesnitt med databaser på tjenersiden, eliminere det som er igjen av replikering blant tjenere, samt aksessere dataene der de "bor".

Og selv da fortjener ikke reprisene betegnelsen "annen generasjon". På stadiet over de grå mus befinner det seg nemlig applikasjonspartisjonering. Hovedforskjellen mellom avanserte og annen generasjons klient/tjener-verktøy, er at sistnevnte krever mer enn et skille mellom GUI og applikasjonen. Applisjonslogikken deles i mindre biter og kan plasseres hvor som helst i nettverket. Livet er rett og slett blitt mer komplisert.

Trygt i romhavn

Hva kan du så gjøre for på best mulig måte ivareta virksomheten i påvente av rett tidspunkt og pris for å flytte til annen generansjons klient/tjener-teknologi? Du trenger selvsagt å skrive applikasjoner i dag, skal du unngå opprørske sluttbrukere. På den annen side gjelder det å tenke langsiktig. Hvis du makter presset, kan det være smart å vente til markedet rører på seg før du plukker ditt klient-verktøy. Klient-verktøy er ikke standardiserte på samme måte som tjenere. Vil du skifte ut tjenersiden er det derfor ingen umulighet, selv om det kan koste en smule anstrengelse. En klient-applikasjon blir du ikke kvitt med mindre du skriver programmet på nytt eller lager en arve-applikasjon.

Dersom du allerede har investert i et avansert klient/tjener-verktøy, bør du holde deg til det inntil videre. Ellers risikerer du å måtte bytte både i dag og om et år eller to, og det er ikke noe moro.

SQL for deg

Alle erfarne database-programmerere vet at nøkkelen til en applikasjon med høy ytelse ligger i en kritisk anvendelse av leverandørforlengelser til ANSI SQL. Men nær sagt alle tredjeparts klient/tjener-utviklingsverktøy som genererer SQL, genererer også ANSI SQL. SQL-motorene implementeres rett og slett på for mange forskjellige måter av de forskjellige leverandørene. Det er derfor umulig for ett verktøy å støtte alle typer SQL uten en umenneskelig innsats fra verktøyleverandøren. Symantec går et skritt i den retning ved å utstyre Enterprise Developer med en tolk som genererer tjener-optimerte SQL i runtime. Den andre muligheten er å gi tilgang til leverandørutvidelser gjennom et såkalt "pass-through"-modus. Et "pass-through"-modus er simpelthen en syntaks i scriptingsspråket som forteller verktøyet at du ønsker å sende en SQL-setning til databasemotoren uten at verktøyet analyserer syntaksen i SQL-setningen. Dermed kan utvikleren anvende alle de leverandør-spesifikke utvidelsene i en SQL-databasemotor.

Men dessverre tar dette også knekken på flyttbarheten og produktiviteten, fordi utvikleren igjen må kode i et leverandør-spesifikt innfelt SQL-språk. Utvikleren møter derfor en rekke problemer når et generalisert klient-verktøy brukes mot en spesifisert tjener. Imidlertid har leverandørene blitt smartere med hensyn til ytelsesspørsmålet: låsing. De fleste IS-organisasjoner som driver med SQL-utvikling har tatt i bruk en slags optimistisk låsingsstrategi. Utgangspunktet for optimistisk låsing er at det er svært lite sannsynlig at to brukere vil forsøke å oppdatere samme rekke i en tabell simultant. Istedenfor å overbelaste en transaksjon ved å låse rekkene for oppdatering mens transaksjonen pågår, kan utvikleren la alle rekkene stå ulåst når de hentes inn. Når applikasjonen så skal anvende oppdateringene på databasen, brukes en "hvor"-setning for å kontrollere at ingen av verdiene i rekken er endret etter at applikasjonen opprinnelig innhentet dem. Dette beskytter fortsatt mot simultane oppdateringer, men gir også maksimal koordinering og ytelse.

Utviklerne oppnår enda større grad av koordinering dersom de kontrollerer at bare de aktuelle kolonnene er uendret etter siste innhenting av rekken. På denne måten kan to transaksjoner endre samme rekke simultant, så lenge de ikke forsøker å endre samme kolonne simultant. Alle de tre produktene i denne testen støtter et "pass-through"-modus, genererer ANSI SQL og implementerer automatisk optimistiske låsingsstrategier for genererte SQL-er. Fakstisk tillater de spesifisering av forskjellige låsingsstrategier fra transaksjon til transaksjon. Dermed kan utvikleren få en hurtigere ANSI SQL ved å anvende den låsingsstrategi som er mest fordelaktig for hver bestemte transaksjon. Nettoresultatet er et brukbart kompromiss mellom produktivitet og ytelse.

Bonus

All produktene leveres med en enbrukers, Windows-basert SQL databasemotor for PC. Delphi leveres med Interbase 4.0, Powerbuilder er utstyrt med en Watcom SQL Standalone 4.0, mens Enterprise Developer bruker XDB 3.0.

En lokal database er en stor fordel for utvikleren, som kan bruke den som grunnlag for å lage prototyper av eller designe og teste klient-applikasjoner på sin PC, uten at dette påvirker den regulære produksjonsdatabaseserverens drift. Etter at utvikleren har funnet ut av programfeilene, er det en enkel sak å migrere applikasjoner til produksjonsdatabasen ved å tilføye riktig database og riktige nettverksdrivere. Dette er også en glimrende måte for folk å lære om klient/tjener-utvikling på, uten at det koster en formue verken i penger eller anstrengelser.

------------------------------Poengene -------------------------------

PowerBuilder Enterprise 4.0 6.6

Team Enterprise Developer 2.0 6.6

Delphi Client/Server 6.1

Tabell: Avanserte klient/tjener-verktøy

Delphi Client/Server Borland International Inc Web: http://www.borland.com

Leverandør i Norge: Scribona, tlf. 55 12 11 40.

Definisjonskatalog (data repository) (100) Dårlig 25

Delphi mangler definisjonskatalog. Vi måtte derfor bruke bestemte pakkede funksjoner i klassebiblioteket for å få tak i informasjon om dataobjekter. Borland skal likevel ha ros for å ta med disse funksjonene, som er langt mer enn hva andre integrerte utviklingsmiljøer tilbyr.

Transaksjonslogikk (100) Tilfredsstillende 50

Delphi genererer automatisk noe av koden for brukergrensesnitt, men gir oss bare

en minimal databasekode. Vi måtte skrive en rekke scripter og innstille utallige objektattributter. Delphi har en fortreffelig form-wizard, og støtter "pass through"-SQL.

Beslutningsstøtte (100) Bra 62

Delphi er utstyrt med et grafisk query-objekt, men i og for seg uten en rapportskriver. Borland dyttet en kopi av ReportSmith 2.5 inn i boksen og skrev en DDE for å forbinde de to. Reportsmiths funksjoner falt i smak, men et enkeltstående integrert verktøy av høy kvalitet ville vært å foretrekke.

Applikasjonsvedlikehold (100) Veldig bra 75

Delphi viste seg å være et glimrende miljø for applikasjonsvedlikehold, med sitt objekt-orienterte preg. Å finne fram var imidlertid strevsomt, og bød på en masse arbeid på fronten.

Team-utvikling (50) Tilfredsstillende 25

Delphi baserer seg på et tredjeparts system med versjonskontroll for flesteparten av

team-utviklingsfunksjonene. Et check in/check out-menypunkt samt en beskjeden arkiv-behandler er de eneste innebygde kapasitetene.

Heterogen databasetilgang (100) Bra 63

Delphis attributt-tilnærming skaper dobbel innsats. Verktøy i pakke gjør det lett å migrere og administrere.

Query-hastighet (25) Perfekt 25

Delphi pumpet ut 7.692 rekker per minutt til klienten. Dette er nært opptil Powerbuilders hastighet, selv om denne testen ikke dro fordel av kompilert kode.

Rapporthastighet (75) Dårlig 19

Her kom Delphi til kort. Reportsmith greide ikke å håndtere datamanipulerings- og utskriftsoppgavene, med et resultat på bare 732 rekker per minutt.

Mallesingshastighet (125) Perfekt 125

Delphi var tilbake i toppform til mallesingsesten; 173 skjermoppdateringer per minutt var to til tre ganger bedre enn konkurrentenes resultater.

Dokumentasjon (75) Bra 47

Bra innhold, men håndbøkene var vanskelige å lese. Borland kunne gjerne piffet opp bøkene sine med litt bakgrunnsstoff om strategier for applikasjonsdesign.

Støtte (100) Bra 63

Pris (50) Veldig bra 38

12.660 kroner for en enbrukerlisens. Delphi Client/Server er det rimeligste produktet i testen. Borland gir dessuten rabatt ved innkjøp i større mengder.

Poengsum 6.1

PowerBuilder Enterprise 4.0 Powersoft Corp. Concord, Mass., USA.

Web: http://www.powersoft.com

Leverandør i Norge er Milestone, tlf. 22 93 64 00.

Data repository (100) Bra 63

Powerbuilders definisjonskatalog er en gruppe av spesielle Powerbuilder-tabeller som befinner seg på tjenersiden og gir opplysninger om utvidede attributter, slik som dataevalueringsregler (data validation rules) og visningsformater. Dette fungerer bra, men er ikke en virkelig sentralisert modell. Powerbuilder bruker fortsatt en serie skjemaer, det samme grensesnitt-paradigmet som programmet brukte i utgangspunktet.

Transaksjonslogikk (100) Bra 63

Powerbuilder er det programmet som krevde mest scripting. Men det er ikke noe å skryte av. Powersoft bør forsøke å balansere Powerbuilders utmerkede fleksibilitet med flere standarder -- Powerbuilder-applikasjonen var den som kostet mest arbeid.

Beslutningsstøtte (100) Veldig bra 75

Powerbuilder har en super rapportskriver integrert i miljøet. Det var enkelt å produsere stadig mer kompliserte rapporter. Likevel støtte vi på en funksjonell begrensning mht. antallet rekker vi kunne arbeide med. Powerbuilders ytelse fikk seg en alvorlig knekk ved 30.000 rekker.

Applikasjonsvedlikehold (100) Veldig bra 75

Powerbuilder legger noe av byrden med å definere arv på utvikleren. Den støtter stilmaler, og dette gjør det enklere å lage konsistente grensesnitt. Powerbilder har en glimrende debugger.

Team-utvikling (50) Bra 31

Powerbuilder tilbyr den beste integreringen med tredjepartssystem for versjonskontroll, og støtter de fleste tredjepartsleverandører. De applikasjonsspesifikke funksjonene er sperret i tilgjengelighetslisten.

Heterogen databasetilgang (100) Tilfredsstillende 50

Powerbuilders fleksibilitet skapte mer kodingsarbeid for oss. I koden måtte vi bruke navnet på databaseforbindelsen, og dette økte behovet for vedlikehold.

Query-hastighet (25) Perfekt 25

En kjapp liten djevel. Powerbuilder greide 7.895 rekker per minutt og var klart raskest i denne testen. Det gikk faktisk så fort at det ikke var mulig å registrere noen ventetid.

Rapporthastighet (75) Perfekt 75

Powerbuilder fortsatte å imponere i rapporttesten. Den pisket gjennom testmaterialet med lynraske 3.333 rekker per minutt.

Mallesingshastighet (125) Tilfredsstillende 63

Powerbuilder falt av litt her, men hadde likevel en respektabel ytelse, med 76 skjermoppdateringer per minutt.

Dokumentasjon (75) Bra 47

Kjøp ekstrahåndbøkene hvis du kan, eller benytt versjonene som leveres online. Pakken med bøker er brukbar, men det kan være vanskelig å finne fram til detaljopplysninger.

Støtte (100) Veldig bra 75

Pris (50) Tilfredsstillende 25

Listeprisen for Powerbuilder Enterprises, 34.500 kroner for en enbrukerlisens, er på linje med Enterprise Developers. Powersoft selger ikke lisenser per mengde eller lokalitet .

Poengsum 6.6

Team Enterprise Developer 2.0 Symantec Corp. Web: http://www.symantec.com

Leverandør i Norge er Microline, tlf. 22 25 36 00.

Definisjonskatalog (100) Perfekt 100

Symantec har gjort en utmerket jobb med Enterprise Developers definisjonskatalog. Vi oppnådde alle de mål vi hadde satt oss, også å revers-engineere databasen og bygge et entity-relationship diagram for vår forretningsmodell. Vi merket oss ellers Enterprise Developers muligheter for bruk av tjenerspesifikke funksjoner, i dette tilfellet automatisk skriving av Oracle-triggere.

Transaksjonslogikk (100) Veldig bra 75

Enterprise Developer ga oss standarder i bøtter og spann. Det var knapt nødvendig å skrive en eneste linje kode. En formbygger geleidet oss gjennom det grunnleggende og deretter til definisjonskatalogen for å hente resten av den nødvendige informasjonen. Scale Script-språket er tilgjengelig, men vi greide oss bra uten.

Beslutningsstøtte (100) Bra 63

Enterprise Developer har en mindre sofistikert rapportskriver enn Powerbuilder. Den trinnvise veiledningen var lett å følge, og de hermetiske formatene akseptable. Enterprise Developer ser også ut til senke tempoet betraktelig når man kommer opp mot 30.000 rekker.

Applikasjonsvedlikehold (100) Perfekt 100

Enterprise Developer er fullt på høyde med konkurrentene når det gjelder objektkatalog, debugging-funksjoner og stilmaler, og er overlegen på støtte for form-arv pga. objekt-orienteringen.

Team-utvikling (50) Veldig bra 38

Enterprise Developer hadde de beste innebygde teamutviklings-funksjonene, som omfatter aksessikkerhet og en egen sperringsprosedyre. Tredjepartsintegreringen er tilstrekkelig.

Heterogen databasetilgang (100) Perfekt 100

Enterprise Developers forretningsmodell tilbyr enkle fler-tilkoplinger, funksjoner for datamigrering og kapasitet til å utføre oppgaver innen databaseadministrasjon.

Query-hastighet (25) Dårlig 6

Tid for å tvinne tommeltotter. Sneglefarten 2.000 rekker per minutt er en aldri så liten skramme for Enterprise Developer.

Rapporthastighet (75) Dårlig 19

Heller ikke rapporthastigheten er noe å skryte av. 833 rekker per minutt er rett og slett under pari.

Mal-lesehastighet (125) Dårlig 31

Ynkelige 48 skjermoppdateringer per minutt. Så der satt vi og betraktet timeglasset mens vi ventet på at Enterprise Developer skulle gjøre seg ferdig.

Dokumentasjon (75) Tilfredsstillende 38

Verken begredelig eller fantastisk. Den informasjonen vi trengte, fant vi i denne gjennomsnittsbunken med bøker. I online-hjelpen finnes en prøvekode.

Støtte (100) Veldig bra 75

Pris (50) Tilfredsstillende 25.00

Team Enterprise Developer 2.0 har en listepris på omlag 30.000 kroner per enbrukerlisens. Symantec åpner for individuelle avtaler om eventuelle mengde- eller lokalitetslisenser.

Poengsum 6.6

[Forrige artikkel] [Indeks] [Neste artikkel]


[Image map not available]
Artikkel automatisk generert, 29/06-95, kl. 16.47 cw@oslonett.no