Is Spring the new legacy as quite a few people tell you on their blogs? I disagree on many levels. Throughout this session I will holistically detail on many levels without any polemics why I do recommend using the Spring Framework and it's ecosystem. Aspects that will be covered include: operational impacts, ecosystem, coding and road maps.
24. Update Volume
Libraries like
Server
App Server Runtime CDI, Servlet,
JPA, JSF, ... A lot of
planning
and testing
Servlet is required
Container Eventually
Integration
in Monitoring
JVM
...
39. Data
JPA MongoDB Neo4j GemFire
HBase
Redis JDBC Splunk Querydsl
Spring Data
HDFS MapReduce Hive
by example
Pig Cascading SI/Batch
40. JPA 2 Query
...
public class PersonDAO ... {
private EntityManager em;
public List<Person> findByFirstname(String firstname) {
Query q = em.createQuery(“from Person p where p.firstname = :name “)
.setParameter(“name“, firstname)
return q.getResultList();
}
}
41. JPA 2 Query
...
public class PersonDAO ... {
private EntityManager em;
public List<Person> findByFirstname(String firstname) {
Query q = em.createQuery(“from Person p where p.firstname = :name “)
.setParameter(“name“, firstname)
return q.getResultList();
}
}
You end up writing many simple queries
43. Spring Data with
QueryDSL
@Repository
public interface PersonRepository extends JpaRepository<Person, Long>,
QueryDslPredicateExecutor<Person> {
List<Kunde> findByFirstname(String firstname);
}
QPerson P = QPerson.person;
BooleanExpression hasBirthday = p.birthday.eq(...);
BooleanExpression livesInLinz = p.adress.city.eq("Linz");
Person result = personRepository.findAll(hasBirthday.and(livesInLinz));
44. Spring Data also
adresses NoSQL, Big
Data and Data Grids
Data
JPA MongoDB Neo4j GemFire HBase
Redis JDBC Splunk Querydsl
HDFS MapReduce Hive
Pig Cascading SI/Batch
46. Keep in mind
Server
App Server Runtime
Libraries like A lot of
planning
CDI, Servlet, and testing
Servlet JPA, JSF, ... is required
Container Eventuell
JVM
! Ususal Roundtrip is 2-3 years !
47. Spring offers a consistent
programming model and
many helpful abstractions
and utilities besides the
basics
54. Servlet 3.1 JSF 2.2 JPA 2.1
JAX-WS 2.0
Java EE 7
JMS 2.0 CDI 1.1
after
.... 11 years
55. Spring since
2009
12 / 2009 12 / 2011 End 2012
12 / 2009 Spring 3.0 Full professional
support
12 / 2011 Spring 3.1
Available on all
containers right
12 / 2012 Spring 3.2 away
56. Some math
Java EE
API Release 12 / 2009 0 months
Server Mid 2011 18 months
Available in
Mid 2013 18 + 24 months
organisations
42 months
API is available in production
3,5 years
57. The same math
Spring 3.0
API Release 12 / 2009 0 months
Available in
3 / 2010 3 months
organisations
API is available in production 3 months
60. Thank you!
Senacor is hiring
Software Developers and -Architects
michael.ploed@senacor.com
@bitboss
http://www.senacor.com
Photos / Graphics (c) Michael Plöd / Senacor Technologies AG
Exceptions: Photos on Slides 2, 9 (c) Matthias Heyde; Photo on Slide 34 is licensed from istockphoto
Pointy Font licensed from Bitfoundry