Nääsvillen oliopäivät.net vrs Java ahti.haukilehto@fcspartners.fi Tekniikoiden aikajana JDBC EJB JSP JAXP J2EE JWSDP J2EE =EJB + JDBC + JSP + RMI/IIOP Microsoft 1996 1997 1998 1999 2000 2001 Mar 1992 ASP MTS/COM+ SOAP.NET ODBC WinDNA MSXML = MTS + ADO + ASP + DCOM 1
.NET Framework Browser Web Services Local Other Windows Forms Enterprise Services ASP.NET ADO. NET.NET Remoting More.NET Framework Class Library Common Language Runtime Windows Java Browser Web Services Local Other Swing Enterprise JavaBeans JavaServer Pages JDBC RMI More Standard Java Packages Java Virtual Machine (VM) Windows, Solaris, Linux, others 2
Miksi C# (CLR) on tehokkaampi kuin Java! IL (Intermediate Language) on suunniteltu JITkäännettäväksi, ei tulkattavaksi kuten JBC! ByRef -parametrit! Metodin korvaaminen on eksplisiittinen! Luokan versiointi! Voidaan käyttää myös pointtereita (C#)! Value-tyypit (structs)! Properties (ominaisuudet) ja tapahtumat erikseen tuettuja! Enum-tyyppi! Laajennettava metadata Java, yksi kieli, useita alustoja Java Framework Solaris Windows Linux/BSD... 3
Kieliriippumattomuus, Java Scott McNealy (Sun CEO), 1997: Think Java. Write new applications in Java. Rewrite legacy apps with Java. Don't upgrade or downgrade. Sidegrade instead to a Java desktop device I don't understand why anybody would be programming in anything other than Java Näin 80-luvulla:! C.A.R. Hoar: "En tiedä millainen vuoden 2000 ohjelmointikieli on, mutta tiedän, että sen nimi on FORTRAN" Lähde FORTRAN 77, OtaDATA. 4
.NET, yksi alusta, useita kieliä C++ C# VB... Framework Windows Entä jos? C++ C# VB... Framework Solaris Windows Linux/BSD... 5
.NET Framework standardit VB C++ C# JScript Common Language Specification XML Web services Data and XML Base Class Library CLR CLI Web Forms Windows Forms ECMA standardi Open Language Specification XML, HTTP, SOAP-based XML-based data access ECMA standardi Ote Mono sivuilta http://www.go-mono.com When GNU was launched, they picked the best OS and began to clone it: Unix..NET is a very rich, powerful, and well designed platform that would help free software development. Just like GNU with Unix sixteen years ago, we re cloning.net because it s a great platform to build on. 6
.NET teknisiä etuja! Tehokkaampi! Halvempi ohjelmoida! Integrointi vrs. siirrettävyys! Käyttöjärjestelmästä valmissovelluksiin ylettyvä tuoteketju Application Server hinnoittelu $160 000 $140 000 $120 000 $100 000 $80 000 $60 000 $40 000 $20 000 $0 1CPU 2CPUs 4CPUs 8CPUs Windows ScaleUp Windows ScaleOut WebLogic WebSphere WebLogic Cache 7
Pages Served per Second 2800 2400 2000 1600 1200 800 400 Nile Application Benchmark 8CPUs 4CPUs 2CPUs 330 748 637 789 603 370 1154 1989 2781 Microsoft ASP (VBScript) SQL Svr 2000 WebSphere 3.5 JSP RH Linux 7.0 Oracle 8i Microsoft ASP.NET (C#) SQL Svr 2000 TPC-C Ei lainkaan Java-tuloksia! 8
Tuotevertailun ei-teknisiä seikkoja! Toimittaja Riippuvuus toimittajasta Luottamus! Tuotteen kypsyys! Olemassa oleva osaaminen (kehittäjät)! Alustatuki! Kustannus Toimittajariippuvuus!.NET Olet valinnut Microsoftin Jolla ei välttämättä ole paras EA-leima Olet valinnut Windows-alustan.NET siirrettävyyttä ei ole - ainakaan vielä 9
Toimittajariippuvuus! Java Olet valinnut SUNin JCP laajentaa SUNin insinöörikuntaa, mutta SUNilla aina viimeinen sana. SUN on kirjoittanut valtaosan spekseistä SUN omistaa Javan ja J2EE:n, ja lisensoi sitä muille Tukee niitä alustoja, joita J2EE-toimittajasi päättää tukea J2EE on quasi-standard markkina Kuten CORBA, SQL, UNIX jne. Web Service -visio Everyone should build on the XML/SOAP foundation. Meta Group Gartner believes Microsoft is now providing more vision and influence regarding this shift than any other vendor. Gartner Group.NET is a leading example of what we believe will be the dominant architectural model for the third generation of Internet applications. Patricia Seybold Group Ability to Execute Gartner Magic Quadrant: Major Vendor Web Services Platform Influence Sun Microsystems Oracle IBM Hewlett- Packard Microsoft Completeness of Vision *Source: Gartner Research, 9/13/2001 10
Web Services! IBM ja Microsoft ajavat junaa muut ovat matkustajia nyt myös SUN! Yksinkertaiset asiat toimivat Tuotteet on saatavilla Microsoft, IBM, BEA, Apache - kaikilla on WS-välineet tuotannossa Perus yhteistoiminnallisuus OK.NET, WebSphere, Apache, BEA voivat kutsua toistensa palveluja WSDL on riittävän ilmaisuvoimainen ja yhtenäisesti tuettu Perus tietoturva toimii HTTP autentikointi ja HTTPS kattavat perustarpeeet! Monimutkaiset asiat eivät vielä toimi Tapahtumat, luotettavuus, protokollariippumaton tietoturva, reititys,....net Suomessa! Koulutus on lähtenyt voimakkaasti liikkeelle! PK yritykset (ja projektit) ensimmäisinä! Suuria caseja on tekeillä Ruotsissa on muutamia jo tuotannossa, kuten SAS ja Enskilda Banken! Tänä syksynä/talvena on kysyntä kasvanut asiakasvetoisesti isot sovellustalot valmistautuneet huonosti iso remmi laitetaan päälle vasta sitten kun on projekti 11
.NET vai J2EE! Oikeampi kysymys: BEA, IBM vai MS (.NET)!.NET Framework on toiminnallisesti laajempi!.net Framework ohjemointi on halvempaa Visual Studio.NET on tuottavuudeltaan ylivoimaisin! BEA s Adam Bosworth: While the J2EE platform is very powerful, it can require a very sophisticated programmer to make full use of it. (Jan 18, 2002)!.NET Framework on maksuton Mutta Windows maksaa! Windows-alustalla J2EE ei oikeastaan koskaan ole kilpailukykyinen Liian kallis, liian kallis ohjelmoida Ei voida hyödyntää alustaa maksimaalisesti, ei skaalaudu Ei voida hyödyntää Windows/COM osaamista Siis, miksi.net on parempi 1. Valmis, integroitu paketti käyttöjärjestelmästä sovelluksiin, asennuksesta ohjelmointiin 2. Paras integroitavuus! Standardoitu "oikeat asiat" 3. Ohjelmoinnin tuottavuus 4. Siirtyminen vaiheittain, olemassa olevan osaamisen ja koodin hyödyntäminen 12