Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown.

Liknende presentasjoner


Presentasjon om: "Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown."— Utskrift av presentasjonen:

1 Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown

2 Copyright © 2003 Systek Konsulenthus startet i 1980 Klassiske kunder: Telekom, industri og forsvar Nye kunder: Bank Rådgiving og ekspertise innen alle deler av programvareutvikling: Prosjektledelse, testledelse, arkitektur, utvikling Spisskompetanse på: Java,.NET, programvarearkitektur og utviklingsprosesser Høyt kvalifiserte og motiverte konsulenter

3 Copyright © 2003 Systek Systeks visjon På 80 og 90 tallet ble flere og flere sittende med PC’er som en del av sin hverdag Vi tror at i utviklingen framover, vil PC’en bli et usynlig, mobilt støtteverktøy for menneskelige aktiviteter

4 Copyright © 2003 Systek Bakgrunn Johannes Brodwall, Systek Har jobbet med Java i årevis – SCJP, SCJD Var prosjektleder og arkitekt på et vellykket.NET prosjekt i første halvdel av Mange spør seg om det er på tide å bytte teknologi Fra C/C++ og COM til.NET Fra Java til.NET Teknologiene er omfattende – mer enn programmeringsspråk Følgende er mine erfaringer

5 Copyright © 2003 Systek I det blå hjørnet: Utfordreren.NET™ Arvtageren til tungvektere som COM, MTS, ASP! Fra laboratoriene til den mektigste software organisasjonen i verden Har vekket enorm interesse Har utfordreren lært fra sine forgjengeres mangler? Objektsorientert modell Kraftige biblioteker Designet for enterpriseapplikasjoner

6 Copyright © 2003 Systek I det røde hjørnet: Regjerende mester Java Årevis med etablert robusthet Tusenvis med vellykkede prosjekter Hundrevis med industristandarder Bred industristøtte fra mange aktører Det mest populære valget i akademiske miljøer Objektsorientert modell Kraftige biblioteker Bygget for enterpriseapplikasjoner

7 Copyright © 2003 Systek Status Java og Windows har hoppet bukk over hverandre gjennom hele 90-tallet Eks: Java RMI – DCOM ASP – JSP MTS – EJB.NET er Microsoft’s neste hopp – og det er et langt ett! Java ligger nå litt etter, men mye av forspranget blir tatt igjen ved Java 1.5 (Tiger) – 2004Q2

8 Copyright © 2003 Systek Tekniske temaer Benchmarking Programmeringsspråk Arkitektur Desktop Mobil Server Andre tekniske aspekter Integrasjon Portabilitet Sikkerhet 1. Runde

9 Copyright © 2003 Systek Benchmarks Finnes mange benchmarks der ute Mest kjente er Java Pet Store versus.NET Pet Store Benchmarks er FUD! De fleste benchmarks: Tester kun et fåtall faktorer, og Kan forbedres vilkårlig med innsats Forårsaker lange debatter som riktigheten av målingene

10 Copyright © 2003 Systek Språkmessige forskjeller Mest aktuelt å sammenligne C# og Java C# har i tillegg til Java: Struct og enum-typer Events, delegators, properties Operator overloading (fjernet med vilje fra Java) Attributter (åpner for mye god magi) Autoboxing

11 Copyright © 2003 Systek Språkforskjeller Mye nytt i C# er bra, Men C# blir mer kompleks – det var derfor mange forlot C++ på 90-tallet. Det viktigste kommer i Java 1.5 (Tiger) – men antageligvis ikke events eller operator overloading Både neste versjon av C# og Java 1.5 kommer til å ha generics Heller ikke et veldig viktig tema!

12 Copyright © 2003 Systek N-lags arkitektur Server Database Web- server Applikasjons server Web Browser Rike klienter WAP Rik klient

