+ All Categories
Home > Documents > Apo calypse now !

Apo calypse now !

Date post: 23-Feb-2016
Category:
Upload: darva
View: 23 times
Download: 0 times
Share this document with a friend
Description:
Java. Apo calypse now !. Johannes Brodwall Exilesoft. Etter 15 års erfaring fra IT bransjen i Norge , innså Johannes Brodwall : “ Det er immari kaldt her!” Nå jobber han for IT bransjen i Sri Lanka . Men er fortsatt mest i kalde Norge . I love the smell of XML in the morning. - PowerPoint PPT Presentation
106
Apo calypse now! Johannes Brodwall Exilesoft Ja va
Transcript
Page 1: Apo calypse now !

Apocalypse now!

Johannes BrodwallExilesoft

Java

Page 2: Apo calypse now !

Etter 15 års erfaring fra IT bransjen i Norge, innså Johannes Brodwall:

“Det er immari kaldt her!”Nå jobber han for IT bransjen i Sri Lanka.

Men er fortsatt mest i kalde Norge.

Page 3: Apo calypse now !

I love the smell of XML in the morning.

It smells like… victory.

Page 4: Apo calypse now !

Prelude:

Page 5: Apo calypse now !

Where are the Java projects going?

Page 6: Apo calypse now !

Maybe it is just me…… but customers: “Java = meh”

… and I surprised myself by agreeing

Page 7: Apo calypse now !

Java is my favorite language, but…

… Oracle is ruining it… JBoss is ruining it

… SpringSource is ruining it… you guys are ruining it

Page 8: Apo calypse now !

«Don’t reinvent the wheel»

- «Everywhere», 20XX by Everyone

Page 9: Apo calypse now !
Page 10: Apo calypse now !

Part I:

Page 11: Apo calypse now !

The nightmare

Page 12: Apo calypse now !

XML APIs gone wild

Page 13: Apo calypse now !

A simple XML file

Page 14: Apo calypse now !

Parsing with DOM

Page 15: Apo calypse now !
Page 16: Apo calypse now !

Whops – right this time!

Page 17: Apo calypse now !
Page 18: Apo calypse now !

But the file may vary

Page 19: Apo calypse now !

And the Java gets… worse

Page 20: Apo calypse now !

And worse

Page 21: Apo calypse now !

Making it worse

Page 22: Apo calypse now !

I know!Let’s use JAXB!

Page 23: Apo calypse now !
Page 24: Apo calypse now !

Just need to deal with this null

pointer…

Page 25: Apo calypse now !
Page 26: Apo calypse now !

And this other one…

Page 27: Apo calypse now !
Page 28: Apo calypse now !
Page 29: Apo calypse now !

But wait – they didn’t follow the

XSD!

Page 30: Apo calypse now !

(Of course they didn’t)

Page 31: Apo calypse now !
Page 32: Apo calypse now !

And we need to map it to a domain

object

Page 33: Apo calypse now !
Page 34: Apo calypse now !

There must be a tool for that!

Page 35: Apo calypse now !
Page 36: Apo calypse now !

Running away

Page 37: Apo calypse now !

The Java EE software development process

Page 38: Apo calypse now !

Exception

Google

Stack overflow

TweakDeploy

Waaaaait

Poke

Page 39: Apo calypse now !

Those that get it• JavaScript• Ruby• Python• Clojure?

Those that don’t• Scala• JSF• Groovy• Clojure?

“Those who cannot learn from history are doomed to repeat it.”- George Santayana

Page 40: Apo calypse now !

Are you using technology to solve

your problems?

Page 41: Apo calypse now !

Or so that you don’t have to face your

problems?

Page 42: Apo calypse now !

… yet

Page 43: Apo calypse now !

Part II:

Page 44: Apo calypse now !

The dream

Page 45: Apo calypse now !

Java’s greatest giftThe IDE

Page 46: Apo calypse now !
Page 47: Apo calypse now !
Page 48: Apo calypse now !
Page 49: Apo calypse now !

“I can see how TDD works for toy examples…”

Page 50: Apo calypse now !

“… but how can we use it when we have all these

really complicated technologies???”

Page 51: Apo calypse now !

(Hint:“all these complicated technologies”

I think I see your problem right here...)

Page 52: Apo calypse now !

How to make real problems more like

toy problems?

Page 53: Apo calypse now !

(Tip: Not by getting more toys)

Page 54: Apo calypse now !

He who gives up compilation time for

refactoring menu options deserves neither

- Benjamin Franklin

Page 55: Apo calypse now !

Less magic!

Page 56: Apo calypse now !

Parsing a file

Page 57: Apo calypse now !
Page 58: Apo calypse now !

Oh, that could be null!

Page 59: Apo calypse now !
Page 60: Apo calypse now !

Mapping to a domain object

Page 61: Apo calypse now !
Page 62: Apo calypse now !

A SOAP service is just a retarded REST service

Page 63: Apo calypse now !
Page 64: Apo calypse now !

Part III:

Page 65: Apo calypse now !

The road to a better place

Page 66: Apo calypse now !

A better framework

Page 67: Apo calypse now !

No calculator until…

Page 68: Apo calypse now !

Don’t use a framework you couldn’t have

written yourself

Page 69: Apo calypse now !

“But what about transactions?”

Page 70: Apo calypse now !

“We need an annotation for

that!”

Page 71: Apo calypse now !
Page 72: Apo calypse now !

Have you ever misconfigured

@Transaction?

Page 73: Apo calypse now !

Three lines of magic!

Page 74: Apo calypse now !
Page 75: Apo calypse now !
Page 76: Apo calypse now !

Three lines of magic!plain

Java

Page 77: Apo calypse now !

You can replace AOP with three

lines of plain Java

Page 78: Apo calypse now !

A better application server

Page 79: Apo calypse now !

You probably just need to listen to

HTTP requests

Page 80: Apo calypse now !
Page 81: Apo calypse now !
Page 82: Apo calypse now !
Page 83: Apo calypse now !

Better templates

Page 84: Apo calypse now !
Page 85: Apo calypse now !
Page 86: Apo calypse now !
Page 87: Apo calypse now !

Eaxy is not meant for public

consumption

Page 88: Apo calypse now !

Just to show that Java EE solves wrong problem

Page 89: Apo calypse now !
Page 90: Apo calypse now !
Page 91: Apo calypse now !
Page 92: Apo calypse now !
Page 93: Apo calypse now !

Just to show that Java EE solves wrong problem

Page 94: Apo calypse now !
Page 95: Apo calypse now !
Page 96: Apo calypse now !

Epilogue:

Page 97: Apo calypse now !

I don’t really mean it, do I?

Page 98: Apo calypse now !

Frameworks solve 80% of the job…

Page 99: Apo calypse now !

… and makes the rest 10 times as hard

Page 100: Apo calypse now !

“Why did Hibernate suddenly slow down?”

Page 101: Apo calypse now !

“How do I make JBoss behave the way I

want?”

Page 102: Apo calypse now !

“How do I implement a custom SOAP header

with JAX-WS?”

Page 103: Apo calypse now !

“Why did my dependencies not inject?”

Page 104: Apo calypse now !

“How do I do anything with Spring”

Page 105: Apo calypse now !

“Java EE is a path to the dark side.

Java EE leads to anger.Anger leads to hate.

Hate leads to … suffering”

- Yoda

Page 106: Apo calypse now !

Thank [email protected]

http://johannesbrodwall.comhttp://exilesoft.com/exilee

http://twitter.com/jhannes


Recommended