Windows DNA

29.10.1999

Hannu Terävä
Sähkö- ja tietoliikennetekniikan osasto
Teknillinen korkeakoulu
hterava@cc.hut.fi

Tiivistelmä

Windows DNA tarjoaa Microsoftin näkemyksen arkkitehtuurista, jolla hajautettuja, skaalautuvia ja luotettavia ohjelmistoja toteutetaan. Se ei tuo muuta uutta kuin nimen, sillä sen alle on koottu lukuisia olemassaolevia ohjelmia ja tekniikoita. DNA:sta on tulossa ensi vuonna uusi versio, Windows DNA 2000, joka tarjoaa lukuisia parannuksia ja uutuuksia nykyiseen versioon nähden. Luonnollisesti kaikki eivät pidä Microsoftin toimintatavoista. Windows DNA -konseptikin on saanut paljon kritiikkiä kohdalleen.


1 Johdanto

2 Windows DNA:n sisältö ja ominaisuuksia

2.1 Komponenttipohjaisuus

2.2 Monipuoliset käyttöliittymämahdollisuudet

2.3 Web-tuki

2.4 Toimivuus olemassaolevien järjestelmien kanssa

2.5 Ohjelmistojen nopea kehitys

3 Kritiikkiä ja pohdintaa

Lähdeluettelo


1 Johdanto

Tietotekniikassa ollaan totuttu, että jokaisella käyttäjällä on oma henkilökohtainen tietokone, jossa suoritetaan jotakin tiettyä ohjelmaa. Viime vuosina ohjelmille asetettavat vaatimukset ovat muuttuneet melkoisesti. Erityisesti Internet on tuonut mukanaan ajattelutavan, että käytettävän tiedon tai ohjelman ei välttämättä tarvitse sijaita samassa koneessa kuin mitä itse käyttää. Joidenkin palvelinohjelmistojen täytyy pystyä joissakin tapauksissa palvelemaan tuhansia tai miljoonia käyttäjiä samanaikaisesti, niiden on oltava käytössä yötä päivää läpi vuoden ja tarpeeksi joustavia nopeasti muuttuvien tarpeiden takia [8]. Microsoftin Windows DNA –malli (Distributed interNet Applications) tarjoaa Microsoftin näkemyksen arkkitehtuurista, jolla skaalautuvia, hajautettuja ja vakaita sovelluksia voidaan tehdä Windows-ympäristössä. Käytännössä DNA ei tuo paljoa uutta. Se on Microsoftin markkinointiosaston keksintö, jonka alle koottu suuri määrä Microsoftin olemassaolevia tekniikoita. Microsoft on luvannut toimittaa arkkitehtuurista uuden version ensi vuonna [3]. Se on nykyisen DNA:n paranneltu versio, jossa on paljon uusia ominaisuuksia. Uusi DNA:n versio tunnetaan nimella Windows DNA 2000.

2 Windows DNA:n sisältö ja ominaisuuksia

Windows DNA:n ideana on tarjota arkkitehtuuri, jonka avulla uuden tyyppisille sovelluksille asetetut tiukat vaatimukset pystytään täyttämään. Sovelluksissa on kolmitasomalli, jossa on erikseen datakerros, businesslogiikkakerros ja esityskerros [8]. Eriyttämällä sovellukset kolmeen osaan niiden toteuttaminen ja ylläpito on helpompaa. Eräs Windows DNA:n ideoista on helpottaa ja nopeutttaa ohjelmoijan työtä piilottamalla ohjelman infrastruktuuri, jolloin ohjelmoija voi keskittyä ohjelman kannalta olennaisiin osiin. DNA:lla on paljon muitakin ominaisuuksia. Seuraavaksi käsitellään niistä tärkeimpiä.

2.1 Komponenttipohjaisuus

Windows DNA perustuu Microsoftin kehittämään COM-teknologiaan (Component Object Model), jonka juuret ovat OLE-tekniikassa [6, 7, 8, 9]. COM on Microsoftin dominoivan markkina-aseman myötä tullut ohjelmistomaailman käytetyimmäksi komponenttimalliksi, ja se on käytettävissä yli 150 miljoonassa pöytäkoneessa tai palvelimessa [6, 8]. COM on sangen monimutkainen järjestelmä, mutta sen täydellinen ymmärtäminen ei ole tarpeen, sillä Microsoftin kehitystyökalujen ansiosta sen käyttäminen on sangen vaivatonta [6, 7].

