IDE architecture design
From stgo
>> return to Cedeus IDE
What Architectural Models exist
A - Central Server-Database Architecture
El imagen abajo muestra una IDE simple, con 2 servidores:
- Servidor web con modulo de mapas en-linea, y con catalogo de datos
- Servidor con base de datos
B - Distributed Multi-DB Server Architecture
El proximo imagen muestra una IDE complejo, con 6 servidores (con base de datos multiples):
- 3+ Servidores de grupos de investigacion (con BD)
- 1 Servidor de Catalogo
- 1 Servidor de Mapas
- 1 Servidor con Base de Datos (Datos Centrales)
(es posible de user un servidor con el modulo de mapas juntos con la base de datos)
Pro & Contra
Yo hice el tabla abajo con criterios que yo veo importa. Después he incorporado puntos de una lista en ingles sobre "Advantages and Disadvantages of Distributed Database" on Wikipedia.
criteria | single DB | multi DBs |
---|---|---|
server needs (registry server, web server, base-db server) | two servers (1 web server, one db server) | at least one web server, including a registry component (e.g. GeoNetwork), and many db-servers (one for each site) |
maintenance needs (adding data, metadata, software updates) | one admin (one update) | many local admins (many updates) |
user access control | central access control (to resolve access requests may take time) | each group decides about data access |
user access management | one unified user rights management for all CEDEUS members (with 4 different access groups, e.g.: admin, cedeus member, invited, public) | each DB admin needs to create its own user management system and needs to ensure access by other CEDEUS groups (However, a replication of user access rights is possible) |
data security (un-wanted access) | one dedicated data server that can only be accessed via a gateway; direct access by very few users only (obs. team) | many databases with different user groups and different users per computer |
data backups (copias d. seguridad) | regular backup for only one db sever | requires complex backup strategy or one backup device for each location |
power outages | one web server and one db server in the same place are easy to "secure" with a UPS | costly to provide UPS for several server locations |
performance (serving data => multi-access) | performance depends on server power, may be insufficient during concurrent access for multiple users | data is located where highest demand is (concurrent access is not as high = manageable) |
availability | if the main db fails, nobody can access the data | if one group db fails, then the system is still working for others (at least locally) |
scalability (new group with new data) | with a new group new data needs to be added, which may require lots of work hours (also w.r.t. Q/A) | easy to extend observatory by another database, if workload is done by the new group |
geographic base-data (for maps) (Well here we can also store base data on one particular assigned server) |
eays unified provision of one base-dataset for all | same base-data on several servers? danger of inconsistencies (w.r.t. updates, etc.) |
Q/A: quality assurance (geogr. data + metadata) | one dedicated GIS expert to check data quality (data description, accuracy) | many GIS experts necessary |
documentation that describes how to access data | one document to create | many documents to read and maintain |
IDE de Chile: availability of CEDEUS data | fast to inform SNIT about new data or updates | requires first getting info on changes for each group |
=> Summary | => fewer staff, well trained, less costly (hardware + staff) | => more staff, more costly, can save time for observatory team, easier to add a new group |
(see also Distributed Database and Federated Database System, as well as the entry Distributed Data Store with examples on distributed non-relations DBs)
Btw: I am not sure if it would make sense to replicate data of all group DBs to a central DB. However, this could be a strategy as well.
Tipos de Usuarios
Tipo A - Ciudadanos
- tareas tipicos => permisos
Tipo B - Investigador CEDEUS
- tareas tipicos => permisos
Tipo C - Persona Invitado
- tareas tipicos => permisos
- accesso al unos datos especiales
Tipo D - Experto de Observatorio
- tareas tipicos => permisos
Gestion de Acceso
- acceso al BD de datos (acceso directo: solo por expertos observatorio)
- acceso al visor de datos (login o diferente visores: publico sin login + otro con login y interfaz diferente)
- acceso al servicios de datos (WFS, WMS, WCS, etc)