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 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 Enterprise services Resource Data- base Messag ing Rich Client Web Services HTML rendering Presentation logic Plug-ins Transactions Clustring Security Communication Session mgmt etc... Dynamic installation User Interface
Copyright © 2003 Systek Web Applikasjoner.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 ASP.NET starter der JSP slutter JSP-redigering i Eclipse
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 Visual Studio.NET lar programmereren designe attraktive grensesnitt visuelt Swing har et rikt API som støtter effektiv visning av modeller
Copyright © 2003 Systek Enterprise Service.NET Web Services Data Transfer (ADO.NET) Simplistisk? Java Web Services (endelig) Remote proxy (Entity Beans) Kompleks? Lav produktivitet
Copyright © 2003 Systek Integrasjon.NET P/Invoke er konge! Interop med COM Web Services Java JNI suger Interop med CORBA JCA 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) 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.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 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 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 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 var 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 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