201311 - Middleware
-
Upload
lyonjug -
Category
Technology
-
view
260 -
download
0
description
Transcript of 201311 - Middleware
Mark LittleJBoss CTORed Hat, Inc.
Java Everywhere: Ready for Mobile and Cloud
1
Tuesday, 26 November 13
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
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
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
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
The times have changed
• dsPIC33FJ12GP 16-bit microcontroller (2007)
• Motorola 68040 (1990)
6
Tuesday, 26 November 13
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
2010 (mobile) versus 2000
8
Tuesday, 26 November 13
Beagleboard
9
Tuesday, 26 November 13
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
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
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
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
Mobility and “enterprise” appsTransactional invocation
Ad-hoc auctionPeer-based social networkingDecentralised calendarGaming
14
Tuesday, 26 November 13
Mobiles replace consoles?
15
Tuesday, 26 November 13
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
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
“New age” development
•New architectures•New implementations•New frameworks•New operating systems•New new new ..?
18
Tuesday, 26 November 13
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
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
Before 20101 JVM, 1 Language
JVM language explosion
JVM JVM
Today1 JVM, Over 20 Languages
21
Tuesday, 26 November 13
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
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
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
How to encourage adoption
25
Tuesday, 26 November 13
“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
Fruity and mobile
•Raspberry Pi•Narayana, Switchyard, Infinispan, AS7, Arquillian•Fuse Fabric•vert.x
•Mobile•AS7•Narayana•jBPM 5
27
Tuesday, 26 November 13
28
Tuesday, 26 November 13
29
Tuesday, 26 November 13
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
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
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