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

Web-servere for storbedrifter


Nå som World Wide Web har tatt av som en rakett, er det ingen grunn til å bli stående på utskytingsrampen. Vi har sett på fem Web-servere for storbedrifter som kan brukes til å åpne bedriftenes databaser og til å distribuere informasjon om markedsføring og støtte.

OVERSATT AV MORTEN SOLLI

Commerce Server fra Netscape Communications og Website fra O'Reilly and Associates skiller seg ut som de beste allround-serverne. Purveyor, fra Process Software, og Webstar fra Star-Nine Technologies (tidligere MacHTTP fra BIAP Systems), er mer moderate implementasjoner som nok passer best for mindre servere. Netpublisher, fra Ameritech Library Services, fyller en annen nisje, idet den frembyr store mengder informasjon med en minimal konfigurasjon.

Profesjonelle

Etter våre erfaringer med å slite med offentlig tilgjengelige Web-servere, er det en stor lettelse å konstatere hvor profesjonelle disse produktene er.

Det tok ikke mer enn ti minutter å sette opp og kjøre i gang noen av disse produktene. Enkelte av dem, som O'Reillys Website og Netscapes Commerce Server, leveres med en rekke konfigurasjonsalternativer som alle er forsynt med sikre og godt dokumenterte standarder. Andre har en mer ferdskriveraktig installering som gir minimalt med bry og åpner for senere konfigurasjoner.

Straks vi hadde installert programvaren, var vår første oppgave å legge inn noen data på serverne. Alle serverne unntatt Netpublisher brukte en tradisjonell Web-server-modell: HyperText Mark-up Language (HTML)-filer skrevet av brukere og lagret i en katalog på disk. HTML er den vanlige syntaksen for komponering av Web-sider.

De fire test-serverne, inkludert Webstar Macintosh, var kompatible med et tre av html-filer som vi fikk fra en eksisterende Web-server.

Netpublisher skiller seg ut med sin vinkling på hvordan informasjon skal legges til Web. Produktet kombinerer Web- og Gopher-servere med en publiseringsmotor som automatiserer prosessen med å bygge trestrukturerte servere. For å presentere informasjon ved hjelp av Netpublisher, bygger administratoren et hierarkisk tre av dokumenttitler tillagt bibliografiske opplysninger, for eksempel forfatter, tittel og dokumentresymé. Hver dokumenttittel knyttes til en tekstfil. Netpublisher genererer automatisk Web-sider, mens brukerne så navigerer seg gjennom treet for den aktuelle publikasjonen. Netpublisher inneholder også en Z39.50 server, som er den protokollen biblioteker bruker til å hente bibliografisk informasjon fra.

For brukere som også utformer biblioteker og informasjonskiosker, er denne strukturen perfekt. Netpublisher inneholder kompliserte informasjonstrær som er fri for kluss og rot, og tilbyr Gopher- og Web-klienter med standardaktige dokumenter. Når du skal legge til en haug med ny informasjon, er alt som kreves et par klikk, så endres hele serverens struktur på et blunk, enten ståstedet er Gopher eller Web.

Ytelse

En strategisk forskjell mellom offentlig tilgjengelige servere og kommersielle produkter, bør være ytelsen. I teorien skal kommersielle servere være i stand til å håndtere store datamengder på en rimelig bra responstid.

Vi kjørte to sett tester for å etterprøve denne teorien. Først spurte vi etter den samme Web-siden 100 ganger på rad. Vi lot loggingsinnstillingen stå på, slik at hver forespørsel ble logget av serveren, noe som er et svært vanlig konfigurasjonsvalg. Vi foretok også en forhåndstest på hver server. Hensikten var å laste ned domainnavn-systemets (DNS) cache-buffer, slik at de serverne som foretar en DNS-query for hver inntasting de logger fikk mulighet til å legge denne informasjonen i bufferen for å maksimere ytelsen. Dersom DNS-utsettelse (som innebærer at DNS-overføringen forskyves inntil serveren har ledig kapasitet) var tilgjengelig, aktiverte vi den. For at denne testen skulle bli så rettferdig som mulig, kjørte vi Netscapes Commerce Server i klar tekst, ikke-kryptert modus. Alle NT-servere ble kjørt med samme maskinvare- og programvareoppsett.

Den klart raskeste serveren var Ameritechs Netpublisher, med en gjennomsnittlig ventetid på bare 177 millisekunder. Commerce Server og Website var nesten identiske med henholdsvis 376 og 377 millisekunder, mens ytelsen til Purveyor var 501millisekunder og Webstar skilte seg ut negativt med

