Thursday, November 6, 2008

Rumors and hearsay

Arctos is based on proprietary software. Isn't that expensive, scary, and perhaps even evil?

Database

Arctos is based on what works. Arctos has used Oracle, Sybase, and PostgreSQL as the underlying RDBMS at various times. Oracle is by far the most feature-rich and stable platform that we've tried. That said, the entire Arctos community is pro open-source. Find a RDBMS that does what we want at least as well as Oracle and we're in. Briefly, that must include:
  • User and role management: We use Oracle's users and roles to their full extent.
  • Virtual Private Databases: We must be able to confidently let a user do what they want to their data in a shared environment.
  • Integrity constraints: There are thousands of rules about relationships among records, data value rules, and triggers that make Arctos what it is.
  • Data Consistency: We are absolutely certain that Oracle will never do strange things to our data. We are equally certain that we can recover - to the minute, if necessary - if something does happen.
All of those things could be engineered into PostgreSQL. Doing so would require extensive developer commitment, and would still result in an untested and one-off solution. Oracle natively provides these attributes and is cheap by comparison, both in terms of dollars and data security.

The question is, what are your data worth, and do you wish to make that investment in Enterprise-grade software or custom coding?

Application Environment

We explored several alternatives to ColdFusion. Versata, WebObjects, Oracle Forms, and PHP have been scrutinized most closely. All of them, and many other application servers/languages, could be made to run Arctos. ColdFusion has proven reliable and flexible, and it's what we most know. In addition to the basic job of communicating between a web page and a database, ColdFusion provides native support for a GUI report interface and PDF creation. PDF creation has become commonplace. Comparative GUI reporters (Crystal Reports is probably the most comparable) are expensive and potentially clunky.

ColdFusion simply injects CFML (ColdFusion Markup Language) and returns JAVA to any J2EE application server. The also enables us to easily extend ColdFusion with other JAVA applications.

Additionally, ColdFusion allows us to use different languages as we need them. We've coded extensively in JavaScript, and have several extensions that use PHP.

We currently believe ColdFusion provides the best "bang for the buck." Moving to any other language would require extensive rewrites and would certainly introduce a myriad of bugs.

No comments: