201311 - middleware

32
Mark Little JBoss CTO Red Hat, Inc. Java Everywhere: Ready for Mobile and Cloud 1 Tuesday, 26 November 13

Upload: lyonjug

Post on 15-May-2015

262 views

Category:

Technology


0 download

DESCRIPTION

Java Everywhere: Ready for Mobile and Cloud Talk at LyonJUG in november 2013

TRANSCRIPT

Page 1: 201311 - Middleware

Mark LittleJBoss CTORed Hat, Inc.

Java Everywhere: Ready for Mobile and Cloud

1

Tuesday, 26 November 13

Page 2: 201311 - Middleware

Overview

•Where are we today and why?•Mobile and Cloud•What does this mean for today’s Java middleware

offerings?•The future of Java and standards•Are we there yet?

2

Tuesday, 26 November 13

Page 3: 201311 - Middleware

30 years ago …•16K was considered a lot of memory

•140K floppy disks were the standard

•10 mbps ethernet was decadent

•8 bit 6502 processor was king for personal computing

•Wireless was what people listened to when there was nothing on TV

3

Tuesday, 26 November 13

Page 4: 201311 - Middleware

Today …•512Meg memory is standard on smart phones, 64Gig storage

•256Gig USB sticks are the norm

•100Gig ethernet at work and 30mbps to the home

•64 bit quad core processors in laptops, 1GHz ARM in iPhone

•WiFi throughout many cities

4

Tuesday, 26 November 13

Page 5: 201311 - Middleware

The times have changed

•There are already more mobile devices than computers•There are 4x more processors on the planet than

people•Most have TCP stacks•dsPIC33FJ12GP 16-bit microcontroller has as much

horsepower as a VAX (40MIPs), can handle 16+ sensors, and is 1/8 the size of a penny

•30 million iPads by end of 2011•1 in 2 Americans predicated to had smart phones by the end

of 2011 compared to 1 in 10 in 2008

5

Tuesday, 26 November 13

Page 6: 201311 - Middleware

The times have changed

• dsPIC33FJ12GP 16-bit microcontroller (2007)

• Motorola 68040 (1990)

6

Tuesday, 26 November 13

Page 7: 201311 - Middleware

Java in 2000•J2SE 1.3 and J2EE 1.2 to 1.3•Typical laptop configuration•1 GHz Pentium III with 512 Meg and 20 Gig disk•Sufficient to run full J2EE stack

•Limited mobile devices•HP Jornada 720, 206MHz StrongArm SA1110 32-bit

processor, 32 MB SDRAM, Windows CE•ChaiVM JDK 1.2

•Sufficient to run some components of J2EE

7

Tuesday, 26 November 13

Page 8: 201311 - Middleware

2010 (mobile) versus 2000

8

Tuesday, 26 November 13

Page 9: 201311 - Middleware

Beagleboard

9

Tuesday, 26 November 13

Page 10: 201311 - Middleware

Java in 2013•Java SE 7 and Java EE 6•Typical laptop configuration•2.2 GHz Quad Core i7 with 4 Gig and 500 Gig disk

(SSD?)•Sufficient to run full EE6 stack (on several different

OS concurrently)•Smartphones•Galaxy S4, Quad Core 1.9 GHz Snapdragon 600, 2

Gig RAM, 128 Gig Storage•Android 4.4

•Sufficient to run many (all?) components of EE610

Tuesday, 26 November 13

Page 11: 201311 - Middleware

Cloud meets mobile

•Public Clouds important•Private Clouds probably more important•Mobility and embedded devices are the real Cloud•Ubiquitous Computing has become a reality

•Thin clients are not sufficient•Shannon’s Limit•Overlooked but we all know about it implicitly

11

Tuesday, 26 November 13

Page 12: 201311 - Middleware

Variant of Parkinson’s Law

•“Work expands to use the power available”•Basic word processors on first PCs•Games from Pong through Space Invaders to CoD•Mobile devices contain more and more personal data•Disconnected operation is the normal situation

12

Tuesday, 26 November 13

Page 13: 201311 - Middleware

Application realities

•Types of application increasing in complexity•Online purchases•Distributed peer-to-peer interactions

•More requirements becoming a necessity•Security and identity•High performance, low latency, reliable messaging•Database updates with transactions•Workflows as inter-app interactions increase

13

Tuesday, 26 November 13

Page 14: 201311 - Middleware

Mobility and “enterprise” appsTransactional invocation

Ad-hoc auctionPeer-based social networkingDecentralised calendarGaming

14

Tuesday, 26 November 13

