|What is REA?
To start it stands for RUM Extensible Architecture. REA is a Framework to develop and deploy web applications. A framework is a generic concept used to name the aggregate of programming technologies and related resources that share a common use, focus or goal. This framework makes up the functional part of the methodology behind the architecture. The architecture is modeled and influenced by two popular new methodologies: Extreme Programming and Agile Programming. The framework and methodologies practices are aimed to produce short development cycles without jeopardizing the quality of the software. One of the main goals for the framework was to implement a technology and methodologies that allowed a transparent grow for the architecture and adapt to changes and emerging technologies with none or low impact on the architecture.
The origins of REA
In 2000 the university was working on the implementation of a web based email solution. The open source package “Squirrel Mail” was selected. It was installed and deployed in early 2001. The developers started toying with the idea of adding other applications to the webmail package, all in one integrated solution. The initial ideas included a calendar and a better address book and with those three services the first web portal was born. Soon after we found ourselves in ride that was just too exciting to stop. The potentials of the web portal were just to many and as such a greater scheme to exploit the opportunity was boiling right in our heads. From its conception the plans that we drew were for something that was capable of growing and adapt. The technology the architecture had to be designed not for what we had and did, but mainly for what we would need and be doing in future times. With such plans the development of REA started in mid July 2001.
Core Objectives of REA
1. The development of a framework of resources that allows the deployment of web enables applications with relative little effort.
2. Web Applications that inherit built-in communications and the particulars of our operations and nature.
3. Services that reuse and provide new capabilities to the framework. These services have a notion of relationship and are capable of sharing information in the context of these relationships. Each service is built upon reusable building block that become on its own new building block for future services.
4. A framework that is based on current infrastructure and yet it can easily be expanded for future needs.
5. To provide a single web interface for users to access online applications and resources. One interface that users can learn and master, instead of having to figure many different applications.
6. A framework where users have one IDENTITY. Users learn one account and one password and access multiple services and applications based on his or her roles.
7. A framework designed to work in all mayor platforms, MacOS, Windows, and Unix. This open platform does not impose limitations on the type of operating system, software or computer.
8. A framework that can deliver an open campus. Available 24-7. Services that are accessible from home, on the road and while traveling.
9. To provide a rich set of tools for users. These tools will allow users to communicate, share and learn. Each tool must achieve its maximized functionality while maintaining a high degree of usability and simplicity.
10. A framework that can increase productivity, efficiency, and agility; reduce costs and other resources associated with traditional procedures and services. The framework would allow the university to create new solutions without having to depend or spend money in commercial solutions.
11. A framework whose architecture extrapolates functionality and reaches to mediums other than the web. Thus allowing for the integration of other supporting technologies.
12. To provide unique opportunities for our students, allowing them to become part of the solutions.
13. To be able to deploy technology instead of dreaming about it.