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

Slides:



Advertisements
Liknende presentasjoner
Endgame - Lessons from Afghanistan Torbjørn L. Knutsen.
Advertisements

Everyone Print Kalle Snarheim.
Jara NetBusiness Vedlikeholdsrelease , 11. februar 2008.
DESEMBERKONFERANSEN Kristian Siem SS7 New Vessels
IBM Global Services JavaOne 2007 Ole André Scheie IBM GBS.
Organization and board
Régis Laurent Director of Operations, Global Knowledge Competencies include: Gold Learning Silver System Management Touch, flip and fold Håvard Haukeberg.
Gruppemedlemmer Gruppa består av: Magnus Strand Nekstad – s156159
- derfor går vi mobilt Espen Olsen Langfeldt, redaksjonssjef VG Mobil, Fagpressedagen 2013.
The Trondheim Toll Ring System
Ledelsesinformasjonsystem
Jesus i Hebreerbrevet Seminar for lekforkynnere. Kjedelige prekener.
Web Client Software Factory Inge StubdalLevel 300 Avanade.
Key takes from the CXPA breakfast meeting 19th of march 2013 Summarized by KOBRA – Full text from Post It notes available in notes 1.
Det tar år å innføre smidige metoder i store organisasjoner… english inside™ Smidig
WPF/E Introduksjon til Olav Tollefsen Utvikler- og plattformteamet Microsoft Norge.
Det er ganske underlig med disse sentrale salmene. Selv om du ikke er religiøs burde du lese dette.
DOLPHIN INTERCONNECT SOLUTIONS AS Hugo Kohmann CTO
3D-structure of bacterial ribsoomes. Components required for protein-synthesis in E. coli.
 Hvorfor kommuniserer vi vitenskap?  Hvordan kommuniserer vi vitenskap?
