devoxx - building next-generation enterprise applications in java

Post on 22-May-2015

4.656 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Building Next-Generation Enterprise Applications in Javaa.k.a. Duke’s Duct Tape Adventures

Bert Ertman (@BertErtman)Fellow at Luminis

Paul Bakker (@pbakker)Sr. developer at Luminis Technologies

DISCLAIMER

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a

commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.

The development, release, and timing of any features or functionality described for

Oracle’s products remains at the sole discretion of Oracle.

Introduction

What’s an enterprise application anyway?

4

Functional vs. Non-functional

Non-functional system capabilities• Availability• Capacity• Extensibility• Flexibility• Manageability• Performance• Reliability• Scalability• Security• Testability

5

How to accomplish that?

• Remoting• Dependency

management• Caching• Web Services• Messaging (JMS)• Scheduling / timers• Load-balancing

• Fail-over• Integration testing• Asynchronous

invocations• Transactions• Security• Singletons• ...

6

Architecture

7

PresentationLogic

Navigation Logic

BusinessLogic

Data Access Data

UI renderingClient-side validation

Screen/workflowmanagement

Business rules/validationsDomain objectsTransactions

Object/relational mappingInvoking Enterprise Information Systems

Data storageConsistency

Let’s get started...

So, what’s the typical example of an enterprise

application?

8

That is probably...

WRONG!

9

Remember this?

10

Our toolbox

• Application Server - Glassfish v3.1 / JBoss AS 7• Database - MySQL• Build tool - Maven (ehhh...well)• Java IDE - ...

11

But wait...

PET STORES SUCK!

Hmm...let’s think of a better analogy...

12

#qotd

“Java EE 6 is the DUCT TAPE

of modern enterprise development”

13

Let’s visualize...

14

Java E

E 6Jav

a EE 6

Yep, it’s cool...

15

Run it by Google

16

Hell yeah :-)

17

Enterprise - revisited!

18

DEMOCode can be downloaded from:

https://github.com/paulbakker/ducttape

Where is the pattern love?

20

Heavy-weight vs. Light-weight

21

EJB: Enterprise Java Babes#ftw

EJB: Enterprise Java Babes

Downsides of Java EE?

• KISS, DRY, and YAGNI–Instead of only talking about them you now have to

prove them in practice

• More bugs per # LOC ;-)

• Small deployments–OH: “So they spent 3 months building this app and it’s ONLY a 100k WAR file?”

23

So...

With Java EE 6 in winter,who needs Spring?

it sucks anyway...

24

More info

• Bert Ertman • Twitter: @BertErtman• E-mail: bert.ertman@luminis.eu

• Paul Bakker• Twitter: @pbakker• E-mail: paul.bakker@luminis.eu

25

The End

Happy coding!

26

top related