Java versus .NET The Heavyweight Championship Showdown

Post on 30-Dec-2015

43 views 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 of Java versus .NET The Heavyweight Championship Showdown

Copyright © 2003 Systek AS brodwall@systek.no

Java versus .NETThe Heavyweight Championship

Showdown

En subjektiv sammenligningJohannes Brodwall

Copyright © 2003 Systek AS brodwall@systek.no

Innhold

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

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

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

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

ASP.NET starter der JSP slutter

JSP-redigering i Eclipse

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

Visual Studio .NET lar programmereren designe attraktive grensesnitt visuelt

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

Copyright © 2003 Systek AS brodwall@systek.no

Enterprise Service

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

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

Copyright © 2003 Systek AS brodwall@systek.no

Integrasjon

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

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

Copyright © 2003 Systek AS brodwall@systek.no

Innhold

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

Copyright © 2003 Systek AS brodwall@systek.no

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)

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

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 AS brodwall@systek.no

Copyright © 2003 Systek AS brodwall@systek.no

Innhold

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

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

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 AS brodwall@systek.no

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 AS brodwall@systek.no

Innhold

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

Copyright © 2003 Systek AS brodwall@systek.no

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 AS brodwall@systek.no

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 AS brodwall@systek.no

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