The Wearable Application Server and Other Adventures in Software Engineering

A presentation at JFokus in February 2013 in Stockholm, Sweden by Holly Cummins

Slide 1

Slide 1

The Wearable Application Server Holly Cummins cumminsh@uk.ibm.com @holly_cummins © 2009 IBM Corporation

Slide 2

Slide 2

Some context … © 2012 IBM Corporation

Slide 3

Slide 3

“Computers in the future may weigh no more than 1.5 tons.” Popular Mechanics, 1949 © 2012 IBM Corporation

Slide 4

Slide 4

“I think there is a world market for maybe five computers.” Thomas Watson chairman of IBM 1943 © 2012 IBM Corporation

Slide 5

Slide 5

Then: HARDware © 2012 IBM Corporation

Slide 6

Slide 6

Now: Everyware © 2012 IBM Corporation

Slide 7

Slide 7

© 2012 IBM Corporation

Slide 8

Slide 8

“If your background is in the programming of PCs or even more powerful computers, a fair warning: embedded programming for low-cost devices means working with very limited resources …” © 2012 IBM Corporation

Slide 9

Slide 9

“… This is in shocking contrast with the World Wide Web, where technologies usually seem to be created with utmost inefficiency as a goal…” © 2012 IBM Corporation

Slide 10

Slide 10

“… Embedded programming requires more careful consideration of how resources are used than what is needed for PCs or servers…” © 2012 IBM Corporation

Slide 11

Slide 11

“… Embedded platforms only provide small sub- sets of the functionality of their larger cousins, which may require some inventiveness and work where a desired feature is not available directly.” © 2012 IBM Corporation

Slide 12

Slide 12

June, 2011 © 2012 IBM Corporation

Slide 13

Slide 13

Spot the difference ■ Netduino Plus ■ Raspberry Pi © 2012 IBM Corporation

Slide 14

Slide 14

Spot the difference ■ Application server, circa 2010 ■ Application server, circa 2012 © 2012 IBM Corporation

Slide 15

Slide 15

What’s it good for? © 2012 IBM Corporation

Slide 16

Slide 16

Programming for developers ■ Easy install ■ Fast server start ■ Fast and transparent application deployment ■ Convention over configuration ■ Source-controllable configuration ■ Nifty t-shirts © 2012 IBM Corporation

Slide 17

Slide 17

What’s it good for? (ii) © 2012 IBM Corporation

Slide 18

Slide 18

Programming for the Cloud Density ■ Small download ■ Small memory footprint Elasticity © 2012 IBM Corporation

Slide 19

Slide 19

Programming for the Cloud Density Elasticity ■ ■ Small download ■ Small memory footprint Enable and disable function – ■ For extra points, do it dynamically Easy install – Easy uninstall © 2012 IBM Corporation

Slide 20

Slide 20

Good for anything else? © 2012 IBM Corporation

Slide 21

Slide 21

Ubiquitous computing++ © 2012 IBM Corporation

Slide 22

Slide 22

Ubiquitous computing++ © 2012 IBM Corporation

Slide 23

Slide 23

Old new-world ■ Mobile technology a trend only on the client-side ■ Why? ■ Clients are mobile ■ Servers are not mobile – Obviously © 2012 IBM Corporation

Slide 24

Slide 24

New new-world ■ Servers are lightweight ■ Seriously - they literally don’t weigh much ■ Move from location-based services to locate-able services © 2012 IBM Corporation

Slide 25

Slide 25

WAS Liberty Profile ■ New in WebSphere Application Server 8.5 ■ Free for developers ■ Free tools ■ Very very lightweight – – – ■ No restarts! 50 MB download 60 MB footprint for biggish JEE app Starts in under 5s Entirely modular and dynamic © 2012 IBM Corporation

Slide 26

Slide 26

Modularity and dynamism © 2012 IBM Corporation

Slide 27

Slide 27

How can it be full-featured? © 2012 IBM Corporation

Slide 28

Slide 28

Where can the Liberty profile go? Nexus 7 tablet Asus Transformer © 2012 IBM Corporation

Slide 29

Slide 29

Where can the Liberty profile go? Old Android phone © 2012 IBM Corporation

Slide 30

Slide 30

Where can the Liberty profile go? Raspberry Pi © 2012 IBM Corporation

Slide 31

Slide 31

The Raspberry Pi ■ £25 ■ £25! ■ 1.6 oz ■ 700 MHz ARM 11 processor ■ 256 MB RAM (shared with GPU) ■ Up to 4 GB SanDisk © 2012 IBM Corporation

Slide 32

Slide 32

But what about the hat? ■ And why on earth would you want to do that? ■ ‘True’ location-based service ■ Collaboration without internet © 2012 IBM Corporation

Slide 33

Slide 33

Demo-time www.wasdev.net © 2012 IBM Corporation

Slide 34

Slide 34

Pi lessons learned ■ James Bond Wifi – – “For your eyes only” Power supply is an issue ■ A hat is a hot environment for a server :) ■ Solution: failover pi! – At £25, why not? © 2012 IBM Corporation

Slide 35

Slide 35

Can we do better? ■ Yes. ■ Built-in battery ● A built-in battery can’t work itself loose mid-demo :) ● Built-in wi-fi ● Built-in wi-fi doesn’t die mid-demo ● A phone has enough (electric) power to host an adhoc wifi network © 2012 IBM Corporation

Slide 36

Slide 36

The problem Holly, in Stockholm Tom, in London © 2012 IBM Corporation

Slide 37

Slide 37

No problem! ■ We have a Nexus 7, too! © 2012 IBM Corporation

Slide 38

Slide 38

Demo-time (again) www.wasdev.net © 2012 IBM Corporation

Slide 39

Slide 39

The problem ■ We updated the Nexus 7 :( – It needs rooting again © 2012 IBM Corporation

Slide 40

Slide 40

Any questions? www.wasdev.net © 2012 IBM Corporation