DIGITAL EDITION

SYS-CON.TV
Elastic Path Software: How To - Building Enterprise Apps with Open Source Frameworks
Advice "from the trenches" on using open source frameworks to simplify enterprise software development

Digg This!

To learn more about ElasticPath, go to: www.elasticpath.com

Software Re-use in the Real World
Any software developer worth the price of their iPod will tell you that "reusability" is one of the Holy Grails of software development: it is incredibly valuable, but equally as elusive. How many developers working on insane deadlines have time to sit back and think about all the wonderful ways that their business components "might" be used in the future? Even standards committees led by industry experts have trouble with this.

So where is this reusability that we've been promised? Enter the world of open source software. Over the past couple years, there has been an explosion of open source tools and frameworks for developers to choose from. Projects like Struts, Spring and Hibernate have become household terms in the vocabulary of today's enterprise software developers. Here at Elastic Path, we have a simple philosophy when it comes to writing code: do it as a LAST resort. OK, I know what you're thinking: A software company that doesn't like to write code?!?! Yup, that's right! Because the more of it you write, the more of it you have to document, test, debug and maintain. And with all of the wonderful open source tools and frameworks out there, our philosophy isn't hard to live by.

Choosing Your Weapons Wisely
Alright, so you're a team lead or architect and you need to build a new web application. One of your first responsibilities on this project should be to sort out the high level architecture. In the past, this could be a really daunting task involving lots of late-night architecture sessions and Jolt cola. Today, it really boils down to: what frameworks and tools should I use and how do I make them all play well together?

Some things to consider when evaluating open source frameworks include:

  • How popular is it?
  • How big/responsive/friendly is the developer community?
  • Has it been used in large-scale apps?
  • How good is the documentation?
  • How steep is the learning curve?
  • How active is the CVS/Subversion tree (ie. Is this project alive and kicking or dead as a doornail?)
  • Do people in your team or company have experience with it?
  • Is it based on a recognized standard?
  • Does it come with a restrictive license? (most of them don't)
We've done a ton of this framework research here at Elastic Path so I'll share some of the open source technologies that we've found useful in real-world enterprise development:
  • Presentation layer: Velocity
  • Web layer: Struts (but we're moving to Spring MVC)
  • Web services layer: Axis, XMLBeans
  • Business/Services layer: Spring (this is also used to wire objects throughout our application)
  • Data Access layer: Hibernate, JBossCache (for Java object caching)
  • Business rules engine: Drools (now part of JBoss)
  • Security: Spring ACEGI
  • Builds: Ant
  • Validation: Jakarta Commons Validator
  • Testing: jUnit, httpUnit, jWebUnit, Checkstyle (currently evaluating), PMD (currently evaluating)
  • Logging: Log4J
  • Search: Lucene
  • Code generation: XDoclet, Middlegen, Torque, Hibernate tools, scripting languages (Perl, PHP, Python, Ruby, Groovy)
  • AJAX: DWR, Echo2 (currently evaluating these)
I hope this has given you some practical advice in using open source frameworks in your next project. If you're interested in an extended version of this article please visit: www.elasticpath.com/papers

Elastic Path Software
225 West 8th Avenue, 3rd Floor
Vancouver, BC, Canada
V5Y 1N3

Toll-free in N.America
1-800-942-5282

Phone: 604-408-8078
sales@elasticpath.com
www.elasticpath.com

To learn more about ElasticPath, go to: www.elasticpath.com

About IT Solutions Guide
IT Solutions Guide (ITSG), aimed at development and corporate managers, is a free quarterly supplement focusing on the most competitive tools, solutions, and services available in the IT and infrastructure technology world today.



ADS BY GOOGLE
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS

ADS BY GOOGLE
Linspire Collapses into Xandros
Xandros acquired Linspire's Linux assets after Linspire changed its name to Digital Cornerstone. Wit
Ten Cloud Computing Companies Plus Two "Unconventional Plays"
What do the following companies all have in common: Amazon, Microsoft, Google, EMC, VMware, IBM, Sun
Progress Software Announces Mindreef and IONA Acqusitions at SOA World Conference
Progress Software has acquired Mindreef, a provider of SOA service validation and testing tools. Min
Cloud Computing Expo - Clouds Mating!
NetSuite, the Larry Ellison SaaS company, is buying OpenAir, the 56-man shop that is supposed to be
AJAX and RIA Technology Will Be Free for All: Sun CEO
'Java's always been a RIA platform - before the world really wanted one,' claimed Sun's CEO Jonathan
Adobe's Kevin Lynch and Microsoft's Scott Guthrie to Keynote AJAX World RIA Conference & Expo
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe
Virtualization on Wall Street Conference & Expo to Take Place in New York
SYS-CON Events announced today that the Virtualization on Wall Street Conference & Expo will take pl
Microsoft, Google & Virtualization
Google is currently the pet of the American consumer. Although many in the industry don't find it pa
Cloud Computing with ProServe and Parallels Virtuozzo Virtualization Containers
Parallels announced that ProServe has selected Parallels Virtuozzo Containers 4.0 to deliver a cost-
IBM Buys Its Way Out of Antitrust Trouble
The fireworks over Armonk this 4th of July are going to be a bit brighter and more awesome because -
Cloud Computing Expo - Novell Virtualization, Google, HP and Wind River
Novell says it's going to 'simplify' pricing and discounts on SLES for mainframes for the rest of th
SYS-CON's Virtualization Expo Attracts More Delegates Than Gartner
Virtualization has quickly become a staple new concept for enterprise IT. At SYS-CON's 3rd Internati
Cloud Computing - Understanding "Clouded" Computing Terms
There seems to be a lot of debate as to what Grid computing really is. In fact, the blogosphere seem
AJAX World RIA Conference & Expo Attracts Top Faculty
RIAs offer the potential to fundamentally change the user experience and in doing so, yield signific
Web 2.0 Journal Case Study: Transcending E-mail as a Platform for Multi-Person Collaboration
E-mail is extremely easy to adopt and use, and lends itself very well to certain types of collaborat
Yahoo & Microsoft: Week 21
On Tuesday TechCrunch and CNet, based on the usual 'sources,' reported that talks between Yahoo and
PlateSpin Outs First Post-Acquisition Product
PlateSpin has trotted out its first major product release since Novell bought the virtualization man
Symantec Nominated for SYS-CON's "Virtualization Journal Readers' Choice Awards"
Symantec Backup Exec System Recovery 8 is the gold standard in complete Windows system recovery allo
Ingres Nominated for SYS-CON's "Virtualization Journal Readers' Choice Awards"
The Ingres Icebreaker BI Appliance is a self contained software stack of o/s, database, and business
Parallels Nominated for SYS-CON's "Virtualization Journal Readers' Choice Awards"
Parallels Desktop 3.0 is a Mac system utility that allows users to run Windows, Linux, and more sid