Do you seek to to improve the modularity of your enterprise applications? Do you wish you could deploy multiple concurrent versions of services and applications? Do you require operational control over the life cycle of key application components? Interested in building on a proven component technology? If so, Spring on OSGi could be just the thing for you.
In this session Adrian will first introduce OSGi and then focus on the new Spring support for building Spring applications that take advantage of the OSGi platform.
Adrian Colyer is the leader of the AspectJ open source project and a well-known industry expert on the topic of aspect-oriented programming (AOP). He is a co-author of the book "Eclipse AspectJ : Aspect-Oriented Programming in Eclipse with AspectJ and AJDT," and has also published numerous book chapters, articles and published papers. His short essay, "AOP without the buzzwords" has been described as "the best explanation of AOP, ever."
In 2004, Adrian was recognized as one of the top 100 young innovators in the world by MIT Technology Review for his contributions to the development and adoption of aspect-oriented programming in industry.
Adrian is a popular conference speaker and panelist at Java conferences and events around the world including the ServerSide Symposium, JavaPolis and JavaZone. He served on the Program Committee for the International Conference in Aspect Oriented Software Development for the 2004, 2005, and 2006 conferences, and was the first Industry Chair of the conference in 2002.
Adrian founded the AspectJ Development Tools project (AJDT) on Eclipse.org in 2003, a project that continues to lead the world in providing IDE support for AOP. As leader of the AspectJ project, Adrian has overseen several releases of the compiler and designed and implemented many of the AspectJ 5 language extensions to support Java 5 features such as generics and annotations. He is the author of the "AspectJ 5 Developer's Notebook" available from the AspectJ website.
Prior to joining Interface21, Adrian gained over a decade of experience in building enterprise middleware at IBM. Whilst there he built what he believes to be the best aspect-oriented development team in the industry at the time of his departure, and oversaw the introduction of aspect-oriented programming to many IBM development teams.
At Interface21, Adrian contributes to the Spring, AspectJ, and AJDT open source projects and provides education, training, and consultancy to clients working with Spring and AspectJ. He is also actively involved in writing and evangelism on these subjects
Costin Leau is an Interface21 consultant based in Romania. His interests include data access and aspect oriented programming. With significant development experience, Costin is currently working on the Spring JPA support project, Pitchfork (http://www.interface21.com/pitchfork), and has recently co-authored Interface21's public Hibernate training course.
The most active Spring forum contributor with over 2,300 posts, Costin is also involved as Project Lead for Spring Modules.
OSGi, the good the bad the ugly— The microService Architecture (mSA) Backplane is an OSGi-based infrastructure that will be the basis for many future software products from BEA. This project has been in development for about a year, and currently consists of about 100 different OSGi bundles that encompass functions such as logging, thread management, HTTP servlets, web services, and transaction management.
Scaling over time - The version problem— Software versioning is one of the most neglected areas of software development. We're all aware of the need for version control systems in development, but these systems are external to our source code.
JSR-277 Java Module System— The JSR-277 (Java Module System) specification seeks to address many issues associated with Java Archives (JARs), including the lack of version control, the difficulties in distributing multiple JARs for deployment, the classpath hell, JAR hell, and extension hell, etc. that have been well known to many Java developers for years.
Spring OSGi— The Spring-OSGi project makes it easy to build Spring applications that run in an OSGi framework. A Spring application written in this way provides better separation of modules, the ability to dynamically add, remove, and update modules in a running system, the ability to deploy multiple versions of a module simultaneously (and have clients automatically bind to the appropriate one), and a dynamic service model.