23
Copyright © 2003 Systek AS brodwall Java versus .NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall

Java versus .NET The Heavyweight Championship Showdown

Embed Size (px)

DESCRIPTION

Java versus .NET The Heavyweight Championship Showdown. En subjektiv sammenligning Johannes Brodwall. Innhold. Utenfra og inn – Presentasjon til integrasjon Teknisk plattform – miljø og verktøy Ikke-tekniske aspekter Oppsummering. Språk: C#, VB.NET, MC++ Runtime: CLR Bibliotek: FCL - PowerPoint PPT Presentation

Citation preview

Page 1: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Java versus .NETThe Heavyweight Championship

Showdown

En subjektiv sammenligningJohannes Brodwall

Page 2: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Innhold

• Utenfra og inn – Presentasjon til integrasjon• Teknisk plattform – miljø og verktøy• Ikke-tekniske aspekter• Oppsummering

Page 3: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 4: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Enterprise-teknologi

BrowserBrowserWebServerWebServer

Enterprise services

Enterprise services

ResourceResource

Data-base

MessagingRich

ClientRich

Client

Web Services

Web Services

HTML rendering

HTML rendering

Presentation logic

Presentation logic

Plug-insPlug-ins

TransactionsTransactions

ClustringClustring

SecuritySecurity

CommunicationCommunication

Session mgmt etc...

Session mgmt etc...

Dynamic installation

Dynamic installation

User Interface

User Interface

Page 5: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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)

Page 6: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

ASP.NET starter der JSP slutter

JSP-redigering i Eclipse

Page 7: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 8: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Visual Studio .NET lar programmereren designe attraktive grensesnitt visuelt

Swing har et rikt API som støtter effektiv visning av modeller

Page 9: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Enterprise Service

.NET• Web Services• Data Transfer (ADO.NET)• Simplistisk?

Java• Web Services (endelig)• Remote proxy (Entity Beans)• Kompleks?• Lav produktivitet

Page 10: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Integrasjon

.NET• P/Invoke er konge!• Interop med COM• Web Services

Java• JNI suger• Interop med CORBA• JCA• Web services

Page 11: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Innhold

• Utenfra og inn – Presentasjon til integrasjon• Teknisk plattform – miljø og verktøy• Ikke-tekniske aspekter• Oppsummering

Page 12: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

C# versus Java

Enums Kommer i Tiger (bedre)

Attributes Kommer i Tiger (”metadata”)

Events, Properties, Delegators

Ikke i Java (idiomer)

Kommer i WhidBey (bedre) Anonyme indre klasser (viktig!)

Generics (WhidBey) Generics (Tiger)

Page 13: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 14: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 15: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Page 16: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Innhold

• Utenfra og inn – Presentasjon til integrasjon• Teknisk plattform – miljø og verktøy• Ikke-tekniske aspekter• Oppsummering

Page 17: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 18: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 19: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Opplæring og transisjon

• Opplæring er dyrere enn forventet• Språk• IDE• Verktøy• Bibliotek• Arkitektur

• Integrasjon er alltid dyrere enn forventet

Page 20: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

Innhold

• Utenfra og inn – Presentasjon til integrasjon• Teknisk plattform – miljø og verktøy• Ikke-tekniske aspekter• Oppsummering

Page 21: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 22: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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

Page 23: Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS [email protected]

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