Nettverk Software Protocol Hierarchies
Nettverk Software Protocol Hierarchies
Nytte og relevans av IT-studiene: Nyansattes erfaringer 30. november 2012 Tormod Fjeldberg.
SINTEF Fiskeri og havbruk AS 1 Yngelfôr til torsk Kan vi erstatte levendefôr med nytt formulert fôr nå? Jose Rainuzzo Seniorforsker SINTEF Fiskeri og Havbruk.
Konseptuell modell Hvordan skal dette se ut ifra brukeren?
Men hva mener de som har klart det? Børge Haugset (NTNU&SINTEF)
Når ble pragmatisk slukt av Smidig ? Joachim Haagen Skeie, Smidig 2011.
1 Information search for the research protocol in IIC/IID Medical Library, 2013.
Copyright © 2003 Systek OOs gjenfødsel? Innlegg til Systek’s teknologisamling Johannes Brodwall.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek J2EE Arkitektur Java Workshop CBA Johannes Brodwall, Systek as.
Copyright © 2003 Systek J2EE Teknologier Java Workshop CBA Johannes Brodwall, Systek as.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown Johannes Brodwall - Systek AS.
Microsoft for akademia Rune Zakariassen Fagansvarlig for forskning og høyere utdanning Microsoft Norge.
WHY WE’RE STRENGTHENING ROTARY. OBJECTIVES  Clarify what Rotary stands for, how it’s different and why people should care  Elevate awareness and understanding.
Enterprise Domain Repository EDR EDR som integrasjonstrategi Bård Lind.
Triggere Mutasjoner i basen. Triggers Triggers are stored procedures that execute automatically when something (event) happens in the database: : data.
JavaOne oppsumering tobias k torrissen
1 About critical attitude when reading Lill Kristiansen, Prof. Dr. Scient Department of Telematics, NTNU Material was originally written.
Økonomiske forutsetninger Gullfaks landsbyen 2007.
Trondheim 6. mars 2014 Mørke skyer i horisonten?.
1 | 2010 Internetteknologi 2 (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 4/ Jesper Tørresø.
Publisering i åpne kanaler Anne Storset Institutt for mattrygghet og Infeksjonsbiologi.
IT services and support Information to new employees at UIB.
Problem set 2 By Thomas and Lars PS: Choose the environment, choose many pages per sheet. Problem set 2 Exercise 11/29 Laget av: Thomas Aanensen og Lars.
Planning and controlling a project Content: Results from Reflection for action The project settings and objectives Project Management Project Planning.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown.
Copyright © 2003 Systek Java Safari Java Workshop CBA Johannes Brodwall, Systek as.
The Thompson Schools Improvement Project Process Improvement Training Slides (Current State Slides Only) October 2009.
Primary French Presentation 10 Colours L.I. C’est de quelle couleur?
Digital læring for publikum og bibliotekansatte
Digital bestillingsprosess for Armering, direkte fra modell
IDI FU-møte 10/ Quick presentation round
CAMPAIGNING From vision to action.
Welcome to an ALLIN (ALLEMED) workshop!
Design driven Innovation Programme (DIP)
Responsibility The purpose of the tutor reflections are to
Dynamisk DNS registrering for Windows 10
Biological quality assurance in Norway– Biological standards
LO2 – Understand Computer Software
Kaveet Patel – Education Officer
How to evaluate effects of inspections on the quality of care?
What belongs in state storage API’s?
Developing an Educational Web Application for Student Training in Geographical Information Systems (GIS) Derek Morris Jr. , Edsel Norwood , Disaiah Bennett.
Introduction to Computers and Technology
Jakub Kocvara, Dr. Martin Hlosta, Prof. Zdenek Zdrahal
BY: LAURYN PETTYJOHN AND Paige gerry
LCM API Evolution – El Alto ARCHCOM, April 9, 2019
Utskrift av presentasjonen:

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

Copyright © 2002 Systek Why are we here? Times are changing The once powerful Java has a new challenger Should we rethink our alliances? Should we abandon Java? Should we learn.NET? Should we be afraid? (Spoiler: Don’t panic quite yet)

Copyright © 2002 Systek This presentation at a glance Technological comparison On the desktop On the server On the cell-phone and PDA Non-technological aspects Cost of ownership Existing systems and partners Open source Summary

Copyright © 2002 Systek Ringside round-up: The champion Java Several years of established performance Thousands of successful projects Hundreds of industry-wide standards (JCP) Many vendors, both vertical and horizontal Widely accepted in academia Strong OO model, powerful libraries, strong enterprise capabilities

Copyright © 2002 Systek Ringside round-up: The challenger.NET The next step in the evolution of Windows software Championed by the all- powerful Microsoft Has generated a lot of buzz in the business Has learned from previous mistakes of Windows technology and Java? Strong OO model, powerful libraries, strong enterprise capabilities

Copyright © 2002 Systek Technological comparison Feature rich languages and libraries

Copyright © 2002 Systek For the developer C#-language is like Java with some features added (Events, operator overloading, enums, delegators, attributes) And some removed: Anonymous inner classes! (but anonymous functions are coming) Doubtful value: Enums, operator overloading, events Very valuable: attributes

Copyright © 2002 Systek Language differences C# is the most used language on.NET VB.NET is a close runner up Both contain unique features

Copyright © 2002 Systek Attributes Examples Uses JSR 175

Copyright © 2002 Systek On the desktop.NET provides a native look and feel (but try SWT).NET provides an easy to use designer (but it has some flaws) In my view, the API interface for Java is better than.NET Vivid example: JTree versus TreeView

Copyright © 2002 Systek Autodeployed clients Java Web Start versus.NET ”autodeployment” My experience with both is good Introduces security issues Some minor differences:.NET does not show splash-screen: User often accidentially starts multiple copies.NET code access security is not 100% good yet

Copyright © 2002 Systek Web-based clients

Copyright © 2002 Systek On the server Issues: Data access: Entity Beans versus ADO.NET Web Access: Servlets/JSPs versus ASP.NET Transactions: Session Beans versus COM+ Components Scalability, manageability etc.

Copyright © 2002 Systek On the cell-phone and PDA Browser-based Java: No special support.NET: Microsoft Mobile Internet Toolkit Client-based Java: J2ME – MIDP is available, but not very powerful.NET:.NET CF: Mostly available on PDAs (Pocket PC), but very powerful compared to MIDP

Copyright © 2002 Systek Portability If you need to run on different platforms, don’t do.NET If you want to program in several languages, don’t use Java (Unless you know what you’re doing) (Why would you want several languages, anyway?)

Copyright © 2002 Systek Performance benchmarks Basically worthless Usually test a limited subset of platforms: E.g. Benchmark showing Java 10s of times faster than C# turned out to test only the difference in processing of Regular Expressions

Copyright © 2002 Systek Non-technical aspects

Copyright © 2002 Systek Cost of ownership.NET: No runtime costs, acceptable development costs Java development costs: Free (NetBeans, Eclipse) to very expensive (OptimalJ, TogetherJ) Commercial EJB servers: Very high costs Open-source EJB servers: JOnAs and JBoss Open-source servlet containers: Tomcat

Copyright © 2002 Systek Existing infrastructure Single most important factor: What are your current systems running on? and your customers’? Integration is always expensive Using C, C++, Win32, COM etc from.NET is unbelievably easy JNI is a drag Web Services resolve some of these issues

Copyright © 2002 Systek Committed industries Telecom: Java Banking: Java Process industry and automation: Microsoft End user shrink wrap: Microsoft

Copyright © 2002 Systek Open source Why is open-source important? Cost But mainly bureaucratic Safely Quality Java has attracted open-source developers, Microsoft has not (at least not until now) Google: “java open-source”: 1,240,000 Google: “c# open-source”: 111,000 But Windows historically bigger in commercial components

Copyright © 2002 Systek Philosophical issues: Open or closed world?.NET is standards (EMEA) based, but it is a standard “delivered from the Gods” (i.e. Bill) Java is now under the control of the JCP. Control is not in Sun’s hands Better marked acceptances

Copyright © 2002 Systek People issues If you are a manager: Unhappy programmers are less productive Technological change must be accepted by those implementing it A programmer from one world can learn the technology of the other very quickly, but learning how to use a tool effectively is very time- consuming

Copyright © 2002 Systek The future Both technologies in rapid change.NET 1.1 was just released, Everett is expected this year (adds anonymous functions!) Java 1.5 (Tiger) will be very exciting. Hope it lives up to its nickname Includes among others JSRs 166 (Doug Lea’s concurrency tools), JSR 175 (Metadata), JSR 201 (enum, foreach, autoimport)

Copyright © 2002 Systek Conclusion Sticking with what you know is not a bad choice.NET has a small advantage – but the technologies will continue to leapfrog past each other Changing your existing infrastructure is expensive The availability of open source projects for Java is invaluable

Copyright © 2002 Systek Overview Målgruppe: Programmerer, arkitekter og teknisk prosjektledere Formål: Få grunnlag for å vurdere fremtidig teknologivalg. Få en introduksjon til.NET (se hvordan teknologi i.NET svarer til sine "stesøsken" i Java). Få mulighet til å se gjennom "hypen". Forkunnskap: Generell kjenskap til J2SE, J2ME og J2EE plattformene. Kunnskap til applikasjonsarkitekturer: To, tre- og fire-lag (web basert), mobil Konklusjon: Teknisk sett er dette to moderne, kraftige plattformer. Det er vanskelig å argumentere saklig for den ene forran den andre på generelt teknisk grunnlag. Mange bedrifter har imidlertid kunnskap, partnere og andre faktorer som veier tungt. En oversikt over tema Teknisk grunnlag for teknologivalg: * Rene språkforskjeller (attributes, enums, events, overloading, boxing, native calls) - hva betyr det for kompleksitet og hva får man tilbake? (C# har flere features enn Java, men hvilke er verdifulle?) - hvordan kommer dette til å endre seg (særlig JSR 175 og 201) - Forkskjeller i bruk av "foreign function calls" (dessverre:.NET vinner, hands down) * På mobile klienter - Tekniske krav (oppsummering: MIDP når et bredere publikum) - Muligheter (oppsummering:.NET Compact Framework har rikere features) - Konklusjon: Java for massemarket,.NET for vertikale applikasjoner med høye krav * På tykke klienter - Brukergrensesnitt (konklusjon:.NET er mer native, men SWT er et skritt i riktig retning) - API (konklusjon: MVC-designet i Java vinner over.NET) - Uerfarene programmere (konklusjon:.NET Windows Forms Designer er verdifull, selv om den har barnesykdommer) - Dynamisk deployment: Java Web Start og.NET autodeployment (JWS er mer modent, begge fungerer bra) * På tynne klienter - ASP.NET er grunnleggende et veldig godt sett med Taglibs - Verktøy som Struts, Jakarta Velocity og Jakarta Taglibs gjør servlets fullgode - Men Java krever mer kunnskap for å få til å virke * På server-siden - Web-Services (konklusjon:.NET har innebygget støtte på klient og server, noe som funker veldig bra) - Data-aksess (konklusjon: ADO.NET er bedre for applikasjoner med lite behov for OO-behandling av data. Entity beans er veldig tungvekt) - Transaksjonsmonitor (COM+ og EJB: EJB er mer kompleks) - Begge platformene har god skalerbarhet, men Java har lange erfaringstall å vise til - Benchmarks er i stor grad verdiløse - med nok optimalisering kan man oppnå nesten vilkårlige tall * Andre tekniske betraktninger: -.NET fungere bare på Windows (men open-source prosjekter porter til andre platformer) - Java platformen støtter bare Java programmeringsspråk (men open- source og andre prosjekter støtter andre språk. Dessuten: Hvor mye er dette egentlig verd?) * Overall: -.NET er lettere for uerfarene programmere på nesten all områder - Java er kraftigere på noen områder, mer modent (.NET har beholdt noe av Win32/COMs feature med mystisk krasj) - Java krever mer erfaring - spesielt for å kjenne de riktige Open-Source verktøyene -.NET er steget forran med features, men Java vil kopiere de mest verdifulle - Begge valgene er gode fra et teknisk perspektiv i nesten alle situasjoner Andre faktorer: * Eksisterende teknologi: - En bedrift har et ofte brukt Windows eller Unix for servere i mange år - Samarbeidspartnere, konkurrenter og bransje generelt er veldig knyttet til et område (for eksempel: Bank skyr ofte Windows, Industri har brukt f. eks. OPC i mange år) - Det kan være lurt å holde seg til den verdenen man kjenner - Det kan være lurt å holde seg til en platform for interoperabilitet, drift og opplæring * Pris: -.NET server mye billigere enn en typisk BEA, WebLogic eller 9i AS installasjon - MEN: JBoss, JOnAs er open-source, og gode alternativer ved etablering av et prosjekt * Tredjepartskomponentstøtte -.NET har flere komponentselgere - Java har mye mer open-source aktivitet - Open-source har mye lavere TCO enn tredjepart, pga redusert byråkrati (min erfaring) - Tredjepart har skjelden bedre kvalitet * Myke faktorer: - God erfaring og gode kontakter med en "verden" teller mer enn vi teknikkere ofte anerkjenner - Lærekurven ved å bytte teknologi er alltid brattere enn man tror, selv for dyktige programmerer - Min gut-feeling:.NET hjelper deg å komme i gang, Java hjelper deg å avslutte Konklusjon: * Hva er ikke gode beslutningsgrunner: - Generell sammenligning av "features" - Publiserte "benchmarks" * Hva er gode beslutningsgrunner - Spesifikke teknologikrav: Spesielt på mobil - Hensyn til eksisterende driftsmiljø og kompetanse - Hensyn til bedriften og bransjens tradisjonelle samarbeidspartnere