1.077 millisekunder. Webstars ytelse var dessuten dårligere enn disse tallene tilsier, fordi den avslo rundt ti prosent av tilkoplingene under denne testen uten belastning. Disse tallene ble nemlig sløyfet i oppsummeringen.

Straks vi hadde etablert en basislinje, ga vi serverne en langt større belastning. Hver server ble bedt om å få opp samme side 1.000 ganger med ti tilkoplinger som ble kjørt simultant. En høy mengde, men ikke urealistisk for en populær storbedriftsserver i "rushtida". For servere der det er mulig å kjøre multiple tilkoplinger, valgte vi 20 simultane tilkoplinger, med andre ord det dobbelte av testmengden, men en passende mengde i disse tilfellene etter vår mening.

Den raskeste serveren i testen uten belastning, Netpublisher, var rett og slett elendig i belastet tilstand, med et gjennomsnitt på 4.099 millisekunder. Netscapes Commerce Server var sterkest her, og besvarte forespørslene på gjennomsnittlig 471 millisekunder. O'Reillys Website gjorde også en høyst akseptabel jobb, på 592 millisekunder. Process' Purveyor og Starnines Webstar måtte bite i gresset i belastet tilstand, og tilbakeviste noen av Purveyor eller de fleste Webstar tilkoplingene. Ettersom de ikke klarte å fullførte testene, mangler ytelsestall for disse serverne.

Verktøy

Om de fleste Web-adresser ser slående like ut, er det fordi verktøysettene som er tilgjengelig i ren HTML både er få og ukvasse. En Web-adresse som tilbyr bare koplede html-dokumenter, kan kanskje gjøre en god jobb med å spre enkel informasjon, men makter ikke å utnytte det virkelige potensialet i Web. Det krever programmering å bygge komplekse informasjonssystemer på Web. Man må da skrive programvare som gjør det mulig for brukerne med en Web-klient å kjøre database-querier, meldingsdata eller objektmanipulering. Noen Web-servere gjør denne oppgaven enkel, mens andre gjør den svært vanskelig.

Den mest brukte kanalen for interaktivt virke mellom Web-servere og Web-applikasjoner, er det vanlige gateway-grensesnittet (CGI). Visse html-kommandoer får Web-serveren til å henvende seg til applikasjonsprogrammer som kjører på serveren. Selv om prosessen med kommunikasjon mellom Web-serveren og applikasjonen vanligvis skjer gjennom CGI, er det ingenting i veien for at en Web-server bruker et annet grensesnitt. CGI er usynlig for klienten og litt forskjellig på hver Web-server, men likheten er stor nok til at de fleste Web-applikasjoner kan flyttes fra server til server uten en komplisert omskriving.

De best uttenkte programmeringsgrensesnittene er bygget inn i Netscapes Commerce Server og O'Reillys Website. Process' Purveyor har et vanlig grensesnitt for programmerere. Ameritechs Netpublisher tilbyr ikke noen dokumentasjon på sitt CGI, men inneholder noen få eksempler i form av prøveprogrammer, de fleste av dem uten kildekode. Starnines Webstar, på Macintosh, oppmuntrer til programmeringsmiljøer på høyere nivå, for eksempel Applescript.

Netscapes Commerce Server inneholder et sofistikert applikasjonsgrensesnitt (API) som er utformet med tanke på en Web- programmererer skal kunne manipulere flere aspekter ved serverens "oppførsel". Commerce Server inneholder standardprogrammeringsstilen CGI, og har ellers tilrettelagt forholdene for at programmerere skal håndtere autentisering, sikkerhet, logging og andre interne detaljoperasjoner. Netscape API støtter også selskapets forslag til HTML-forlengelser. Hensikten er at serveren bidrar mer aktivt til å forsyne klienten med data.

Netscapes API er kraftig, men dokumentasjonen om hva du skal gjøre med den er tynn. Dette reflekterer i grunnen mye av Web-filosofien, der de fleste utviklerne bygger ivrig på eksempler gitt av andre uten nødvendigvis å ha noen nøyaktig forståelse av hva det er de aper etter. Kommersiell bruk fordrer imidlertid en mer gjennomtenkt tilnærming, og det fant vi i Website.

Website har det mest omfattende tilbudet av valg for flere standard programmeringsgrensesnitt. Foruten et godt dokumentert Windows CGI, lar Website utviklerne bruke et POSIX skall, det tolkede Perl-språket, og dessuten gammeldagse MS-DOS autoexec.bat-filer og MS-DOS 16-bits API.

Dokumentasjon

