Initial Principles

Initial Principles

[The following were suggested by Jeremy Phillips in his electronic mail of 11/25/2009.]

  1. To maximize interoperability, sharing and re-use, applications should be designed on service-oriented architecture (SoA) principles.
  2. Various campus units currently offer or are developing a variety of infrastructure and middleware services including repositories of institutional data, identity management, roles management, workflow, service publishing and discovery, etc. Development efforts should strive to make use of these services to maximize the factors outlined in principle 1. One deliverable from this workgroup will be a catalog and frequently-udated timeline of available middleware services.
  3. SoA does not dictate the use of any specific platform, with the following caveats:
    1. So long as applications are designed to SoA standards, factors including developer expertise, software licensing and hardware costs, code maintainability, availability of commercial and/or open source modules and components, and community and/or commercialsupport should all be considered in platform selection.
    2. Software developed for a department, unit, or college constituency with the intention of or significant potential to become campus-wide services should also factor in the common platforms supported by the Data Center and other enterprise-level service hosts. One deliverable from this workgroup will be to outline these platform requirements.
    3. Even SoA services frequently offer differing levels of interoperability to specific platforms. Development efforts that will integrate with campus-wide infrastructure services should consider whether the integration requirements dictate platform decisions. One deliverable from this workgroup will be a decision matrix to assist in making this decision.
    4. The platform chosen for a particular application is not something that is chosen first, necessarily, but what falls out after most of the decisions are made. That being said, as enterprise data sources (financial, student, etc.) and middleware services (identity and role management, authentication, etc.) become defined in terms of APIs, the choice of platforms will likely narrow to what is generally most effective in tapping those sources and what other major applications are already using.