My New Year’s Resolution: Make building enterprise software fun again.
The Old Way
Almost all enterprise applications follow the same architectural pattern: a single all-encompassing framework housing the data, logic, and presentation layers. When applied to large-scale applications such as enterprise software, which must cater to the needs of lots of users with many different features, it creates some problems:
- Everything that you use in the application must be written in this framework. You might really like X, but if you want to use in your application, you’d have to re-write X in its framework.
- No framework is optimal for all possible features. For example, order processing and accounting are highly structured, whereas web content management deals primarily with non-structured data. A relational database driven framework that is well suited for traditional ERP could thus be poorly suited for web content management, and vice versa.
This is why we often hear enterprise users say “We chose [fill in name of your software] because it was good at [fill in the good features], but it’s really not too good at [all the other stuff].” Conversely, because vendors think this is the only way to build software, they often have to bundle so-so features with their core strengths to create a competitive “enterprise offering.”
A Better Way to Do It?
Sometimes it just takes a shift in the perspective.
Could enterprise software could be built as mash ups of components based on open standards?
Would that make writing business software as easy–and as fun–as putting together blogs with videos, tweets, and maps?
Let’s Try it with Open Source
We’re going to try to do exactly that with opentaps 2. We plan on building off the OSGi standard and the new Apache Geronimo 3 application server on the server side and the new HTML5 standard for client side applications to create this new kind of enterprise software. Take a look at our plans for opentaps 2 and follow us.