tics en la vida cotidiana prepa en linea modulo 1.pptx
Gestión de empresas acuícolas a través de Internet
1. Gestión de empresas acuícolas
a través de Internet
Director del proyecto: Marino Castillo Cabezas 1
Alumno: Carlos Luis Sánchez Bocanegra
1
E.T.S. Ingenieria Informática, Univ. De Málaga
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
2. 1
Agenda
• Plan del Sistema de Información.
• Análisis del Sistema de Información.
• Diseño del Sistema de Información.
• Construcción del Sistema de Información.
• Mantenimiento del Sistema de
Información.
Ingeniería de
• Conclusiones. Sistemas/Información
Análisis Diseño Código Prueba
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
3. 2
Plan del Sistema de Información
• Objetivo: optimizar la producción de empresas
acuícolas.
• Metodología: aplicación de técnicas estadísticas
para la obtención de los parámetros que
influyan en la mejora de dicha producción.
• Bases:
– Determinación de las variables que actuarán en el
sistema y que influirán en los parámetros
estadísticos.
– Establecer unos parámetros de privacidad y
verificación en los datos.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
4. 3
Plan del Sistema de Información
• Recopilación de la documentación:
– Mediante entrevistas a investigadores.
– Por análisis de biólogos, veterinarios.
– Consultas Web (www.fao.org).
– Visitas a empresas productoras de pienso.
– Visitas al Centro de Investigación y Formación Agraria.
• Toda la documentación aportada ha promovido a la
mejora del análisis del sistema, no obstante dado su
carácter concreto, ha promovido a la ambigüedad de
algunos términos. A base de test y preguntas se
propició a un acercamiento más real al sistema.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
5. 4
Plan del Sistema de Información
• Determinación de un sistema adecuado a
los objetivos planteados con las siguientes
características:
– Privacidad.
– Autentificación.
– Veracidad.
– Economía.
– Rapidez.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
6. 5
Plan del Sistema de Información
Investigadores
Empresa Acuicultora
Administrador Web Obtención de dato
a la investigación
Banco de Datos
Internet
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
7. 6
Análisis del Sistema
• Procesos que influyen en el sistema.
• Búsqueda de los casos por usos.
– Nos permitirá determinar riesgos.
– Identificar patrones que definan la estructura.
• Selección de una adecuada estructura basada en objetos
– Control por Diagramas de Secuencias y de Estados para comprobar la
completitud de los objetos al sistema.
– Determinación de atributos y clases.
• Las aplicaciones Webs son muy diversas, pero todas suelen tener de:
– Un navegador.
– Un Servidor Web.
– Un Servidor de Aplicaciones.
• Propuesta de Análisis: Diseño Prototipado e Iterativo basado en el
esquema Cliente-Servidor.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
8. 7
Análisis del Sistema
Escuchar al
Cliente
Construír y
Revisar Maqueta
El cliente prueba la maqueta
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
9. 8
Análisis del Sistema
Ciclo de Ciclo de
Ciclo de
desarrollo en la desarrollo en el
desarrollo n
Adquisición de Datos Cálculo Estadístico
Perfeccionar
Agenda y Entrevistas
el plan
Análisis Diseño Construcción Pruebas
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
10. 9
Análisis del Sistemaº
FASES
Proceso de Desarrollo con UML
Workflow Planificación Elaboración Construcción Transición
Anál. Riesgos Verificación
Preparación
Identificación
Iteración en
Fase de Elaboración
Análisis
Diseño
Implantación
Prueba
Iteración-es Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Inicial-es #1 #2 #3 #4 #5 #6 #7
Iteraciones
Fuente: Gráfico adaptado de documentos www.rational.com
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
11. 10
Análisis del Sistema
• Problemas presentados en el análisis.
Seguridad en los datos (Autentificación y Verificación).
-Verificar que los datos lo emite el empresario conectado a Internet y no un
inflitrado.
- Dar garantías de privacidad en los datos que el sistema posea de la empresa. Tanto
a las restantes empresas del ramo como a otros extraños.
- Autentificación de los usuarios participantes al sistema.
Rapidez.
- Ofrecer un servicio que brinde una velocidad aceptable al usuario. Así no se
promoverán la dejadez ni el aburrimiento por la posible lentitud, siempre que se
garantice la seguridad.
Sencillez en su uso.
- Brindar un servicio sencillo e intuitivo, capaz de dar ayuda interactiva para facilitar
su manejo (Manual de Usuario).
Económico.
- Tratar de abaratar costes al máximo pero sin paliar la seguridad, aunque este factor
si que influiría en sobre el factor rapidez como es evidente.
• Todos estos factores llegan a tener una cierta incompatibilidad entre ellos mismo, lo cual
debemos establecer un promedio que en las sucesivas iteraciones irán brindando la mejor
fórmula adecuada.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
12. 11
Análisis del Sistema
Dimensiones del modelado
Niveles
Presentación
Hipertexto
Content
Estructura Fases
Modelo Modelo Modelo
Conceptual Lógico Físico Implementación
Comportamientos
Aspectos
Schwinger y Retschitzegger (2000)
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
13. 12
Análisis del Sistema
State
State
Diagrams
Use Case Diagrams de
Diagramas
Use Case
Diagrams Clases State
Use Case Diagramas de
Diagrams State
Diagrams
Use Case
Diagrams Casos de Uso Diagramas de
Diagrams
Diagrams de
Diagramas Objetos
Secuencia
Scenario State
Scenario
Diagrams State
Diagrams
Diagrams de
Diagramas Diagrams de
Diagramas
Colaboración Modelo Componentes
Scenario Component
Scenario Diagrams
Component
Diagrams Diagramas de
Diagrams
Diagrams de
Diagramas
Estados Distribución
Diagramas de
Actividad
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
14. 13
Análisis del Sistema
Diagramas de
Casos de Uso
Diagramas de Diagramas de
Secuencia
Clases
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
15. 14
Análisis del Sistema
• Todos estos elementos definen 3 arquitecturas de uso
común:
– Thin Web Clients.
– Thick Web Servers.
– Web Delivery.
• Pueden usarse varias para una aplicación.
• Se caracteriza por:
– Poco control por el cliente.
– El cliente solo requiere un navegador.
– La lógica de funcionamiento y selección la posee el
servidor.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
16. 15
Análisis del Sistema
Nivel de Nivel lógico de Nivel de
Presentación interes almacenaje
empresarial
Servidor Thick
Cliente Thin
CF
ASP
Servidor de Bases de Datos
Navegador Web
JSP
Servidor Web
PHP
CGI
API
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
17. 16
Análisis del Sistema
• Elementos participativos del sistema.
– Navegador: es la interfaz para la aplicación.
Sirve como herramienta de petición al servidor.
– Servidor Web: único punto de acceso para los
clientes dando como resultado un fichero HTML
que envía al cliente.
– Servidor de Bases de Datos: banco de datos
donde se almacena y distribuye la información.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
18. Punto de vista del proceso:
Diagramas de Flujo de Datos.
Especificaciones de Proceso.
Punto de vista de los datos:
Diagramas de Entidad/Relación.
Punto de vista del comportamiento:
Diagramas de Flujo de Control.
Especificaciones de Control.
Diagramas de Estados.
Diagramas de Clases y Objetos.
Gestión de Empresas Acuícolas a través de Internet
Análisis del Sistema
Febrero 2003
17
19. Análisis del Sistema
Núcleo del Diagrama de
18
Clases.
CError
CGUI
idError : Integer
inf oError : String
Genera las cargaCabTabla()
respuestas v isuales cargaCabecera()
error()
hacia el cliente CargaCabeceraOK()
getCadError()
cargaPie()
getIdError() CRecordset
cargaError()
CError() bbdd : Cbbdd
abreTabla()
cierraTabla() error : CError
cargaCabTabla()
cargaTabla() CRecordset()
cargaConsulta() auxDev uelv eFilas()
cargaEnlaces() auxSetFila()
cargaPrev () basSetFila()
cargaNext() basCuentaFilas()
cargaSelect() basGetFilas()
creaDiaSelect() basGetError()
creaAny oSelect() basExecSQL()
creaMesSelect()
CSesion
dameMes()
menuPrincipal() idSesion : String
Usuario : CUsuario
Clase que def ine a los
error : CError
usuarios participantes
del sistema
CSesion()
basGetError()
basSesion()
basGetUsuario()
basSetBBDD()
basCerrar() Cbbdd
CUsuario conexion : Variant
idSQL : Variant
CIF : Sttring
f ila : Variant
grupo : String
bbdd : Variant
user : String
host : String
pass : String
errBBDD : CError
host : String
bbdd : String
Cbbdd()
basGetError()
CUsuario()
basSQL()
basCreaUsuarioAutorizado()
basCuentaFilas()
basGetCIF()
basFilasActualizadas()
basGetGrupo()
basGetFila()
basGetUser()
basGoFila()
basGetPass()
basFreeSQL()
basGetHost()
basCerrar()
basSetBBDD()
basGetBBDD()
basHtmlUser()
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
20. D.E.D. Análisis del Sistema 19
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
21. Análisis del Sistema 20
D.E.D.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
22. Análisis del Sistema 21
Diagrama de Contexto
Empresa o empleado Investigador
Datos Contables
Datos de Investigación
Gestión de
Explotaciones
Acuícolas Datos Estado Base de Datos
Datos del Estado Sistema
Administrador de
Administrador Web Bases de Datos
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
23. 22
Diseño del Sistema
FUNCIONAMIENTO DE LOS SERVICIOS WWW
Típica transacción web
1. DNS
Lookup DNS Server
URL
2. TCP connection
3. HTTP request
4. HTTP response
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
24. 23
Diseño del Sistema
ELECCIÓN DEL SERVIDOR WEB
5.5 Millones de servidores en uso.
Mercado en Internet de Servidores
Webs
Apache : 60%
IIS (ASP) : 30%
(de http://www.netcraft.com/survey/)
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
25. 24
Diseño del Sistema
ELECCIÓN DEL SISTEMA GESTOR DE BASES DE DATOS
Bases de los sistemas Oracle- MySQL- PostGres
• Estable
• Alto Rendimiento
• Flexibilidad
• Se puede extender su funcionalidad
• Gran Compatibilidad
Permite crear o migrar aplicaciones desde Access, Visual
Basic, Visual Fox Pro, Visual C/C++, Delphi.
• Varias Interfaces de Programación:
ODBC, JDBC, C/C++, SQL Embebido, Tcl/Tk, Perl, Python,
PHP.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
26. 25
DiseñoGESTOR DE BASES DE DATOS
ELECCIÓN DEL SISTEMA
del Sistema
ORACLE
Analyse
Serv. Adaptateur
Web transformateur
Integr.
Web HTML HTML
XML
transformateur
Adaptateur WAP
WML
Oracle
XML Menus transformateur
+ Palm
preferences tiny
+ HTML
SDK règles de notification
Java
transformateur
XML Voix
VoxML
Oracle8i Oracle Application Server
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
27. 26
Diseño del Sistema
ELECCIÓN DEL SISTEMA GESTOR DE BASES DE DATOS
MySQL
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
28. Diseño del Sistema 27
ELECCIÓN DEL SISTEMA GESTOR DE BASES DE DATOS
MySQL PostgreSQL Oracle
Cumple con estándar
Media Alta Alta
SQL
Velocidad Alta Media Media
Integridad de Datos No Si Si
Seguridad Alta Media Alta
Soporte disparadores No Si Si
Replicación Si Si Si
Integridad Referencial No Si Si
Transacciones Si Si Si
Backups funcionando Si Si Si
Soporte Unicode No Si Si
Coste Open Source Open Source Excesivo
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
29. Diseño del Sistema 28
ELECCIÓN DEL SISTEMA GESTOR DE BASES DE DATOS
• Requerimientos de HW.
– 8 MB RAM
– 30 MB HDD - src
– 5 MB HDD - bin
– 1 MB HDD – DB’s básicas.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
30. 29
Diseño del Sistema
ELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN
ASP
-Hacen uso de objetos COM (Component Object Model).
-Se utiliza ADO que es un adaptador universal a bases de datos.
-El esquema de trabajo es crear objetos COM que ejecutan la lógica de
la aplicación (Business Objects) y luego hacer la capa de interfaz con
ASP.
ColdFusion
- Lenguaje 100% de scripting en que la idea es lograr resultados con
pocas líneas de código.
- Cuenta con un IDE y soporte comercial. ColdFusion corre como un
add-on a los servidores, o como un CGI aparte
- ColdFusion es la mejor manera de sacar algo bueno de una mala
situación, esto es, de tener que desarrollar una aplicación para Web
bajo Windows 2000
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
31. 29
Diseño del Sistema
ELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN
JSP
- Lenguaje de scripting en el lado del servidor que se comunica con clases
Java, objetos RMI, CORBA, etc.
- El código JSP se puede poner dentro de las páginas HTML, o se
puede precompilar en Servlets
- Para programar en JSP se requiere conocer Java, ser metódico y
ordenado. El lenguaje no relaja las condiciones de tipado que le son
propias.
Perl
- Es rápido hacer una pequeña aplicación Web.
- Las ventajas principales son el que se trata de un lenguaje muy
maduro, que lleva mucho tiempo funcionando, y que tiene cientos de
bibliotecas operativas y listas para ser usadas.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
32. 29
Diseño del Sistema
ELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN
PHP
- PHP es un pre-procesador de páginas HTML que está dirigido a construir
páginas,
- Ha crecido en soporte y en funciones y ahora viene "de fábrica" con varias
decenas de bibliotecas para funciones matemáticas, de bases de datos, etc.
- Lenguaje rápido con conexiones a bases de datos de además Open Source
como ocurre con Perl.
Se adaptó como lenguaje de programación
PHP por su rapidez, de además adecuada
sintonía que guarda con el Sistema Gestor de
Bases de Datos MySQL.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
33. Diseño del Sistema 32
Internet
Internet
HTML
XML
FASTA
Etc..
Apache/
Apache SSl SQL
GUI HTML
BBDD
MySQL Piscicultura
PHP
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
34. 33
Diseño del Sistema
Navegador Web del Servidores Edición en
cliente PHP/HTML
PC
PHP + ftp
Apache
Windows PC
SQL queries BBDD access +
Editores de
PHP/HTML
ODBC
Linux[Win32]
MySQL
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
35. Implementación del Sistema 34
Escenario de prueba
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
36. 35
SEGURIDAD APACHE SSL
Confidencialidad
Las características de Internet que le son más propias son las mismas que generan una serie de problemas
al momento de crear una aplicación en el Web. Un paquete de información puede pasar por varias manos
antes de llegar a destino por lo que no es fácil asegurar que no sea examinado o modificado.
Para conseguirlo normalmente se utilizan sistemas de llaves asimétricas, siendo lo más común HTTPS que
es HTTP sobre SSL.
SSL (secure socket layer) es un estándar desarrollado por Netscape que permite una transmisión segura de
datos.
Como en todo sistema de llaves públicas, es deseable que existan entidades certificadoras que permiten
crear un web of trust apropiado.
Autentificación
La autentificación puede llevarse a cabo con o sin SSL. Sin SSL es imposible asegurar demasiada
seguridad, siempre alguien podrá suplantar a menos que se use un esquema de tipo challenge en que el
servidor genera un token que debe ser transformado por el cliente antes de responder.
Sin embargo a la larga esto ya es suficientemente complicado como para que sea preferible usar SSL, que
además de autentificación provee de confidencialidad.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
37. SEGURIDAD APACHE SSL 36
Paquetes
nomales
Puerto: 80
Paquetes
Encriptados
Puerto:443
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
38. 37
SEGURIDAD EN LOS DATOS
APACHE SSL + PHP
Sesiones
- La aplicación requiere del envío y respuesta de múltiples formularios, y que esta secuencia de
envíos y recepciones requiere cierta coherencia. Se logra permitiendo que en algún nivel los
programas trabajen con los datos como si el proceso de enviar y recibir datos fuera algo continuo.
- Estos envíos de datos constituirán una sesión.
- La solución consiste en mantener en el lado del servidor un conjunto de datos
correspondientes al cliente. Estos datos van más allá de su identificador como usuario, sino que
pueden involucrar también sus respuestas en formularios anteriores, patrones navigacionales, etc.
Estos datos son almacenados normalmente en una base de datos relacional o en un área de datos
compartida entre los procesos de atención del servidor web.
- Para conectar estos datos con el usuario, se utiliza por lo general una cookie. Esta cookie
incluye un identificador de sesión (session-id) generado aleatoriamente y que por motivos de
seguridad puede codificar entre otras cosas la IP del browser, fecha hora actual, etc.
-Las sesiones se pueden implementar tanto a nivel del servidor como de la aplicación, con o sin
bases de datos y con o sin cookies (a veces se emplean URLs codificadas y métodos de
reinterpretación de URLs en el lado del servidor).
Gestión de Empresas Acuícolas a través de Internet Febrero 2003
39. 38
Conclusiones
• Es importantísimo dejar de pensar que el asunto de desarrollar
aplicaciones Web es: leer de la base de datos, mostrar un
formulario, leer los datos del formulario, escribir a la base
de datos. No se puede seguir en esa línea mucho tiempo. Es
mejor apuntar más alto, a formas de desarrollar las aplicaciones
de más alto nivel.
• Un buen punto de partida es olvidarse de la base de datos y
pensar en formas de más alto nivel de acceso los datos,
como bases de datos orientadas a objetos o puentes objeto-
relacional. Otra forma es abordarlo como un problema
XML/XSL.
• Lo importante es evitar que toda la inteligencia de la
aplicación esté tan cerca de la interfaz, porque a fin de
cuentas uno termina cometiendo errores similares a cuando
mezcla materialización y contenido de los documentos.
Gestión de Empresas Acuícolas a través de Internet Febrero 2003