COM:n avulla ohjelmoijien on mahdollista tehdä binäärikomponentteja, joita voidaan käyttää, missä tahansa kohtaa ohjelmassa. Se voi siis sisältää käyttöliittymän tai olla pelkkä logiikkakomponentti. Myös niiden uudelleenkäyttö on mahdollista aiempia ratkaisuja paremmin. Binäärikomponenttien etuna on se, että ne on voitu tehdä millä tahansa kielellä, ja niitä voidaan käyttää mistä tahansa ohjelmointikielestä [7, 8, 11]. Lisäksi COM-komponentit piilottavat ohjelmoijalta paljon vaikeita ja työläitä ohjelmointitehtäviä eikä binäärikomponentin vaihtaminen vaadi ohjelman uudelleenkääntämistä, jolloin ohjelmien tekeminen nopeutuu.

2.2 Monipuoliset käyttöliittymämahdollisuudet

Nykypäivän ja tulevaisuuden sovelluksia ei välttämättä käytetä omalta koneelta tai katsota 17 tuuman monitorista. Käyttäjät edelleen kuitenkin haluavat helppokäyttöisiä ohjelmia, joissa on monipuolinen käyttöliittymä. Samojen ohjelmien olisi tarkoitus toimia Windowsin lisäksi myös ympäristöissä. Lisäksi sen on pystyttävä toimimaan kaikenkokoisissa ja -laatuissa näytöistä matkapuhelimista huippulaadukkaisiin monitoreihin. [7, 8]

Nykyään HTML-kieli ja Web-pohjaiset ratkaisut ovat suuressa suosiossa. Jos käytetään standardia HTML-kieltä, Web-sivuja pystyy selamaan millä tahansa kieltä ymmärtävällä selaimella. Tavallisen HTML-kielen ongelmana on kuitenkin se, että käyttöliittymä on sangen rajoittunut eikä sovellu läheskään kaikkiin tarpeisiin.

Kaikki sovelluksien ei kuitenkaan välttämättä tarvitse toimia kaikissa eri selaimissa. Yleensä yrityksellä on käytössään yksi selain, jonka erikoisominaisuuksia voidaan yrityksen sisäisissä sovelluksissa käyttää vapaasti. On siis usein mahdollista, että selaimiin toteutettuja erikoisominaisuuksia voidaan hyödyntää yhteensopivuusongelmiä pelkäämättä. Laajennuksien, kuten dynaamisen HTML:n ja skriptikielten avulla voidaan saadaan paljon enemmän aikaan kuin tavallisella HTML:llä. [7, 8]

Windows DNA:n tukee edellämainittujen lisäksi COM-pohjaisia ActiveX-komponentteja. Lisäksi on tarvittaessa mahdollista käyttää myös Windowsin tarjoamaa rajapintaa, jolla sovellus voi kutsua itsensä Windowsin tarjoamia funktioita. Se kuitenkin rajoittaa ohjelmien käytön Windows-maailmaan. Näiden kaikkien avulla on mahdollista toteuttaa verkon yli toimivia ohjelmia, jotka pystyvät tehokkaasti hyödyntämään asiakaskoneen palveluja.

Tekniikoissa piilee kuitenkin turvallisuusriskejä. Turvallisuus ei ole ikinä ollut Microsoftin vahvimpia puolia [2]. DNA 2000:n olisi kuitenkin tarkoitus parantaa tätäkin osa-aluetta [7].

2.3 Web-tuki

ASP eli Active Server Pages on termi, jolla tarkoitetaan kieliriippumatonta palvelinpuolen skriptiympäristöä, jolla voidaan toteuttaa dynaamisia Web-palvelimia. ASP yhdessä dynaamisen HTML:n, skriptikielten ja ActiveX-komponenttien kanssa mahdollistaa monipuolisten Web-palvelujen toteuttamisen. Kun mukaan lisää vielä varta vasten Internet- ja Intranet-käyttöön suunnitellun tietopalvelimen, Microsoftin Internet Information Serverin (IIS), on skaalautuvien ja nopeasti kehitettävien Web-sovellusten tekeminen helpompaa kuin koskaan. [7, 8, 9]

2.4 Toimivuus olemassaolevien järjestelmien kanssa

Microsoftin lähestymistapa eri laitteistojen ja ympäristöjen aiheuttamiin yhteensopivuusongelmiin oli kehittää sellainen ratkaisu, jossa olemassaolevia laitteita ja järjestelmiä ei tarvitse muuttaa. DNA:ssa on käytössä mm. MSMQ (Microsoft Message Queue Server) -sanomanvälityspalvelu, joka on yhteensopiva muiden valmistajien vastaavien ohjelmien kanssa. COM-transaktiointegraattorin avulla saadaan IBM:n transaktioserverit ja businesslogiikkakomponentit näyttämään COM-komponenteilta, jolloin olemassaolevia ohjelmistoja voidaan käyttää edelleen. Myös transaktioiden käsittely kuuluu siis DNA-pakettiin. [7, 8, 9]