13 Copyright © 2003 Systek Presentation Enterprise Arkitektur Client Logic Resource Integration Forbereder data for visning i klient. Web-server. Slåes ofte sammen med klient- lag Forbereder data for visning i klient. Web-server. Slåes ofte sammen med klient- lag Interaksjon mellom bruker og fysisk system. Web- browser, windows- klient, mobiltelefon Interaksjon mellom bruker og fysisk system. Web- browser, windows- klient, mobiltelefon Forretningslog ikk. Plassering av logiske regler og transaksjoner Forretningslog ikk. Plassering av logiske regler og transaksjoner Database, meldingskø, mainframe Typisk utenfor systemets ansvar Database, meldingskø, mainframe Typisk utenfor systemets ansvar Håndtere kommunikasjo n mot andre systemer. Inkluderer kommunikasjo n mot databaser, mainframes, meldingskøer etc. Håndtere kommunikasjo n mot andre systemer. Inkluderer kommunikasjo n mot databaser, mainframes, meldingskøer etc.

14 Copyright © 2003 Systek Presentation.NET på én slide! Client Logic Resource Integration ASP.NET Web Forms Internet explorer ASP.NET Web Services Database ADO.NET Mobile Internet Toolkit Windows Forms COM+ Enterprise Components Web Services Other systems Web Services client.NET Compact Framework WAP telefon Message Queue MSMQ Autodeployment

15 Copyright © 2003 Systek Presentation Java på én slide! Client Logic Resource Integration Servlets/JSP Web browser Database JDBC Swing/AWT Enterprise Java Beans: Stateless session beans Stateful session beans Entity beans Enterprise Java Beans: Stateless session beans Stateful session beans Entity beans Other systems Web Services client Java 2 Micro Edition MIDP Java 2 Micro Edition MIDP WAP telefon Message Queue JMS Mainframe etc JCA Java Web Start

16 Copyright © 2003 Systek Desktop klienter.NET har native ”look and feel” VS.NET gir en grei visuell designer Javas API’er er overlegne Eks: JTree versus TreeView Savner noen klasser i.NET

17 Copyright © 2003 Systek Windows Forms Designer

18 Copyright © 2003 Systek Mobile klienter Browser-basert: Java: Gir ingen ekstra støtte.NET: Mobile Internet Toolkit = hetrogene klienter Rike klienter: Java: MIDP (J2ME) tilgjengelig på mange telefoner Ikke veldig kraftig.NET Compact Framework: Mye mindre utbredt Mye kraftigere

19 Copyright © 2003 Systek Noen MIDP-telefoner

20 Copyright © 2003 Systek Server-basert Data-aksess: Java Entity-beans har ikke så bra track-record ADO.NET er bra Web: ASP.NET versus Servlets/JSP Transaksjoner: Session Beans versus COM+ Components Begge platformene: Skalerer Gir støtte for sikkerhet Gir transaksjonsstøtte Java har demonstrert skalerbarhet i en årrekke

21 Copyright © 2003 Systek Alternativer Java: Open-source rammeverk som Turbine, Prevayler og Naked Object Å utvikle sin egen plattform Amazon Google

22 Copyright © 2003 Systek Integrasjon.NET integrerer veldig bra med native windows C++/C og COM kode Slår knockout på JNI.NET har veldig bra Web Services støtte Java har initiativer for å støtte integrasjon med mainframes, CORBA etc Migrering fra C/C++ eller COM til.NET

23 Copyright © 2003 Systek Portabilitet.NET støtter flere programmeringsspråk Kun én type språk støttet bra F# kan endre dette Java støtter flere platformer Unntak: Mono, Rotor Andre språk for JVM Men: Bør ikke satse prosjektet på disse

24 Copyright © 2003 Systek Sikkerhet Java har hatt en sikkerhetsmodell siden 1.1 Microsoft har hatt dårlig rykte på sikkerhet Begge tar nå sikkerhet alvorlig: Microsoft: “Secure Windows Initiative” Eks Oracle: “Can’t break it, can’t break in” Begge støtter: SSL, RSA, HTTPS, Rolebasert sikkerhet, etc. etc.

25 Copyright © 2003 Systek Oppsummering Begge platformene tilbyr det man trenger for enterprise utvikling Små tekniske forskjeller.NET et lite forsprang, ettersom det er nyest Viktige forskjeller inkluderer Portabilitet Utbredelse Modenhet Tekniske spørsmål?

