Slående likheter mellom .Net og Java

.Net og Java må oppfattes som konkurrerende merkevarer innen applikasjonsplattformer, sier kjendiskonsulent David Chappell. - De følger en helt parallell arkitektur.

David Chappell er internasjonalt kjent som konsulent, debattant, skribent, forfatter og lærebokforfatter, med applikasjonsutvikling og programvarearkitektur som spesialfelt. Blant oppdragsgivere er Compaq, IBM og Stanford University. Nylig har han turnert Europa for Microsoft, som foredragsholder på konferanser for profesjonelle utviklere.

Blant oppgavene til Chappell er å skape klarhet i plattformer og arkitekturer innen applikasjonsutvikling. Dette har også allmenn interesse i den kommende verden av webtjenester ("web services"), der man bygger nye tjenester ved å kombinere komponenter fra ulike kilder over Internett.

- Microsoft .Net og Java er alternative merkevarer med felles bruksområder, mener Chappell. - De konkurrerer blant annet som applikasjonsplattformer. .Net Framework er egentlig en applikasjonsserver, og gjør mye av det samme som Java-baserte applikasjonstjenere fra IBM (WebSphere), BEA (WebLogic), iPlanet og Oracle. Alle disse bygger på Java 2 Enterprise Edition, J2EE.

Chappell inviterer til å se på hva som egentlig ligger i applikasjonsplattformer.

- I bunn står operativsystemet. Over det har de et runtime-miljø. Over der igjen er det biblioteker med komponenter for brukergrensesnitt, transaksjonshåndtering, skripting, datahåndtering og andre tjenester. På toppen av det kommer ulike typer applikasjoner: nettsider, webtjenester, lokale applikasjoner og andre. En applikasjonstjener ivaretar alle lagene over selve operativsystemet. .Net Framework støtter alle slags applikasjoner, og omfatter både bibliotek og Microsofts runtime-miljø, CLR eller Common Language Runtime. Med J2EE 1.3 er strukturen den samme. Det er applikasjoner av ulike slag, mange standard bibliotek, blant annet EJB (enterprise java beans), og et felles runtime-miljø i bunn med Java virtuell maskin.

Forskjellen er dels at J2EE 1.3 ikke støtter webtjenester ennå, dels at .Net Framework krever Windows, mens J2EE kjører på en rekke plattformer. Neste utgave av J2EE vil støtte webtjenester.

Chappell utelukker helt at Microsoft vil gjøre noe for å la .Net Framework kjøre på andre plattformer enn Windows. Han peker på at det kan oppfattes som en fordel for .Net Framework at den er i stand til å utnytte fullt ut alt Windows kan bidra med.

- Arkitekturen for applikasjonsplattformer ble opprinnelig etablert av Microsoft i 1996, det samme året som Sun kunngjorde Java. I 1998 innebar Java-nyheter som EJB, JSP og JDBC et viktig framskritt, og at Java fikk et forsprang. I år. Med utviklingen av .Net og støtten til webtjenester har Microsoft på nytt fått overtaket.

Chappell ser for øvrig på J2EE - Java 2 Enterprise Edition - som en "kvasistandard".

- Brukere elsker standarder, mens leverandører hater dem fordi de innskrenker konkurranse til et spørsmål om pris. Kvasistandarder lar leverandørene løse dette problemet ved å gjøre det mulig å legge inn proprietære knagger. SQL og Corba er andre eksempler på kvasistandarder. J2EE er tilstrekkelig løst definert til at leverandører kan hekte brukere på sine proprietære knagger.

Chappell spår at dagens ledere innen kommersielle J2EE-baserte applikasjonstjenere, IBM og BEA, vil beholde markedshegemoniet, og at de andre, det vil si iPlanet og Oracle, vil falle fra. Etter hvert tror han disse vil få stadig hardere konkurransen fra åpenkildekodeprosjektet Tomcat, en del av Jakarta Project under Apache Software Foundation.

Til toppen