My session notes from second day of the Confess 2015 conference…

Getting to Know the Emerging Enterprise Mobile Platform

by Michael Keith of Oracle

…about Mobile Backend as a Service (MBaaS)

Microservices and Conversion Hunting - How to build software architectures for changeableness

by Bernd Zuther of Codecentric

A case study on how an e-commerce company switched from a monolithic application to microservices to increase the conversion rate (A/B testing). Slideshare

Run Java applications with Docker on the Raspberry Pi and other platforms

by Johan Janssen of InfoSupport

A short introduction to docker and a step-by-step receipt how to get docker running on a Raspberry Pi

  • the whole development infrastructure can be docker-ized: target environment (application servers and databases at different stages), Jenkins, Sonar, SCM server…
  • use separate containers for each service (Appserver, database,…)
  • use separate containers for application and data
  • use a (private) docker registry
  • keep environment settings (for different stages) separate

Maintain your Maintainability

by Bernhard Keprt of

Desirable properties of a maintainable application:

  • isolated components
  • resilience
  • code changeable without sideeffects
  • understandable code

Architectural patterns:

  • Bulkhead, circuit breaker (e.g. Hystrix)
  • Client-side load balancing (e.g. Ribbon)
  • Logic load balancing: separate resources for low-prio components (e.g. batch jobs, statistical services) physically from business-critical components
  • Microservices (single components may be replaced more easily)

Hosted code quality services:

Metaprogramming with Groovy

by Iván López Martín of Kaleidos

  • Intercepting methods (using GroovyInterceptable)
  • Injecting methods and properties (using MetaClass)
  • Categories: modifying metaclasses only within a block
  • Extension modules: enhance classes by putting a JAR file (with class extensions) onto the classpath
  • Mixins (deprecated), Traits
  • Method syntesis (“create, cache, execute”)


Real-World RESTful Service Development Problems and Solutions

by Masoud Kalali of Oracle

  • Content negotiation
  • Resource versioning
  • Validation - always include a domain-specific error code in an error response
  • Exception handling - never send back stacktraces! Use ExceptionMappers as last line of defense
  • Logging - use a correlation ID
  • Authentication, access control
  • Caching (RestEasy: @Cache, @NoCache)
  • Partial updates (PUT/POST/PATCH)
  • Long-running jobs
comments powered by Disqus