Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall
Copyright © 2003 Systek Innhold Utenfra og inn – Presentasjon til integrasjon Teknisk plattform – miljø og verktøy Ikke-tekniske aspekter Oppsummering
Copyright © 2003 Systek Cartoon copyright Nitin Bharti,
Copyright © 2003 Systek Hva snakker vi om? Språk: C#, VB.NET, MC++ Runtime: CLR Bibliotek: FCL Enterprise Arkitektur: ADO.NET, ASP.NET, ASP.NET Web Services, COM+ Arvtager til COM Erobret mye på kort tid Språk: Java Runtime: JVM Bibliotek: J2SE API Enterprise arkitektur: J2EE API Dominant for dotcom-tiden Støttet av en bred rekke leverandører Vært gjennom ilddåpen
Copyright © 2003 Systek Enterprise-teknologi Browser WebServer Resource Data- base Messag ing Rich Client Web Services HTML rendering Presentation logic Plug-ins Enterprise services Transactions Clustring Security Communication Session mgmt etc... Dynamic installation User Interface Other system
Copyright © 2003 Systek Webapplikasjoner ASP.NET starter der JSP slutter JSP-redigering i Eclipse
Copyright © 2003 Systek Webapplikasjoner.NET ASP.NET Operere på XML syntaks- treet Visuelt design Gode verktøy Server-side ”events” God støtte for mobile web- klienter (wap) Java JSP og Servlet Opererer på HTML-teksten Verktøy kommer (BEA WebShop, IBM WebSphere Application Developer) Mange gode open-source prosjekter (Velocity, Exo, Struts, ECS)
Copyright © 2003 Systek Visual Studio.NET lar programmereren designe attraktive grensesnitt visuelt Swing har et rikt API som støtter effektiv visning av modeller
Copyright © 2003 Systek GUI Windows Forms Visuell designer Native look & feel God performance Gode verktøy (men noen barnesykdommer...?) Swing Gode bibliokteker Ser ekkelt ut! Dårlig performance (< 1.4.2) Mange middelmådige verktøy Men: Grunnlag for stor grad av gjenbruk => produktivitet Se også SWT
Copyright © 2003 Systek Onde påstander Cartoon copyright Nitin Bharti,
Copyright © 2003 Systek Enterprise Service.NET Web Services Data Transfer (ADO.NET) Objekter til klient Simplistisk? Java Web Services (J2EE 1.4) Remote proxy (Entity Beans) Objekter på server Kompleks? Lav produktivitet Enterprise services Transactions Clustring Security Communication
Copyright © 2003 Systek Integrasjon.NET P/Invoke er konge! Interop med COM Web Services Java JNI suger Interop med CORBA JCA med COBOL etc. Web services
Copyright © 2003 Systek Innhold Utenfra og inn – Presentasjon til integrasjon Teknisk plattform – miljø og verktøy Ikke-tekniske aspekter Oppsummering
Copyright © 2003 Systek C# versus Java EnumsKommer i Tiger (bedre) AttributesKommer i Tiger (”metadata”) Events, Properties, Delegators Ikke i Java (idiomer) Anonyme funksjoner kommer i WhidBey (bedre) Anonyme indre klasser (viktig!) Generics (WhidBey)Generics (Tiger)
Copyright © 2003 Systek Verktøy og teknologier.NET Kommersielle komponenter Én plattform Standardisert via ECMA Standard fra Microsoft Relativt dyre IDE (VS.NET, Borland C# builder), men Open- Source finnes Java Open-source Mange leverandører (for mange?) ”Standardisert” via JCP Standard fra IBM, BEA, Oracle, Apache, Sun, Nokia, Motorola, etc. Fra gode Open-Source (Eclipse, NetBeans), til kommersielle JDeveloper, Together, OptimalJ
Copyright © 2003 Systek Portabilitet
Copyright © 2003 Systek Portabilitet.NET Windows Pocket PC SmartPhone Men se: Mono, Rotor Java Windows, Solaris, Linux, Mac J2ME: Siemens, Nokia, Ericsson, Motorola J2ME: Set-top bokser, mange andre Java Card Portet til Toaster
Copyright © 2003 Systek Innhold Utenfra og inn – Presentasjon til integrasjon Teknisk plattform – miljø og verktøy Ikke-tekniske aspekter Oppsummering
Copyright © 2003 Systek Kostnad Kostnad er sammensatt Opplæring Produktivitet Tilgang til utviklere Kommunikasjon Runtime-lisenser Utviklingslisenser Verktøy, tilgjengelighet og lisensieringsmodeller Hardware-kostnader Integrasjonskostnader ”Forsikringskostnad” – vi tør ikke bytte Prosjekter og organisasjoner har alltid endringskostnader.NET er typisk billigere enn kommersiell Java Java open-source er et aktuelt alternativ
Copyright © 2003 Systek Opplæring og transisjon Opplæring er dyrere enn forventet Språk IDE Verktøy Bibliotek Arkitektur Integrasjon er alltid dyrere enn forventet
Copyright © 2003 Systek Web Services og samarbeid Cartoon copyright Nitin Bharti,
Copyright © 2003 Systek Samarbeid J2EE + VB.NET = SANT? Web Services er lovet som løsningen, men jeg savner: Sikkerhet (kommer) Transaksjoner (jada, kommer det også) Callbacks Data organisasjon IBM og Microsoft forfatter mange av disse standardene sammen
Copyright © 2003 Systek Innhold Utenfra og inn – Presentasjon til integrasjon Teknisk plattform – miljø og verktøy Ikke-tekniske aspekter Oppsummering
Copyright © 2003 Systek Framtiden for.NET Klassiske Windows-prosjekter vil gå over til.NET Har erobret nye kunder og brukere for Microsoft Mange har gått over fra Java (og er fornøyde) Vil dominere klient-utvikling (men se opp for SWT) Utviklingen vil styres av Microsoft
Copyright © 2003 Systek Framtiden for Java Men Java er ikke død! Vil dominere i integrasjon mot legacy-systemer Fortsatt den plattformen med flest bibliotek etc. Fortsatt den mest populære plattformen for Open- Source og akademiske prosjekter J2EE 1.4 og J2SE 1.5 svarer på tiltale fra.NET
Copyright © 2003 Systek Oppsummering J2EE 1.4 tatt igjen fordelen til.NET på Enterprise. J2SE 1.5 (nå i beta) tar igjen fordelen til C#..NET er sterk på brukergrensesnitt Java’s open-source miljø er veldig verdifullt Integrasjon et viktig område – begge har styrker Kostnad ved å skifte plattform er veldig sammensatt Plattformene kommer sammen til å dominere framover
Copyright © 2003 Systek Så: Hvilken plattform er best? (nei, jeg skal ikke gi dere fasiten) Så: Hvilken plattform er best? (nei, jeg skal ikke gi dere fasiten)