Building Modular
Java Applications
in the Cloud Age
vJUG, March 2015
Bert Ertman
Fellow at Luminis (Netherlands)
former JUG Leader for NLJUG
Java Champion
@BertErtman
About me
bert.ertman@luminis.eu
Observations
Extremely agile 

(first mover advantage)
Architecture (and code base)
should be able to cope with change
The case for modularity
Modularity is the 

ultimate agile tool!
Small, disposable, components
Prevents code rot on the
architectural level
Isolate problems, focus work
Prevent
(tight)
coupling
What we learned about OO design in university :
Promote
cohesion
coupling
cohesion
Modules Service Lookups
Whatdoweneed
design
consequences
High-level
enterprise APIs
Architectural
focus on
modularity
Runtime
dynamic
module
framework
Right now,
OSGi is the
only option
let’s not
reinvent the
wheel
formodularity?
Auth
Blob stores
MongoDB
JPA
Multi-tenancy
OpenSocial
Search
Remote Services
REST
Template
Web
...
Components
Stop talking…
and show me code!
Products Rest
Products API
Products
Service
MongoDB
Orders Rest
Orders API
Orders Service
MongoDB
Customers API
Customers
Service
MongoDB
... Rest
... API
...
Service
modularity
in action...
What about
deployment?
Provisioning Server
Provisioning servers
Node
AWS Auto Scaling
1. Start
Load Balancer
Apache ACE
2. register
3. register
4. provision
deployment
package
Provisioning servers
Nodes are completely disposable
Automated cluster recovery
Nodes do not require maintenance
No “big” container
Wrap up
Takk
Grazie
Thank
you
Obrigado
Mahalo
Danke
Dank U
Merci
Gracias

VJUG - Building Modular Java Applications in the Cloud Age