Major social networking and media organizations such as LinkedIn and MTV Networks are leveraging the Spring Framework to build core applications that run their enterprises and Web sites. The open-source Spring platform is known for reducing the complexity of enterprise Java development.
sites such as LinkedIn and MTV are using the Spring Framework to lessen the
complexity of their Java development environments.
At the SpringOne Americas developer conference here, Yan Pujante, a
distinguished software engineer and member of the founding team at LinkedIn,
said the social networking organization has been using Spring since 2005 and
has more than 1,600 Spring files in use and more than 15,400 Spring Beans for
an average of nine Beans per Spring file.
Click here to read about how SpringSource is partnering with VMware to help enterprises develop and deploy Spring applications to virtual environments.
Pujante said LinkedIn uses Spring for various things, but primarily uses
Spring Core and Spring IoC. IoC is Inversion of Control, also known as
dependency injection. Dependency injection refers to the process of supplying
an external dependency to a software component. LinkedIn also uses Spring MVC
and is looking at the new Spring dm Server for its modular OSGi (Open Services
Gateway Initiative) capabilities, Pujante said.
Why Spring? "There were some problems we wanted to solve,"
including hard-coded wiring, issues with configuration, manual life-cycle
management and hard-to-reuse software wiring, Pujante said. So LinkedIn's
solution was to use Spring in addition to some LinkedIn extensions.
With Spring as a solution, Pujante said, "Wiring is not in code
anymore, there is a standard way to inject configuration, Spring handles life-cycle
issues automatically and it is easier to reuse Spring files."
Moreover, Pujante said Spring is extensible and his LinkedIn team "enhanced"
it to support its particular needs. "We decided to enhance Spring to do
what we wanted it to do," Pujante said. "We added a new XML
vocabulary. Another way to extend Spring is having your own custom property
editor," he said.
In addition to the new XML vocabulary and custom property editors,
LinkedIn also added a new kind of application context for life-cycle management
with components, Pujante said.
Pujante said LinkedIn also created LinkedIn Spring components. A LinkedIn
Spring component is a reusable, self-contained piece of Spring wiring and
configuration that is recursive by nature and is integrated into the LinkedIn
LinkedIn, created in 2003, has more than 30 million members. The company has
two data centers with more than 600 machines supporting an infrastructure of
Java applications, SOA (service-oriented architecture) platforms, Apache
Tomcat, Spring, Oracle, MySQL, OSGi and other components.
Meanwhile, Pujante said although Spring has helped a lot in creating
applications at LinkedIn, it does have its minuses, including the drawbacks
that XML is verbose and code refactoring does not work well with Spring