The Java Revolution: from Enterprise to Gaming Maircch,E 2005IS Conference May 26Th, 2005 Raghavan N
Total Page:16
File Type:pdf, Size:1020Kb
The Java Revolution: From Enterprise to Gaming MaIrcCh,E 2005IS Conference May 26th, 2005 Raghavan N. Srinivas CTO, Technology Outreach Sun Microsystems, Inc. Who is a Technology Evangelist? ● Developer by heart ● “preach” and “teach” ● I speak and publish extensively. I also teach. ● Strive for credibility: ● In the developer and OS community ● Aptitude to simplify complexity and seperate the wheat from the chaff ● My Evangelical Mission: ● It's better to have an unanswered question than a unquestioned answer Speaker’s Qualifications Raghavan “Rags” N. Srinivas is a Technology Evangelist at Sun Microsystems TM Rags writes frequently for JavaWorld and other online publications Rags is an adjunct faculty at Brandeis University Agenda History: Open * computing and Java Present: java and java.net Many, many examples Future: Demos (when possible and relevant) Resources and Summary Open * Computing and Java March, 2005 Computing (simplified) Input Processing Output Computing = Input + Processing + Output Secure Computing Secure Computing = Computing + Public Key algorithm Ubiquitous Computing Browser Request http/https + Processing HTML applets Browser Response Ubiquitous Computing = Computing + Public Key algorithm + Public Standards + Public Protocols Portable Computing Browser Transcoder Processing HTML Container XML Components MIDP Devices XHTML/WML XMLP/SOAP Portable Computing = Ubiquitous Computing + “trans”latable output Open * Computing Browser Transcoder Processing HTML Container Public static void main(...) { } XML Components MIDP Devices XHTML/WML XMLP/SOAP Open * computing = Portable Computing + Open Source + Open Processes Network of Open * Computing Browser Transcoder HTML MIDP Devices XHTML/WML XML Applications vs. The Swarm. Web Apps. Standards ● Location/Identity { ● Interface ● Network Data Applications Value Metcalfe's ● Private Agreements Law Applications Participation Open * computing – Notable Milestones Year What? Who? 1975 Public Key Infrastructure Diffie and Hellman 1979 Berkeley Software Distribution Bill Joy 1983 Free Software Foundation Richard Stallman 1991 Linux Linux Torvalds 1993 http and web Tim Berners Lee 1994 Apache Software Foundation Brian Behlendorf 1995 Java James Gosling 1998 J2EE Java Community 1998 mozilla Mozilla Foundation 1999 XML W3C 2000 ? ? 1995 – 1991 – The world 2003 – Duke gets on gets to know 1999 – J2ME, J2SE the stage with about Java in J2 enters with J2EE leads the Oak on *7 from the form of the “Family” adoption of WS Project Green HotJava 1996 – and Mobility JavaOne SServerservers DeDesktopsktop mmachinesachines Optional High-endHigh-end Packages consumconsumerer devices Low-endLow-end Optional devices Packages consuconsummerer devices devices SSmmart-art- Java 2 Java 2 Personal Profile ccardsards Enterprise Standard Edition Edition Foundation Profile MIDP (J2EE) (J2SE) Java CDC CLDC Card APIs Java Virtual Machine KVM CardVM Java 2 Micro Edition (J2ME) Computing before Java C or Fortran Compile Relocatable Source Executable Link Platform Operating System Hardware Java – Portable Code : WORA Write Once Run Anywhere Java Source Compile Java Byte Code Platform Virtual Machine Virtual Machine Platform OOppeerraatitningg S Syystsetemm HHaarrddwwaarree Java: It’s a Language ● Language Requirements – Secure – Powerful – Robust – Network Ready => Language for Distributed Applications Why did Java become Popular ● Simple & Familiar – like C, C++ ● Object-Oriented language ● Portable - – executes anywhere Java Virtual Machine exists ● Robust, Secure ● Garbage Collection – No memory leaks ● Distributed – Network Ready HTML Portable Content for Browsers HTML Browser Platform Operating System Hardware Java Platform The Java “Glue” choose choose Write with Developers Only runs on Only runs on J2ME Devices V60i V66i 9290 T280i 6650 6600 I50sx i55rx i85s 7650 N-Gage i90c i95cl i80s 7210 6310i A388 A 008 3410 A820 T720 5100 A009 I90c SE TP226 I58sr 3510i 8910i 6610 V600 388c A835 6800 3650 9210i 3585 3590 V67 E380 T725 9210 G8000 SD1100 Nexio 5350 Cnain CX300L 2100 SL45i M50 SL42 M46 CX-300L Cnain Info SCH 2000 iBook Ez-X1 SCH SD2100 Comm VX1 X350 Rainbow 460 SCH-X110 SCH I300 I330 SCH X250 N400 X120 CT56 C55 MT50 U10 SCH X140 SCH SCH X570 SCH SCH SCH X230 SCH SPH P800 S300 X600 X700 X130 S56 S55 S100 S4209 SO503i A3014S SO504i T62U Clie 5 Mhz 1970 2 KB of RAM PDP-8/I Less horsepower 1/4 Mhz than Java Card 8K of RAM Java Card examples ● Belgium, Malaysia,Thailand: Electronic National Identity card ● Switzerland: SWISSCOM GSM operator 500,000 JavaCards ● Taiwan Health care Id ● Singapore's Road Toll ● U.S. Department of Defense ● American Express, Visa Java + HTTP Portable Code Java HTTP Internet transport Portable, Networked Systems code + transport functions + communication Java + XML + Internet Portable Data Portable XML Code Java HTTP Internet transport Portable, Networked Systems code + data + transport Verbs + nouns + communication Mars Rovers Mission Collaborative Information Portal ● Provide a central place to access mission information ● Provide a Mars time clock ● Navigate, search, and view mission data, plans, reports and schedules from various perspectives ● Provide notification of updates of various mission data Brazilian National Health Project Data and Information Captured Identification and treatment data ● Patients ID ● Professional ID ● Provider Info Point-of-Care Device Servers ● Encounter Information 130M inhabitants Brazilian National Health Project XML Federal External Systems State Backbone L XM Regional XML Municipal Point of Care Customer Pre-SOA (Service Oriented Architecture) Credit Card Mortgage Balance Fraud Credit Credit Balance Interest Check Detection Check Check Check Calc Partner Customer Back-End Partner Credit Data Back-End Customer Data System Credit Data System Data Enterprise Post-SOA WSRP Auto Mutual Access Unified Manager Loans Bill Pay Stocks Funds (Liberty) Role-Based View (Portal) BPEL Services Reusable Registry Business (Regrep Credit Card Components Mortgage UDDI) (Integration) Reusable Services (App Server) WS-I BP Payment Credit Fraud Detection Access Interest Balance Customer Trade Management Execution Check Service Calc Check Data Service Service Service Internet Increased Agility Partner Credit Data Back-End System Back-End System Customer Data Present: java and java.net – java getting more open March, 2005 A Licensing Primer SOFTWARE Free? Redist Unlimit Source Source Public Derivat Exampl ribute? ed Availab Modifi Check- ives e Usage le? able? ins Free? Commercial Shareware Almost! Royalty Free Y Y Y Binaries Royalty Free Y Y Y Y Libraries Open Source Y Y Y Y Y BSD Open Source Y Y Y Y Y Y Apache (Apache) Open Source (GNU, Y Y Y Y Y Y Y GNU, Linux) Linux Characteristics of Open * computing Pros Cons • Choice • Chaos • Code • Code-centric • Community • Coterie Open Source makes Money Enterprise Developer Technologist Coding Java Studio Required Enterprise Corporate Integrator/ Developer Orchestrator Java Studio Project Creator Kitty Hawk Complexity java and java.net March, 2005 Proliferation of Standards WS-* Java Community Process ● Java: – Compatibility. No tolerance to forks ● Open Source: – Forks are OK ● Project Geronimo: – Open Source implementation of J2EE 1.4 application server with branding via the Technology Compatibility Kit (TCK) One River? ● Rhetorically, the Amazon is one river. ... or many? ● Practically, it is many. Photo credit: European Space Agency, http://esamultimedia.esa.int/images/EarthObservation/amazon_river.jpg Freedom In Common ● Objective of OSI (open standards initiative) – Freedom through standards ● Objective of FSF – Freedom through source access ● Objective of Java & JCP – Freedom through compatibility ● Objective of OSI (open source initiative) – Freedom through licensing ● Each solving a different part of the same problem; freedom is the goal Java Community (diverse and rich) applications products solutions services End-use “consumers” of Academia/ Opensource Research ISV Java Technology Community tools Content Sites Standards Body n i a Gaming Disparate online h Community Code resources, tools, C ISV sites, code, etc. e u java.sun.com l ● downloads a ● information V Core Java JCP determines change to Java Platform java.net (collaboration is key) applications products solutions services End-use “consumers” of d d d E F c c c e G Java Technology e e H t t o o t y o y y c t a a y t a t m i t m m i r r o r i i e e n n m e m m m un d u d un u d m e e u u u m e m m m F F u n n n F m m n n i i i m java.net will o o t t t om i y y y c c i t o c y B c A C D facilitate multiple a Java communities, h C with collaboration •Content •Tools e •Opensource •Code tools for development u l java.sun.com a ● downloads V ● information Core Java JCP determines change to Java Platform java.net—Building the community Community “Home” for Java ● The “playground” for Java open source and open development projects Status: ● 130,000+ members ● ~1,800 projects, 110 JUGs ● 18 active communities ● Blogs, Wikis, RSS, lots of dialogs! ● Interesting projects (Visible development of Mustang) ● James Gosling and other key Java technology leaders participate Many, many examples March, 2005 NetBeans.org ● Center for Innovation, News and Support ● 3.5 Million Downloads of NetBeans tool ● 100 add-ons and extensions ● Visitors from 160 countries ● Active Community supporting developers in English, French, Russian, Japanese, and simplified Chinese NetBeans: Core IDE Features ● State-of-the-art Editor ● Ant-based project system