Universal Data Access on Microsoftin valinta tietokantajärjestelmäksi. Se perustuu teollisuuden tekemään avoimeen määrittelyyn, ja sillä on vankka tuki taustallaan. Se on myös yhteensopiva suurimpien tietokantavalmistajien ohjelmistojen kanssa. [7, 8, 9]

2.5 Ohjelmistojen nopea kehitys

Eräs suurimmista DNA:n tarjoamista eduista on se, että hajautettujen ja skaalautuvien ohjelmien tekeminen on sangen helppoa ja nopeata. DNA:ssa olevat ohjelmat hoitavat ohjelmoijan puolesta paljon asioista, joilla ei ole itse ohjelman kanssa tekemistä, mutta joihin on aikaisemmin saattanut joutua kuluttamaan paljon aikaa [8, 9]. Windows 2000 tulee tarjoamaan osan DNA:ssa olevista palveluista suoraan käyttöjärjestelmän palveluina, jolloin ohjelmointi tulee entistä helpommaksi [7]. Kun ohjelmoija voi keskittyä vain olennaiseen, pystytään ohjelmia kehittämään entistä nopeammin, mikä on nykypäivän kovassa kilpailussa erittäin tärkeää.

3 Kritiikkiä ja pohdintaa

Kokonaisuudessaan Windows DNA on sangen hämmentävä. Sen määrittely on Microsoftinkin teksteistä luettuna sangen epämääräinen ja siitä on aluksi hyvin vaikea saada kokonaiskuvaa. Syykin on selvä. Windows DNA on markkinoinnin tulos, johon on vain kerätty suuri joukko Microsoftin kehittämiä tuotteita ja työkaluja. Se tuntuu tarjoavan ratkaisun jokaiseen tällä hetkellä vallitsevaan ongelmaan, ja sen white paperit vilisevät tämän hetken kuumimpia sanoja. DNA:n seuraava versio DNA 2000 on vieläkin kovempi pakkaus. White Paperista löytyy vielä enemmän muotisanoja kuin edeltäjänsä teksteistä: skaalautuvuus, hajautettu ohjelmisto, joustavuus, luotettavuus, yhteentoimivuus, adaptiivisuus, e-commerce, XML, COM+, Internet, nopea ohjelmistojen kehitys, avoin arkkitehtuuri, jne [7]. Lista on loputon. Itse asiassa Windows DNA 2000 vaikuttaa varsin lupaavalta paketilta lukuisine parannuksineen. Microsoftista kun on kyse, vastustajiakin luonnollisesti löytyy [2, 6]. Joitakin ärsyttää Microsoftin tapa tehdä vanhoihin tekniikoihin muutoksia ja keksiä niille uusi nimi [2, 6]. Joidenkin mielestä Microsoftin DNA 2000 -lupauksia ei kannata kuunnella, koska vastaavia ratkaisuja on jo nyt olemassa [2].

COM on DNA:n perustekniikka, jonka avulla komponentit keskustelevat keskenään. CORBA on eräs sen pahimmista kilpailijoista. COM:n ja CORBA:n paremmuudesta ollaan montaa mieltä. COM:n eräs suurimmista heikkouksista on se, että se ei ole vielä kovinkaan vanha tekniikka. Kilpailijalla on paljon enemmän ikää, joka tarkoittaa suurempaa luotettavuutta ja parempaa toimivuutta. Useiden vertailujen perusteella molemmille löytyy oma käyttötarkoituksensa. COM ei siis ole mikään huono ratkaisu, vaikka Netscapen varatoimitusjohtaja oli pari vuotta sitten varma, että Microsoft joutuu luopumaan COM-tekniikasta ja alkaa käyttämään CORBA:a [5]. DNA 2000:n myötä esitellään COM+, jossa on useita parannuksia ja uusia ominaisuuksia nykyiseen COM:in verrattuna. Saa nähdä, millaiset ovat kilpailijoiden voimasuhteet silloin. [8, 11, 12]

Microsoft on pitkään pärjännyt lähes monopolin omaisen markkina-asemansa avulla. Yleensä Microsoft on pyrkinyt ajamaan omat ratkaisunsa läpi, ja on siinä onnistunutkin, vaikka ne eivät olisikaan teknisesti parhaita mahdollisia. Internetin lyödessä itseään yhä enemmän läpi Microsoft on huomannut, ettei se voi enää luottaa enää pelkkiin Windows-pohjaisiin ratkaisuihin vaan se on yrittänyt tehdä tekniikoita, jotka ovat riippumattomia laitteistosta [7, 8, 9]. Windows DNA -paketissa on joitakin täysin avoimia standardeja, mutta paljon on myös Microsoftin itsensä kehittämiä ratkaisuja. Microsoftin omissa ratkaisuissa on se vika, että eivät välttämättä miellytä muuta ohjelmistoteollisuutta. Microsoft yrittää kuitenkin kovasti saada tekniikkansa toimimaan myös muissa laiteympäristöissä [7, 8, 9]. Onpa DNA:n kanssa mahdollista käyttää jopa CORBA:akin, kunhan ensin hankkii sopivan sovittimen COM:n ja CORBA:n väliin [9].

