The main idea that stands behind this development is a generic messaging system/component called GMMS/C . The system will manage messages and perform relevant actions on the messages data.
Our architecture employs GMMS/C clients that interact with the GMMS/C server, these clients send their messages to the GMMS/C server and its web service by using the GMMS/C API. Then it will operate according to the specific action (for example: insert message, update message, etc.). The web service will activate the GMMS/C engine which will interact with GMMS/C data base.
Within the GMMS/C architecture there is also the GMMS/C web application client. The GMMS/C web application client is used for viewing and managing messages in the system. The web application management system will enforce authorization component that will restrict users to view information within their realm, users will be able to view, edit, flag and perform other actions on the messages. On the Web client application users will be able to control their messages. All of the events that occur to a message within the system should be written to a log table on the data base (for example: when user viewed a message, when user edits a message, etc.).
To sum it up, the GMMS/C is a system that gets messages, stores it in its data base and enables viewing, editing and doing some other actions on those messages from the GMMS/C web client. The GUI must be scalable, easy to learn and use especially in the design part (sizes of fields, positioning, etc).
To simplify things, authentication is handled out side the scope of this document. Meaning there is no need here to create and manage a user/password mechanism. However, it is needed to be taken into consideration that in the future there will be users of different levels and privileges within the system (probably this should be implemented within the GUI tier, to each operation that can be taken from the various screens).
The programming language of this system will be C#, the web client will be in ASPX page that uses AJAX, and the data base will be MSSQL. Basic three tiers architecture should be used.