blue bar background yellow bar background
Colorado Software Summit 2008 banner
Colorado Software Summit logo

The Best Way to Master a Technology Is to Teach It to Others

Matt Raible

Raible Designs

Building LinkedIn's Next Generation Architecture with OSGi and Spring

In March of 2008, a group of Senior Engineers started a greenfield project to explore an idealized implementation of LinkedIn using the best available technologies. At the time, LinkedIn's architecture consisted of several front-end servers running Tomcat and a plethora of backend services running on Jetty. Spring's HttpInvoker Strategy was used to do much of the server-to-server communication. While this system worked well and was highly scalable, it was difficult to manage from a code modularization point of view. It also didn't allow hot-swapping of new code nor versioning of APIs.

The New Architecture was built with OSGi (Equinox) as a foundation. Spring Dynamic Modules was used to simplify Spring integration and the build system was converted from a monolithic Ant build to Maven 2. The web framework was converted from a proprietary one to Spring MVC and FreeMarker. This session will discuss the pros and cons of OSGi, the process we used to start and implement the project, as well as our strategy for migrating existing code quickly and efficiently. Come to this session to find out if the latest buzzwords in Enterprise Architecture are as good as everyone says they are.

Building Rich Internet Applications with Appcelerator

SOFEA stands for Service Oriented Front-End Application. The 5 principles of SOFEA are:

  1. Decouple the three orthogonal Presentation Tier processes of Application Download, Presentation Flow and Data Interchange. This is the foundational principle of SOFEA.

  2. Explore various Application Download options to exploit usefully contrary trade-offs around client footprint, startup time, offline capability and a number of security-related parameters.

  3. Presentation Flow must be driven by a client-side component and never by a server-side component.

  4. Data Interchange between the Presentation Tier and the Service Tier must not become the weakest link in the end-to-end application chain of data integrity.

  5. Model-View-Controller (MVC) is a good pattern to use to build the Presentation Tier.

Appcelerator is an Open Source (LGPL) project that allows you to easily build Ajax-based RIA with a clear and concise syntax. This session will give an overview of Appcelerator, show you an example using Java and talk about how easy it is to use with Google's App Engine. Lastly, it will do a comparison with other RIA technologies, such as GWT and Flex.

Photo of Matt Raible

Matt Raible proudly resides in Denver, Colorado where he runs Raible Designs, a consultancy that specializes in open source Java frameworks and Ajax development. Matt has been surrounded by computers for most of his life, even though he grew up in the backwoods of Montana without electricity.

Matt is an author (Spring Live and Pro JSP, Third Edition), and an active Java open-source contributor and blogger on http://raibledesigns.com. He is the founder of AppFuse, a project which allows you to get started quickly with Java frameworks, as well as a committer on the Apache Roller project.

Blog: http://raibledesigns.com/rd/

Email: matt@raibledesigns.com