26 Copyright © 2003 Systek Ikke-tekniske aspekter Cost of ownership Utviklingskostnader Runtimekostnader Opplæringskostnader Filosofisk betraktning: Åpen eller lukket verden? 2. Runde

27 Copyright © 2003 Systek Softwarekostnader.NET: Ingen runtime-kostnad (inkludert i OS), akseptable utviklingskostnader (5,000 – 25,000 NOK/utvikler) Java utviklingskostnader: Fra gratis (Eclipse, NetBeans), til veldig dyrt (OptimalJ, TogetherJ) Kommersielle EJB-server: Veldig dyre (opp mot prisen til Oracle) Open-source EJB-servere: JOnAs og JBoss (gratis) Open-source servlet-servere: Tomcat, Jetty

28 Copyright © 2003 Systek Hva er dyrest? Kommersiell Java Kommersiell.NET Open-source.NET Open-source Java

29 Copyright © 2003 Systek Opplæringskostnader Å bytte platform er alltid dyrt Å lære teknologien er rimelig greit Men å lære å bruke den riktig er tidkrevende Selv med gode utviklere tar det måneder Noen som har gått opp stien kan hjelpe Deltagerne må være motivert til å bytte Menneskelige faktorer er viktige!

30 Copyright © 2003 Systek Åpen eller lukket verden? Java: Ikke “standardisert”, Utviklet gjennom et industrisamarbeid (JCP) Microsoft: Utviklet ene og alene av Microsoft Overgitt til EMEA.NET vil alltid være dominert av Microsoft. Java kontrolleres av IBM og Oracle mer enn Sun Hvilken innstilling er mest åpen? Hva betyr det?

31 Copyright © 2003 Systek Open-source Java Java har stimulert til mye mer Open-Source utvikling og forskning enn.NET (så langt) Hvorfor er open-source interessant Pris? (ikke så viktig) Vendor lock-in Redusert byråkrati ved innkjøp Kvalitet Er dette viktig for dere?

32 Copyright © 2003 Systek Eksisterende plattform Selv med Web Services er integrasjon ofte dyrt Det viktigste spørsmålet: Hva bruker kunder? Hva bruker leverandører? Hva bruker partnere? Hva bruker industrien? Hva benyttes i eksisterende systemer? Mange bransjer har valgt plattform

33 Copyright © 2003 Systek versus Win32 C/C++.NET har god integrasjon med Win 32 C/C++ C# er et rent objektorientert språk.NET gir garbage collection!.NET har gode, objektorienterte biblioteker.NET er mer produktivt enn Win32 C/C++!

34 Copyright © 2003 Systek Konklusjon: Når bør man bruke.NET Dersom man er i “Windows-verden” Win32, COM etc erfaring Dersom man er opptatt av fancy brukergrensesnitt Dersom man trenger kraftige bærbare devices Dersom partnere benytter.NET

35 Copyright © 2003 Systek Når bør man ikke bruke.NET? Dersom man allerede er i Java-verden Mobile massemarkedapplikasjoner Miljø som benytter open-source mye Partnere, leverandører eller kunder benytter Java Eksistrende systemer benytter Java Man har veldig dyktige Java-utviklerer

36 Copyright © 2003 Systek Fremtiden Både Java og.NET har strålende framtid.NET 1.1 (Everett) var nettopp ferdig. J2SE 1.5 (Tiger) forventes 2004Q2 Henter inn forspranget til C#

37 Copyright © 2003 Systek Oppsummering Java og.NET vil forbli de 2 største plattformene De tekniske forskjellene er trivielle Andre faktorer bør avgjøre valget Å bytte mellom plattformene er dyrt.NET gir god integrasjon med Windows-teknologi: Å gå fra Win32/COM til.NET er en god investering Java tilbyr en mer åpen verden bredere bransjesamarbeid stimulering til Open-Source utvikling


Laste ned ppt "Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown."

Liknende presentasjoner


Annonser fra Google