Académique Documents
Professionnel Documents
Culture Documents
Contextualización:
Origen de Internet - ARPANET (Advanced Reasearch Projects Agency NET) - Servicios – Protocolos.
Protocolos - Conjunto de reglas formales que permiten a dos dispositivos intercambiar datos sin ambigüedad.
ARP. (Address Resolution Protocol) - responsable de encontrar la dirección de hardware (MAC) que corresponde a una determinada dirección IP.
SNMP. (Simple Network Protocol) - protocolo de la capa de aplicación que facilita el intercambio de información entre dispositivos de red.
DHCP. (Dynamic Hosto Configuration Protocol) - protocolo de red mediante el cual un servidor DHCP asigna dinámicamente una dirección IP.
UDP. (User Datagram Protocol) - protocolo del nivel de transporte basado en el intercambio de datagramas.
TCP. (Transmission Control Protocol) - protocolo que garantiza que los datos serán entregados en su destino sin errores .
IP. (Internet Protocol) - protocolo de comunicación de datos digitales clasificado funcionalmente en la capa de red.
Dirección IP - Número que identifica de manera lógica y jerárquica una interfaz de dispositivo dentro de una red que utiliza el Protocolo de Internet.
IP Fija o Estática versus IP Dinámica.
IPv4 - IPv6.
IPv4: 32 bits en 4 octetos - 232 direcciones - Ejemplo: 192.168.000.001 se puede abreviar en 192.168.0.1 .
IPv6: 128 bits en 8 cuartetos hexadecimales - 2 128 direcciones - Ejemplo: 2001:0db8:00a3:0000:0000:8a2e:0370:0001 - 2001:db8:a3:0:0:8a2e:370:1 ,
Dominios y Jerarquías:
Espacio de nombres de dominio - Formado por palabras de entre 1 y 63 caracteres.
(con ‘-’ como único símbolo permitido, no inicial), que comiencen por una letra, y separadas por puntos en orden
jerárquico. Máximo 255 caracteres.
Ej: servidor.departamento.sección.es - FQDN (Fully Qualified Domain Name).
DNS (Domain Name Service) - Transformación IP en Nombre.
Procedimiento:
1 - Solicitud al servidor DNS de la IP del nombre de la máquina a conectar.
2 - Servidor DNS - Tablas de asignación.
3 - Si no obtiene la IP - Petición a servidor raíz.
Respuesta del servidor raíz con dirección al servidor de resolución . CONEXIÓN.
Petición de IP al servidor de resolución.
Respuesta de IP por el servidor de resolucion.
FIREWALL - Cortafuegos - (Protección contra ataques a Intranet – Acceso no permitido a servicios peligrosos).
Reglas - Tabla de filtros.
Enrutadores interno / externo - Contro de peticiónes HTTP, SMTP, FTP,… (paquetes TCP/IP).
WWW - World Wide Web - Medio de comunicación de texto, gráficos y elementos multimedia (HTTP).
Tendencia actual - Web Semántica.
Dominio - Identificación asociada a ubicación de una aplicación web - Dirección IP – DNS.
Hosting - Alojamiento de datos y recursos de una aplicación web.
Servidores - Web: [Apache], [IIS Internet Information Services], [NgInx] - Escalabilidad, Alta disponibilidad, Balanceo.
- De Aplicaciones: [JavaEE (WebLogic, WebSphere)], [IIS] - Escalabilidad, Alta disponibilidad, Balanceo.
- De Bases de Datos: [MySQL - MariaDB], [SQL Server], [PostgreSQL], [SQLite] – Relacionales.
[MongoDB] - no relacional.
- De Correo: - MTA (Mail Transfer Agent) [Sendmail, Qmail, MS Exchange Server, …].
- De Direccionamiento: (DNS) - Resolución de nombres, inversa de direcciones y de servidores de correo - 12 Servidores Raíz.
- Proxy: - Caché / Inverso [Squid, Wingate, MSP (Microsoft Proxy Server and Client)].
- De Directorio: - LDAP (Lightwight Directory Access Protocol):.
Modelo de información. Modelo de nombrado.
Modelo funcional. Modelo de seguridad.
- NTDS: - Active Directory, Apple Open Directory, Novell eDirectory,…
- CADS (Composite Adaptive Directory Services).
- De Mensajería - Jabber, Messenger, Google Talk, Telegram, Whatsapp,…
- De Antivirus, filtrado de contenido, …
Servicios en la Nube: DropBox, SkyDrive, Google Drive, Box, Mega, etc. (Almacenamiento en la nube y aplicaciones web).
APLICACIONES WEB.
PORTALES.
Portal Web - Sitio Web que ofrece acceso a una serie de recursos y servicios relacionados (Horizontales, Verticales, Diagonales).
Mecanismos de búsqueda y directorios.
Agrupación de fuentes de información.
Facilidades de comercialización.
Almacenamiento categorizado o no.
Gestión de contenidos Definición de ciclos de vida información.
Búsqueda multicriterio – Filtros.
Java - JSR 168 - Definición del concepto de porlet estándar JSR 170 - Interfaz estándar de acceso a repositorio desde portlet.
PORTLETS.
WSRP (Web Service for Remote Porlets) - Estándar de servicios que permiten plug-and-play de portlets en ejecución remotos desde fuentes dispares.
Ej: https://portals.apache.org/pluto/.
Estrategias de desarrollo:
Identificación de propiedades de dispositivo - Bases de Datos (WURFL - Wireless Universal Resource FiLe, Device Atlas), Media Queries.
Progressive enhancement (mejora progresiva).
Redirección de sitio.
Plantillas, Algoritmos, Cookies - Javascript, media queries, librerías,…
Web Storage (almacenamiento web) - Clave : Valor.
Recomendaciones de desarrollo:
Programar código bien estructurado.
Comprimir código siempre que sea posible.
Evitar envío de datos innecesarios.
Agrupas dispositivos por tipos, tamaños,…
Mantener un balance entre accesibilidad, capacidades, experiencia de usuario, usabilidad, funcionalidad, rendimiento y ancho de banda.
ESQUEMA MVC
Modelo - Lógica de negocio de la aplicación.
Vista - Interfaz de usuario.
Controlador - Actuador simultáneo en Vista y Modelo.
Herramientas de desarrollo
WYSIWYG - What You See Is What You Get Dreamweaver, Microsoft Expressions Web, Coda2, Amaya, Bluefish, X-Code.
Políticas de Desarrollo:.
Accesibilidad - Segundo nivel de prioridad W3C (Doble A).
Usabilidad - Buscador sin publicidad.
Mínimo de dos enlaces a la página de inicio.
Concordancia institucional.
Ofuscación email - Evitar Spam (codedirection, display:none,…).
Multiidioma - http://www.w3c.org/International.
Mapa del sitio - http://www.sitemaps.org/es/.
Buenas prácticas - Uso metatags, encabezados, url’s amigables, codificación (utf-8).
Entorno de preproducción o pruebas - Funcionales y estructurales - De rendimiento - De tolerancia a fallos - De seguridad.
Entorno de producción - Versión activa de la aplicación.
Estructura - /(raíz), css, js, documents, images, modules, functions, config, java, lib, interface, scripts, media, swf (flash),…
Seguridad.
Ataques URL de tipo semántico - Parámetros en GET.
Ataques al subir archivos - Modificación de nombre de archivo.
Ataques de Cross-Site Scripting (XSS) - Inyección de código HTML.
Cross-Site Request Forgeries - Envío de peticiones falsificadas.
Formularios.
Peticiones HTTP.
Exposición de credenciales de acceso y datos sensibles.
SQL Injection - Filtrado y envío de datos.
Ataques de Fuerza Bruta - Limitación de intentos y calidad de claves.
Espionaje de Contraseñas (Password Sniffing).
Registros persistentes.
Identificación, autenticación, autorización y control de acceso.
Oauth (Open Authorization), claves MD5 / SHA1, tokens, certificados digitales, gestión de sesiones,…
Terminología:.
Módulo vs Copia de Trabajo (”WORKSPACE”).
Revisión (“VERSION”, “HEAD”).
Rotulo (“TAG”).
Línea Base (“BASELINE”).
Abrir Rama o Ramificar (“BRANCH”).
Desplegar (“CHECK-OUT”, “CHECKOUT”).
Publicar o Enviar (“COMMIT”, “CHECK-IN”, “INSTALL”, “SUBMIT”).
Conflicto / Resolver.
Cambio (“CHANGE”, “DIFF”, “DELTA”).
Lista de Cambios (“CHANGELIST”, “CHANGE SET”, “PATCH”).
Exportación (“EXPORT”).
Integración o Fusión (“MERGE”) / Integración Inversa.
Actualización (“SYNC” o “UPDATE”).
Documentación;.
Tipos de documentación:.
De requisitos, De arquitectura y diseño, Técnica.
De usuario: Tutoriales, por temas y glosario:.
Diagramas general y detallado del sistema.
Explicación genérica de fases del sistema.
Instalación del sistema e iniciación al uso.
Manual de referencia.
Formatos y estándares de documentación:.
Documentación electrónica / impresa:.
DOC, DOCX, OpenDocument, PDF, RTF, TXT, HTML, …
Documentación en aplicaciones (Formatos de ayuda):.
HLP, CHM,…
Documentación en línea y multimedia:.
Wikis, vídeotutoriales,…
Estándares de documentación:.
ISO/IEC, 26514:2008; IEE 830 SRS, PMBOK, ITIL,…
Buenas prácticas
Formato de nombre adecuado con fecha incluida.
Archivos ubicados en las mismas carpetas.
Centralización de la actualización de archivos.
Organización de documentos por fases y equipos de trabajo.
Utilización de programas para administración de archivos.
Realización de copias de seguridad.
Establecimiento de niveles de acceso.