De nesten 100 sidene med dokumentasjon, samt prøveprogrammer som omfatter nærmest alt fra prosessering av formdata til interaktivt arbeid med Microsoft Access, gjør det til en smal sak å prøve seg med noen CGI-programmer.

Purveyors dokumentasjon om CGI er begrenset til én fattig side. Process ga oss likevel nok programeksempler til at vi kom igang. Likeledes nøyer Netpublisher seg med å nevne at det finnes støtte for et CGI-grensesnitt, selv om den eneste dokumentasjonen som foreligger er online-eksemplene.

Starnines Webstar bruker en helt annen tilnærming til Web-programmering. Grensesnittet i CGI-stil snakker til både Applescript-programmer (Macintosh-versjonen av et script med Unix-skall) og selvstendige applikasjoner. Et lite bibliotek med programmeringseksempler følger med. Dokumentasjonen om Webstars programmeringsgrensesnitt er tilstrekkelig, men finnes ikke i bokform. Du kan velge mellom en Webstar CD-ROM og en online-versjon på Starsines Web-adresse. Vi forstår godt behovet for stadige oppdateringer, men en dokumentasjon med litt mer mat i ville likevel vært å foretrekke.

Grensesnitt

I likhet med Netscapes server har Webstar et grensesnitt som gjør det mulig å kontrollere operasjonene av serveren. Dette grensesnittet bruker Appleevents, som tillater fjernstyrt programstyring av serveren fra hvor som helst i et Appletalk-nettverk.

Administrasjon, konfigurasjon og logging er noen av de funksjonene som skiller "playware" fra operasjonelle Web-servere. Administrasjons-grensesnittene til disse serverne varierte fra Netscapes vanvittig sofistikerte Commerce Server til Ameritechs minimalistiske Netpublisher.

Netpublisher tilbyr et grafisk brukergrensesnitt for sine få funksjoner, men lite administrasjonskapasitet utover en enkel logg som lett vokser seg svært stor. Netpublisher lot seg dessuten bare administrere fra den lokale konsollen i Windows NT-systemet. Process' Purveyors administrasjonskapasiteter er noe bedre, med logg-filer i et format som er kompatibelt med flere offentlig tilgjengelige applikasjoner for statistisk analyse og trend-rapportering.

O'Reillys Website legger til støtte for noe fjernstyring, foruten et mer avansert sett av administrasjons- og loggingsfunksjoner. Website gir Web-administratoren mulighet til å holde et "rullende" sett med logger, som "sykler" fra fil til fil enten lokalt eller via en TCP/IP-tilkopling. I tillegg kommer en uvurderlig feilsøkingslogg.

Website kan også settes opp som en "multihome" server, det vil si den lar djerve Web-utgivere ha gående flere HyperText Transfer Protocol (HTTP-) servere som tilbyr forskjellige dokumenter avhengig av hvilken TCP/IP-addresse klienten har oppgitt. For eksempel kan en enkelt server pretendere å være både acme.com og foobar.com, for så å sende tilbake forskjellige sider etter hvilket domain-navn som befinner seg i URL-en. Dette er en god hjelp for selskaper som ønsker å rette sin informasjon mot flere målgrupper uten å måtte bruke mer enn en server.

Starnines Webstar mangler Websites fleksible logging og administrasjon. Derimot er fjernstyring av serveren mulig, enten via det innebygde Webstar administrasjonsprogrammet eller etter en gjør-det-selv-oppskrift med Apple-Events. Disse administrasjonsgrensesnittene representerer et skritt videre i forhold til Webstars stamfar, MacHTTP, som krevde at administratoren måtte redigere en konfigurasjonsfil for å endre serverens oppførsel.

Netscape har det mest innovative administrasjonsgrensesnittet i sin Commerce Server. Istedenfor å bygge et GUI sender produktet ganske enkelt HTTP ut gjennom en spesiell TCP-port til en Netscape-klient. Web-administratoren kjører i gang et eksemplar Netscape Navigator (ingen annen klient vil fungere), retter den mot admin-porten, legger til autentifiseringsinformasjon og styrer hele serveren ved bruk av Navigator. Dette forklarer enkelte av de noe sære funksjonene Netscape har tilføyd Navigator: de er rett og slett nødvendige for å takle de mer avanserte administrasjonsfunksjonene for serveren. Ved å bruke TCP/IP som tilkoplingsprotokoll, får administratoren mulighet til å styre en server fra hvor som helst på Internett.

