java everywhere · summary. data. waves of the internet an internet of computers an internet of...

39
Simon Ritter Technology Evangelist Sun Microsystems, Inc. Java Everywhere

Upload: others

Post on 25-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Simon Ritter

Technology Evangelist

Sun Microsystems, Inc.

Java Everywhere

Page 2: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Agenda

● Data● Web Services● Java● Ease of Development● Summary

Page 3: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Data

Page 4: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Waves of the Internet

An Internetof Computers

An Internet of ThingsThat Embed Computers

An Internetof Things

108

1011

1014

Page 5: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Things - 1014

Computers 108

Embedded Computers 1011

Desktops

PhonesPhonesTVsTVs

CarsCars

GamesGames

SwitchesSwitches

PackagesPackages

ThermostatsThermostats

IP v6IP v4

Clients

Functions

Organization

ProtocolsIP Layer

Waves of the Internet

ClothesClothes

Page 6: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Things - 1014

Computers 108

Embedded Computers 1011

Desktops

Transfers Transactions Content Telemetry ControlTransfers Transactions Content Telemetry Control

Clients

Functions

Organization

Protocols

Waves of the Internet

IP v6IP v4 IP Layer

SwitchesSwitches

PackagesPackages

ThermostatsThermostats

ClothesClothesPhonesPhones

TVsTVs

CarsCars

GamesGames

Page 7: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Things - 1014

Computers 108

Embedded Computers 1011

Desktops

Client/Server

Web Web ApplicationsApplications

Web Web ServicesServices

FractalFractal

PolyarchicalPolyarchical

N-tier

FTP

Telnet HTTP

XRPC/XDRSMTP

Clients

Functions

Organization

Protocols

SOAPSOAP

RMI/IIOPRMI/IIOP

JiniJini

IdentityIdentity

UDDIUDDI

LDAPLDAP

JXTAJXTA

Waves of the Internet

IP v6IP v4 IP Layer

PhonesPhonesTVsTVs

CarsCars

GamesGames

SwitchesSwitches

PackagesPackages

ThermostatsThermostats

ClothesClothes

Transfers Transactions Content Telemetry ControlTransfers Transactions Content Telemetry Control

Page 8: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Auto-ID

Page 9: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

RFID: The New Barcode

● Radio Frequency Identity Tags● Data can be changed● No line of site required● 96-bits is plenty of storage

Page 10: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Lots Of Possibilities...

● Supply chain management● Parcel tracking● Refrigerator/oven● Washing machine● Personalised advertising● Use your imagination...

Page 11: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Three “Laws” of Computing● Moore's Law– Computing power doubles every 18

months● Gilder's Law– Network bandwidth capacity doubles

every 12 months● Metcalfe's Law (Net Effect)– Value of network increases exponentially

as number of participants increases

Page 12: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Platform EvolutionCatchCatch

PhrasePhrase

The NetworkThe NetworkIs the ComputerIs the Computer

ObjectsObjectsLegacy to Legacy to the Webthe Web

The Computer The Computer Is theIs the

NetworkNetwork

Network of Network of Embedded Embedded

ThingsThingsNetworkNetworkof Thingsof Things

ScaleScale

When/PeakWhen/Peak

LeafLeafProtocol(s)Protocol(s)

Directory(s)Directory(s)

SessionSession

100s100s 1,000s1,000s 1,000,000s1,000,000s 10,000,000s10,000,000s 100,000,000s100,000,000s 100,000,000s100,000,000s

1984/19871984/1987 1990/19931990/1993 1996/19991996/1999 2001/20032001/2003 1998/20041998/2004 2004/20072004/2007

XX XX +HTTP+HTTP(+JVM)(+JVM)

+XML+XMLPortalPortal

+RM+RM UnknownUnknown

NS, NS+NS, NS+ +CDS+CDS +LDAP(*)+LDAP(*) +UDDI+UDDI +Jini+Jini +?+?

RPC, XDRRPC, XDR +CORBA+CORBA +CORBA,+CORBA,RMRM

+SOAP,+SOAP,XMLXML

+RM/Jini+RM/Jini +?+?

SchematicSchematic

Page 13: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Web Services

Page 14: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Design Patterns: Web Application

Business Systems

DB Server

App Server

Web Server

BrowserClient

Web Application

J2EE

J2SE/J2ME

Page 15: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Design Patterns: Web Service

Bus.Sys.

DB

App

Web

Browser

Context and Identity(LDAP, Policy, Liberty)

J2EE

J2SE/J2ME

XML(UDDI, SOAP)

Web Service

Page 16: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Web Services Adoption

● 1st phase– Concerted deployment internally within an

organization

● 2nd phase– Selective deployment with outside business

partners

● 3rd phase– Wider deployment with outside business

partners

Page 17: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

First Generation Web Services

● XML based● Message-based● Language independent● Dynamically located● Accessed over the internet● Loosely coupled● Using standard protocols

Page 18: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Web Services Inhibitors● Basic web services designed for RPC– B2B is different– Reliability– Choreography– Security

● Performance– XML massively degrades network performance– ASN.1 being considered

● Politics!– Too many standards– Royalties?

Page 19: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Java

Page 20: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

1991 – Duke gets onthe stage withOak fromProject Green

1996 –JavaOne 1999 –

Java2 enters withthe “Family”

Se rv ersSe rv ers

Ja va 2Enterp rise

Edi tio n(J2 EE )

Ja va 2Stand ard

Edi tio n(J2 SE )