Page 15: 201311 - Middleware

Mobiles replace consoles?

15

Tuesday, 26 November 13

Page 16: 201311 - Middleware

16

Mobile Computing Architecture

IDE, Designer

Mobile App Platform

Ruby, Clojure, ...

Enterprise App Store, Security...

Management/Provisioning

Data Storage

Relational & NoSQL

Web Services

Composite Data

REST Endpoints

Push Notifications

Debugging

Data Storage & Sync

User Mgmt

Analytics

Social Integration

HTML5 & Native Apps

Tuesday, 26 November 13

Page 17: 201311 - Middleware

The future of middleware?

•“Middleware is a 20th Century technology”•Heard before: Web Services, Web, even when Java

came on the scene•“Mobile needs new frameworks and languages”•“Java” for Android?!•Objective-C for iPhone/Pad?!

•“Cloud needs new infrastructures, services, languages”•What about existing applications?•Ruby, Java, PhP, Perl, JavaScript ...

17

Tuesday, 26 November 13

Page 18: 201311 - Middleware

“New age” development

•New architectures•New implementations•New frameworks•New operating systems•New new new ..?

18

Tuesday, 26 November 13

Page 19: 201311 - Middleware

For whom the bell tolls? Middleware?

•Hold on ... haven’t we heard this death knell before?•Remember Web Services/REST/

<blank> as death of middleware?•Let’s be objective•No hidden agendas please

19

Tuesday, 26 November 13

Page 20: 201311 - Middleware

Sounds familiar?•Many commonalities with (Java) middleware•Enterprise requirements for all but trivial apps•Messaging•Transactions•Security•...

•Obviously Java is not the only application language•Lots of popular JVM-based languages•Common runtime?

20

Tuesday, 26 November 13

Page 21: 201311 - Middleware

Before 20101 JVM, 1 Language

JVM language explosion

JVM JVM

Today1 JVM, Over 20 Languages

21

Tuesday, 26 November 13

Page 22: 201311 - Middleware

Enterprise capabilitiesl Java in 1996 did not possess enterprise features

l J2EE took several years to evolvel Popular JVM languages experiencing similar probleml Lack of enterprise capabilities

l Two ways to resolvel Build from scratch in languagel Leverage existing implementations in other

languages

22

Tuesday, 26 November 13

Page 23: 201311 - Middleware

So what does this mean?

•Middleware is needed whatever the deployment environment•Mainframes, servers, laptops etc.

•Middleware isn’t defined by an implementation•Mobile and Cloud should not be new silos for

developers!•It’s inefficient•It’s expensive•It’s time consuming

23

Tuesday, 26 November 13

Page 24: 201311 - Middleware

24

Java Enterprise Edition 6 Turns out that EE6 has many of the required

capabilities Standards based too!

EE6 represents a great evolution for 40 years of work!

New capabilities (e.g., JAX-RS, CDI, BeanValidation)

Input from wider open source communities and users

Tuesday, 26 November 13

Page 25: 201311 - Middleware

How to encourage adoption

25

Tuesday, 26 November 13

Page 26: 201311 - Middleware

“Java EE is too bloated”

•Differentiate the standard from implementations!•Bloatware should be a thing of the past

•It is possible to be lightweight and enterprise ready

26

Tuesday, 26 November 13

Page 27: 201311 - Middleware

Fruity and mobile

•Raspberry Pi•Narayana, Switchyard, Infinispan, AS7, Arquillian•Fuse Fabric•vert.x

•Mobile•AS7•Narayana•jBPM 5

27

Tuesday, 26 November 13

Page 28: 201311 - Middleware

28

Tuesday, 26 November 13

Page 29: 201311 - Middleware

29

Tuesday, 26 November 13

Page 30: 201311 - Middleware

Java standards

•JCP reinvigorated•ME, SE/EE Executive Committees merging•Significant community involvement (e.g., London

JUG)•JDK 1.8 and EE7/EE8 more mobile and cloud

friendly•Open source leading the way•Experience important before standardisation

30

Tuesday, 26 November 13

Page 31: 201311 - Middleware

Not all a bed of roses

•The next generation of Java middleware needs to address ...•Coordination and consensus•Multi-tenancy•Large-scale data storage and access•Negotiation and enforcement of SLAs•Accountability

•http://2011.middleware-conference.org/fome/fome2011

31

Tuesday, 26 November 13

Page 32: 201311 - Middleware

Richard Hamming, 1968 Turing speech

• Whereas Newton could say, "If I have seen a little farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way.

32

Tuesday, 26 November 13