Administrasjon av Commerce Server er fullstendig udokumentert på den ene siden og helt åpen på den andre: Du kan se alle scriptene som brukes til å administrere serveren og du kan bygge ditt eget GUI-baserte administrasjonsgrensesnitt, såfremt du finner ut av hva Netscape holder på med. Dette er en virkelig imponerende demonstrasjon av klient/thjener-teknologiens kraft. Netscape anvender Navigator som et virkelig administrasjons- og overvåkingsverktøy. Administrasjonsgrensesnittet geleider deg gjennom avanserte trinn, som generering av et offentlig nøkkelsertifikat for sikker serverdrift, for å nevne noe. Andre, enklere styringsfunksjoner, for eksempel brukertilpasset logging, er ikke fullt så velfunderte i Commerce Server som i Website.

Sikkerhet

I det opprinnelige Web-designet var det lagt opp til en tre-trinns sikkerhetsmekanisme som omfattet sikkerhetsområder, brukergrupper innenfor områdene og brukere innenfor gruppene igjen. Serverne tilføyer dessuten TCP/IP-basert sikkerhet for å øke antallet brukere og grupper, i det nettsjefer kan begrense brukertilgangen til serverfunksjoner basert på TCP/IP-addresse eller vertsnavn. Ikke alle serverne vi har sett på tilbyr de samme sikkerhetsfunksjonene.

Ameritechs Netpublisher har den minst fleksible sikkerheten. TCP/IP-adressene kan bare brukes til å skille mellom brukere. Webstar og Commerce Server tilføyer brukere og vertsnavn, men mangler kapasiteten til å konfigurere grupper eller separate sikkerhetsområder. Purveyor tilføyer støtte for grupper. Website har de beste funksjonene for sikkerhetskonfigurasjon, og lar oss definere brukere, gruppe, områder, TCP/IP-adresser og vertsnavn.

Netscapes Commerce Server innbefatter Netscapes protokoll Secure Sockets Layer (SSL) som har fått mye skryt. Den er et sterkt konkurransefortrinn for Web-designere som trenger server-autentifisering (klient-autentifisering som bruker SSL er ikke støttet) samt integritetsforsikringer. Med SSL og Netscape Navigators SSL-kompatible klient, kan en klient sikre seg at serverens identitet er hevet over tvil og at de data som sendes mellom klienten og serveren både er intakte og immune mot endringer.

Det hefter en viss ulempe ved Commerce Servers sikkerhetsfunksjoner. Enten krypterer serveren data eller den gjør det ikke. Du kan altså ikke først sende informasjon som ren tekst og deretter legge inn data i kryptert format. Hvis du ønsker det, må du kjøre to forskjellige servere på to forskjellige porter, som gjerne kan befinne seg på samme maskin. Netscape anbefaler likevel på det sterkeste, noe vi slutter oss til, at du bruker to forskjellige maskiner til dette formålet, selv om selskapet noe motvillig medgir at du kan bruke samme maskin.

Forfatter

En Web-server som gjør lite annet enn å bla opp HTML-dokumenter, er ikke til særlig hjelp for en Web-designer. Enkelte servere, som O'Reillys Website og Process' Purveyor, har en godt utvalg funksjoner som gir designeren et rikt sett med verktøy å bygge med. Andre, som Starnines Webstar og Netscapes Commerce Server, foretrekker å la brukermiljøet tilby verktøy for utvidelse av serveren.

Netpublishers forfatterkapasiteter er et ypperlig eksempel på hva slags innebygde verktøy disse Web-serverne bør tilby. Mange av dem som var tidlig ute med å ta i bruk Web-teknologien kanskje syntes det var greit å "hacke" rundt dypt nede i serverne. Dagens nettsjefer, derimot, er nok takknemlige for all den hjelp de kan få. O'Reillys Website har også Webview, en mindre ambisiøs forfatterpakke, som gir Web-designeren innblikk i alle forholdene mellom forskjellige Web-dokumenter.

Commerce Server leveres med en grunnleggende funksjon kalt katalog-lesing, som lar Web-designeren publisere et helt katalogtre automatisk uten eksplisitt å måtte bygge koplinger og indekser mellom dem. Purveyor tilbyr en liknende funksjon, mens Website inntar høysetet med sin meget avanserte automatiske katalog-lesing. Webstar har et annet syn på saken: selv om selskapet innser nytten av katalog-lesing, har utviklerne bak Starnine ment at sikkerhetsrisikoene er større enn fordelene og derfor latt være å tilrettelegge katalog-lesing for sin server.

