Community
opentaps In The Cloud

Get up and running in minutes. Pay by the hour. Try opentaps In The Cloud with opentaps and the Amazon EC2 Cloud.
Analyze This!
Make better decisions. Getting in-depth analysis of your customers and sales is now easier than ever with opentaps Analytics.
Email Marketing
Increase your sales with GetResponse email marketing with the opentaps GetResponse Email Marketing Integration Module.
Advertise Here
Reach key IT decision makers and developers worldwide by advertising on this site. For details, please Contact Us.
Monitor Performance

New Relic RPM helps you monitor the performance of your opentaps or ofbiz Java application. Get a free month of New Relic Gold with promo code OPENT210ZHL.
Training Materials
Watch developer and user training videos at shop.opentaps.org, all with our Satisfaction Guarantee.
Newsletter
Poll
Let’s Mash It Up and Make Enterprise Software Fun Again
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.
A New Architecture for opentaps
When I first wrote opentaps 2.0 Planning, my goal was to come up with a new architecture that would make enterprise software more modular and more reusable. But we will need to do much more in a mobile and API-driven world, so here are some of the guiding principles behind the architecture of the new opentaps:
Universal data layer
Today’s business software is still driven by tables in a database, even though relevant data is likely to reside anywhere — in a database, a document, or over the web through an API. The answer is using the domain driven architecture to interface with multiple sources of data.
API instead of UI
With the emergence of the new web architecture, the rise of a multitude of mobile platforms, and the increasing importance of open API’s, separating view from logic has become a necessity. Therefore, new versions of opentaps will provide an API layer without a “chosen” UI framework. This will opentaps up to developers of any platform or framework to implement applications based on the opentaps API.
Smaller “Units of Work” Applications
Instead of carrying the entire feature set in one application/framework/database, we will break it up into a series of independent mini-applications. Each mini-application may have some internal data model which is invisible to its peers, and all the mini-applications will interface through a common data model. This would make the mini-applications both easier to develop and maintain and less costly to run. Each module could be developed, maintained, and supported by independent and specialized groups. Infrequently used modules could be run as needed with Amazon EC2 spot instances or their equivalents, thus significantly reducing the hardware resources required.
Asynchronous Interactions
We’re too used to waiting. The web has conditioned us to the synchronous request-wait-response cycle. But mobile devices and partner systems connecting through API’s could give users a smoother, faster experience through an asynchronous cycle, where they process user requests immediately and then batch the results to be sent over the web. For example, products could be downloaded locally to a tablet, and orders could be created and then sent to server-side for processing while new orders are taken. The new version of opentaps will intelligently handle asynchronous requests from a variety of clients.
Killer Apps: the Defining Applications of Each Computing Wave
Take a look at this chart from O’Reilly Radar: You say you want a revolution? It’s called post-PC computing:
We are entering a new computing wave, where a new technology platform will revolutionize software.
In each previous wave, there has been a defining piece of software. This is the software which defined that computing era — why computers were bought and what they were used for. It leveraged the full potential of the available platform., enabled things which were not possible before, and, in the process, drove the adoption of the underlying platform:
Mainframes
The mainframe era was all about data processing. The defining app of the mainframe era was the database. Databases power all the big mainframe software which run airlines, banks, utilities, governments, and universities. It was these database-driven applications which made all those big organizations buy mainframes — even today.
PC’s
The PC made computing smaller — “personal” — and the defining app of the PC era was the spreadsheet. The Mac may have been cooler, but it’s not called the “PC Era” for nothing: Spreadsheets turned the personal computer from a toy into a ubiquitous business tool, which in turn drove the adoption of PC’s and turned Microsoft into a giant .
Web
Why do you use the web? Because of content. A recipe. An article. A post or tweet from a friend. The web is ultimately about content, and the defining app of the web era is the blog. The blog is the simplest, most popular content creation system, and its simplicity is helping us create content at a torrential pace. This vast ocean of content is what makes Google useful. YouTube, Facebook, and Twitter are really blogs in extremis: even simpler and more connected ways to publish content. And because of all the blogs, YouTube, Facebook, Twitter, etc., we’re on the web more than ever.
Do You See a Pattern Yet?
In every computing wave, the defining app has become:
- Smaller
- More distributed
- Less structured data
- More fun
Mobile
So what will be the defining app of the Mobile era? Something which runs on smaller devices, is highly distributed, yet also highly connected, and very entertaining.
The defining app of the Mobile era will be games: Massively multi-player games which connect and entertain all of us. It doesn’t mean that we should all go write (or play) games, but we should all start thinking “How can what-I-do be more like Farmville or World of Warcraft?”
How Did CRM Software Begin?
There’s an interesting story from SoftwareAdvice.com about the origin of ACT!, the first contact management and Customer Relationship Management (CRM) software.
Apparently, they started out making a quote management system with a lot more features. Then they realized what people really needed was simply contact management.
The moral of the story?
We made it too complicated, and in that effort, were blind to the realization that elegance comes from simplicity.
How simple?
Every one of the major software categories has only two words—that’s all it takes to describe it.
My Favorite Quotes from the Platform Rant
A product is useless without a platform, or more precisely and accurately, a platform-less product will always be replaced by an equivalent platform-ized product.
But making something a platform is not going to make you an instant success. A platform needs a killer app.
Accessibility [is] the most important thing in the computing world.
The. Most. Important. Thing.
- From Stevey’s Google Platforms Rant
More Social, Less Media
You should read the Occam’s Razor blog’s post about measuring social media. It suggests that you try to measure social media interactions as conversations, amplifications, and applauses from your readers.
We’re all trained to view Media as a place to broadcast our messages. But if we start measuring a two-way dialogue like this post suggests, it’d be a fundamental shift of marketing — and business in general — for the better.
PS: The good news is that your competitors haven’t gotten there yet — the metrics Avinash’s post suggests aren’t readily available. If you’re really luck, maybe your competitors are still wondering what the “economic value” of social media is!
How to Make Business Intelligence and Analytics Pay Off
Newsflash: Businesses Aren’t Very Intelligent
Welcome to opentaps Analytics!
Full Page Caching and related Session Issues in OFBiz/Opentaps
Caching in Opentaps/OFBiz
Infinite Scrolling is the new way of pagination
Loyalty Points in Advanced Ecommerce (Apache Ofbiz/Opentaps)
Grinder Setup
Selenium Tutorials – To test OFBiz/Opentaps Ecommerce UI
XSS- Cross-site scripting in OFBiz/Opentaps
Eclipse: Reset your saved SVN credentials
Opentaps: Important Links
How MiniLang is formed
Comment on Hello world! by Mr WordPress
Hi, this is a comment.
To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.




