Los contenidos incluidos en este libro abarcan conceptos relacionados con los procesos
y paradigmas propios del desarrollo de aplicaciones web de servidor así como los lenguajes y tecnologías involucradas en el soporte de gestión y manipulación en el lado del servidor, pasando por la definición de soluciones arquitectónicas dinámicas y multiplataforma como son las tecnologías de servicios.
Los capítulos incluyen todo tipo de ejemplos, imágenes, tablas y casos prácticos con el propósito de facilitar la asimilación de los conocimientos tratados. CAPÍTULO 1. EL PROCESO DE DESARROLLO DE SOFTWARE. 1.1 MODELOS DEL CICLO DE VIDA DEL SOFTWARE 1.2 ANALISIS Y ESPECIFICACION DE REQUISITOS. 1.3 DISEÑO. 1.4 IMPLEMENTACION. CONCEPTOS GENERALES DE DESARROLLO DE SOFTWARE 1.6 PRUEBAS DE SOFTWARE. 1.7 CALIDAD DEL SOFTWARE 1.8 HERRAMIENTAS DE USO COMÚN PARA EL DESARROLLO DEL SOFTWARE. 1.9 GESTIÓN DE PROYECTOS 1.10 TEST DE CONOCIMIENTOS. CAPÍTULO 2. LA ORIENTACIÓN A OBJETOS 2.1 PROGRAMACIÓN ESTRUCTURADA Y TIPOS ABSTRACTOS DE DATOS (ADT). 2.2 PROGRAMACIÓN ORIENTADA A OBJETOS. CLASES Y OBJETOS 2.3 OBJETO 2.4 HERENCIA. 2.5 GENERICIDAD Y SOBRECARGA DE MÉTODOS. 2.6 DESARROLLO ORIENTADO A OBJETOS 2.7 TEST DE CONOCIMIENTOS. CAPÍTULO 3. ARQUITECTURAS WEB. 3.1 MODELOS FISICOS DE SEPARACION: ARQUITECTURAS MULTINIVEL 3.2 MODELOS DE SEPARACION LOGICOS 3.3 HERRAMIENTAS DE DESARROLLO ORIENTADAS A SERVIDOR DE APLICACIONES WEB 3.4 TEST DE CONOCIMIENTOS. CAPÍTULO 4. LENGUAJES DE PROGRAMACIÓN DE APLICACIONES WEB EN EL LADO 4.1 LENGUAJES DE PROGRAMACIÓN WEB EN SERVIDOR. 4.4 SENTENCIAS CONDICIONALES. 4.5 BUCLES 4.6 GESTIÓN DE ERRORES 4.7 GESTIÓN DE BIBLIOTECAS. 4.8 GESTIÓN DE LA CONFIGURACION Y LA SEGURIDAD. 4.9 TRANSACCIONES Y PERSISTENCIA CAPÍTULO 5. MODELOS DE DATOS. 5.1 CONCEPTO DE DATO. CICLO DE VIDA DE LOS DATOS 5.3 DEFINICIÓN DE UN MODELO CONCEPTUAL 5.5 CONSTRUCCION DEL MODELO LOGICO DE DATOS 5.6 EL MODELO FISICO DE DATOS. FICHEROS DE DATOS. 5.7 TRANSFORMACION DE UN MODELO LOGICO EN UN MODELO FISICO DE DATOS 5.8 HERRAMIENTAS PARA LA REALIZACION DE MODELOS DE DATOS 5.9 TEST DE CONOCIMIENTOS. CAPÍTULO 6. SISTEMAS DE GESTIÓN DE BASES DE DATOS 6.1 DEFINICIÓN DE SGBD 6.2 COMPONENTES DE UN SGDB. ESTRUCTURA. 6.2.1 Gestión de almacenamiento. 6.3 TERMINOLOGIA DE SGDB. 6.4 ADMINISTRACION DE UN SGDB. 6.5 GESTIÓN DE TRANSACCIONES EN UN SGBD 6.6 SOLUCIONES DE SGBD. 6.7 CRITERIOS PARA LA SELECCION DE SGBD COMERCIALES 6.8 TEST DE CONOCIMIENTOS. CAPÍTULO 7. LENGUAJES DE GESTIÓN DE BASES DE DATOS. EL LENGUAJE SQL. 7.1 DESCRIPCION DEL ESTANDAR SQL 7.2 CREACIÓN DE BASES DE DATOS 7.2.1 Creación de tablas. Tipos de datos. 7.3 GESTIÓN DE REGISTROS EN TABLAS. 7.3.1 Inserción. 7.4 CONSULTAS. 7.4.1 Estructura general de una consulta 7.5 CONVERSION, GENERACION Y MANIPULACION DE DATOS. 7.6 CONSULTAS MULTIPLES. UNIONES (JOINS). 7.7 AGRUPACIÓNES. 7.8 VISTAS 7.9 FUNCIONES AVANZADAS. 7.10 TEST DE CONOCIMIENTOS. CAPÍTULO 8. LENGUAJES DE MARCAS DE USO COMÚN EN EL LADO SERVIDOR. 8.1 ORIGEN E HISTORIA DE LOS LENGUAJES DE MARCAS. EL ESTANDAR XML 8.2 PARTES DE UN DOCUMENTO XML 8.3 ESTRUCTURA DE XML 8.4 ANALISIS Y TRANSFORMACION DE XML. 8.5 TEST DE CONOCIMIENTOS. CAPÍTULO 9. ARQUITECTURAS DISTRIBUIDAS ORIENTADAS A SERVICIOS 9.1 CARACTERISTICAS GENERALES DE LAS ARQUITECTURAS DE SERVICIOS DISTRIBUIDOS 9.2 MODELO CONCEPTUAL DE LAS ARQUITECTURAS ORIENTADAS A SERVICIOS 9.2.1 Manifiesto SOA 9.3 IMPLEMENTACION DE ARQUITECTURAS ORIENTADAS A SERVICIOS MEDIANTE 9.4 DIRECTORIOS DE SERVICIOS. 9.5 TEST DE CONOCIMIENTOS. CAPÍTULO 10. PROGRAMACIÓN DE SERVICIOS WEB EN ENTORNOS DISTRIBUIDOS. 10.1 TIPOS DE SERVICIOS A IMPLEMENTAR DENTRO DE UNA ARQUITECTURA SOA 10.2 ESCENARIOS DE IMPLEMENTACION SOA. 10.3 HERRAMIENTAS PARA LA PROGRAMACIÓN DE SERVICIOS WEB. 10.4 FACILITADORES TECNOLOGICOS PARA COMPLEMENTAR EL DESARROLLO DE SERVICIOS 10.5 TEST DE CONOCIMIENTOS. SOLUCIONARIO DE LOS TEST DE CONOCIMIENTOS. ÍNDICE ALFABÉTICO
1.1.1 En Cascada.
1.1.2 Iterativo
1.1.3 Incremental
1.1.4 En V
1.1.5 Basado en componentes (CBSE)
1.1.6 Desarrollo rápido (RAD)
1.1.7 Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada
1.2.1 Tipos de Requisitos.
1.2.2 Modelos para el análisis de requisitos.
1.2.3 Documentación de requisitos.
1.2.4 Validación de Requisitos
1.2.5 Gestión de requisitos27
1.3.1 Modelos para el diseño de sistema
1.3.2 Diagramas de diseño. El estandar UML.
1.4.1 Principios básicos del desarrollo de software
1.4.2 Técnicas de desarrollo de software
1.5 VALIDACIÓN Y VERIFICACION DE SISTEMAS.
1.5.1 Planificación
1.5.2 Métodos formales de verificación.
1.5.3 Métodos automatizados de análisis.
1.6.1 Tipos
1.6.2 Pruebas funcionales (BBT)
1.6.3 Pruebas estructurales (WBT)
1.6.4 Comparativa. Pautas de utilización
1.6.5 Diseño de pruebas
1.6.6 Ámbitos de aplicación.
1.6.7 Pruebas de Sistemas
1.6.8 Pruebas de componentes
1.6.9 Automatización de pruebas. Herramientas
1.6.10 Estandares sobre pruebas de software
1.7.1 Principios de calidad del software.
1.7.2 Métricas y calidad del software.
1.7.3 Concepto de métrica y su importancia en la medición de calidad .
1.7.4 Principales métricas en las fases del ciclo de vida del software.
1.7.5 Estandares para la descripción de los factores de Calidad.
1.7.6 ISO-9126.
1.7.7 Otros estandares. Comparativa.
1.8.1 Editores orientados a lenguajes de programación
1.8.2 Compiladores y enlazadores
1.8.3 Generadores de programas .
1.8.4 Depuradores.
1.8.5 De prueba y validación de software.
1.8.6 Optimizadores de código
1.8.7 Empaquetadores
1.8.8 Generadores de documentación de software.
1.9.1 Planificación de proyectos
1.9.2 Control de proyectos.
1.9.3 Ejecución de proyectos.
1.9.4 Herramientas de uso común para la gestión de proyectos.
2.2.1 Clase
2.2.2 Gestión de Excepciones
2.2.3 Agregación de Clases
2.3.1 Creación de objetos.
2.3.2 Paso de Mensajes
2.3.3 Visibilidad de atributos y métodos. Modificadores de acceso.
2.3.4 Referencias a objetos
2.3.5 Persistencia de Objetos
2.3.6 Destrucción de Objetos.
2.4.1 Herencia múltiple.
2.4.2 Clase abstracta.
2.4.3 Modularidad. Librerías de clase
2.5.1 Sobrecarga de métodos.
2.5.2 Comparación entre genericidad y sobrecarga.
2.6.1 Herramientas de desarrollo.
2.6.2 Lenguajes de modelización en el desarrollo orientado a objetos
3.2.1 El esquema Modelo-Vista-Controlador (MVC).
3.2.2 La arquitectura de tres capas
3.2.3 Arquitecturas multi-capa.
3.2.4 La Arquitectura Orientada a Servicios (SOA)
3.3.1 Marcadores de texto.
3.3.2 Herramientas genéricas.
3.3.3 Herramientas específicas.
SERVIDOR.
4.1.1 CGI, Common Gateway Interface
4.1.2 Servlets.
4.1.3 Lenguajes de Script del lado servidor
4.2 CARACTERISTICAS GENERALES.
4.3 VARIABLES Y TIPOS DE DATOS.
4.3.1 Definición y uso
4.3.2 Tipos de datos y variables
4.4.1 Sentencias If.
4.4.2 Sentencias Switch o Select Case
4.5.1 Bucle While o Do While.Loop
4.5.2 Bucle Do-While o Do.Loop While
4.5.3 Bucle Do Until.Loop
4.5.4 Bucle Do.Loop Until
4.5.5 Bucle For o For.Next
4.5.6 Bucle Foreach.
4.5.7 Sentencia Break.
4.5.8 Sentencia Continue
4.7.1 Tecnologías y librerías relacionadas con ASP.
4.7.2 Tecnologías y librerías relacionadas con PHP.
4.7.3 Tecnologías y librerías relacionadas con JSP
4.8.1 Lista de Control de Acceso (ACL).
4.8.2 Autenticación de usuarios: OPENID y Oauth.
4.8.3 Técnicas de gestión de sesiones
4.9.1 Establecimiento de conexiones
4.9.2 Acceso a directorios y otras fuentes de datos.
4.9.3 Utilización de otros orígenes de datos.
4.9.4 Programación de transacciones.
4.9.5 Serializacion o niveles de aislamiento.
4.10 TEST DE CONOCIMIENTOS.
5.1.1 El ciclo de vida de los datos
5.2 TIPOS DE DATOS
5.2.1 Basicos
5.2.2 Registros.
5.3.1 Patrones
5.3.2 Modelo genéricos
5.4 EL MODELO RELACIONAL.
5.4.1 Descripción.
5.4.2 Entidades y tipos de entidades
5.4.3 Elementos de datos. Atributos.
5.4.4 Relaciones. Tipos, subtipos. Cardinalidad.
5.4.5 Claves. Tipos de claves.
5.4.6 Normalización. Formas normales
5.5.1 Especificación de tablas.
5.5.2 Definición de columnas
5.5.3 Especificación de claves.
5.6.1 Descripción de los ficheros de datos.
5.6.2 Tipos de ficheros.
5.6.3 Modos de acceso
5.6.4 Organización de ficheros
6.2.2 Gestión de consultas.
6.2.3 Motor de reglas
6.4.1 El papel del DBA
6.4.2 Gestión de índices.
6.4.3 Seguridad
6.4.4 Respaldos y replicación de bases de datos.
6.5.1 Definición de transacción.
6.5.2 Componentes de un sistema de transacciones
6.5.3 Tipos de protocolos de control de la concurrencia.
6.5.4 Recuperación de transacciones
6.6.1 Distribuidas
6.6.2 Orientadas a objetos.
6.6.3 Orientadas a datos estructurados (XML)
6.6.4 Almacenes de datos (datawarehouses)
7.2.2 Definición y creación de índices. Claves primarias y externas.
7.2.3 Enlaces entre bases de datos.
7.3.2 Modificación
7.3.3 Borrado.
7.4.2 Selección de columnas. Obtención de valores unicos
7.4.3 Selección de tablas. Enlaces entre tablas
7.4.4 Condiciones. Funciones útiles en la definición de condiciones.
7.4.5 Significado y uso del valor null
7.4.6 Ordenación del resultado de una consulta
7.5.1 Funciones para la manipulación de cadenas de caracteres
7.5.2 Funciones para la manipulación de números.
7.5.3 Funciones de fecha y hora
7.5.4 Funciones de conversión de datos
7.6.1 Definición de producto cartesiano aplicado a tablas.
7.6.2 Uniones de tablas (joins). Tipos: inner, outer, self, equi, etc
7.6.3 Sub-consultas.
7.7.1 Conceptos de agrupación de datos.
7.7.2 Funciones de agrupación.
7.7.3 Agrupación multi-columna
7.7.4 Agrupación vía expresiones.
7.7.5 Condiciones de filtrado de grupos
7.8.1 Concepto de vista (view).
7.8.2 Criterios para el uso de vistas
7.8.3 Creación, modificación y borrado de vistas.1
7.8.4 Vistas actualizables
7.9.1 Restricciones. Integridad de bases de datos
7.9.2 Disparadores
7.9.3 Gestión de permisos en tablas.
7.9.4 Optimización de consultas.
8.2.1 Elementos en XML.
8.2.2 Sintaxis y semántica de documentos XML: documentos válidos y bien formados
8.2.3 Espacios de Nombres: XML Namespace.
8.3.1 XML Schema
8.4.1 Búsqueda y extracción de información en XML: XQuery y XPath.
9.2.2 Características de SOA
9.2.3 Características de los Servicios.
9.2.4 Ciclo de vida de los servicios
TECNOLOGÍAS WEB. SERVICIOS WEB
9.3.1 Roles y Operaciones de un Servicio en SOA
9.3.2 Lenguajes y tecnologías de Servicios Web.
9.3.3 Calidad de Servicio (Quality of Service, QoS)
9.3.4 Especificaciones de servicios web de uso común: SOAP, REST, etc
9.3.5 Lenguajes de definición de servicios: el estandar WSDL
9.4.1 Estandares sobre directorios de servicios: UDDI
10.3.1 Frameworks para la generación de Servicios Web