Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

9 app dev projects you should cancel in 2013

Rolling your own in software wastes both time and money

  • Print
  • Feedback

Page 2 of 3

5. Your own e-commerce suite
I left the "e" in "e-commerce" to show how '90s it is. Remember when putting "e" in front of everything made it cool? (At least CNN thought so.) Now they're simply called commerce suites, and there are scores of them: the open source Broadleaf, Magento, Spree, and Zencart; SaaS offerings such as Shopify; and horribly overpriced proprietary monsters like ATG, WebSphere, and WebLogic. If you don't have a traditional stuff-in-a-box business, you may need to customize one of these tools. No matter what you sell online, you will inevitably need to skin the commerce suite and possibly integrate it with your payment processor. But you almost certainly don't need to write one from scratch.

4. Your own reporting engine
I've guilty of rolling my own reporting engine, but in my defense there wasn't anything available at the time. I'd done reporting stuff in Java at several companies because they couldn't get one of the existing ones to do exactly what they wanted. In the end, they dumped to Excel to fudge the numbers and appear to be Sarbox-compliant. So I founded the Apache POI Project (a port of Microsoft's file formats to Java), but joined JBoss before I could write even one line of code on my larger plan for an open source answer to Actuate and Crystal Reports. Meanwhile, JasperReports, BIRT, Pentaho, and others emerged to fill the gap. You should start with one of those.

3. Your own message bus
Last decade, this was the hot thing to write and rewrite. The slow and dusty MQ Series WebSphereMQ was no longer good enough, so we saw entire startups around messaging. JBoss, BEA, and other Java EE vendors each wrote one, then replaced it with another implementation.

You do need to write stuff to queues and have things pick them up. You sometimes need to write on a wall and let everything pick up the same message. That's why there are various options for availability and load balancing from HornetQ, RabbitMQ, ActiveMQ, and many, many more. There are heavy, full-featured options, as well as lightweight but powerful choices. You can most certainly have your needs met without the burden of creating and maintaining this beast yourself.

2. Your own single-sign-on (SSO) implementation
There might still be time to launch a startup here, but your boss should stop your backdoor pilot project and make you use Picketlink, ADFS, OpenAM, Ping Identity, or any of several others. You shouldn't be writing point-to-point SSO, either.

Don't get me wrong: There will be custom work and integration here, as sadly this is an area of poorly implemented standardization. Technology vendors all play lip service to interoperability, but in the end they are thinking of a happy world where you buy their "platform" or "suite" of products and can never leave them or buy anything from anyone else. However, you can save a bundle by picking one overall provider and take a wheel-and-spoke integration approach versus having a hundred point-to-point integration projects or your own probably flawed SSO implementation.


  • Print
  • Feedback