Microsoft on saanut niin vankan vastustajajoukon mm. UNIX- ja LINUX-piireistä, jotka mollaavat Microsoftia sen, minkä ehtivät [2]. Eräs Microsoftin menestyksen syy on kuitenkin se, että tuotteet ovat oikeastikin hyviä. COM-tekniikasta pidetään, Windows pärjää hyvin tehokkuustesteissä, kehitystyökalut ovat huippuluokkaa, hinta-laatusuhde on ylivoimainen eikä Windows kaatuile niin usein kuin puheista voisi päätellä jne [1, 6, 7, 10]. Toisaalta monet asiat ovat mielipidekysymyksiä, mutta joitakin asioita pystytään myös kiistämättömästi mittaamaan. Ne osoittavat, että Microsoftin tuotteet ovat oikeastikin hyviä [1, 10].

Ensi vuosituhat alkaa mielenkiintoisesti. Ensi vuoden puolella Microsoftin pitäisi julkistaa DNA 2000, jonka mukana alkaa Microsoftin sanojen mukaan Web-sovellusten kehityksen uusi aikakausi [4]. Kilpaileva leiri on varmasti keksinyt jotain sillä välin [2]. Internetistä ja Webistä onkin tulossa uusi kilpailukenttä. Microsoft on tiukan paikan edessä, sillä kilpailijoilla on hyvä mahdollisuus murtaa sen dominoiva markkina-asema [3, 4].

Lähdeluettelo

[1]

Dyck, T., 8 Web App Servers That Deliver, PC Week Online, 12.7.1999 [viitattu 28.10.1999]
< http://www.zdnet.com/pcweek/stories/news/0,4153,409380,00.html>

[2]

Ferris, P., Microsoft DNA: What does it really stand for?, 17.9.1999 [viitattu 28.10.1999]
< http://linuxtoday.com/stories/10136.html>

[3]

Gonsalves, A., Can Microsoft Evolve DNA 2000 for the Web?, PC Week Online, 17.9.1999 [viitattu 28.10.1999]
< http://www.zdnet.com/pcweek/stories/news/0,4153,1017285,00.html>

[4]

Krasne, A., What Exactly Is Windows DNA?, PC World Online, 14.9.1999 [viitattu 28.10.1999]
< http://www.pcworld.com/pcwtoday/article/0,1510,12771,00.html>

[5]

Lash, A., Andreessen: MS will capitulate on CORBA, CNET News.com, 18.7.1997
< http://news.cnet.com/news/0-1005-200-320665.html>

[6]

Lash, A., Developers like COM, not hype, CNET News.com, 24.9.1997
< http://news.cnet.com/news/0-1005-200-322429.html>

[7]

Microsoft Corporation, Building Tomorrow's Applications Today With Windows DNA 2000, 13.9.1999
< http://www.microsoft.com/dna/about/whitepapers/dna2000.asp>

[8]

Microsoft Corporation, Building Windows-Based Applications for the Internet Age, 29.4.1999
< http://www.microsoft.com/dna/about/whitepapers/dnawp.asp>

[9]

Microsoft Corporation, Frequently Asked Questions about Windows DNA, 28.4.1999
< http://asia.microsoft.com/dna/about/overview/faq.asp>

[10]

Microsoft Corporation, Solid investment: Quote.com picks Windows NT over Sun to boost performance, cut costs, 5.8.1999
< http://microsoft.com/windows/dailynews2/080599.htm>

[11]

Object Management Group, Inc., Comparing ActiveX And CORBA/IIOP, 1997-1999 [viitattu 28.10.1999]
< http://www.omg.org/library/activex.html>

[12]

Tallman, O. & Kain, B., COM versus CORBA: A Decision Framework, 27.8.1999
< http://www.quoininc.com/quoininc/COM_CORBA.html>

Lisätietoja

Making Sense Of The COM vs. CORBA Debate
Kattava vertailu CORBA- ja COM-tekniikoiden välillä.
Recommendations for Using DCE, COM, CORBA Middleware
Laaja vertailu DCE:n, COM:n ja CORBA:n käytöstä. Tutkimusta on ollut tukemassa mm. Yhdysvaltain armeija
A Tutorial on Microsoft Technologies for building distributed web applications
Artikkelissa kerrotaan, kuinka Microsoftin tekniikoilla käytännössä toteutetaan hajautettuja sovelluksia.