Opt iona lPackag es

Opt iona lPackag es

Jav a 2 Mic ro E dit ion ( J2M E)

Jav a Virtua l Mac hine KV M

CLDCCDC

MIDPFounda tion P rof ile

Pers ona l Pr of ile

JavaCar dAP Is

Card VM

Des kto pm ach in es

Des kto pm ach in es

High-e ndconsume rdevices

High-e ndconsume rdevices Low-e nd

consume rdevices

Low-e ndconsume rdevices

Sm art-card s

Sm art-card s

2003 – Java Everywhere

1995 – The worldgets to knowabout Java.The applet is born.

A Brief History of Java

Page 21: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Java™ 2 PlatformServ ersServ ers

Ja va 2Enterp rise

Edition(J2 EE)

Ja va 2Stan dardEdition(J2 SE)

Opt ionalPac kage s

Opt ionalPac kage s

Java 2 Mi cro Editi on (J2 ME)

Java Vir tual Mach ine KVM

CLDCCDC

MI DPFou ndati on Profil e

Perso nal Pro file

JavaCardAPIs

Ca rdVM

Des ktopmachines

Des ktopmachines

High- endcons um erdev ice s

High- endcons um erdev ice s Low -end

cons um erdev ice s

Low -endcons um erdev ice s

Smart-ca rds

Smart-ca rds

Page 22: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Java Stats● Java in 100% of Fortune 500 companies– 78% of executives view Java as the choice for web

services● Java installed on 550 million desktops● 150 Java enabled mobile phone models● More than 3 million Java developers● JRE is second most popular download on

the internet● Java is widely recognised consumer

brand– Most non-techies associate it with Microsoft!

Page 23: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

JavaCard, the World's Most Widely Deployed Identity Solution

● 300M deployed (and growing)

● 95% of smart card market

● Every GSM phone

● Defense Department

● National Health Insuranceof Taiwan - 22M Users

● Amex, Citigroup, Providian

● Everyone over 12 in Belgium

Page 24: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Java Community Process● Executive committee● Java Specification Request– Currently 224+ Requests

● Expert Group– Interested companies/individuals

● Public Review● Reference Implementation● Compatability Test Kit– Sun/Apache scholarship fund

Page 25: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

The Java Community: Strength in Numbers

● Java programmers: – 2.5 million, as of 2001 (source: Gartner)– Prediction of 4 million by 2003 (source: IDC)

● Java in universities:– 78% teach Java, 50% require Java (source: The Middleware Company)

● Java usage is expected to grow 29.4% in 2003 alone– (source: IDC Worldwide Developer Model, via

http://www.devx.com/judgingjava/articles/skills/ )

Page 26: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Sun's “mantra”

● Innovate– 2/3 of Sun's R&D is in software

● Cooperate on Standards and Specs.– Java Community Process

● Produce reference implementations– Java Web Services Developer Pack

● Integrate into products– Sun ONE products

Page 27: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

JDK Themes● 1.0 – First Release● 1.1 – New event model● 1.2 – Performance, New APIs● 1.3 – Performance, Hot Spot● 1.4 – Performance, Reliability, Availability● 1.5 – Performance, Ease of development

Page 28: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

JDK 1.5, “Tiger”● Next major J2SE release– Biggest impact on language since JDK1.0

● Themes & features still under design● Will go through the JCP ALL FEATURES ARE TENTATIVE

Page 29: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

JDK 1.5 Themes● Compatibility, Compatibility, Compatibility!● Quality● Monitoring and Manageability● Performance and Scalability● Client for XML and Web Services● Ease of Development

Page 30: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Monitoring & Manageability● JMX Management API (JSR-003)– Support for CIM/WBEM and SNMP

● JVM Monitoring & Management API– JSR-174– Local API, but also mapped to JMX– New JVM profiling API (JSR-163)– replaces experimental JVMPI

Page 31: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Performance Related● More support for big heaps– Improved concurrent/parallel collection

● Yet more HotSpot tuning● Faster startup time● Reduced footprint

Page 32: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Selected Language Updates● Generics (JSR-014)● Metadata (JSR-175)● Iterating over collections● Enumerated types● Autoboxing of primitive types● Support for importing constants● Memory Model clarifications

Page 33: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

JDK 1.5 Miscellany ... ● Unicode 3.1 – 2 unicode values for each surrogate char

● Java Isolation API (JSR-121)● API for javac compiler● Disconnected JDBCTM RowSets (JSR-114)

● New File System interface

● Perhaps: asynchronous I/O

● printf !!!!

Page 34: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

J2EE 1.5● More web service standards– SOAP 1.2, WSDL 1.2?– WS-Security? XML DSIG? XML ENC?

● JSRs in progress– JSR-173 – Streaming API for XML– JSR-181 – Web Services Metadata– JSR-183 – Web Services Message Security

● Ease of development– Replace deployment descriptor with Metadata– Java Server Faces

Page 35: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Developer Tools● Project Rave● Project Relator● Project ACE

Page 36: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Summary

Page 37: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Sun as a Disruptive Innovator

1980 1990 2000

Page 38: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Java Everywhere

● Freedom of choice– Write once, run anywhere

● Open Standard– JCP

● Constantly evolving– New features to ease development

● Still the best programming language

Page 39: Java Everywhere · Summary. Data. Waves of the Internet An Internet of Computers An Internet of Things That Embed Computers An Internet of Things 108 1011 ... Executive committee

Simon Ritter

[email protected]

Sun Microsystems, Inc.