Wide and cheap availability of cloud-based media services is upon us. With the transformations these services are already bringing to the consumption of music, video and interactive media, change has likewise come to professional workflows. Documents in 2012 are read, written, collaborated on, and distributed anywhere an Internet-enabled device can reach – which is to say, everywhere.
In his session at the 10th International Cloud Expo, Christopher Kenneally, Director of Business Development a...| By Rick Hightower | Article Rating: |
|
| January 8, 2005 12:00 AM EST | Reads: |
81,607 |
If you have not looked into Spring yet, it is time. Here is why you should!
Grady Booch once said that the great thing about objects is that they can be replaced. The great thing about Spring is it helps you replace them. With Spring, you simply inject collaborating objects called dependencies using JavaBeans properties and configuration files. Then it's easy enough to switch out collaborating objects when you need to. Spring allows you to dynamically add services to objects called aspects. This is similar to the Decorator Design pattern, but does not require you to recompile your code base to apply these services. This allows you to replace objects with objects that enhance the originals.
The ability to inject collaborating objects is often called IoC (inversion of control). Thus, Spring is an IoC container. If you follow the latest developer buzz then you've likely heard of IoC (Inversion of Control) containers and AOP (aspect-oriented programming). Like many developers, however, you may not see where these technologies fit into your development efforts. As the word inversion implies, IoC is like JNDI turned inside out. Instead of using a tangle of abstract factories, service locators, singletons, and straight construction, each object is constructed with its collaborating objects. Thus, the container manages the collaborators. (Collaborators are objects that an object needs to fullfill its role.)
The ability to dynamically add services to objects is called AOP. AOP allows developers to create non-domain concerns, called crosscutting concerns, and insert them in their application code. With AOP, common services like logging, persistence, transactions, and the like can be factored into aspects and applied to domain objects without complicating the object model of the domain objects.
Thus, Spring is an IoC/AOP container. There are many IoC containers. There are also many AOP frameworks. If Spring was only an IoC/AOP container, it would be worth your attention and interest since it seems to be the most mature. Spring is a lot more than an IoC/AOP container.
What makes Spring different than the other frameworks and containers, is Spring goes beyond just being an IoC container or an AOP framework. The other containers are academic interests, and some are quite good. They provide good support of IoC and AOP.
Spring goes one step further by eating its own dog food. It uses IoC and AOP to provide a comprehensive library for simplifying J2EE development. This comprehensive library is written with aspects, dependency injection and OOP best practices.
Spring makes J2EE development easier. It does this with a variety of mechanisms. One common mechanism is its use of templates. A template is a cross between a utility class and execution environment. Spring Templates are an embellishment and extention of the Template design pattern (GOF).
At first glance templates appear to be well written utility classes. However, templates provide a lot more than just utility functions. Templates provide and execution environment. When using a template you first endeavor to use one of its it utility method. If the template doesn't have a utility method you need, you implement a callback object. The callback object has a method that executes a method in the environment of the template. The template therefore takes care of things like exception handling and resource management in a consistent manner. This means your code base will not be littered with try/catch/finally blocks, and it is easier to ensure that resources and exception are handled correctly.
Spring promotes good programming practices. It does this by providing great examples how to use IoC and AOP in a consistent manner. It also does this by showing how to build things like templates to manage resources and exceptions in the consistent manner. It goes even further by building sets of frameworks on top of IoC, AOP and templates that are the embodiment of good OO programming.
The IoC capabilities allowing injection of dependent objects turns out to be a great mechanism for testing your code. It is easy now to inject mock objects (object for testing), and test your classes in an isolated manner. For example, you can test you business delegates without relying on the DAO (Data access objects) objects talking to the database. Essentially Spring took back development from the design pattern hacks deemed necessary to program J2EE. As Rod Johnson once put it: Spring puts the OO back in J2EE development.
Spring provides portability through abstraction of common services. For example, Spring provides a common interface object relational management (ORM) systems like Hibernate, JDO, Cayenne, Spring JDBC and iBatis. It provides a mechanism for building DAO objects that divorces the client code from the underlying implementation. it does this by providing a common set of exceptions like object not found exception, and making these exception runtime exceptions.
Spring provides a easy on-ramp for many industry-standard projects. And not just industry-standard projects but the de facto industry-standard projects. The projects that people actually use to get their daily work done. For example, Spring provides support for JDO, Hibernate, Quartz, Tapestry, JavaServer faces, and many more frameworks. Its been said that Spring simplifies J2EE development, and that is a primary focus of Spring. However,Spring provides utilities to work with all tiers of an n-tier application. For an MVC application, there are utilities for working with View technologies (Struts, Spring, Rich Client etc.), Model (EJB, AOP based transaction, AOP based security, etc.), etc. You can use Spring to build Swing and SWT applications.
If you have not looked into Spring yet, it is time.
------------------------------------------------
The above started as a reply to Cameron Purdy's prediction list, which I really liked. Then I got carried away and it became a full blown plug for Spring. (Darn Caffiene!)
What is Spring?
Spring is a popular AOP/IoC framework that was developed by Rod Johnson, Juergen Hoeller et al. Spring simplifies J2EE and Java development. Rod Johnson is the famed author who wrote Expert One-on-One J2EE Design and Development.
Spring makes J2EE development easier. Spring is a J2EE framework that simplifies commons tasks and encourages good design based on programming to interfaces. Springs makes your application easier to configure and reduces the need for many J2EE design patterns (quite a few J2EE design patterns are really glorified hacks that clutter your code base). Spring puts the OO design back into your J2EE application.
Published January 8, 2005 Reads 81,607
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Rick Hightower
Rick Hightower serves as chief technology officer for ArcMind Inc. He is coauthor of the popular book Java Tools for Extreme Programming, which covers applying XP to J2EE development, and also recently co-authored Professional Struts. He has been working with J2EE since the very early days and lately has been working mostly with Maven, Spring, JSF and Hibernate. Rick is a big JSF and Spring fan. Rick has taught several workshops and training courses involving the Spring framework as well as worked on several projects consulting, mentoring and developing with the Spring framework. He blogs at http://jroller.com/page/RickHigh.
![]() |
Rick Hightower 01/08/05 06:26:10 PM EST | |||
The article (like the last one I wrote) started out as being a blog entry (http://jroller.com/page/RickHigh/20050107#spring_plug). It is nice when the JDJ picks it up and gives it more exposure. The last blog entry turned article I wrote was read quite a bit according to the JDJ folks. I've written some follow up ideas at: |
||||
![]() |
Rick Hightower 01/08/05 05:53:57 PM EST | |||
I've used Spring on a half dozen different projects now (most if not all of them in production). The first time I used Spring I was amazed how much it helped to simplify the code base. Once you get rid of all of the service locators, and dynamic creation of implementations, and singletons, etc. then the code base gets a bit smaller. Also using the Spring templates really helps to keep things simple and yet manage resources well. I much prefer using Hibernate with Spring then without it. It really simplifies things. |
||||
![]() |
Agreed 01/08/05 05:20:08 AM EST | |||
Spring manages your mappings and helps maintain consistency across your data connections and helps you abstract your business logic, keeping it out of the actual pages. Best of all it also integrates with Struts. |
||||
![]() |
Spring has sprung 01/08/05 05:04:16 AM EST | |||
Wasn't it Purdy who said it's imposible to resist saying the word Spring. ("Yup, it's like trying not to think of pink elephants - impossible once you get that in your head. Spring, spring, spring, spring. La tee dah, spring spring spring.") What's in a name? |
||||
Wide and cheap availability of cloud-based media services is upon us. With the transformations these services are already bringing to the consumption of music, video and interactive media, change has likewise come to professional workflows. Documents in 2012 are read, written, collaborated on, and distributed anywhere an Internet-enabled device can reach – which is to say, everywhere.
In his session at the 10th International Cloud Expo, Christopher Kenneally, Director of Business Development a...Feb. 17, 2012 02:00 PM EST Reads: 450 |
By Jeremy Geelan With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...Feb. 17, 2012 11:45 AM EST Reads: 488 |
By Elizabeth White Cloud is a shift from the focus on underlying technology implementation to leveraging existing implementations and further building upon them. Cloud orchestration or a network of clouds is the wave of the future where these clouds can operate with elasticity, scalability, and efficiency. Effective service management is an important aspect of managing such networks. The transition to the cloud will enable the further aggregation of composite web services and enhanced business-to-business capabili...Feb. 17, 2012 10:58 AM EST Reads: 436 |
By Brian McCallion I've been working on Enterprise Cloud Strategy and in the course of this work identified some interesting and non-obvious opportunities in the Cloud.
One solution I’ve examined is the well-crafted solution that is enStratus. enStratus has built a SaaS Cloud Management / Governance product focused on providing critical management, monitoring, governance capabilities tailored to the needs of the Global 2000 market, rather than the startup market. As I have worked with a current Fortune 500 clie...Feb. 17, 2012 07:00 AM EST Reads: 3,669 |
By Kevin Jackson From the NRO Press Release: "Considered one of the top women leaders in Federal IT, Ms. Singer was recognized for her innova... Feb. 17, 2012 07:00 AM EST Reads: 489 |
By Jeremy Geelan With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...Feb. 16, 2012 07:30 AM EST Reads: 923 |
By Jeremy Geelan "Having been in the IT field for many years, I believe the cloud computing chapter in the industry is an exciting one and I am proud to be a part of it," said National Reconaissance Office (NRO) Chief Information Officer Jill T. Singer Tuesday, as it was announced that she was one of 10 winners of the 2012 CloudNOW "Top Ten Women in Cloud" Awards.Feb. 16, 2012 06:30 AM EST Reads: 595 |
By Pat Romanski 2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined application stacks, but have not targeted more complex enterprise application environments.
In his session at the 10th International Cloud Expo, John Yung, CEO of Appcara, will discuss how 2012 will be the year for app...Feb. 16, 2012 06:30 AM EST Reads: 2,038 |
By Liz McMillan As more enterprises are adopting clouds, the nature of cloud computing is changing. Previously, clouds were used to test applications or for non-mission critical applications. Today, enterprises are using clouds for cost-saving advantages and launching more mission critical applications that have defined performance needs.
In his session at the 10th International Cloud Expo, Eric Shepcaro, CEO and Chairman of the Board of Telx, will discuss how distributed computing has many advantages. It wou...Feb. 16, 2012 05:45 AM EST Reads: 1,840 |
By Liz McMillan Building a cloud computing environment with on-demand access to compute, network, and storage resources requires an elastic infrastructure at multiple levels. Virtualization combined with x86 servers has transformed the way we scale out compute resources. Unfortunately, legacy Fibre Channel and iSCSI storage architectures are rooted in rigid mainframe-era designs, and are fundamentally mismatched with the dynamic, shared modern data center.
In his session at the 10th International Cloud Expo, ...Feb. 16, 2012 05:30 AM EST Reads: 2,412 |
- How Are You Building Your Cloud?
- Cloud Expo New York Speaker Profile: Dave Asprey – Trend Micro
- Big Data in Telecom: The Need for Analytics
- Big Data Gold Mine in Cloud Governance and Automation
- Drool, Britannia? Is the UK Failing the Cloud?
- Cloud Expo New York Speaker Profile: Mårten Mickos – Eucalyptus Systems
- Thoughts on Big Data and Data Virtualization
- Cloud Expo New York Speaker Profile: Bernard Golden – HyperStratus
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Australia's Lunatic NBN OK for Cloud (Update)
- The Future of Cloud Computing: Industry Predictions for 2012
- HP Puts Activist Shareholder on Board
- Gartner Hype Cycle for Emerging Technologies 2011
- How Are You Building Your Cloud?
- Cloud Expo New York Speaker Profile: Dave Asprey – Trend Micro
- Big Data in Telecom: The Need for Analytics
- i-Technology in 2012: Five Industry Predictions
- Big Data Gold Mine in Cloud Governance and Automation
- 9th International Cloud Expo | Cloud Expo Silicon Valley – Photo Album
- Drool, Britannia? Is the UK Failing the Cloud?
- Microsoft Tries Hadoop on Azure
- Cloud Expo New York Speaker Profile: Mårten Mickos – Eucalyptus Systems
- What is Cloud Computing?
- The Top 150 Players in Cloud Computing
- Six Benefits of Cloud Computing
- Virtualization Conference Keynote Webcast Live on SYS-CON.TV
- What's the Difference Between Cloud Computing and SaaS?
- GDS International: Global Warming Scam?
- Twenty-One Experts Define Cloud Computing
- The Future of Cloud Computing
- The Top 250 Players in the Cloud Computing Ecosystem
- SOA 2 Point Oh No!
- Cloud Expo Europe 2009 in Prague: Themes & Topics
- A Brief History of Cloud Computing: Is the Cloud There Yet?









With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...
Cloud is a shift from the focus on underlying technology implementation to leveraging existing implementations and further building upon them. Cloud orchestration or a network of clouds is the wave of the future where these clouds can operate with elasticity, scalability, and efficiency. Effective service management is an important aspect of managing such networks. The transition to the cloud will enable the further aggregation of composite web services and enhanced business-to-business capabili...
I've been working on Enterprise Cloud Strategy and in the course of this work identified some interesting and non-obvious opportunities in the Cloud.
One solution I’ve examined is the well-crafted solution that is enStratus. enStratus has built a SaaS Cloud Management / Governance product focused on providing critical management, monitoring, governance capabilities tailored to the needs of the Global 2000 market, rather than the startup market. As I have worked with a current Fortune 500 clie...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...
"Having been in the IT field for many years, I believe the cloud computing chapter in the industry is an exciting one and I am proud to be a part of it," said National Reconaissance Office (NRO) Chief Information Officer Jill T. Singer Tuesday, as it was announced that she was one of 10 winners of the 2012 CloudNOW "Top Ten Women in Cloud" Awards.
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined application stacks, but have not targeted more complex enterprise application environments.
In his session at the 10th International Cloud Expo, John Yung, CEO of Appcara, will discuss how 2012 will be the year for app...
As more enterprises are adopting clouds, the nature of cloud computing is changing. Previously, clouds were used to test applications or for non-mission critical applications. Today, enterprises are using clouds for cost-saving advantages and launching more mission critical applications that have defined performance needs.
In his session at the 10th International Cloud Expo, Eric Shepcaro, CEO and Chairman of the Board of Telx, will discuss how distributed computing has many advantages. It wou...
Building a cloud computing environment with on-demand access to compute, network, and storage resources requires an elastic infrastructure at multiple levels. Virtualization combined with x86 servers has transformed the way we scale out compute resources. Unfortunately, legacy Fibre Channel and iSCSI storage architectures are rooted in rigid mainframe-era designs, and are fundamentally mismatched with the dynamic, shared modern data center.
In his session at the 10th International Cloud Expo, ...
We have previously provided a Quickstart guide to standing up Rackspace cloud servers (and have one for Amazon servers as well). These are very low cost ways of building reliable, production ready capabilities for enterprise use (commercial and government).
Is Big Data destined for only the top 3,000 companies worldwide? What about medium or small companies who are equally as data-driven? Is there a place for Big Data in SMB markets? When I talk to SMB companies about their use of public cloud services, it’s a no-brainer. Pay as you go, lower costs up...
Israel-based startup Porticor launches this week with technology aimed at giving enterprises a way to encrypt data held in cloud computing services, including those from Amazon and Rackspace.
Porticor Virtual Private Data is focused on protecting data at rest in cloud-based computing centers where ...
If you are running the BIG-IP Edge Client on your iPhone, iPod or iPad, you may have gotten an AppStore alert for an update. If not, I just wanted to let you know that version 1.0.3 of the iOS Edge Client is available at the AppStore.
The main updates in v1.0.3:
URI scheme enhancement allows passi...
Statistics matter, not only in business, but increasingly also in our social life - well, at least in our social media life. Some of the statistics I noticed this week were round numbers, like 1000. With 1000 representing both the number now showing under "followers" in Twitter and the revenue numbe...
Let's face it right now the cloud is pretty immature. The level of automation and management of these environments are analogous to the early assembly lines, but it won't be this way long. This is not the industrial revolution and it moves at a wicked fast pace. Before we know it the next generation...
In previous posts such as Cloud Computing: Hype, Vision or Reality?, Hyped Cloud Technologies, PAAS is not Mainstream yet, SaaS is going Mainstream, Future applications: SaaS or traditional? I discussed Cloud Computing.
Recently I read Joe McKendrick's interesting article titled:Cloud Computing Mar...
Having covered Cloud Foundry, Force.com, Google App Engine and Red Hat OpenShift, we now take a look at Microsoft’s PaaS offering, Windows Azure.
Microsoft Windows Azure Platform is a Platform as a Service offering from Microsoft. It was announced in 2008 and became available in 2010. Since then Mi...
Many virtualization vendors offer certifications. With that in mind, is there really any value in pursuing these certifications from Microsoft and VMware? Is one more "valuable" than the other?
First, let me say that I am a big proponent of technical certifications. That is the reason why I have my...








