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

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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Elastic Path Software: How To - Building Enterprise Apps with Open Source Frameworks. 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.




ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE
Delegates will leave Virtualization Expo with a full understanding of the interaction between virtua...
Netbiscuits, a leading B2B software service for the creation and operation of mobile websites, annou...
OpenAir, Inc., a NetSuite Inc. company and a provider of cloud computing professional services autom...
“Our continued innovation in imaging software allows us to change the healthcare information distrib...
With their CRM and ERP data systems integrated, Tecan AG's staff and management will benefit from a ...
Until today, Monitis was providing monitoring only for Amazon’s EC2 and S3 services. With the releas...
Solaris 10 10/09 provides new features, fixes and hardware support in an easy-to-install manner, pre...
I've been at this 35 years and I've seen sea changes come and go. If you step back for a moment and ...
There are about 250,000 developers working with Flex and AIR. If you add an army of ActionScript dev...
Optibase announced a new release of its MGW FlashStreamer encoding and streaming platform, introduci...
Rackspace Hosting announced a new service to assist its e-commerce customers this holiday season. Th...
PrismTech is joining forces with Nextel Engineering Systems to deliver much-needed, highly-reliable ...
Microsoft Corp. and eBay Inc. today announced they are partnering to offer eBay Daily Deals through ...
What is a SatNav? I would define it as a small pocket sized computer, with a built-in GPS receiver, ...
Microsoft’s CFO Chris Liddell, 51, a New Zealand import, is bored and wants a better job. So he’s “l...
Cloud computing is a game changer. The cloud is disrupting traditional software and hardware busines...
The newest release of Open-Xchange builds on a consistent theme as its delivers more integration wit...
Recently I installed the Beta 2 version of "Geneva", or ADFS 2.0. All of my machines are now Windows...
Option, the wireless technology company, today announced that its GTM501 will be used in MOTO Develo...
SYS-CON Events (http://events.sys-con.com) announced today that the "show prospectus" for the 5th In...