Thoughts about Application Platforms
Thoughts about Application Platforms
There are various platforms in use for applications at UC Davis, and this diversity is likely to to continue into the future. This document has some initial thoughts about the circumstances in which platform standardization makes sense, and which platforms best fit those circumstances.
For the purposes of this draft, "platform" refers to the stack of middleware, operating system, programming languages, database backends, hardware, etc. that is required to run an application. It should be noted that some platforms are flexible at some layers of the stack, allowing alternative selections for operating system, hardware, etc., and others are less flexible.
General Thoughts
Selection of a platform is generally a balance among a number of possibly competing factors:
Learning the platform
Writing code
Maintaining code
Capacity scaling
Interoperability with campus standards for identity management, information access, process integration, etc.
Robustness, stability, and security of the platform
Availability of expertise, support, and infrastructure
The importance of these factors to UC Davis for a particular application depends on the context of that application:
UCD-wide - One instance providing services for all of UCD
Shared - One instance providing services for specific colleges and departments
Reused - Multiple instances of an application within specific colleges and departments
Local - Applications that are used within a single college or department
It also depends on other factors:
Volume of use
Sensitivity of the data
Criticality of the system
...
Using this paradigm, we can represent the appropriateness of various application platforms with the following table, the cells of which are completed in consideration of the competing factors listed above:
Application Context
| UCD-wide | Shared | Reused | Local |
|---|---|---|---|---|
Java |
|
|
|
|
.NET |
|
|
|
|
ColdFusion (Scripting) |
|
|
|
|
Oracle IDS/Forms |
|
|
|
|
Oracle RDBMS |
|
|
|
|
PHP |
|
|
|
|
Other Factors
| Volume of Use | Sensitivity | Criticality | ... |
|---|---|---|---|---|
Java |
|
|
|
|
.NET |
|
|
|
|
ColdFusion (Scripting) |
|
|
|
|
Oracle IDS/Forms |
|
|
|
|
Oracle RDBMS |
|
|
|
|
PHP |
|
|
|
|
Things We'll Need
Descriptions of standard/canonical platform configurations.
Interoperability standards
Service bus
Workflow
IAM
Presentation (browser)
Repository of information and documentation for developers. (See, for example, http://tif-infrastructure.ucdavis.edu/for-developers.)
Training for developers?