The Cuddly Throwable Application Server

Preview:

Citation preview

© 2016 IBM Corporation

The

Cuddly, Throwable Application Server

@holly_cummins

?

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

What is the Bluemix Garage? (It’s not actually a Garage.)

@holly_cummins

@holly_cummins

http://ibm.biz/bluemixgaragelondon

@holly_cummins

“Computers in the future may weigh no more than 1.5 tons.”

- Popular Mechanics, 1949

@holly_cummins

“I think there is a world market for maybe five computers.” — Thomas Watson, chairman of

IBM1943

@holly_cummins

Then: HARDware

@holly_cummins

Now: Everyware

@holly_cummins

Next: Connected-ware

@holly_cummins

Why care about the Internet of Things?

@holly_cummins

Why care about the Internet of Things?

This could really benefit my business

@holly_cummins

Why care about the Internet of Things?

This could really benefit my business

This is so FUN and COOL and OOH I

made it LIGHT UP!”

@holly_cummins

Poll-time.

@holly_cummins

@holly_cummins

+

@holly_cummins

+

@holly_cummins

It was cool.

But it couldn’t move around much.

@holly_cummins

pcDuino

@holly_cummins

pcDuino

@holly_cummins

pcDuino£60

@holly_cummins

pcDuino£60

Dual-core CPU

4 GB flash storage

1 GB RAM

“Arduino-ish” pins

Wi-fiBattery

connector

@holly_cummins

embedded application

server

Sensors

Liberty

Architecture

@holly_cummins

A bit of textile engineering.

@holly_cummins

A bit more textile engineering.

@holly_cummins

Ta-daa!

@holly_cummins

Ta-daa!

Presenting: The WebSphere Sphere

@holly_cummins

Ta-daa!

Presenting: The WebSphere Sphere

(“the cuddly application server”)

@holly_cummins

Ta-daa!

Presenting: The WebSphere Sphere

(“the cuddly application server”)(“the world’s first throwable application server”)

@holly_cummins

@holly_cummins

Throwable technology. Not so silly after all.

@holly_cummins

Remind you of anything?

@holly_cummins

Not really. It’s very lumpy, isn’t it?

@holly_cumminsIt’s a computer case

@holly_cummins

Interfacing the ball to the computer

LED sequins

@holly_cummins

Soft circuits

@holly_cummins

Soft circuits

Conductive thread

@holly_cummins

Soft circuits

£6.78Conductive thread

@holly_cummins

Soft circuits

£6.78Conductive thread

Stainless steel

@holly_cummins

Soft circuits

£6.78Conductive thread

Solderable

Stainless steel

@holly_cummins

Soft circuits

£6.78Conductive thread

Solderable

Sewable

Stainless steel

@holly_cummins

http://pcduino.local

@holly_cummins

–My Mother

“Holly, why would anyone want an application server in a cuddly ball?”

@holly_cummins

Who wouldn’t want an application server in

a cuddly ball?

@holly_cummins

So … did it work?

@holly_cummins

So … did it work?

@holly_cummins

So … did it work?

pcDuino could never display on any monitor.

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

Wires snapped.

Many times.

@holly_cummins

… and then what happened?

Wires snapped.

Many times.Inside a unit that had to be disassembled before any repair could be done.

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hopePcDuino

battery interface

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

Popular embeddable

battery

PcDuino battery

interface

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

Popular embeddable

battery

PcDuino battery

interface

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

Popular embeddable

battery

PcDuino battery

interface

JST-PH

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

Popular embeddable

battery

PcDuino battery

interface

JST-PH

@holly_cummins

… and then what happened?

• Connectors are not as easy as one might hope

Popular embeddable

battery

PcDuino battery

interface

JST-PHJST-SH

@holly_cummins

“The board features a difficult-to-get JST-SH connector. You won't find a battery with a ready-made five-pin JST-SH connector. ”

http://wt.tuxomania.net

@holly_cummins

“The board features a difficult-to-get JST-SH connector. You won't find a battery with a ready-made five-pin JST-SH connector. ”

http://wt.tuxomania.net

!&!^@*!

@holly_cummins

It’s ok! I wired in a battery.

@holly_cummins

… and then what happened?

LiPoly battery. Standard 3.3V output.

@holly_cummins

… and then what happened?

Battery voltage isn’t enough for LEDs.

Or sensors.

LiPoly battery. Standard 3.3V output.

@holly_cummins

@holly_cummins

It’s ok! I used a USB battery.

@holly_cummins

It’s ok! I used a USB battery.

@holly_cummins

It’s ok! I used a USB battery.

Un-covered metal batteries short pins.

@holly_cummins

It’s ok! I added a sock.

@holly_cummins

It’s ok! I added a sock.

@holly_cummins

It’s ok! I added a sock.

Child will never miss it.

I’ve fixed this for you.

SI’ve fixed this for you.

@holly_cummins

A USB power connector lived

here

… and then what happened?

@holly_cummins

… and then what happened?

Another USB power connector

lived here

@holly_cummins

… and then what happened?

What does that mean in practice?

@holly_cummins

… and then what happened?

What does that mean in practice?

Normally, 0 = bounce.With insufficient voltage, pin is always 0.

@holly_cummins

… and then what happened?

So it infinitely … oh. Oh dear.

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

Motion sensor started smoking, stopped working.

Had to buy a new one.

@holly_cummins

pcDuino stopped working. Had to buy a new one :(

… and then what happened?

@holly_cummins

–My mother

“Holly, I saw a video of your sphere talk.

I thought you handled the fact that the demo failed really well.

Are there any videos where it actually works?”

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

It worked faultlessly.Twice in a row.

@holly_cummins

pcDuino

useful stuff

The physical world …

@holly_cummins

pcDuino

useful stuff

The physical world …

bulky protective padding

@holly_cummins

pcDuino

useful stuff

… doesn’t fit in hand-luggage. The physical world …

bulky protective padding

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

Not supposed to look like

that.

@holly_cummins

… and then what happened?

Pin on power board snapped. Remnants of pin in PCB hole.

Not supposed to look like

that.

@holly_cummins… and then what happened?

@holly_cummins

Solder burns on kitchen counter.

… and then what happened?

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

No power to pcDuino.

@holly_cummins

… and then what happened?

It’s ok! I bought a better powerboost.

@holly_cummins

… and then what happened?

@holly_cummins

… and then what happened?

No power to pcDuino. Still.

@holly_cummins

… and then what happened?

There’s actually a hole in the battery under all that

tape.

@holly_cummins

What could possibly go wrong with a damaged

LiPo battery?

@holly_cummins

It’s ok! I bought a new battery. (and the damaged one isn’t in my house anymore)

@holly_cummins

It’s ok! I bought a new battery. (and the damaged one isn’t in my house anymore)

It’s ok! I bought two new batteries.

@holly_cummins

- My partner

“Holly, I keep telling you you should refuse to do

this talk anymore.”

@holly_cummins

- My partner

“Holly, I keep telling you you should refuse to do

this talk anymore.”

(I didn’t even tell him about the exploding batteries.)

@holly_cummins

IoT development checklist

@holly_cummins

Look before you leap.

IoT development checklist

@holly_cummins

Look before you leap.

You will need:

IoT development checklist

@holly_cummins

Look before you leap.

You will need:

• Spare money

IoT development checklist

@holly_cummins

Look before you leap.

You will need:

• Spare money

• A lot of time

IoT development checklist

@holly_cummins

Look before you leap.

You will need:

• Spare money

• A lot of time

• A high tolerance for stress

IoT development checklist

@holly_cummins

–Thomas Edison

I have not failed. I've just found 10,000 ways that won't work.

@holly_cummins

But … what does

it all mean?

http://www.commitstrip.com/en/2016/05/26/the-internet-of-things-a-revolution/

@holly_cummins

This is important.

@holly_cummins

This is important-ish.

@holly_cummins

@holly_cummins

Single-board computers are an

amazing revolution.

@holly_cummins

Single-board computers are an

amazing revolution.

@holly_cummins

Single-board computers are an

amazing revolution.

Application servers are lighter than you think.

@holly_cummins

Single-board computers are an

amazing revolution.

Application servers are lighter than you think.

@holly_cummins

Single-board computers are an

amazing revolution.

Application servers are lighter than you think.

Java EE is really handy.

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

@holly_cummins

WebSphere Liberty installs only the Java EE features needed.

@holly_cummins

WebSphere Liberty installs only the Java EE features needed.

@holly_cummins

WebSphere Liberty installs only the Java EE features needed.

For my application, that’s a lot of features.

@holly_cummins

WebSphere Liberty installs only the Java EE features needed.

For my application, that’s a lot of features.

@holly_cummins

WebSphere Liberty installs only the Java EE features needed.

For my application, that’s a lot of features.

(I used a lot of programming models. )

@holly_cummins

@holly_cummins

But is it IoT?

@holly_cummins

embedded application

server

Sensors

Liberty

Architecture

@holly_cummins

@holly_cummins

@holly_cummins

Thing

@holly_cummins

Embedded thing

@holly_cummins

Very very embedded thing

@holly_cummins

Very very embedded thing

Network, but not internet

@holly_cummins

@holly_cummins

No machine-to-machine

@holly_cummins

Sensors

@holly_cummins

Sensors

@holly_cummins

http://sphere.mybluemix.net/

@holly_cummins

Bluemix and IoT

@holly_cummins

// parse VCAP_SERVICESString VCAP_SERVICES = System.getenv("VCAP_SERVICES");

JSONObject vcap = new JSONObject(VCAP_SERVICES);JSONArray json = vcap.getJSONArray("iotf-service");JSONObject credentials =

json.getJSONObject(0).getJSONObject("credentials");String host = (String) credentials.get("mqtt_host");Integer port = (Integer) credentials.get("mqtt_u_port");…

MqttClient client = new MqttClient(uri, id);MqttConnectOptions opts = new MqttConnectOptions();opts.setUserName(username);opts.setPassword(password.toCharArray());client.connect(opts);client.setCallback(this);client.subscribe("iot-2/type/+/id/+/evt/+/fmt/+");

Everything is a service (12-factor style)

@holly_cummins

www.wasdev.net

Any questions? www.wasdev.net

ibm.biz/bluemixgaragelondon https://github.com/holly-cummins/throwable-application-server

@holly_cummins

Recommended