devoxx - building next-generation enterprise applications in java
Post on 22-May-2015
4.656 Views
Preview:
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