Søking gjennom fulltekstsdokumenter er en svært nyttig og populær applikasjon for en Web-server. O'Reillys Website innbefatter indekser og søk, pluss dokumentasjon om bruken, som en del av basispakken. Webstar har innebygde koplinger til Apples Applesearch-motor, som er et kraftig fullteksts søkesystem. Netpublisher tilbyr ikke fulltekstsøking, men støtter (mot en avgift) Z39.50, en bibliografisk protokoll for informasjonsinnhenting, som en fremgangsmåte for søking etter dokumenter av interesse.

Mangelen på en søkemotor i pakken betyr selvsagt ikke at brukere ikke kan gjøre fullstendige tekstsøk. Det betyr bare mer arbeid for designeren som da må finne de rette søkeapplikasjonene og integrere dem i serveren.

Proxy-service er enda en verdifull funksjon som er tilgjengelig i enkelte servere. Teknisk sett er dette en gateway-funksjon, strengt tatt ikke begrenset til Web-tjenester. For å få tilgang til proxy-servere må brukerne peke sine Web-klienter mot proxy-serveren som en gateway. Proxy-serveren cache-lagrer så nylig aksesserte dokumenter til et lokalt lagringssted. Dersom to forskjellige klienter ber om det samme dokumentet via proxy-serveren, blir den andre forespørselen innfridd fra det lokale lagringssted, og ikke som enda en nedhenting fra Internett. De fleste utbredte leserne støtter bruken av en proxy-server som en gateway-port til Web.

Proxy-servere blir ofte betraktet som sikkehetsfunksjoner, men likevel nyttige først og fremst fordi de sparer verdifull båndbredde på nettverket. Enhver organisasjon med flere enn noen dusin Web-klienter knyttet til sitt LAN, vil være godt tjent med en proxy-server. I Process' Purveyor er en proxy-server tatt med i basisproduktet, mens Netscape selger en proxy-server som et separat produkt.

Konklusjon

De to beste all-round Web-serverne vi har sett på, er O'Reillys Website og Netscapes Commerce Server. Website har det største oppbudet av nyttige funksjoner og best dokumentasjon. Commerce Server tilbyr de beste mulighetene for brukertilpassing i dybden og sikker dataoverføring. Begge pakkene er godt egnet til å sette igang ferske Web-sjefer og designere. O'Reilly har et klart overtak når det gjelder pris. Dette produktet er en tredel så dyrt som Netscapes Communications Server, en enklere Web-server uten kryptering, mens Commerce Server koster ti ganger så mye.

Process' Purveyor holder absolutt mål, og dens proxy-server er et stort pluss, men svak dokumentasjon, urealistisk pris og noen manglende funksjoner gir produktet en tredjeplass, et godt stykke bak de andre NT-baserte Web-serverne. Likeledes er Ameritechs Netpublisher en god idé for enkelte markeder, men et sterkt funksjonssett kan ikke legitimere den sinnsvake prisen (nesten ti ganger mer enn de andre produktene vi har vurdert).

Hvis Macintosh-plattform er et must, er Starnines Webstar en utmerket server til en svært gunstig pris, selv om ytelsen i belastet tilstand kunne vært bedre. Webstar innfrir ennå ikke de krav til responstid som storbedriftsbruk forutsetter.


Slik gjorde vi det
For å evaluere disse serverne, installerte vi dem på en Digital Equipment Corp. 66-MHz 486-basert DECpc server med 24MB minne, og kjørte Windows NT Server, versjon 3.5. Vi installerte Macintosh-produktene på en Apple Quadra 800 med 32MB minne og kjørte System 7.5.

Vi vurderte servernes bruksvennlighet, programmeringssstøtte, konfigurasjon og administrasjon, generelle funksjoner og ytelse.

Ytelsestesten besto i at vi først sendte 100 etterfølgende forespørsler om den samme Web-siden til hver enkelt server. Vi spurte om den samme 4Kb siden gjentatte ganger, for å minimere eventuell overbelastning av disken som operativsystemet måtte tilføye, og for å utnytte mulighetene for å bruke cache-bufferen. Så snart en forespørsel ble innfridd, ble den neste sendt. Vi målte den samlede ventetiden fra den første forespørselen ble igangsatt til den siste gruppen på åtte ble mottatt av våre simulerte Web-klienter.

I en annen test ba vi hver server om dem samme siden 1.000 ganger via ti simultane tilkoplinger. Ettersom hver av tilkoplingene fikk svar, ble en ny umiddelbart åpnet mot serveren.

[Forrige artikkel] [Indeks] [Neste artikkel]


[Image map not available]
Artikkel automatisk generert, 17/08-95, kl. 22.53 cw@oslonett.no