The Paradigm

From end user's perspective a business application may look like processes and screens. But from developer's perspective you must have solutions for managing these common core parts of a business application:

  • Data source (Relational and transactional databases, integrations, NoSQL,TSDB)

  • UI

  • Roles and users of the application and their relation with the data source and UI (Access Control)

  • Business logic

  • Version Control and deployment process

  • Agile tools and solutions for refactoring

Depending on an application or domain developer may also need:

  • BPM tools

  • BI tools

  • Log and auditing tools

The biggest challenge of designing architecture for a business application is to integrate all these components into one well oiled machine and to make each component easily replaceable at the same time. Integrating all these parts is expensive. And each part can be outdated quickly. You must be careful with your integration approach.

Spring framework did it with hibernate years ago. Spring glued Data Source and UI with configuration. And with the power of Java, Rod Johnson showed us a magical way to develop enterprise applications. Otherwise we could get lost in coding everything.

Yes coding is excellent, SQL is god's gift. But we must avoid coding in big enterprise solutions as much as possible, because

"Simplicity is the ultimate sophistication"

Keeping this in mind, iCodeBetter gives you an infrastructure and approach to develop business applications. All the tools mentioned above can be utilized.