java versus .net the heavyweight championship showdown

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

Upload: glenna-hunt

Post on 30-Dec-2015

43 views

Category:

Documents


5 download

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

TRANSCRIPT

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