Temario Técnico Computación - Fase 3 2021

Page 1


Página 1 de 210


Página 2 de 210

Autoridades Instituto Emiliani Somascos Comunidad Somasca Obras Somascas en Guatemala

Lic. Raúl Hernández Chacón Director Técnico-Administrativo Instituto Emiliani Somascos

Lic. Henrry Caal Sub-director Instituto Emiliani Somascos

Lic. Juan Carlos Morales Coordinador Ácademico

Prof. David Subuyuj Coordinador Técnico

Armando Garcia Coordinación de Pastoral


Página 3 de 210

Bachillerato Industrial y Perito con especialidad en Computación

Silvio Ernesto Castro Asesor de Práctica Supervisada

Oscar Aurelio Mendez Asesor de Práctica Supervisada

Sandra López Asesor de Práctica Supervisada


Página 4 de 210

Promocion 2021 •

Ajvatz Villagran Edwin Wilfredo

6COMA •

Aldana Chigna Jose Mynor

6COMA •

6COMA •

Aldana Chigna José Adolfo Alonzo Reyes Edgar Moises 6COMA

Alvarado Muñoz Christel Judith 6COMA

Cotzajay Yapán Heidy Lourdes 6COMA

Cuc Hernández David Alfredo 6COMA

Arens Higueros Douglas Roberto 6COMA

Corzo Peralta Mario Alejandro 6COMA

6COMA •

Coguox Nerios Saulo Samuel

Culajay Roldan Mario Andres 6COMA

Blanco Melendres Maricruz del

Damián Fuentes Walter Iván 6COMA

Rosario 6COMA

De Paz Benito Jose Andres 6COMA

Bor Siney Daniel Estuardo 6COMA

Diaz Lopez Bryan Steve 6COMA

Cabrera Campaneros Fatima

Diaz olivares Saul Carlo Ivan

Jazmin 6COMA •

Cabrera Mendoza Sofia Asuncion

6COMA •

6COMA •

Camey Magzul Jonathan Camey

6COMA •

6COMA •

Carrascoza Garcia Cristian Castro Porras Julio César 6COMA

Chávez de León Alvaro Eduardo 6COMA

Franco Chiroy David Alejandro 6COMA

Godines Pineda Javier Estuardo 6COMA

Chinchilla Sosa Cinthya Valeska 6COMA

Florian Pirir Edgar Alexander 6COMA

Benjamin 6COMA •

Escobar Fernández Edgar Manuel

Godínez Socoy Felix Alexander 6COMA

Godínez Tunay María Fernanda 6COMA


Página 5 de 210

Promocion 2021 •

Florencio López, Edwin 6COMB

Hernández De León, Luis José Mariano 6COMB

• •

6COM B •

Hernández Patzán, Omar Alessandro 6COMB

Pérez Tipáz, Gerardo Adolfo 6ComB

Lara Ismatul, Laisha Antonia

Ramírez Dimatteo, Ricardo Andrés

Lima Y Lima, Carlos Manuel 6COMB

López Ramírez, Álvaro José 6COMB

López Samayoa, Genesis

6COMP B •

Mancilla González, Josué Sebastián

• •

Monzón Nimatuj, Jonathan Samuel

Morales Cifuentes Ruby, Abigail

Say Oliva, Pablo Andrés 6COMB

6COMB

Suchite Flores, Ángel Manuel

Morales Varela, Ronald Alexis

Velásquez Chitay, Josué Daniel

Orellana Sajqui, Kevin Alexander

6COMB •

6COMB •

Rivera Ramírez, Mario Adolfo 6COMB

6COMB •

Reyes Gutiérrez, Jorge Mario 6COMB

Andrés 6COMB •

Reyes Domínguez, Keneth Enrique 6COMB

Griselda 6COMB •

Ramírez Velásquez, César Antonio 6COMB

6COMB Montecinos Hernández, Josseline

Ramírez Solorzano, Jefry Adolfo 6COMB

Alexandra 6COMB

Pérez Hernández, Angelo Javier 6COMB

Dayanara 6COMB

Peinado Tepeu, Elmer Anscelmo

Osuna Ortiz, Enyembber Alexander

6COMB •

6COMB •

Pacheco Gil, Cesar Steven 6COMB

Pasán De León, Kateryn Yohana 6COMB

Velásquez García, Walter Estuardo Villatoro Mazariegos, Miguel Andrés 6COMB

Xunic Jutzuy, María Fernanda 6COMB

Yoc Chajón, Joshua Isaac 6COMB


Página 6 de 210

Centenario Somasco en América La humilde Congregación de los religiosos somascos tiene su origen en la Compañía de los Servidores de los Pobres, suscitada en la Iglesia de Dios por San Jerónimo Emiliani, bajo la acción del Espíritu Santo. Convertido a Dios y renovado profundamente por intercesión de María, en su ardiente deseo de seguir el camino del Crucificado y de imitar a Cristo, su Maestro, se hizo pobre y se entregó, en cuerpo y alma, al servicio de los pobres. Movido por la caridad divina, contagió a otros hombres, los cuales, por amor del Evangelio, se ofrecieron, junto con él, a Cristo. Mediante el ejercicio de toda clase de obras de misericordia, nuestro ardentísimo Padre propuso, para sí y sus compañeros, un estilo de vida que, mediante el servicio a los pobres, expresa su propia entrega a Cristo. Por eso, en los primeros tiempos, el pueblo los llamó: ‘Padres de las obras y de los pobres’. El 6 de diciembre de 1568, San Pío V adscribió esta nueva Compañía -que se iba desarrollando y cosechaba copiosos frutos para la Iglesia- entre las Congregaciones de Clérigos Regulares, y le concedió la facultad de poder profesar votos solemnes, sometiéndola directamente a la Sede Apostólica. Nuestra Congregación, respondiendo a la llamada de sus pastores y para bien de la Iglesia, ha emprendido desde sus orígenes, diversas actividades apostólicas, todas ellas inspiradas en el amor a Cristo. Con el mismo amor intenso del Fundador sigue dedicándose al cuidado material y espiritual de los huérfanos y de los pobres, se ocupa con tesón de la educación humana y cristiana de la juventud y del ministerio pastoral. La Congregación Somasca es un instituto clerical de derecho pontificio, formado por religiosos, sacerdotes y laicos, cuyo estilo de vida no supone distinciones, aun respetando la diversidad de ministerios. Siguiendo el ejemplo de Jesús y sus discípulos, sus miembros viven en común, y en común lo ponen todo, perseveran unánimes en la oración y en las obras, tienden a la perfección de la caridad con humildad de corazón, mansedumbre y benignidad, amando la pobreza y el trabajo, y deseando ardientemente atraer y unir a todos los hombres a Dios.


Página 7 de 210

La vida de la congregación se rige por sus contituciones y reglas, las cuales mantienen el espíritu de las primitivas ordenanzas adaptándolas a las condiciones de los tiempos. La congregación se las propone a cuantos quieren vivir y perseverar en ellas. En el año 1921, los somascos llegaron a América por primera vez, y con amor hicieron obras, entre ellas el Instituto Emiliani Somascos y Hogar de Huérfanos Santa Teresa. Por ello, celebramos el trienio posterior al centenario somasco en América, a celebrarse en 2021.


Página 8 de 210

Introducción Este trabajo sirve para dar a conocer los temas vistos en el ciclo escolar 2021 por los alumnos de 6to grado en Bachiller Industrial y Perito con Especialidad en Computación, veremos temas importantes como programación en HTML y las partes de una página, también conoceremos algo tan importante como es el hosting y como poder usar nuestra base de datos en internet gracias a éste. También repasaremos la importancia de la seguridad en nuestra pagina y como implementar métodos para hacerla más segura y confiable. Por general veremos temas relacionados con web, un ejemplo es como hacer una página web usando javascript, css, html y algunos framworks que mejoran las páginas web sin olvidar que la optimización y el diseño de esta tiene que ser de lo mejor. Esto sirve para poder fomentar que el estudiante pueda pensar en cual diseño será más factible para el estilo de página web que quería crear y además que pueda implementar diferentes funciones que requiera la misma


Página 9 de 210

Justificación La razón de esta recopilación de esta información tan valiosa es poder retroalimentar a los estudiantes para poder reanimar la información y recalcar la importancia que tiene y tendrá esto en nuestra vida en el ámbito profesional a la hora de realizar un trabajo en una empresa. Cada estudiante podrá revisar el temario para que este conocimiento previamente dado puedan llevarlo a practica y estudiarlo de nuevo.


Página 10 de 210

Objetivos Esta recopilación de información sobre la carrera que cursamos, tanto practico como técnico, es para la retroalimentación a los estudiantes por lo cual nosotros debemos de avocarnos a el y leerlo, para tener una buena participación en las pruebas destacadas en lo que es el temario correspondiente. El temario está separado por partes, donde se identifican los temas principales de cada bimestre, por lo cual es una buena forma de refrescar el previo conocimiento adquirido. Estos temas serán propuestos en las evaluaciones correspondientes. En los temas de cada bimestre tiene como finalidad: •

Explicar de buena forma el tema principal

Recordar lo abordado en cada tema

Brindar ejemplos prácticos y teóricos

Este documento se brinda a los estudiantes para que estos realicen el estudio propio de este


Página 11 de 210

Temas Sexto Grado Redes de la Información Capitulo I 1. Introducción y clasificación de las redes 1.1

¿Qué es una red?

1.2

Comunicación de datos

1.3

Canal de comunicación

1.4

Red de computadores

1.5

Telemática

1.6

Ventajas de las redes

1.7

Modelo de sistema de comunicación

1.8

Fuente

1.9

Transmisor

1.10

Clasificación de las redes según su tamaño y extensión 1.10.1 LAN 1.10.2 PAN 1.10.3 MAN 1.10.4 WAN 1.10.5 WLAN 1.10.6 VLAN 1.10.7 CAN 1.10.8 SAN 1.10.9 Redes internet 1.10.10

Redes inalámbricas

1.10.11

Topología


Página 12 de 210

Capitulo II 2. Modelo OSI y protocolos TCP/IP 2.1

Capas del Modelo OSI

2.2

Capa 1: capa física

2.3

Capa 2: capa de enlace de datos

2.4

Capa 3: capa de red

2.5

Capa 4: capa de transporte

2.6

Capa 5: capa de sesión

2.7

Capa 6: capa de presentación

2.8

Capa 7: capa de aplicación

2.9

Funciones de cada capa

2.10

Protocolos utilizados en cada capa

2.11

Dispositivos de redes utilizados en cada capa

2.12

Redes IP

2.13

Protocolo IP versión 4

2.14

Protocolo ICMP

2.15

Protocolo UDP

2.16

Protocolo TCP

Capitulo III 3. Subneteo clase A 3.1

Dirección IP clase A

3.2

Máscara de Red

3.3

Asignación de subred

4. Subneteo clase B 4.1

Dirección IP clase B

4.2

Máscara de red

4.3

Asignación de subred

5. Subneteo clase C 5.1

Dirección IP clase C

5.2

Máscara de red


Página 13 de 210

5.3

Asignación de subred

Capitulo IV 6. Packet Tracer (CLI) 6.1

Introducción a Packet Tracer consola

6.2

Crear y configurar una red

6.3

Configurar Switch


Página 14 de 210

Sexto Grado Tecnología Vocacional III Capitulo I 1. Estándares web 1.1

W3C

1.2

HTML & CSS

1.3

Grafico

1.4

Audio y video

1.5

Internacionalización

1.6

Redes móviles

1.7

Privacidad

1.8

Historia y evolución

1.9

Versiones

1.10

Ejemplos de navegadores web

Capitulo II 2. Integración CMS + CRM + ERP 2.1

Conceptos

2.2

Historia

2.3

Implementación

2.4

ERP versus software de gestión

2.5

Ventajas y desventajas

2.6

Seguridad en la web

2.7

Vulnerabilidad

2.8

Soluciones

2.9

Tipos de ataques

Capitulo III 3. Arquitectura y seguridad de las aplicaciones web 3.1

¿Qué es un software web?


Página 15 de 210

3.2

Usos de un software web 3.2.1 ¿Porqué elegir una solución web?

3.3

Elección de un software web

3.4

Tipos de software web

3.5

Software web serial

3.6

Software con servicios rentados

3.7

Software web adaptación a dispositivos móviles 3.7.1 ¿Cómo se implementa?

3.8

Software web desarrollado a medida

3.9

Tipos de licencia

3.10

Ciclos de vida del software seguridad de las aplicaciones web

Capitulo IV 4. Sistema Android 4.1

Historia

4.2

Adquisición por parte de Google

4.3

Historial de actualizaciones

4.4

Versiones


Página 16 de 210

Sexto Grado Programación Estructurada Capitulo I 1. PHP5 1.1

PHP introducción

1.2

PHP sintaxis

1.3

Variables PHP

1.4

PHP Echo / Imprimir

1.5

PHP tipos de datos

1.6

Funciones PHP de cuerda

1.7

PHP constantes

1.8

PHP operadores

1.9

PHP if … Else … Else If

1.10

PHP conmutador

1.11

PHP do … While

1.12

PHP For

1.13

PHP Funciones

1.14

PHP Arrays

1.15

PHP Ordenando Arrays

1.16

PHP Superglobales

1.17

PHP fecha y hora

1.18

PHP incluir

1.19

PHP Administración de archivos

1.20

PHP Open File / Read

1.21

PHP File Crear / Escritura

1.22

PHP File Upload

1.23

PHP Cookies

1.24

PHP Sesiones

1.25

PHP Manejo de errores

1.26

Excepción PHP


Página 17 de 210

Capitulo II 2. Framework web y Scrpting 2.1

¿Qué es un framework web?

2.2

Patrón MVC y Model 2

2.3

Tipos de framework web

2.4

Características

2.5

Ejemplo

2.6

Historia

2.7

Aplicaciones

2.8

Tecnologías

Capitulo III 3. Servidor web 3.1

Servidor web

3.2

Conexión de red SSL, TSL, HTTPS

3.3

Uno o más clientes

3.4

Arquitectura dos capas 3.4.1 Cliente / Servidor

3.5

Arquitectura tres capas 3.5.1 Capa de presentación 3.5.2 Capa de diseño 3.5.3 Capa de negocios

3.6

¿Qué es la seguridad de sitios web?

3.7

Amenazas contra las seguridades

3.8

Vulnerabilidad

3.9

Medidas de seguridad para la web

3.10

Herramientas de testeo para la web

3.10.1 Inyección SQL 3.10.2 Denegación de servicios 3.10.3 Inyección de comandos

Capitulo IV 4. IONIC 4.1

Configuración de entorno de trabajo


Página 18 de 210

4.2

Línea de comandos

4.3

Archivo config.xml

4.4

Emulación app Android, IOS, Windows

4.5

Home HTML

4.6

Archivos SCSS

4.7

Tabs

4.8

Template IONIC

4.9

Button

4.10

Colores y estilos

4.11

Cards con imágenes

4.12 Listas y *ngFor 4.13 NavController 4.14 Listas dinámicas 4.15 Navigation 4.16 Grid 4.17 Flexbox 4.18 Alertas


Página 19 de 210

Sexto Grado Estructura de Datos Capitulo I 1. MySQL (Gráfico / consola) 1.1

Entorno de trabajo

1.2

Instalación

1.3

Crear base de datos

1.4

Llave primaria

1.5

Llave foránea

1.6

Mostrar base de datos y tablas

1.7

Tipos de datos básicos

1.8

Valores null

1.9

DML 1.9.1 Create 1.9.2 Alter 1.9.3 Drop 1.9.4 Trucato table

1.10

DDL

1.10.1 Select 1.10.2 Insert 1.10.3 Update 1.10.4 Delete

Capitulo II 2. Java Script 1 2.1

JS introduction

2.2

JS Where to

2.3

JS Output

2.4

JS Syntax

2.5

JS Statements


Página 20 de 210

2.6

JS Comments

2.7

JS Variables

2.8

JS Data Types

2.9

JS Objects

2.10

JS Functions

2.11

JS Scope

2.12

JS Events

2.13

JS Strings

2.14

JS String Methods

2.15

JS Numbers

2.16

JS Number Methods

2.17

JS Operators

2.18

JS Math

2.19

JS Dates

2.20

JS Date Methods

2.21

JS Arrays

2.22

JS Array Methods

2.23

JS Booleans

2.24

JS RegExP

2.25

JS Type Conversion

2.26

JS Comparisons

Capitulo III 3. JQuery 3.1

JQuery Hide/Show

3.2

JQuery Fade

3.3

JQuery Slide

3.4

JQuery Animate

3.5

JQuery stop

3.6

JQuery Callback

3.7

JQuery Chaining

3.8

JQuery Get

3.9

JQuery Set

3.10

JQuery Add

3.11

JQuery Remove


Página 21 de 210

3.12

JQuery CSS Classes

3.13

JQuery CSS

3.14

JQuery Dimensions

Capitulo IV 4. Seguridad en dispositivos móviles y aplicaciones web 4.1

Conceptos básicos de seguridad

4.2

Capas de seguridad en dispositivos móviles

4.3

Comunicaciones inalámbricas

4.4

Ataques

4.5

Mecanismos de prevención

4.6

Aplicaciones

4.7

Ataques al software: malware

4.8

Ataques en la web

4.9

Mecanismos de aplicaciones

4.10

Navegador web

4.11

Aplicaciones de seguridad

5. Usuarios 5.1

Ataques

5.2

Mecanismos de prevención

5.3

Sustracción momentánea

5.4

Sustracción indefinida

5.5

Caso de estudio: WaveSecure


Página 22 de 210

Redes de la Información

Sexto Grado


Página 23 de 210

Capítulo I 1. Introducción y clasificación de las redes Por Edwin Wilfredo Ajvatz Villagran 1.1

¿Qué es una red?

El término red hace referencia a un conjunto de sistemas informáticos independientes conectados entre sí, de tal forma que posibilitan un intercambio de datos, para lo que es necesario tanto la conexión física como la conexión lógica de los sistemas. Esta última se establece por medio de unos protocolos de red especiales, como es el caso de TCP. Dos ordenadores conectados entre sí ya pueden considerarse una red. Las redes se configuran con el objetivo de transmitir datos de un sistema a otro o de disponer recursos en común, como servidores, bases de datos o impresoras. En función del tamaño y del alcance de la red de ordenadores, se puede establecer una diferenciación entre diversas dimensiones de red. La conexión física en la que se basan estos tipos de redes puede presentarse por medio de cables o llevarse a cabo con tecnología inalámbrica. A menudo, las redes físicas conforman la base para varias redes de comunicación lógicas, las llamadas Virtual Prívate Networks (VPN). Para la transmisión de datos, estas emplean un medio de transmisión físico común como puede ser la fibra óptica y se vinculan de forma lógica a diferentes tipos de redes virtuales por medio de un software de tunelización. Cada uno de los diferentes tipos de redes está diseñado para ámbitos de aplicación particulares, se basan en técnicas y estándares propios y plantean ventajas y restricciones variadas.


Página 24 de 210

1.2

Comunicación de datos

Una de las características más notables en le evolución de la tecnología de las computadoras es la tendencia a la modularidad. Los elementos básicos de una computadora se conciben, cada vez más, como unidades dotadas de autonomía, con posibilidad de comunicación con otras computadoras o con bancos de datos. Se denomina red de transmisión de datos al conjunto formado por los equipos y los medios físicos y lógicos que permiten la comunicación de información entre diferentes usuarios a cualquier distancia que se encuentren. Estas redes pueden ser de ámbito local LAN o de ámbito global WAN. La comunicación entre dos computadoras puede efectuarse mediante los tres tipos de conexión: ⚫

Los datos pueden viajar a través de una interfaz serie o paralelo, formada simplemente por una conexión física adecuada, como por ejemplo un cable.

Conexión directa: A este tipo de conexión se le llama transferencia de datos on – line. Las informaciones digitales codificadas fluyen directamente desde una computadora hacia otra, sin ser transferidas a ningún soporte intermedio.

Conexión a media distancia: Es conocida como conexión off-line. La información digital codificada se graba en un soporte magnético o en una ficha perforada y se envía al centro de proceso de datos, donde será tratada por una unidad central u host.

Conexión a gran distancia: Con redes de transferencia de datos, de interfaces serie y módems se consiguen transferencia de información a grandes distancias. La tecnología electrónica, con sus microprocesadores, memorias de capacidad cada

vez más elevada y circuitos integrados, hace que los cambios en el sector de las comunicaciones puedan asociarse a los de las computadoras, porque forma parte de ambos. Hace ya algún tiempo que se están empleando redes telefónicas para las comunicaciones de textos, imágenes y sonidos. Por otro lado existen redes telefónicas, públicas y privadas, dedicadas solamente a la transmisión de datos. Mediante el teléfono de nuestra casa se puede establecer comunicación con cualquier lugar del mundo, marcando las claves correctas. Si se dispone de la ayuda de una computadora, conectada a la línea telefónica mediante un modulador / desmodulador MODEM, se puede comunicar con otras computadoras que dispongan de los mismos elementos.


Página 25 de 210

1.3

Canal de comunicación

El canal de comunicación constituye una vía por la que se transmite la comunicación. A través de un canal de comunicación transitan las informaciones, estableciendo un enlace entre el emisor y el receptor. Ejemplos de canales de comunicación ⚫

Canales de Información Cable coaxial Este tipo de cable está compuesto de un hilo conductor central de cobre rodeado por una malla de hilos de cobre. El espacio entre el hilo y la malla lo ocupa un conducto de plástico que separa los dos conductores y mantiene las propiedades eléctricas. Todo el cable está cubierto por un aislamiento de protección para reducir las emisiones eléctricas.

Fibras ópticas La fibra óptica es un medio de transmisión empleado habitualmente en redes de datos; un hilo muy fino de material transparente, vidrio o materiales plásticos, por el que se envían pulsos de luz que representan los datos a transmitir. Ondas de radio Las ondas de radio oscilan en frecuencias entre unos cuantos kilohertz y unos cuantos terahertz. La radiación infrarroja lejana, sigue las ondas de radio en el espectro electromagnético, los IR lejanos tienen un poco más de energía y menor longitud de onda que las de radio.

Sistemas Infrarrojos Los detectores y sistemas infrarrojos funcionan con dos diodos emisores de luz infrarroja LED. Un diodo está conectado para enviar una señal de luz infrarroja. Un segundo LED infrarrojo está conectado para producir una pequeña señal eléctrica cuando se recibe una señal de luz infrarroja. Los objetos que pasan lo suficientemente cerca del LED que emite la señal de infrarrojos reflejarán la luz de nuevo hacia el LED detector y activarán el sistema. Microondas Se denomina microondas a las ondas electromagnéticas definidas en un rango de frecuencias determinado; generalmente


Página 26 de 210

Dispositivos de redes de la información. Router dispositivo de hardware para interconexión de redes de las computadoras que opera en la capa tres. Switch Un conmutador interconecta dos o más segmentos de red, funcionando de manera similar a los puentes bridges, pasando datos de un segmento a otro, de acuerdo con la dirección MAC de destino de los datagramas en la red.

Por José Adolfo Aldana Chigna 1.4.

Red de computadores

Una rede de computadoras es un conjunto de equipos conectados por medio de cables, señales, ondas o cualquier otro medio de transporte de datos, que comparten información como archivos o recursos. Un ejemplo son las computadoras, las impresoras o celulares.

Como en todo proceso de comunicación, se requiere de un emisor, un mensaje, un medio y un receptor. La finalidad principal para la creación de una red de ordenadores es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el costo. Un ejemplo es Internet, el cual es una gran red de millones de ordenadores ubicados en distintos puntos del planeta interconectados. Existen tipos como: ⚫

LAN. Local Area Network (“Red de Área Local”) se llama a las redes de menor tamaño, como las de un locutorio o cyber café, o una casa.

MAN. Metropolitan Area Network (“Red de Área Metropolitana”) designa a redes de tamaño intermedio, como las de los campus universitarios o las grandes bibliotecas y empresas.


Página 27 de 210

WAN. Wide Area Network (“Red de Área Amplia”) es como se llama a las redes de mayor envergadura y alcance, como la red global de Internet.

1.5.

Telemática

Es un campo de la ciencia que engloba los conocimientos de la informática y de la tecnología de la comunicación para el desarrollo de diseños, procesos y técnicas de servicios o aplicaciones que permiten transmitir datos. La telemática cubre un campo científico y tecnológico de una considerable amplitud, englobando el estudio, diseño, gestión y aplicación de las redes y servicios de comunicaciones, para el transporte, almacenamiento y procesado de cualquier tipo de información (datos, voz, vídeo, etc.), incluyendo el análisis y diseño de tecnologías y sistemas de conmutación. La telemática abarca entre otros conceptos los siguientes planos funcionales: ⚫

El plano de usuario, donde se distribuye y procesa la información de los servicios y aplicaciones finales.

El plano de señalización y control, donde se distribuye y procesa la información de control del propio sistema, y su interacción con los usuarios.

El plano de gestión, donde se distribuye y procesa la información de operación y gestión del sistema y los servicios, y su interacción con los operadores de la red.

1.6. ⚫

Ventajas de las redes

LAN

Ventajas: Una LAN da la posibilidad de que los PC's compartan entre ellos programas, información, recursos entre otros. La máquina conectada (PC) cambian continuamente, así que permite que sea innovador este proceso y que se incremente sus recursos y capacidades.


Página 28 de 210

WAN

Ventajas: Las WAN pueden utilizar un software especializado para incluir mini y macrocomputadoras como elementos de red. Las WAN no está limitada a espacio geográfico para establecer comunicación entre PC's o mini o macrocomputadoras. Puede llegar a utilizar enlaces de satélites, fibra óptica, aparatos de rayos infrarrojos y de enlaces ⚫

MAN

Una MAN privada es más segura que una WAN. Una MAN es más adecuada para la transmisión de tráfico que no requiere asignación de ancho de banda fijo. Una MAN ofrece un ancho de banda superior que redes WAN tales como X. 25 o Red Digital de Servicios Integrados de Banda Estrecha (RDSI-BE). ⚫

PAN

Las aplicaciones del PAN son prácticamente ilimitadas. Por ser una o muy pocas terminales, su velocidad es más eficaz. No tienen muchos problemas en torno con el cableado ya que sus dimensiones son muy disminuidas. Permite que los dispositivos puedan detectar de forma autónoma y conectarse uno a otro.

Por José Mynor Aldana Chigna 1.7.

Modelo de sistema de comunicación

La comunicación es la transferencia de información con sentido desde un lugar a otro lugar, por otra parte la información es un patrón físico al cual se le ha asignado un significado comúnmente acordado. El patrón debe de ser enviado por el transmisor y capaz de ser detectado y entendido por el receptor. Si la información es intercambiada entre comunicadores humanos, por lo general se transmite en forma de sonido, luz o patrones de textura en forma tal que puede ser detectada por los sentidos primarios del oído, vista y tacto. El receptor asumirá que no está comunicando información si no se reciben patrones reconocibles.


Página 29 de 210

1.8.

Fuente

En la comunicación como se realiza la transferencia de datos o información se necesita el lugar de donde se envía la cual pueden ser: remitente, origen, fuente, transmisor, etc. En si la fuente es el origen de la información, es el lugar de donde emanan los datos o el contenido que se enviara.

1.9.

Transmisor

El transmisor para el mensaje al canal en forma de señal. Para lograr una transmisión eficiente y efectiva, se desarrollan operaciones de procesamiento de señal. Los mas común es la modulación, un proceso que se distingue por el acoplamiento de la señal transmitida a las propiedades del canal, por medio de una onda portadora.

Por Edgar Moises Alonzo Reyes 1.10. Clasificación de las redes según su tamaño y extensión Es un conjunto de sistemas informáticos independientes conectados entre sí, de tal forma que posibilitan un intercambio de datos, para lo que es necesario tanto la conexión física como la conexión lógica de los sistemas. Esta última se establece por medio de unos protocolos de red especiales, como es el caso de TCP (Transmission Control Protocol). Las redes se configuran con el objetivo de transmitir datos de un sistema a otro o de disponer recursos en común, como servidores, bases de datos o impresoras. En función del tamaño y del alcance de la red de ordenadores, se puede establecer una diferenciación entre diversas dimensiones de red.

1.10.1. LAN Si una red está formada por más de un ordenador, esta recibe el nombre de Local Area Network (LAN). Una red local de tales características puede incluir a dos ordenadores en una vivienda privada o a varios miles de dispositivos en una empresa. Asimismo, las redes en instituciones públicas como administraciones, colegios o universidades también


Página 30 de 210

son redes LAN. Un estándar muy frecuente para redes de área local por cable es Ethernet. Otras opciones menos comunes y algo obsoletas son las tecnologías de red ARCNET, FDDI y Token Ring. La transmisión de datos tiene lugar o bien de manera electrónica a través de cables de cobre o mediante fibra óptica de vidrio. Si se conectan más de dos ordenadores en una red LAN, se necesitan otros componentes de red como hubs, bridges y switches, es decir, concentradores, puentes de red y conmutadores, los cuales funcionan como elementos de acoplamiento y nodos de distribución. El tipo de red conocido como LAN o red de área local fue desarrollado para posibilitar la rápida transmisión de cantidades de datos más grandes. En función de la estructura de la red y del medio de transmisión utilizado se puede hablar de un rendimiento de 10 a 1.000 Mbit/s.

1.10.2. PAN Una red PAN, abreviatura del inglés Personal Area Network, y cuya traducción al español significa Red de Area Personal, es básicamente una red integrada por todos los dispositivos en el entorno local y cercano de su usuario, es decir que la componen todos los aparatos que están cerca del mismo. La principal característica de este tipo de red que le permite al usuario establecer una comunicación con sus dispositivos de forma sencilla, práctica y veloz. En la actualidad son varias las tecnologías que permiten la creación de una red de área personal, entre ellas Bluetooth y los sistemas que utilizan la transmisión de infrarrojos para comunicarse


Página 31 de 210

1.10.3. MAN MAN o Metropolitan Area Network, cuya traducción al castellano es Red de Area Metropolitana, es una red de datos diseñada específicamente para ser utilizada en ámbitos de ciudades o pueblos. La primera característica, hablando en términos de cobertura geográfica, es que las Redes de Area Metropolitana o MAN son más grandes que las redes de área local o LAN, pero menores en alcance geográfico que las redes de área amplia (WAN). MAN se caracterizan por conexiones de muy alta velocidad utilizando cable de fibra óptica u otros medios digitales, lo que le permite tener una tasa de errores y latencia mucho más bajas que otras redes armadas con otro tipo de conductores. Además son muy estables y resistentes a las interferencias radioeléctricas.

1.10.4. WAN La llamada Red de Area Amplia, o WAN (Wide Area Network) como también se la conoce es básicamente una o más redes LAN interconectadas entre sí para poder abarcar mucho más territorio, a veces incluso, hasta continentes. Las redes WAN son mayormente utilizadas por grandes compañías para su propio uso, mientras que otras WAN son utilizadas por ISP para ofrecerle el servicio de Internet a su clientela. Las computadoras conectadas a través de una Red de Area Amplia o WAN generalmente se encuentran conectados a través de redes públicas tales como el sistema telefónico, sin embargo también pueden valerse de satélites y otros mecanismos.


Página 32 de 210

1.10.5. WLAN Una Red de Area Local Inalámbrica, más conocida como WLAN, es básicamente un sistema de transferencia y comunicaciones de datos el cual no requiere que las computadoras que la componen tengan que estar cableadas entre sí, ya que todo el tráfico de datos entre las mismas se realiza a través de ondas de radio. Sin embargo, la característica más destacada de las redes inalámbricas es el ahorro en el tendido de los cables para la interconexión de las PC y dispositivos que componen la misma, ya que no requiere de ningún cable para su interconexión, una gran ventaja para el hogar, la oficina y las PYMES.

1.10.6. VLAN Compuesta

principalmente

por

computadoras

y

equipos

de

enlace

(fundamentalmente switches y routers), capaces de establecer la comunicación entre los dispositivos. En ocasiones, es necesaria la división o segmentación de la red local para facilitar su administración, y en este sentido, lo deseable es no tener que realizar grandes cambios en la infraestructura física de la red. Una VLAN, acrónimo de virtual LAN o Red de Área Local Virtual, es una tecnología para crear redes lógicas independientes dentro de una misma red física. Son útiles para reducir el dominio de difusión de la información, y ayudan en la administración de la red, separando segmentos lógicos (las oficinas o departamentos de una organización, por ejemplo) que deberían estar relacionados solo entre ellos.


Página 33 de 210

1.10.7. CAN La Red Can o Red de Área de Campus, es una red LAN que se encuentra separada en una zona o área geográfica específica. Esta se llega a codificar o programar mediante protocolos que utilizan métodos conocidos como “serie broadcast”. La zona donde se llega a codificar es más grande en comparación con un área LAN Local. En esta se llega emplear varios componentes como cableados, enrutadores, conmutadores entre otros.

1.10.8. SAN Una red SAN o Storage Area Network, que traducido al español significa Red de Area de Almacenamiento, es una tecnología muy usada por grandes empresas para obtener mayor flexibilidad en la obtención y manipulación de los datos que necesita para su desenvolvimiento. Básicamente, una SAN es una red compuesta por unidades de almacenamiento que se conectan a las redes de área local de las compañías, y la principal característica, sin entrar en tecnicismos demasiado complicados, es que son capaces de crecer de forma ilimitada, por lo que le puede ofrecer a quien la opera increíbles capacidades de almacenamiento de hasta miles de TB.


Página 34 de 210

Por Christel Judith Alvarado Muñoz 1.10.9. Redes internet Es un conjunto descentralizado de redes de comunicaciones interconectadas, que utilizan la familia de protocolos. Se podría definir como una red global de redes de ordenadores cuya finalidad es permitir el intercambio libre de información entre todos sus usuarios. Pero sería un error considerar Internet únicamente como una red de computadoras. Podemos considerar las computadoras simplemente como el medio que transporta la información. En este caso Internet sería una gran fuente de información práctica y divertida. Con Internet podemos enviar mensajes, programas ejecutables, ficheros de texto, consultar catálogos de bibliotecas, pedir libros, hacer compras, ... Hay que tener en cuenta que todos los recursos que se pueden encontrar en Internet existen porque alguna persona de forma voluntaria ha dedicado su tiempo en generarlos.

1.10.10.

Redes inalámbricas

Se utiliza en informática para designar la conexión de nodos que se da por medio de ondas electromagnéticas, sin necesidad de una red cableada o alámbrica. La transmisión y la recepción se realizan a través de puertos. Una de sus principales ventajas es notable en los costos, ya que se elimina el cableado ethernet y conexiones físicas entre nodos, pero también tiene una desventaja considerable ya que para este tipo de red se debe tener una seguridad mucho más exigente y robusta para evitar a los intrusos. Según su cobertura, las redes inalámbricas se pueden clasificar en diferentes tipos: ⚫

WPAN: Wireless Personal Area Network

WLAN: Wireless Local Area Network

WMAN: Wireless Metropolitan Area Network

WWAN: Wireless Wide Area Network

1.10.11. Topologías Se llama topología de red al modelo de interconexión según el cual estén dispuestas las relaciones entre clientes y servidores. La disposición de una red, incluyendo sus nodos y


Página 35 de 210

líneas de conexión. Hay dos formas de definir la geometría de la red: la topología física y la topología lógica (o de señal). ⚫

Lineal o en bus. El servidor se halla a la cabeza de la red y los clientes se reparten a lo largo de una línea a partir de éste, siendo el único canal de comunicación uno solo, denominado bus o backbone (“columna vertebral”).

En estrella. El servidor de halla en el centro de la red y cada cliente posee una conexión exclusiva, de modo que cualquier comunicación entre las máquinas debe pasar primero por él.

En anillo o circular. Todas las máquinas están conectadas en círculo, en contacto con las más próximas y en igualdad de condiciones, si bien el servidor sigue contando con su jerarquía.

Híbridas: El bus lineal, la estrella y el anillo se combinan algunas veces para formar combinaciones de redes híbridas.

Árbol: Esta estructura se utiliza en aplicaciones de televisión por cable, sobre la cual podrían basarse las futuras estructuras de redes que alcancen los hogares. También se ha utilizado en aplicaciones de redes locales analógicas de banda ancha.

Trama: Esta estructura de red es típica de las WAN, pero también se puede utilizar en algunas aplicaciones de redes locales (LAN). Las estaciones de trabajo están conectadas cada una con todas las demás

Las tres topologias mas utilizadas son: ⚫

Red de Enlace Central: Se encuentra generalmente en los entornos de oficina o campos, en los que las redes de los pisos de un edificio se interconectan sobre cables centrales. Los Bridges y los Routers gestionan el tráfico entre segmentos de red conectados.

Red de Malla: Esta involucra o se efectúa a través de redes WAN, una red malla contiene múltiples caminos, si un camino falla o está congestionado el tráfico, un paquete puede utilizar un camino diferente hacia el destino. Los routers se utilizan para interconectar las redes separadas.

Red de Estrella Jerárquica: Esta estructura de cableado se utiliza en la mayor parte de las redes locales actuales, por medio de concentradores dispuestos en cascada para formar una red jerárquica


Página 36 de 210

Capítulo II 2. Modelo OSI y protocolos TCP/IP Por Douglas Roberto Arens Higueros 2.1 Capas del modelo OSI El modelo OSI abarca una serie de eventos importantes que se producen durante la comunicación entre dispositivos, pues proporciona normas básicas para una serie de procesos distintos de conexión en la red. ... El modo en que los datos se traducen a un formato apropiado para la viajar por la red hasta llegar a su destino.

2.2 La capa física En las siete capas del modelo OSI de la red informática, el nivel físico o capa física (Capa 1) se refiere a las transformaciones que se le hacen a la secuencia de bits para trasmitirlos de un lugar a otro.


Página 37 de 210

2.3 La capa de enlace de datos El nivel de enlace de datos (en inglés: data link level) o capa de enlace de datos, es la segunda capa del modelo OSI, es responsable de la transferencia fiable de información a través de un circuito de transmisión de datos. Recibe peticiones de la capa de red y utiliza los servicios de la capa física.

2.4 La capa de red El nivel de red o capa de red, según la normalización OSI, es un nivel o capa que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas.

2.5 La capa de transporte El nivel de transporte o capa de transporte es el cuarto nivel del modelo OSI, y está encargado de la transferencia libre de errores de los datos entre el emisor y el receptor, aunque no estén directamente conectados, así como de mantener el flujo de la red. Es la base de toda la jerarquía de protocolo.


Página 38 de 210

2.6 Capa de sesión El nivel de sesión o capa de sesión es el quinto nivel del modelo OSI, que proporciona los mecanismos para controlar el diálogo entre las aplicaciones de los sistemas finales. En muchos casos, los servicios de la capa de sesión son parcialmente, o incluso, totalmente prescindibles.

2.7 Capa de presentación El nivel de presentación o capa de presentación es el sexto nivel del Modelo OSI, y es el que se encarga de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres, números, sonido o imágenes, los datos lleguen de manera reconocible.


Página 39 de 210

2.8 Capa de aplicación Esta es la única capa que interactúa directamente con los datos del usuario. La capa de aplicación es la capa del modelo OSI más cercana al usuario; suministra servicios de red a las aplicaciones del usuario. Algunos ejemplos de aplicaciones son los programas de hojas de cálculo, de procesamiento de texto y los de las terminales bancarias.

Por Maricruz del Rosario Blanco Melendres 2.9 Funciones de cada capa Aplicación: Esta capa contiene una variedad de funciones de uso común: ⚫

Compartición de recursos y redireccionamiento de dispositivos

Acceso remoto de archivos

Acceso remoto a impresoras

Comunicación entre procesos

Administración de red

Servicios de directorio

Mensajería electrónica

Terminales virtuales de red

Presentación: se encargada de: ⚫

Definir el formato de los datos que se van a intercambiar entre las aplicaciones y ofrecer un conjunto de servicios de transformación de datos.

Definir la sintaxis utilizada entre entidades de aplicación y proporcionar los medios para la selección y modificación de la representación utilizada.


Página 40 de 210

Codificar los datos en modo estándar (enteros, reales, caracteres, etc.) y realizar funciones de compresión y cifrado de datos.

Sesión: proporciona los siguientes servicios: ⚫

Control del diálogo: Éste puede ser simultáneo en los dos sentidos (full-dúplex) o alternado en ambos sentidos (half-duplex).

Agrupamiento: El flujo de datos se puede marcar para definir grupos de datos.

Recuperación: La capa de sesión puede proporcionar un procedimiento de puntos de comprobación, de forma que, si ocurre algún tipo de fallo entre puntos de comprobación, la entidad de sesión puede retransmitir todos los datos desde el último punto de comprobación y no desde el principio.

Transporte: tiene como misión ⚫

Recibir los datos del nivel superior, dividirlos (segmentación y reensamblado) si fuera necesario y enviarlos al nivel de red para que los transmita, asegurando que todos los trozos lleguen de manera correcta y eficiente al otro extremo (ordenación de paquetes).

Realizar un control de flujo de extremo a extremo.

Establecimiento, mantenimiento y cierre de la conexión.

Optimizar el empleo del nivel de red (multiplicación/desmultiplicación).

Control de errores.

Direccionamiento del punto de servicio.

Red: se encarga, entre otros, de los siguientes aspectos: ⚫

Técnicas de conmutación

Encaminamiento o enrutamiento

Gestión de prioridades

Control de la congestión

Tarificación

Interconexión de redes

Direccionamiento (identificación de sistemas)


Página 41 de 210

Enlace de datos: se ocupa, en resumen, de los siguientes aspectos ⚫

Direccionamiento físico

Topología de la red

División de los datos en tramas

Acceso al medio

Detección de errores

Distribución ordenada de tramas

Control de flujo

Fisica: Se

encarga

de

las

especificaciones mecánicas, eléctricas, funcionales y de

procedimientos de la transmisión física. ⚫

Mecánicas:

Se refiere a las características físicas del elemento de conexión con la red, es decir, a las propiedades de la interfaz física con el medio de comunicación. Por ejemplo, las dimensiones y forma del conector, el número de cables usados en la conexión, el número de pines del conector, el tamaño del cable, el tipo de antena, etc. ⚫

Eléctricas:

Especifica las características eléctricas empleadas, por ejemplo, la tensión usada, velocidad de transmisión, intensidad en los pines, etc. ⚫

Funcionales:

Define las funciones de cada uno de los circuitos del elemento de interconexión a la red, por ejemplo, pin X para transmitir, pin Y para recibir, etc. ⚫

De procedimiento:

Establece los pasos a realizar para transmitir información a través del medio físico.

2.10 Protocolos utilizados en cada capa 7. Aplicación, 6 Presentación, 5 Sesión, utilizan protocolos: ⚫

NFS, NIS, DNS, LDAP, telnet, ftp, rlogin, rsh, rcp, RIP, RDISC, SNMP y otros.


Página 42 de 210

4 Transporte utiliza protocolo ⚫

TCP, UDP, SCTP

3 Redes utiliza protocolo ⚫

Protocolo de Internet versión 4 (IPv4)

Protocolo de Internet versión 6 (IPv6)

Intercambio Novell de paquetes de internetwork (IPX)

AppleTalk

Servicio de red sin conexión (CLNS/DECNet)

2 Enlaces de datos utiliza protocolo ⚫

PPP, IEEE 802.2

1 Física utiliza protocolo: ⚫

Ethernet (IEEE 802.3), Token Ring, RS-232, FDDI y otros

2.11 Dispositivos de redes utilizados en cada capa 7 Aplicación ⚫

Servicios TCP/IP estándar como los comandos ftp, tftp y telnet.

Comandos UNIX "r", como rlogin o rsh.

Servicios de nombres, como NIS o el sistema de nombre de dominio (DNS).

Servicios de directorio (LDAP).

Servicios de archivos, como el servicio NFS.

Protocolo simple de administración de red (SNMP), que permite administrar la red.

Protocolo RDISC (Router Discovery Server) y protocolos RIP (Routing Information Protocol).

6 Presentación ⚫

PICT: Un formato de imagen utilizado para transferir gráficos QuickDraw entre programas del sistema operativo MAC.

TIFF (Formato de archivo de imagen etiquetado)

JPEG(Grupo conjunto de expertos fotográficos)

MIDI: (Interfaz digital para instrumentos musicales) para música digitalizada


Página 43 de 210

MPEG (Grupo de expertos en películas): Estándar para la compresión y codificación de vídeo con movimiento .

QuickTime: Estándar para el manejo de audio y vídeo para los programas del sistema operativo MAC

5 Sesión ⚫

Establecimiento de conexión

Liberación de conexión

Transferencia de datos

Administración de testigos

Sincronización

Administración de actividades

Notificación de excepciones

4 Transporte ⚫

Punto de partida, que abre la conexión.

Transmisión completa en orden de bytes.

Punto de fin, que cierra la conexión.

3 Redes ⚫

Direccionamiento

Encapsulación

Enrutamiento

Desencapsulación

2 Enlaces de Datos ⚫

Repetidor (Repeater)

Concentrador (Hub)

Puente (Bridge)

Conmutador (Swich)

Dispositivo de encadenamiento (Router)

Pasarela (Gateway)

1 Física


Página 44 de 210

El cableado de cobre

El cableado de fibra óptica

Y la propia atmósfera, usada en transmisiones sin cable, mediante radiofrecuencias, satélites, etc.

Por Daniel Estuardo Bor Siney 2.12 Redes IP La dirección IP es un conjunto de números que identifica, de manera lógica y jerárquica, a una interfaz en la red de un dispositivo como una computadora, laptop, teléfono inteligente, que utilice el nivel de red del modelo TCP/IP.

Ejemplo de una ip: 172.217.8.110 (google) Existen ciertas direcciones en cada clase de dirección IP que no están asignadas(no salen a internet) y que se denominan direcciones privadas. Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT) para conectarse a una red pública o por los hosts que no se conectan a Internet.

Ejemplo de una ip privada: 192.168.1.8 Es importante tomar en cuenta que en general las direcciones ip publicas apuntan a un servidor que brindan un servicio, y son los DNS los encargados de traducir los dominios a las direcciones ip correspondientes.

www.google.com = 172.217.8.110

2.13 El protocolo IP versión 4 El Protocolo de Internet versión 4 es la cuarta versión del Internet Protocol, un protocolo de interconexión de redes basados en Internet, y que fue la primera versión implementada en 1983 para la producción de ARPANET. El IPv4 usa direcciones de 32 bits, limitadas a 2^32 = 4 294 967 296 direcciones únicas.


Página 45 de 210

Por el crecimiento enorme que ha tenido todo esto de la seguridad electrónica y automatización combinado con el hecho de que hay desperdicio de direcciones en muchos casos, ya hace varios años se observó que escaseaban las direcciones IPv4. Esta limitación ayudó a estimular el estudio sobre la factibilidad de implantación de un nuevo protocolo IPv6, que en el año 2016 ya está en las primeras fases de pruebas, y que se espera que termine reemplazando a actual protocolo IPv4.

2.14 El protocolo ICMP El Protocolo de Mensajes de Control y Error de Internet, ICMP, es de características similares a UDP, pero con un formato mucho más simple, y su utilidad no está en el transporte de datos de usuario, sino en controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, si el encabezamiento lleva un valor no permitido, si es un paquete de eco o respuesta, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado. ICMP proporciona así una comunicación entre el software IP de una máquina y el mismo software en otra. El protocolo ICMP solamente informa de incidencias en la entrega de paquetes o de errores en la red en general, pero no toma decisión alguna al respecto. Esto es tarea de las capas superiores.


Página 46 de 210

Por Fátima Jasmín Cabrera Campaneros 2.15 El protocolo UDP El protocolo UDP (Protocolo de Datagramas de usuario) es uno de los protocolos fundamentales en Internet, nos permite que las aplicaciones puedan comunicarse con garantías independientemente de las capas inferiores del modelo TCP/IP. Esto significa que los routers (capa de red en el modelo TCP/IP) solamente tienen que enviar los datagramas. UDP añade 8 bytes de cabecera en cada datagrama. En esta cabecera UDP encontraremos el puerto de origen y puerto de destino de la conexión (socket), la longitud del datagrama y el checksum de dicho datagrama para comprobar que no tiene errores ni la cabecera ni los datos del datagrama.

2.16 El protocolo TCP El protocolo TCP (Protocolo de Control de Transmisión) es uno de los protocolos fundamentales en Internet, nos permite que las aplicaciones puedan comunicarse con garantías independientemente de las capas inferiores del modelo TCP/IP. Esto significa que los routers (capa de red en el modelo TCP/IP) solamente tienen que enviar los segmentos (unidad de medida en TCP), sin preocuparse si van a llegar esos datos correctamente o no. El MSS (Maximum Segment Size) es el tamaño máximo en bytes que TCP puede recibir en un solo segmento, es similar al MTU, pero el MSS es a nivel de capa de transporte. Con el fin de obtener el mejor rendimiento, el MSS debe ser lo suficientemente pequeño para evitar fragmentación IP. El MSS se anuncia normalmente en cada lado del canal de comunicación, a través de la propia cabecera de TCP.


Página 47 de 210

Capítulo III 3. Subneteo clase A Por Fátima Jasmín Cabrera Campaneros Dada la dirección IP Clase A 10.0.0.0/8 para una red, se nos pide que mediante subneteo obtengamos 7 subredes. Este es un ejemplo típico que se nos puede pedir, aunque remotamente nos topemos en la vida real. Lo vamos a realizar en 2 pasos: Adaptar la Máscara de Red por Defecto a Nuestras Subredes (1) La máscara por defecto para la red 10.0.0.0 es:

Mediante la fórmula 2^N, donde N es la cantidad de bits que tenemos que robarle a la porción de host, adaptamos la máscara de red por defecto a la subred. En este caso particular 2^N = 7 (o mayor) ya que nos pidieron que hagamos 7 subredes.


Página 48 de 210

Una vez hecho el cálculo nos da que debemos robar 3 bits a la porción de host para hacer 7 subredes o más y que el total de subredes útiles va a ser de 8, es decir que va a quedar 1 para uso futuro. Tomando la máscara Clase A por defecto, a la parte de red le agregamos los 3 bits que le robamos a la porción de host reemplazándolos por "1" y así obtenemos 255.224.0.0 que es la mascara de subred que vamos a utilizar para todas nuestras subredes y hosts.

Obtener Rango de Subredes Para obtener las subredes se trabaja únicamente con la dirección IP de la red, en este caso 10.0.0.0. Para esto vamos a modificar el mismo octeto de bits (el segundo) que modificamos anteriormente en la mascara de red pero esta vez en la dirección IP.

Para obtener el rango hay varias formas, la que me parece más sencilla a mí es la de restarle a 256 el número de la máscara de red adaptada. En este caso sería: 256-224=32, entonces 32 va a ser el rango entre cada subred.


Página 49 de 210

Si queremos calcular cuántos hosts vamos a obtener por subred debemos aplicar la fórmula 2^M - 2, donde M es el número de bits "0" disponible en la porción de host de la dirección IP de la red y - 2 es debido a que toda subred debe tener su propia dirección de red y su propia dirección de broadcast.

En este caso particular sería: 2^21 - 2 = 2.097.150 hosts utilizables por subred.

Por Sofia Asunción Cabrera Mendoza 4. Subneteo Clase B Dada la red Clase B 132.18.0.0/16 se nos pide que mediante subneteo obtengamos un mínimo de 50 subredes y 1000 hosts por subred.

1. Adaptar la Máscara de Red por Defecto a Nuestras Subredes La máscara por defecto para la red 132.18.0.0 es:

Usando la fórmula 2N -2, donde N es la cantidad de bits que tenemos que robarle a la porción de host, adaptamos la máscara de red por defecto a la subred. En este caso particular 2N -2 = 50 (o mayor) ya que necesitamos hacer 50 subredes.


Página 50 de 210

El cálculo nos da que debemos robar 6 bits a la porción de host para hacer 50 subredes o más y que el total de subredes útiles va a ser de 62, es decir que van a quedar 12 para uso futuro. Entonces a la máscara Clase B por defecto le agregamos los 6 bits robados reemplazándolos por "1" y obtenemos la máscara adaptada 255.255.252.0.

2. Obtener Cantidad de Hosts y Rango de Subredes Como también nos piden una cantidad específica de hosts, 1000 hosts por subred, deberemos verificar que sea posible obtenerlos con la nueva máscara. Para eso utilizamos la fórmula 2M -2, donde M es el número de bits disponible en la porción de host y -2 es debido a que toda subred debe tener su propia dirección de red y su propia dirección de broadcast. 210 -2 = 1022 hosts por subred. Para obtener las subredes se trabaja con la dirección IP de la red, en este caso 132.18.0.0 modificando el mismo octeto de bits (el tercero) que modificamos en la máscara de red pero esta vez en la dirección IP. Para obtener el rango hay varias formas, la que me parece más sencilla a mí es la de restarle a 256 el número de la máscara de subred adaptada. En este caso sería: 256-252=4, entonces 4 va a ser el rango entre cada subred. En el gráfico solo puse las primeras 10 subredes y las últimas 5 porque iba a quedar muy largo, pero la dinámica es la misma.


Página 51 de 210

5. Subneteo Clase C Nos dan la dirección de red Clase C 192.168.1.0 /24 para realizar mediante subneteo 4 subredes con un mínimo de 50 hosts por subred. Lo vamos a realizar en 3 pasos:

1. Adaptar la Máscara de Red por Defecto a Nuestras Subredes (1) La máscara por defecto para la red 192.168.1.0 es:

Usando la fórmula 2 N , donde N es la cantidad de bits que tenemos que robarle a la porción de host, adaptamos la máscara de red por defecto a la subred. Se nos solicitaron 4 subredes, es decir que el resultado de 2 N tiene que ser mayor o igual a 4.


Página 52 de 210

Como vemos en el gráfico, para hacer 4 subredes debemos robar 2 bits a la porción de host. Agregamos los 2 bits robados reemplazándolos por "1" a la máscara Clase C por defecto y obtenemos la máscara adaptada 255.255.255.192.

2. Obtener Cantidad de Hosts por Subred Ya tenemos nuesta máscara de red adaptada que va a ser común a todas las subredes y hosts que componen la red. Ahora queda obtener los hosts. Para esto vamos a trabajar con la dirección IP de red, especificamente con la porción de host (fondo gris).

El ejercicio nos pedía un mínimo de 50 hosts por subred. Para esto utilizamos la fórmula 2 M - 2, donde M es el número de bits "0" disponibles en la porción de host y - 2 porque la primer y última dirección IP de la subred no se utilizan por ser la dirección de la subred y broadcast respectivamente. 2 6 - 2 = 62 hosts por subred.


Página 53 de 210

Los 6 bits "0" de la porción de host (fondo gris) son los vamos a utilizar según vayamos asignando los hosts a las subredes.

3. Obtener Rango de Subredes Para obtener el rango subredes utilizamos la porción de red de la dirección IP que fue modificada al adaptar la máscara de red. A la máscara de red se le agregaron 2 bits en el cuarto octeto, entonces van a tener que modificar esos mismos bits pero en la dirección IP (fondo negro).

Los 2 bits "0" de la porción de red (fondo negro) son los que más adelante modificaremos según vayamos asignando las subredes. Para obtener el rango la forma más sencilla es restarle a 256 el número de la máscara de subred adaptada. En este caso sería: 256-192=64, entonces 64 va a ser el rango entre cada subred.


Página 54 de 210

Capítulo IV 6. Packet Tracer (CLI) Por Jonathan Emanuel Camey Magzul Introducción a Packet Tracer consola. Conexión se realiza cuando, por primera vez, configuramos un nuevo router. Lo que nos permite es acceder a él para darle la primera configuración y así poder ingresar luego vía telnet o ssh. El servidor terminal o consola le permite usar un único punto para acceder a los puertos de la consola de varios dispositivos. Un servidor terminal elimina la necesidad de configurar escenarios de respaldo como los módems en los puertos auxiliares de cada dispositivo. También puede configurar un único módem en el puerto auxiliar del servidor terminal para proporcionar el servicio de acceso telefónico a los otros dispositivos cuando falle la conectividad de red. Este documento muestra cómo configurar un servidor terminal para acceder solo a los puertos de consola en otros router mediante Telnet inversa.


Página 55 de 210

Crear y configurar una Red 1. Definir el nombre de los equipos y las interfaces por las cuales se van a conectar las mismas, en la mayoría de clases que hemos hecho la comunicación entre router se realiza por la interface serial, cuando es hacia una PC se realiza por interface ethernet. a. Revisar que el router que se ha agregado cuente con la cantidad de puertos seriales a usar en caso no tenga agregarlos. En este caso el router que he seleccionado es el modelo 2621XM.

Quedaría algo así y se tiene que repetir los mismos pasos en cada uno de los router.

2. Ahora se tienen que conectar los routers hacia los routers y hacia los equipos, el cable que se usa para la conexión entre los routers es el serial DCE en cambio para conectar de router a PC es copper straight-through.


Página 56 de 210

DCE en cambio para conectar de router a PC es copper straight-through.

3. Ahora lo que se va a realizar es la configuración de los router por cada una de las interfaces, se va a tomar como ejemplo el R1 y ustedes después hacen lo mismo con los demás router.

a. Cuando entremos al router nos aparece en la pestaña de CLI la siguiente información:

--- System Configuration Dialog ---

Continue with configuration dialog? [yes/no]: acá decimos "no" y presionamos enter 2 veces

b. Para entrar al modo administrador digitamos enable. c. Estando ya en modo administrador tenemos que entrar al modo de configuración con el comando configure terminal o config t. d. Como en este caso voy a configurar el router R1 vamos a empezar con la interfase Fa0/0 la cual va conectada directamente al switch y va a permitir la salida de la PC hacia otro router. Para esto digitamos lo siguiente int Fa0/0. e. En dicha interfase se va a configurar la dirección ip con el siguiente comando: ip address 192.168.1.1 255.255.255.0 seguido ejecutamos el comando no shutdown o no shut. Ahora digitamos exit para realizar la configuración de la siguiente interfase.

f. Ahora vamos a configurar la interfase S1/0 que se comunica con el router R2, en este caso no entraré en mucho detalle y solo pondré los comandos: • int S1/0 • ip address 200.10.20.2 255.255.255.0 • clock rate 64000 (sólo en este caso agregamos este comando porque es interfase serial) • no shut • exit


Página 57 de 210

g. Ahora configuraremos la interfase S1/1 que se comunica con el router R3, de igual manera se ingresan los comandos: • Int S1/1 • Ip address 200.10.10.1 255.255.255.0 • Clock rate 64000 • No shut • Exit

h. Si deseamos ver la configuración que hemos realizado lo podemos hacer de la siguiente manera, presionar Ctrl.+C y seguido digitar show run o sh run. Si se ha realizado todo correctamente el packet nos debería de mostrar lo siguiente:

i. Por último configurar los demás routers tomando el cuenta la información que se ha digitado como el nombre de puerto y dirección de red. Los comandos de configuración es lo van a encontrar al final del texto en la sección comandos, pero la idea es que lo realicen por su propia cuenta sin ver la configuración, solo tomando como ejemplo la configuración del router


Página 58 de 210

4. Configurar las estaciones de trabajo, asignándole una dirección ip y estableciendo como default Gateway el que hemos configurado en el router, en este caso voy a tomar la PC2 para realizar la configuración.

Hasta ahí ya tenemos todo configurado, pero no es suficiente, pues si deseo enviar un mensaje desde la PC0 a la PC2 no va a ser posible pues el mensaje irá hasta el router y regresará a PC, pueden hacer la prueba.

5. Agregar las rutas estáticas para que se pueda comunicar entre redes, para eso vamos a tomar como ejemplo el router R2 con el router R3 para el retorno.

a. Entrar a configuración de R2, comando config t, de una vez ejecutado el comando deben tener en su pantalla de configuración lo siguiente Router(config)# si no es así presionen Ctrl. +C y recién digiten el comando.

b. Asignar la ruta de la red con la que se va a comunicar y por qué router va a pasar, en este caso desde el router R2 necesito que mi red 192.168.2.0/24 se comunique con la red 192.168.3.0/24.


Página 59 de 210

Configurar Switch Para esto tendremos que tener realizada nuestra conexión con las computadoras con su router predeterminado y sucesivamente y estaría quedando de la siguiente forma:

Luego nos dirigimos al apartado de CLI de lo que sería del router que estaremos trabajando ya sea el R1 o el R2. Y nos estaría abriendo lo que sería su terminal o consola para poder trabajar dentro de él y se estaría observando de esta manera

Luego inicializamos con un enter y con el primero comando que en este caso seria

Enable = permitir cambios dentro del Router

Luego colocamos el comando “show running-config” para visualizar los puertos del router y la configuración que en este caso tiene el router


Página 60 de 210

Luego colocamos el comando “config t” en este caso este comando lo que nos permitirá abrir la terminal de nuestro router

Luego le daremos un nombre a lo que será la configuración que le colocaremos en este caso con el comando “hostname” “Nombre a elegir” Luego ya nombrado a nuestro router nos iremos a lo que sería a la línea de consola disponible en este sería la línea 0 con el comando “line consolé 0”

Ahora protegeremos esta configuración con una contraseña en este caso sería con el comando “password (contraseña a elegir)” Luego para terminar esta parte colocamos el comando “login”

Y con esto estaríamos finalizando la opción de determinarle un acceso a nuestro switch o router

Luego nos salimos con los comandos “Exit”

Luego para visualizar lo que hicimos que en este caso fue la realización de colocarle una protección a nuestro switch colocaremos El comando usado anteriormente “show running-config” y podremos visualizar lo realizado, pero esto aún no está protegido ya que no está encriptado

Para encriptar esta opción que acabamos de realizar tendremos que dirigirnos nuevamente a la configuración de la terminal con el comando usado anteriormente “config t” Luego ya estando dentro de esta configuración habilitaremos una contraseña para el acceso restringido y para ello colocaremos otra contraseña “enable password” contraseña a elegir””

Luego salimos de la configuración con el comando usado anteriormente “Exit” y visualizamos nuevamente con el comando usado anteriormente que seria


Página 61 de 210

“show running-config”

Y como podemos visualizar ya podemos ver las contraseñas utilizamos, pero esto aún no está encriptado. Para encriptarlo realizaremos lo siguiente:

Nos dirigimos a la configuración terminar que en este caso nos dirigimos con el comando anteriormente “config t”

Luego ya estando dentro de la configuración colocaremos el siguiente comando que sería “service password-encryption”

Esto nos funcionara para mantener oculta nuestra contraseña o más bien encriptada

Luego de esto le colocaremos un mensaje que nos muestre con el siguiente comando “Banner motd “#Mensaje a elegir#”

Luego ya salimos de esta opción ya que ya realizamos la opción que deseábamos con el comando usado anteriormente “Exit”

Luego para visualizar usaremos el mismo comando que usamos anteriormente “show running-config”

Y como podemos visualizar ya están encriptadas nuestras contraseñas y nos mostrara un mensaje que ya están encriptadas

Luego para guardar este procedimiento o más bien la configuración realizada usaremos el siguiente comando “Copy running-config startup-config”


Página 62 de 210

Luego nos mostrara un mensaje de si estamos seguros y le daremos enter y listo queda guardada nuestra configuración que realizamos a nuestro router Luego nos salimos con el comando usado anteriormente “Exit”

Y para entrar nuevamente le daremos enter y cómo podemos observar nos pedirá nuestra contraseña que colocamos anteriormente y listo la colocamos y esto sería todo


Página 63 de 210

Tecnología Vocacional III

Sexto Grado


Página 64 de 210

Capítulo I 1. Estandares web Por Cristian Benjamín Carrascoza García 1.1.

W3C

El W3C (World Wide Web Consortium) es un comité que se dedica a implementar tecnologías uniformes en el uso y desarrollo de Internet. El organismo fue fundado en el MIT en Cambridge, Massachusetts, EE.UU. en 1994. El objetivo del W3C es uniformar las especificaciones técnicas y establecer directrices para el desarrollo de tecnologías web, de forma que se mantenga la idea básica de la World Wide Web. Tecnologías como HTML, XML, CSS, otros lenguajes de marcado y servicios web son utilizados diariamente por millones de usuarios.

1.1.

HTML & CSS

HTML Es un lenguaje de marcado con el que se crea la estructura y el contenido de las páginas web. Si pulsas "Ver código fuente" en tu navegador, verás las etiquetas HTML de la página web: son los elementos rodeados por <>. Estas etiquetas le indican al navegador qué clase de elemento es el que viene a continuación: un párrafo, un encabezado, una tabla, un listado, ...


Página 65 de 210

Existen multiples estándares HTML (HTML 4.01, XHTML 1.0, HTML 5, ...). Al principio del documento debe indicarle al navegador qué versión se va a utilizar, ya que cada una de ellas tiene unas reglas distintas para interpretar las etiquetas. Si no se le indica al navegador el estándar que se está usando o si se le indica uno pero no se siguen correctamente las normas del mismo, el navegador intenta interpretar lo que se quería hacer. El problema de esto es que cada navegador trata de interpretarlo a su manera y puede llegar a conclusiones distintas. Por eso se deben usar los estándares: si sigues el estándar todos los navegadores saben lo que quieres hacer, no tienen que procurar adivinarlo.

CSS Es un lenguaje de estilo de hojas que permite al autor y a los usuarios adjuntar estilo (ej., fuentes y espaciado) a documentos estructurados (ej., documentos HTML y aplicaciones XML). Separando el estilo de presentación del documento del contenido del documento, CSS 2.1 simplifica la creación de páginas web y el mantenimiento del sitio.

1.3.

Gráficos

Este es uno importante para los diseñadores web, aunque no es tanto un estándar estricto como un conjunto de mejores prácticas para usar gráficos en la web. Por ejemplo, esto es lo que recomienda el W3C: ⚫

PNG para fotos;

SVG para visualización de datos;

CSS para mejorar HTML básico;

API de Canvas para crear degradados, formas y otros efectos de diseño;

WebCGM para gráficos vectoriales.


Página 66 de 210

Si desea que su sitio web funcione de la manera más eficiente posible, es importante tomar en serio recomendaciones como estas. Capacidad de respuesta móvil, con la proliferación de dispositivos inteligentes y la inmensa variación en los tipos de dispositivos disponibles, se ha vuelto crítico tener estándares para la web móvil. Dicho esto, los organismos de normalización no solo han estandarizado el diseño receptivo. También han creado un conjunto de mejores prácticas para la web móvil.

Por Alvaro Eduardo Chávez de León

1.4.

Audio y Video

El uso de video y audio en sitios web mejora la experiencia de los usuarios, y el W3C tiene varias tecnologías diferentes y complementarias que trabajan junto con HTML, SVG y scripting para proporcionar a los creadores de páginas web y aplicaciones web las herramientas que necesitan para ofrecer la mejor representación posible de su contenido. Los términos audio y video comúnmente se refieren al formato de almacenamiento de medios basado en el tiempo para información de sonido/música e imágenes en movimiento. El audio y el video se utilizan para mejorar la experiencia con las páginas web (por ejemplo, audio de fondo) para servir música, videos familiares, presentaciones, etc. Las pautas de accesibilidad al contenido web recomiendan siempre proporcionar alternativas para los medios basados en el tiempo, como subtítulos, descripciones, o lenguaje de señas.


Página 67 de 210

1.5.

Internacionalización

Si se internacionaliza, diseña o desarrolla su contenido, aplicación, especificación, etc., de manera que se asegure de que funcionará bien o se podrá adaptar fácilmente a los usuarios de cualquier cultura, región o idioma.

1.6.

Redes Móviles

El despliegue generalizado de dispositivos móviles habilitados para la Web, los convierte en un objetivo de elección para los creadores de contenido. Comprender sus puntos fuertes y sus limitaciones, y utilizar tecnologías que se ajusten a estas condiciones, es fundamental para crear contenido web compatible con dispositivos móviles de éxito. En los últimos años, el W3C ha desarrollado una serie de tecnologías web que tienen en cuenta explícitamente las especificidades de los dispositivos móviles: CSS Mobile, un perfil del lenguaje de hojas de estilo en cascada que se adapta a las necesidades de los autores web móviles SVG Tiny, un perfil del formato de gráficos vectoriales escalables de la Web que se adapta bien a las capacidades de los dispositivos móviles XHTML para dispositivos móviles, que define un subconjunto de XHTML para dispositivos móviles La última generación de navegadores móviles es capaz de utilizar tecnologías web más avanzadas, incluidas características de HTML5, CSS 2.1 y 3, una serie de API de JavaScript enriquecidas, lo que abre el camino a las aplicaciones móviles basadas en web (incluidos los widgets).


Página 68 de 210

Por Julio Cesar Castro Porras 1.7.

Privacidad

La privacidad en Internet se refiere al control de la información que posee un determinado usuario que se conecta a la red, interactuando con diversos servicios en línea en los que intercambia datos durante la navegación. Implica el derecho o el mandato a la privacidad personal con respecto al almacenamiento, la reutilización, la provisión a terceros y la exhibición de información a través de Internet. La privacidad y el anónimo en internet se han postulado como nuevos derechos humanos de la cuarta generación. En todo caso, los secretos que se protegen a través del derecho de la privacidad son muy diversos, y merecen diverso grado de protección en el sistema jurídico.

1.8 Historia y evolución La formación del W3C En 1994, Tim Berners-Lee fundó el World Wide Web Consortium (W3C) en el Massachusetts Institute of Technology, con el apoyo del CERN, DARPA (como se había bautizado la ARPA) y la Comisión Europea.


Página 69 de 210

En aquellos momentos, los desarrolladores se veían forzados a tratar con niveles de confusión cada vez mayores cuando se intentaban construir las páginas web, a veces hasta el punto de haber de construir dos páginas diferentes, pero duplicadas en la práctica, para cada uno de los dos principales navegadores, y otras simplemente optando por ser compatibles sólo con un navegador, de manera que los usuarios que utilizaran el otro no pudieran utilizar sus páginas. Ésta era una manera muy mala de trabajar y la inevitable reacción negativa de los desarrolladores no tardó en producirse. La misión del W3C era estandarizar los protocolos y las tecnologías utilizadas para construir la web, de manera que el contenido estuviera disponible para la mayor parte posible de la población del mundo. En 1998, el mercado de los navegadores estaba dominado por Internet Explorer 4 y Netscape Navigator 4. Se había lanzado una versión beta de Internet Explorer 5 que implementaba un nuevo HTML dinámico de marca registrada. Ello significaba que los desarrolladores web profesionales debían conocer cinco maneras diferentes de escribir JavaScript. En consecuencia, un grupo de desarrolladores y diseñadores web se asociaron entre ellos. Este grupo se denominaba WaSP (Web Standards Project, Proyecto de Estándares Web). La idea era que si los documentos del W3C se llamaban estándares en vez de recomendaciones podrían convencer a Microsoft y Netscape de que les dieran su apoyo. El antiguo método de realizar un llamamiento a la acción se llevó a cabo mediante una técnica publicitaria tradicional denominada barricada, donde una empresa lanza un anuncio en todos los canales de emisión al mismo tiempo, de manera que aunque el espectador cambie de canal, obtendrá exactamente el mismo mensaje. WaSP publicó un artículo simultáneamente en varias páginas centradas en el desarrollo web, como builder.com, Wired online y algunas listas de correo muy populares. Otra técnica que utilizaron fue ridiculizar a las empresas que se unían al W3C (y a otros organismos de estándares), pero que después se centraban más en crear nuevas funciones que en hacer que los conceptos básicos para los que se habían comprometido fueran correctos, para empezar. Todo esto suena un poco negativo, pero los de WaSP no se conformaban con criticar a la gente, también la ayudaban. Siete miembros formaron CSS Samurai, que identificó los diez problemas principales de compatibilidad CSS en Opera e Internet Explorer (Opera resolvió sus problemas y Microsoft no).


Página 70 de 210

El auge de los estándares web En el 2000, Microsoft lanzó Internet Explorer 5 Macintosh Edition. Fue un hito muy importante, ya que se trataba del navegador que se instalaba entonces de manera predeterminada con el Mac OS, y también tenía un nivel decente de compatibilidad con las recomendaciones del W3C. Junto con el nivel decente de compatibilidad con CSS y HTML, Opera contribuyó a un movimiento positivo general, con el que los desarrolladores y diseñadores web se sentían cómodos diseñando páginas mediante estándares web por primera vez. Desde entonces, en la comunidad de desarrollo web profesional, los estándares web se han convertido en un elemento de rigor. En esta serie os daremos unos excelentes fundamentos en estas técnicas para que podáis crear páginas web tan limpias, semánticas, accesibles y conformes con los estándares como las de las grandes empresas.

1.9 Versiones Cuando se introdujeron los estándares, se alentó a los creadores de navegadores a adherirse a una forma estandarizada de hacer las cosas, lo que resultó en una compatibilidad cruzada cada vez más fácil para los creadores de contenido y ya no hubo necesidad de crear múltiples versiones del mismo sitio web. Algunos de los estándares Web más conocidos y ampliamente utilizados son: •

HTML (HyperText Markup Language), para definir la estructura de los documentos.

XML (eXtensible Markup Language), que sirve de base para un gran número de

tecnologías. •

CSS (Cascading Style Sheets), que permite asignar estilos para la representación de

los documentos. •

Javascript, que permite otorgar dinamismo y funcionalidad.

1.10 Ejemplos de navegadores Web Google Chrome Es uno de los más conocidos y más usados, básicamente porque es el que asegura una velocidad mayor. Saltó al escenario a principios de 2008. Desde entonces ha


Página 71 de 210

conseguido pasar de una cuota de mercado del 0% al actual 25% del mes pasado. Se inicia rápidamente desde el escritorio, carga las páginas de forma instantánea y ejecuta aplicaciones web complejas a gran velocidad.

Mozilla Firefox Los principales navegadores web de InternetPara mucha gente es el navegador que le transmite más confianza, seguramente porque, aparte de ser uno de los más veteranos (salió en el año 2003) es sólido, estable y presenta muy pocos errores. Firefox, el segundo navegador más utilizado en Internet, se caracteriza por ser un programa independiente, y para muchos es su favorito porque no tiene ánimo de lucro. Ha sido desarrollado a lo largo de los años por decenas de programadores que lo van mejorando en cada actualización.

Opera Los principales navegadores web de InternetEs el navegador web alternativo por excelencia. Es también uno de los más veteranos y, durante muchos años, ha sido de los más utilizados en los teléfonos móviles, hasta la popularización de los smartphones. Está desarrollado por una compañía noruega y, al igual que Firefox, no tiene ánimo de lucro.


Página 72 de 210

Safari Los principales navegadores web de InternetSafari sigue siendo un navegador web asociado a los Macs de Apple, a pesar de que en 2008 saltase también a la plataforma de Microsoft, con sus sistemas Windows. A pesar de que es el cuarto navegador más utilizado de Internet, manteniendo una cuota de mercado que está entre el 5 y el 8%, su crecimiento es muy lento, además, hace más de un año que no la actualizan, con las brechas de seguridad que esto puede ocasionar.

Internet Explorer Los principales navegadores web de InternetExplorer mantiene su amplia cuota de mercado (alrededor del 60-65%) gracias a que fue el primero en salir y también que viene predeterminado en todos los PCs de Microsoft, pero no está actualmente a la altura de los otros grandes, básicamente por la gran cantidad de fallos que arrastra.


Página 73 de 210

Capítulo II 2. Integración CMS + CRM + ERP Por Cinthya Valeska Chinchilla Sosa

2.1 Conceptos CMS Un CMS (Content Management System) o sistema de gestión de contenidos es una aplicación de software que permite a los usuarios colaborar en la creación, edición y producción de contenido digital: páginas web, blogs, etc. Un CMS funciona con un panel de administración o back-end. Se accede a través del navegador y tiene una interfaz basada en formularios que permiten crear contenidos de forma sencilla.

CRM Un CRM es una solución de gestión de las relaciones con clientes, orientada normalmente a gestionar tres áreas básicas: la gestión comercial, el marketing y el servicio postventa o de atención al cliente. La definición de CRM (en inglés Customer Relationship Management, o Gestión de las relaciones con clientes) es una aplicación que permite centralizar en una única Base de Datos todas las interacciones entre una empresa y sus clientes.


Página 74 de 210

El software CRM, por definición, permite compartir y maximizar el conocimiento de un cliente dado y de esta forma entender sus necesidades y anticiparse a ellas. Por definición, el CRM recopila toda la información de las gestiones comerciales manteniendo un histórico detallado.

ERP El término ERP se refiere a Enterprise Resource Planning, que significa “sistema de planificación de recursos empresariales”. Estos programas se hacen cargo de distintas operaciones internas de una empresa, desde producción a distribución o incluso recursos humanos.

2.2 Historia Historia CMS En 1995 un sitio de noticias CNET, saco sus sistema de administración de documentos con VIgnette. Este sistema web, inspiro a que algunos años después en 1999 apareciera el primer CMS llamado Xpedio. Este software ya se podría decir que era un CMS de extremo a extremo. Al ver todo el potencial que tenían este tipo de plataformas en internet, empezaron a aparecer otros CMS como Drupal (2001) y WordPress (2003).


Página 75 de 210

Estos CMS empezaron convertirse en softwares de código abierto, con el fin de aumentar sus seguidores y que sus CMS puedan evolucionar más rápido, gracias a la ayuda de su comunidad. En el 2005 se lanzo Joomla un CMS que estaba destinado no solo a construir y gestionar sitios web, si no también aplicaciones web. Como puedes ver con el pasar de los años empezaron a salir una infinidad de CMS que buscaban poseer internet, pero la gran mayoría llegaron a abandonaron ese sueño, mientras otros CMS como WordPress empezaron a apoderarse del mercado.

Historia CRM En los años 90, la relación de las empresas con sus clientes eran más estrechas y el contacto personal permitía incrementar la efectividad de las ventas a la vez que se ofrecía servicios de calidad. Estas interacciones fueron acuñadas con el término Customer Relationship Management (CRM) por el Sr. Tom Siebel. Los programas CRM empezaron a ser posibles gracias a la creación de bases de datos pero su implantación requería la inversión de mucho tiempo y dinero por parte de las empresas. En la década de los 2000 comenzaron a proliferar CRM a medida más pequeños y económicos dirigidos a las medianas empresas. Fue en esta época donde el término de CRM adquiere popularidad y al que está vinculado el nacimiento del concepto software CRM. No obstante, los programas CRM aún necesitaban consolidarse sobre unas bases prácticas. Con la masificación de Internet y la aparición de las nuevas tecnologías se empezó a digitalizar las bases de datos con el almacenamiento de perfiles detallados de cada uno de los clientes. Más adelante, apareció el término de ‘Nube’, un sistema en la red donde reside toda la información sobre los clientes y a la que se puede acceder desde cualquier ordenador.

Historia ERP La idea tras la que hoy se fundamenta un sistema de planificación empresarial surgió en Estados Unidos en los años 50, y con un propósito militar. A finales de la Segunda Guerra Mundial,

el

ejército

estadounidense

desarrolló

programas

informáticos

con

los

que gestionar las tareas de organización y provisión de la estrategia bélica. En aquel entonces era inviable aplicar dichos programas a la industria manufacturera, porque no


Página 76 de 210

disponían de la tecnología apropiada, sin embargo, este desarrollo sentó las bases de lo que hoy conocemos como ERP. En los años 60, con los primeros ordenadores comerciales aparecen los primeros sistemas de gestión empresarial, utilizados por la industria manufacturera para controlar el inventario. Su finalidad principal consistía en prever qué materiales se iban a necesitar durante el proceso de producción y gestionar su adquisición. Los primeros softwares de gestión dieron lugar a los MRPs o sistemas de Planificación de Requerimientos Materiales en los años 70, cuyo uso se extendió del control de inventario a la facturación, los pagos y la administración de nóminas. En los años 80, llega el sistema de Planificación de Recursos Manufactureros, también conocido como MRP II, un software que permite ya controlar todos los procesos productivos y calcular la inversión necesaria.

2.3 Implementación Implementacion de un sistema CRM El

proceso

de

implementación

puede

ser

dividido

en

ocho

etapas

que

suponen planeamiento, ejecución, monitoreo y evaluación, con objetivos creados para cada una de ellas. Cada paso ayuda a construir metas para cada fase y permite que ajustes ocurran estratégicamente aun en la implementación, evitando problemas futuros. 1. Análisis y mapeo del negocio 2. Definición de los objetivos 3. Presentación de la estrategia para el equipo 4. Elección del tipo de CRM que será implementado 5. Mapeo de procesos 6. Implementación de la herramienta de CRM elegida 7. Presentación de la nueva cultura empresarial y entrenamiento del equipo 8. Manutención y monitoreo de la herramienta

Implementacion de un sistema CMS La solución ERP ha recorrido un largo camino no solo en términos de suavizar el proceso de negocios sino también de impulsar el crecimiento general de la empresa. Es fundamental tener una implementación correcta del sistema ERP para una utilización óptica.


Página 77 de 210

A continuación, presentamos los 10 pasos para una implementación exitosa del sistema ERP. 1- Identificar los problemas / Establecer el (los) objetivo (s) 2- Definir el alcance 3- Lluvia de ideas / evaluar las opciones 4- Migración de datos 5- Verificar la infraestructura 6- Personalización 7- Gestión del cambio 8- Tecnología y transferencia de conocimiento 9- Gestión de proyectos y pruebas 10- Toque final y soporte continuo

Por Edgar Alexander Florián Pirir 2.4 ERP versus software de gestión ERP (Enterprise Resource Planning, o Planificación de Recursos Empresariales), es un sistema conformado por un conjunto de aplicaciones (programas o módulos informáticos) capaz de optimizar los procesos de las diferentes áreas de una empresa: producción, logística, inventario, contabilidad, ventas, clientes, recursos humanos, etc. En ese sentido, el ERP se usa para organizar y vertebrar en una misma plataforma todas las áreas de una organización mediante aplicaciones que interactúan entre sí y que, como gran valor agregado, utilizan una misma base de datos, permitiendo a los diferentes departamentos contar con información actualizada y centralizada para la toma de decisiones. Al centralizar en una sola base de datos toda la información producida por las diferentes áreas de negocio, es posible generar reportes actualizados y fidedignos en todo momento, lo cual permite a las empresas obtener una visión detallada de toda la estructura organizacional. ¿Y funcionan? Se estima que el 95% de las organizaciones que implementaron este tipo de sistema obtuvieron mejoras notables en sus flujos de trabajo.


Página 78 de 210

Una vez claro qué es un software ERP y para qué se utiliza, es posible entender las diferencias que guarda frente a un sistema de gestión. Hablamos de un sistema informático conformado por diferentes herramientas que podemos usar individualmente para ejecutar tareas administrativas, las cuales trabajan de forma independiente y, por lo tanto, duplican la data o no la centralizan en una base de datos única. También podemos encontrar software de gestión que utilizan bases de datos de ficheros independientes, lo que dificulta la disponibilidad de la información actualizada en todo momento. Así las cosas, la principal diferencia entre ERP y software de gestión es que el primero está pensado para que en una misma plataforma las empresas puedan optimizar y automatizar los procesos de sus diferentes áreas o departamentos mediante una base de datos centralizada que elimina las complejas conexiones entre diferentes sistemas. El segundo, no. Aunque la diferencia entre ERP y software de gestión es significativa, nosotros recomendamos implementar una solución tecnológica que integre ambos recursos y permita potenciar al máximo los procesos empresariales. Lo importante es hacerlo de la mano de un proveedor de reconocida reputación, capaz de guiar a la directiva en el proceso, ayudarla a implementar una solución a la medida de las necesidades del negocio y, desde luego, capaz de ofrecer capacitación continúa y soporte técnico 24/7.

2.5 Ventajas y desventajas Ventajas ⚫

Integración en una sola plataforma o aplicación: Con un ERP una empresa puede tener todos sus procesos o archivos en un mismo sistema, de forma que pueda acceder a ellos a la vez y desde el mismo lugar.

Automatización de procesos en la empresa: Con un buen ERP se pueden gestionar muchos procesos de forma automática. Por ejemplo, la compra de productos una vez que sus reservas van menguando, el envío de algunos pedidos que mantienen cierta


Página 79 de 210

estabilidad, etc. Todo aquello que suponga un patrón de comportamiento se puede programar para que los empleados se libren de esa carga.

Información de la empresa en tiempo real: La toma de decisiones se va a regir siempre por la información que se tenga en cada momento. Un ERP puede mostrar la información en tiempo real de la empresa, de forma que se puedan considerar las posibilidades de acción y cuál de las diferentes opciones es la más acertada.

La plataforma se ajusta a la empresa: Sea como sea un negocio, un ERP puede amoldarse a su funcionamiento y desarrollo. Los datos se pueden volcar en el programa con facilidad. Por lo tanto, puede ser usada por cualquier tipo de empresa.

Reducción de costes: No solo muchos tiempos de trabajos se optimizan, sino que también desaparecen bastantes tareas que se suelen realizar. Además, es una ayuda muy eficiente para el ahorro, ya que se puede tener una visión más o menos global del funcionamiento general de la empresa.

Mejor calidad de los análisis: Precisamente por su carácter integrador, se puede ver la información completa de cada detalle o elemento de la empresa. Y, por tanto, tener una visión más exacta y completa.

Desventajas: Coste inicial: Es un programa eficiente y, como tal, es imprescindible realizar un desembolso considerable de dinero en un primer momento.

Preparación de los trabajadores: Todos en la empresa, de una forma u otra, terminarán teniendo algún tipo de contacto con el ERP. Esto obliga a que todos ellos se formen de la manera correcta para poder utilizarlo. Puede generar retrasos en la producción.

Tiempo de adaptación: Finalmente, el inconveniente más evidente y, a la vez, más prolongado. Y es que aunque el personal de una empresa sepa cómo se emplea el ERP, es necesario también que se adapte para utilizarlo de la manera correcta. Es decir: coger la costumbre de introducir los datos, de revisar que todo esté en orden y, en definitiva, de integrarlo dentro de sus tareas diarias. Para que, de esta manera, pueda funcionar en la


Página 80 de 210

empresa. En cualquier caso, los inconvenientes descansan principalmente durante ese primer mes o dos meses de adaptación. Una vez superada esa curva natural de aprendizaje, una empresa podría empezar a disfrutar de todos los beneficios que se han expuesto anteriormente y que tanto pueden aportar.

2.6 Seguridad en la Web La ciberseguridad es importante porque los sitios web desprotegidos están expuestos a sufrir situaciones como: ⚫

Robo de información guardada en el servidor web.

Explotación de datos personales –desde direcciones de correo electrónico hasta información de pagos– de los visitantes para utilizarlos inadecuadamente (robo de identidad, extorsiones, abuso de confianza, estafas, etc.).

Re direccionamiento a páginas web maliciosas.

Mostrar anuncios no deseados.

Engañar a los bots y rastreadores de los motores de búsqueda para hacer SEO de “sombrero negro” (Black Hat SEO), cuyo objetivo es atraer tráfico a sitios web que no siguen las mejores prácticas de internet.

Utilizar las computadoras de los visitantes para hacer minería de criptomonedas.

Recibir ataques DDoS que pueden alentar tu página o hacer que deje de funcionar de manera inesperada, haciéndola inaccesible para los visitantes.

Realizar descargas de software malicioso.

¿Cómo hacer que un sitio web sea seguro? Si te preocupa la vulnerabilidad de tus visitantes (y de tu compañía) y no quieres correr riesgos, puedes aplicar acciones de seguridad web como:

1. Instalar un certificado de seguridad. 2. Proteger tu página con un Firewall de Aplicaciones Web. 3. Utilizar un escáner web. 4. Actualizar el software con frecuencia. 5. Utilizar contraseñas fuertes. 6. Limitar el acceso de los usuarios y los permisos en tu sitio web. 7. Cambiar los ajustes preestablecidos de tu CMS (Content Management System), ya sea WordPress, Drupal, Joomla u otro.


Página 81 de 210

8. Realizar copias de seguridad de tu página web.

Estos son cinco tips básicos de Google para fortalecer la contraseña de tu cuenta (los cuales aplican prácticamente para cualquier contraseña online):

1. Procura que tu contraseña sea larga (8 caracteres o más). 2. Combina letras, números y símbolos. 3. No utilices una contraseña insegura como “contrasena123”. 4. Utiliza contraseñas aleatorias. Los programas que descifran contraseñas están diseñados para utilizar palabras encontradas en línea o en diccionarios. 5. Intenta que sea fácil de recordar para ti, pero prácticamente imposible de adivinar para otra persona.

Los certificados de seguridad son una medida básica para proteger la información que recolectas en tu página web, como emails o números de tarjetas bancarias. Pero ojo: los certificados SSL solo protegen los datos en tránsito, es decir, los que van desde el navegador de tus visitantes hacia tu servidor. En caso de que hallan hackeado tu sitio, las copias de seguridad te ayudarán a recuperar lo que existía antes del incidente. No lo pienses como una solución para ahorrarte otros métodos de seguridad, sino como una capa extra de seguridad cuando un pirata informático quiere robarse tus datos o falla tu servidor web. Hay que reiterar que los ataques cibernéticos ocurren cualquier día y en cualquier momento. Y pueden ser absolutamente notorios o aterradoramente silenciosos.

Por Mario Alejandro Corzo Peralta 2.8 Vulnerabilidad Vulnerabilidad CMS Esto significa que un sitio web realizado con un CMS puede ser víctima de un hacker convirtiéndolo en un sitio web hackeado, lo que permite a los hackers un mal uso de un dominio de confianza. La intención de estos hackers será instalar un enlace en la base de datos sin el conocimiento del propietario, así cuando alguien acede al tu sitio web es redireccionado a otro dominio.


Página 82 de 210

Vulnerabilidades de código. Los sitios web definidos mediante WordPress, Drupal o Joomla son construidos utilizando los conocimientos de programación php. Muchas veces, si no se codifica correctamente, un hacker puede encontrar vulnerabilidades en el código.

Vulnerabilidad CRM CRM que está en auge debido a su funcionalidad y fácil manejo de los módulos que tienen que ver con el relacionamiento con los clientes. Es por este crecimiento que empezó a convertirse en el blanco de los atacantes. El CVE-2019-12476 hace referencia a una vulnerabilidad de omisión de identificación en el restablecimiento de contraseña.

Vulnerabilidad ERP Uno de los riesgos que a menudo parecen ser ignorados empresas es el riesgo de tener un ERP obsoleto, sin soporte. ¿Por qué esto es importante? Porque las versiones de ERP más antiguas no serán compatibles y no se integrarán con el resto de aplicaciones que puede tener en su empresa. Incluso los servidores y navegadores pueden verse afectados de manera adversa. Este sistema de reporting externo, se construye al margen del ERP, y se acaba dependiendo de personas que tienen el control de la información más importante de nuestra empresa.

2.9 Soluciones Soluciones CMS Las soluciones de código abierto para tiendas web también gozan de gran popularidad en todo el mundo, según se extrae del gráfico. Muchos comerciantes online confían en la plataforma de eCommerce Magento, en el sistema de Shopify o en el programa francés para tiendas online PrestaShop, un éxito que demuestra que los productos libres también pertenecen al registro estándar en el terreno de la gestión comercial de páginas web. También los sistemas de proveedores comerciales para diseñar páginas web gozan de cierta popularidad.


Página 83 de 210

Soluciones CRM Una solución CRM permite dirigir y gestionar de forma más sencilla las campañas de captación de clientes y de fidelización. Gracias al CRM se puede controlar el conjunto de acciones realizadas sobre los clientes o clientes potenciales, y gestionar las acciones comerciales a partir de un cuadro de mandos detallado.

Soluciones ERP Las soluciones de planificación de recursos empresariales, más conocidas como ERP, son herramientas muy comunes en el día a día de cualquier tipo de empresa. No importa el tamaño (sea pequeña, mediana o grande) ni el sector en el que se encuentre (empresas de fabricación, distribución, comerciales o de servicios).

2.10 Tipos de ataques Tipos de ataques CMS ⚫

Envío de parámetros sin validar o sin codificar.

Errores en control de acceso.

Mal uso de gestión de Sesiones.

Cross-site scripting (XSS) erróneos.

Desbordamiento de búfer.

Comandos equivocados o con un mal funcionamiento.

Tipos de ataques CRM CRM es considerado como un activo más crítico por las empresas. Una violación de datos en CRM puede ser desastrosa, ya que puede destruir la confianza en el negocio y empañar severamente la marca, así como elevar los problemas de cumplimiento.

Tipos de ataques ERP Los ataques a las aplicaciones ERP incluyen ataques de debilitación y denegación de servicio distribuidos (DDoS) destinados a interrumpir las operaciones de negocios: una convergencia de amenazas, según el informe, que pone a miles de organizaciones y sus joyas de la corona directamente en riesgo de espionaje, sabotaje, etc.


Página 84 de 210

Capítulo III 3. Arquitectura y seguridad de las aplicaciones web Por Heidy Lourdes Cotzajay Yapán 3.1 Que es un software Web Este se refiere a aplicaciones que son instaladas y proporcionadas desde servidores de empresas, que debe contar con servicios de Hosting, siendo unos ordenadores que se dedican a promover los servicios, donde se realizan tareas desde peticiones desde otros ordenadores, siendo así que están formados por medio de datos, lógica donde se van almacenando y quedan cómo centro en el propio servidor, donde cada usuario puede acceder por medio de su navegador web, en cualquier momento y lugar, con la única regla de contar con internet, para poder acceder a los mismos. Este proporciona ventajas tales cómo al momento de centralizar e instalar desde nuestro navegador, salvaguarda información siendo más sencilla para que las copias de seguridad desde el mismo punto.

3.2 Usos de un software Web Siendo que es el software que codifica un lenguaje que los soporta los navegadores web, así como su ejecución, siendo así se vuelven una herramienta para los usuarios, dando funciones importantes para los mismos. Cómo para poder utilizar nuestro Software web lo principal es contar con un navegador web, que es el encargado de ejecutar el software, para presentar los datos


Página 85 de 210

que se procesaran o de igual manera se pueden almacenar, estas no necesitan ser instaladas mediante un ordenador o un teléfono móvil. Una página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información, haciendo que éste acceda a los datos de forma interactiva, ya que el sitio web se encargará de responder a cada una de las acciones que éste ejecute (por ejemplo, acceder a gestores de bases de datos de todo tipo, publicar e interactuar con los contenidos, rellenar y enviar formularios, participar en juegos, etc. están íntimamente relacionadas con el almacenamiento de datos en la nube, ya que toda la información se guarda de forma permanente en servidores web, los cuales además de alojar dicha información, nos la envían a nuestros dispositivos móviles o equipos informáticos en cada momento que sea requerida, realizando copias temporales de estos envíos dentro de los equipos y dispositivos que utilicemos. Debemos saber también que estos espacios son presentados por servicios web (Hosting).

3.2.1 Por qué elegir una solución web La practicidad que ofrecen los navegadores web como clientes ligeros. Un cliente ligero (Thin Client) es un sistema que trabaja en una arquitectura de red cliente-servidor en la cual existe muy poca o ninguna lógica del programa, por lo que depende principalmente del servidor central para las tareas de procesamiento. La independencia del sistema operativo que uses en tu ordenador o dispositivo móvil. La facilidad para actualizar y mantener aplicaciones web sin la necesidad de tener que distribuir el software o que se tengan que instalar el mismo por los usuarios potenciales. El libre acceso de los usuarios en cualquier momento, lugar o dispositivo, sólo con tener conexión a Internet y los datos de acceso (nombre usuario y contraseña).


Página 86 de 210

Por David Alfredo Cuc Hernández 3.3 Elección de un software web La elección de un software ERP es por tanto una tarea ardua y que requiere un estudio exhaustivo del mercado. Encontrar un software ERP que incluya todas estas características es imposible. Sin embargo, debemos analizar cuales nos parecen imprescindibles y tratar de encontrar aquél que se adecúe mejor a nuestras necesidades. La selección y evaluación de un software ERP es un paso que la empresa usuaria acorta y para el cual no se prepara adecuadamente, pero es uno de los más críticos. Para encontrar la solución óptima, y tomar una decisión confiable, debe considerar la mayor cantidad de opciones posibles. Con tantas soluciones disponibles, para el comprador de software es una tentación considerar solamente a los líderes de la industria o las primeras opciones que aparecen en los esfuerzos de búsqueda. Este atajo a menudo resulta en la pérdida de la solución ideal. El software online puede utilizarse en cualquier dispositivo con navegador, en cualquier lugar y momento. ⚫

No requiere ningún tipo de instalación.

Software siempre actualizado automáticamente.

No hay que actualizar el equipo por requerimientos del programa.

3.4 Tipos de Software web Aplicación web estática Es un tipo de aplicación que muestra muy poca información y está pensada para no generar e incluir nuevos contenidos. Suelen estar desarrolladas en HTML y CSS. No obstante, pueden incluir videos, banners y GIFS. Modificar el contenido de una web


Página 87 de 210

estática no es sencillo, ya que requiere que se descargue el código, modificarlo y volverlo a subir: no es práctico.

Aplicación web dinámica Son mucho más complejas a nivel técnico que las anteriores. Utilizan bases de datos para cargar la información y los contenidos se van actualizando cada vez que el usuario accede a la web app. Suelen contar con un panel de administración (llamado CMS) desde el que se administra y se crean y publican los contenidos (noticias, posts, imágenes, banners, videos…)

E-commerce Es el tipo de aplicación web pensado para tiendas online. El desarrollo es más complejo al tener que crearse unas pasarelas de pago para tarjetas de crédito, PayPal, etc. Además de sincronizarse con la gestión de stocks y logística. Habrá que crear un panel de gestión donde se subirán los productos y se irán actualizando o eliminándose, y donde se gestionarán los pedidos y pagos.

Portal web app Con el término portal, nos referimos a un tipo de aplicación en el que la página principal permite el acceso a diversos apartados, categorías o secciones. Puede haber de todo: foros, chats, correo electrónico, un buscador, zona de acceso con registro, contenido más reciente, etc.

Aplicación web animada Son aplicaciones web creadas con la tecnología Flash. Esta tipología de programación permite crear y presentar contenidos con efectos animados. Es una tecnología muy atractiva para desarrolladores y diseñadores. El problema que tienen las webs animadas es que no son útiles para mejorar el posicionamiento ni para optimizar el SEO; los buscadores no pueden leer correctamente las informaciones.

Aplicación web con “Gestor de Contenidos”


Página 88 de 210

Perfecta para proyectos que necesitan actualizar su contenido constantemente. Tienen un gestor de contenidos (CMS) a través del cual el administrador y los editores pueden ir añadiendo los contenidos, realizando los cambios y actualizaciones, etc. Muchas empresas han optado por este tipo de aplicaciones web, por la facilidad de publicar contenidos.

3.5 Software Web Serial Un software serial es aquel que se desarrolla para ser vendido en serie, y se comercializa de manera abierta puesto que se trata más de un producto que de un servicio. Cualquier software serial o sistema enlatado posee un nombre (una marca registrada), una versión actual, y un precio fijo. Puesto que se trata de un producto, este viene con todas sus especificaciones de uso, manual de usuario, requerimientos técnicos para su funcionamiento (plataforma de servidor y configuraciones), garantías, soporte, licencia, etc.

Por Mario Andres Culajay Roldan 3.7 Software con servicios rentados El Sofware as a Service (SaaS), en español Software como Servicio, es un modelo de consumo de software basado en el pago por uso. Este tipo de servicios o aplicaciones se comercializan a través de licencias o suscripciones en las que el cliente solo pagará por lo que necesita. Con el servicio de SaaS disfruta de un software centralizado en la nube para que todos los colaboradores de su empresa dispongan de la información que necesitan a través de internet. Todo bajo los parámetros que usted establezca.


Página 89 de 210

Software como Servicio Reduce costos y simplifica la implementación de tus operaciones al construir con nosotros una plataforma Saas que te permite generar contenidos vía web y desarrollar las aplicaciones que tu empresa requiere. Dedícate a cumplir con tus objetivos porque todo el respaldo de tus equipos o servidores estarán seguros y disponibles a través de una interfaz web.

Los servicios de SaaS son posibles gracias al Cloud Computing (cómputo en la nube); la aplicación se aloja, ejecuta y respalda en una plataforma en la Nube, gracias a lo cual el Software como Servicio ofrece ventajas muy convincentes para que puedas adquirirlo, las cuales son: • Disponibilidad del servicio 24X7. • Accesibilidad desde cualquier lugar a cualquier hora a través de un dispositivo con acceso a internet. • Sin gastos adicionales de mantenimiento, almacenamiento y respaldo. • Sin inversión en infraestructura o personal especializado. • Actualizaciones y mejoras sin costo. • Eliminar inversiones en compra de licencias.

3.8 Software Web adaptación a dispositivos móviles La adaptación a dispositivos móviles se ha vuelto más importante en estos últimos años. Cada vez hay más usuarios de smartphones en España que utilizan su dispositivo para hacer búsquedas en el navegador, efectuar compras, escribir reseñas y compartir contenido en sus redes sociales. Una web adaptada a móviles mejora la experiencia del usuario. Si la navegación resulta incómoda, afectará a la tasa de abandono y a las visitas recurrentes. La adaptación a dispositivos móviles es relevante para el ranking. Ante dos webs de valor similar, Google dará preferencia a la web mejor adaptada a móviles, junto a otros factores.


Página 90 de 210

Diseño web responsive o multidispositivo El sitio móvil debe configurarse bien para que pueda indexarse correctamente. Es importante contar con un diseño web corporativo multidispositivo. Detecta la combinación del tipo de dispositivo hardware y el navegador que se utiliza. En este caso hablamos del smartphone user agent, que es utilizado también por el Googlebot-Mobile. Debe contestar correctamente, mostrando la versión adaptada de la web utilizando las redirecciones apropiadas. Aquí se tienen en cuenta los diferentes tipos de smartphones, como iPhone, Android, Blackberry o Windows.

3.8.1 Como se implementa Cuando vayamos a adaptar una página web a la navegación que se hace mediante nuestros teléfonos, existen varias alternativas que serán más o menos factibles en función de la capacidad de desarrollo por parte de los programadores que ejecuten el proyecto y del dinero con el que se cuente. Los pasos son los siguientes: ⚫

Si se tiene el dinero suficiente, la opción óptima es contratar los servicios de empresas que puedan realizar el desarrollo de forma satisfactoria en función de nuestras necesidades.

Si, por el contrario, se prefiere reducir los costes y se tiene el suficiente conocimiento para trabajar el CSS, lo puede hacer uno mismo. El trabajo no es sencillo, pues hay que adaptar todos los componentes al sistema responsive, pero es posible.

Si contamos con una aplicación desarrollada en WordPress, se puede optar por diferentes plugins que adapten la web. A menudo facilita mucho el trabajo, pero también se tiene que tener en cuenta el grado de desarrollo que queremos para nuestra aplicación.


Página 91 de 210

Cual es la complejidad tras el diseño responsive Básicamente por dos motivos: Porque es una tecnología verde, donde las distintas opciones para su aplicación uso aun no están lo suficientemente desarrolladas como para saber "cual es la mejor". Aunque no paran de aparecer novedades al respecto, No hay un framework ganador ni un estándar sobre como resolver la mayoría de complicaciones. Porque un diseño adaptativo no nace en la tecnología, sino en el diseño de la web. No se trata solo de que una vez tengamos nuestro diseño terminado debamos diseñar como variará con distintas pantallas y dispositivos, sino que directamente hay que diseñar las webs pensando como se comportará. Esto, resulta extremadamente complejo para diseñadores que no saben exactamente como reacciona cada elemento a su adaptabilidad duplicando o triplicando el trabajo del maquetador que lo hace efectivo.

Por Walter Iván Damián Fuentes 3.9 Software Web desarrollado a medida El desarrollo de software personalizado es el diseño de aplicaciones de software para un usuario o para una organización, está diseñado para satisfacer sus necesidades precisamente como contraste al sistema más tradicional y más extendido que se encuentre disponible en el mercado. Este se crea normalmente para una entidad específica, ya sea por un tercero por contrato o por un grupo interno de desarrolladores y no está permitida su reventa. Como en muchas secciones de cualquier mercado a menudo no se puede satisfacer las demandas de toda la variedad de enfoques de gestión y procesos de negocios modernos. es habitual que muchas empresas dicen que su sistema de información posee alguna característica unica. En estas condiciones, la empresa debe recurrir a los especialistas de TI para que se adapten a las inquietudes de los procesos de negocios existentes o creen los nuevos.

3.10. Tipos de licencia


Página 92 de 210

"El procedimiento de conceder a otra persona o entidad el derecho de usar un software con fines industriales, comerciales o personales, de acuerdo a las cláusulas que en ella aparecen." No es más que obtener la determinada licencia o autorización que le permita el uso legal de determinado programa, esta licencia es un documento bien sea electrónico, en papel original o número de serie autorizado por el autor. Se puede tener cualquier cantidad de programas instalados, pero necesitará un documento o número de serie legal que le autorice su uso.

Licencia de software de propietario El Software propietario es aquel cuya copia, redistribución o modificación están, en alguna medida, prohibidos por su propietario. Para usar, copiar o redistribuir, se debe solicitar permiso al propietario o pagar.

Licencia de software de dominio público El Software con dominio público es software sin copyright. Algunos tipos de copia o versiones modificadas pueden no ser libres si el autor impone restricciones adicionales en la redistribución del original o de trabajos derivados.

Licencia de software de semi libre Aquél que no es libre, pero viene con autorización de usar, copiar, Distribuir y modificar para particulares sin fines de lucro.

Licencia de software libre Proporciona la libertad de • Ejecutar el programa, para cualquier propósito; • Estudiar el funcionamiento del programa, y adaptarlo a sus necesidades; • Redistribuir copias; • Mejorar el programa, y poner sus mejoras a disposición del público, para beneficio de toda la comunidad.


Página 93 de 210

Licencia de software de Copyleft Software libre cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional cuando éstos redistribuyen o modifican el software. Esto significa que cada copia del software, aun si ha sido modificado, debe ser software libre. Copyleft es un concepto general; para proteger actualmente un programa con copyleft, necesita usar un conjunto específico de términos de distribución. Hay muchas maneras posibles de escribir términos copyleft de distribución.

Licencia de software de GPL Es una licencia de software libre, pero no tiene un copyleft fuerte, porque permite que el software se enlace con módulos no libres. Entre la versión 2 y la 2.1, la GNU LGPL cambió su nombre de "Licencia Pública.

Licencia de software con copyleft El termino Copyleft se puede interpretar como Copia permitida, en contraposición a Copyright, o Copia reservada, se refiere a la autorización por parte del propietario de la licencia para su copia, modificación y posterior distribución, contrariamente a lo que ocurre con el software licenciado bajo los términos de los derechos de autor. El propietario de estas licencias puede retirar la autorización de uso de una licencia Copyleft si lo cree oportuno, pero en ese caso está obligado a indemnizar a los poseedores de las licencias en uso de este tipo.

Licencia de software de código abierto 1. Libre distribución. 2. Distribución del código fuente. 3. La licencia debe permitir la modificación del código fuente, los desarrollos derivados y su redistribución en las mismas condiciones que el software original. 4. Integridad del código fuente del autor. La licencia puede imponer que los desarrollos derivados se redistribuyan con un nombre diferente o con un número de versión diferente de aquél del software original. 5. La licencia no debe ser discriminatoria de persona alguna o grupos de personas.


Página 94 de 210

6. La licencia no debe restringir la utilización del software a campos de dominio o actividad. 7. Los derechos otorgados al programa deben ser aplicables a todos aquellos a quienes el software es redistribuido sin imponer condiciones (licencias) complementarias. 8. Los derechos otorgados a un programa no deben depender del hecho de que forme parte de una distribución de software específica. Si el software se extrae de una distribución y se distribuye en el marco de las condiciones que establece a licencia de distribución, todos aquellos a quienes se les redistribuye el software deben gozar de los mismos derechos y condiciones otorgados a la distribución original. 9. La licencia no debe imponer restricciones en otro software que se distribuya junto con la distribución licenciada. Por ejemplo, la licencia no debe insistir en que todos los programas distribuidos en un mismo soporte sean software de fuentes abiertas. 10. La licencia debe ser neutral en relación con la tecnología.

Licencia de software de código cerrado Estas licencias también se conocen con el nombre de software propietario o privativo. En ellas los propietarios establecen los derechos de uso, distribución, redistribución, copia, modificación, cesión y en general cualquier otra consideración que se estime necesaria, no permiten que el software sea modificado, desensamblado, copiado o distribuido de formas no especificadas en la propia licencia, regula el número de copias que pueden ser instaladas e incluso los fines concretos para los cuales puede ser utilizado. Estas licencias limitan fuertemente la responsabilidad derivada de fallos en el programa.

Licencia de software de Comercial El software comercial es software que está siendo desarrollado por una entidad que tiene la intención de hacer dinero del uso del software. Comercial y privativo ¡no son la misma cosa! La mayoría del software comercial es privativo, pero hay software libre comercial y hay software no libre no comercial.

3.11 Ciclos de vida del software


Página 95 de 210

Planificación: es el paso previo al inicio de cualquier proyecto de desarrollo y sin dudas el más importante. En este se definen los requerimientos y funcionalidades que debe tener el software, mediante el trabajo en conjunto entre los desarrolladores, el departamento de ventas, los estudios de mercado y, fundamentalmente, el contacto con el cliente. En este punto se realizan asimismo los análisis de riesgo para el emprendimiento y se fijan los requisitos de aseguramiento de la calidad.

Implementación: parte del proceso en el que los ingenieros de software programan el código para el proyecto de trabajo que está en relación de las demandas del software, en esta etapa se realizan las pruebas de caja blanca y caja negra.

Pruebas: tiene la función de detectar los errores de software lo antes posible.

Documentacion: La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto

Despliegue: comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.

Mantenimiento: El mantenimiento o mejora de un software con problemas recientemente desplegado

Modelos de Desarrollo de Software No representa cómo se debe desarrollar el software, sino de un enfoque común. Puede ser modificado y adaptado de acuerdo a las necesidades del software en proceso de desarrollo. Existen tres modelos los cuales definiremos acontinuacion:

Paradigma Tradicional: Es uno de los paradigmas más antiguo, se inventó durante la creación del método estructurado, el método es establecido en etapas. Si se aplica este paradigma, unos de los principales problemas , es que las etapas realizadas no son autónomas de las siguientes, creando una dependencia estructural y en el acaso de un error atrasaría todo el proyecto. Se tiene que tener pautas bien definidas, y que no se


Página 96 de 210

incurra a modificación porque implicaría en que el software no cumpla con su ciclo de vida. Tener en cuenta que el cliente no se vea afectado por la impaciencia.

Paradigma Orientado a Objetos: Estos modelos se basan en la Programación orientada a objetos; por lo tanto, se refiere al concepto de clase, el análisis de requisitos y el diseño. Este posee dos características principales, las cuales son: ⚫

Permite la re-utilización de software.

Facilita el desarrollo de herramientas informáticas de apoyo al desarrollo, el cual es simple al implementarla en una notación orientado a objetos llamado UML.

Paradigma de Desarrollo Ágil: Es un paradigma de las Metodologías De Desarrollo basado en procesos ágiles. Estos intentan evitar los tediosos caminos de las metodologías tradicionales enfocándose en las personas y los resultados. Usa un enfoque basado en el Valor para construir software, colaborando con el cliente e incorporando los cambios continuamente.

3.12 Seguridad de las aplicaciones web La era de la información ha llevado a las organizaciones a expandir sus actividades y servicios al mundo digital. Uno de los mejores métodos que encontraron fue a través de una aplicación web. Sin embargo, a pesar de sus ventajas, este tipo de herramientas se han convertido en uno de los vectores de ataque favoritos de los ciberdelincuentes. Por lo tanto, la seguridad de las aplicaciones web se ha convertido en uno de los temas más candentes para los profesionales de la seguridad y las empresas de todo el mundo.


Página 97 de 210

Capítulo IV 4. Sistema Android Por Saúl Carlo Iván Díaz Olivares 4.1Historia La empresa que permite que nazca Android tiene su propio nombre, Android Inc, fundada en 2003 por Andry Rubín, Rich Miner, Nick Sears y Chris White. Ellos son los que anunciaron Android como el sistema operativo original para cámaras digitales, lo que les permite conectarse a PC sin cables. Sin embargo, dado que este no es un tema muy prometedor, eligieron los teléfonos móviles. En solo dos años, la propia Google se interesó en esta empresa y decidió adquirir Android Inc. por 50 millones de dólares, e incluyó a los cuatro fundadores en las filas de la empresa. Dos años más tarde, especialmente el 5 de noviembre de 2007, se lanzó la primera versión del sistema operativo, Android 1.0 Apple Pie, y también se estableció la Open Mobile Alliance. El desarrollo de Android no se ha detenido y se han lanzado varias versiones del sistema, que han mejorado el rendimiento y la seguridad, y también son compatibles con muchas tecnologías y nuevas funciones. Además, la gran comunidad de desarrolladores detrás del entorno de Google permite ampliar las capacidades del dispositivo. A principios de 2018, más de 2 millones de aplicaciones estaban disponibles en Google Play, la tienda oficial de aplicaciones de Android. Incluso hemos visto cómo aparecían una gran cantidad de aplicaciones para el sistema operativo de Google en otras tiendas de aplicaciones no oficiales. Una alianza de 78 empresas de hardware, software y telecomunicaciones dedicadas a desarrollar estándares abiertos para dispositivos móviles ha llevado a Google a lanzar la


Página 98 de 210

mayor parte del código de Android bajo la licencia Apache, que es una licencia gratuita y de código abierto. Sin embargo, nos tomó un tiempo ver dispositivos equipados con esta versión del sistema, que se lanzaron en el segundo semestre de 2008. En el segundo y tercer trimestre de 2010, la cuota de mercado de Android en Estados Unidos alcanzó el 43,6%. En el cuarto trimestre de 2011, se espera que la cuota de mercado global supere el 50%, superando al potente iOS de Apple. Desdé entonces, en los últimos años. En julio de 2005, la empresa multinacional Google adquirió Android Inc. El 5 de noviembre de 2007, se estableció Open Mobile Alliance, que es un consorcio de fabricantes y desarrolladores de hardware, software y operadores de servicios. 4 El mismo día se lanzó la primera versión del sistema operativo: Android 1.0 Apple Pie. Terminal Android hasta 2008.11 Las ventas de teléfonos inteligentes con Android ocuparon el primer lugar en los Estados Unidos. En el segundo y tercer trimestre de 2010, la cuota de mercado de 12 13 14 en el tercer trimestre fue del 43,6%. 15 A nivel mundial, alcanzó una participación de mercado del 50,6% en el cuarto trimestre de 2011, más del doble que el segundo sistema operativo. (IOS de Apple). Tiene una gran comunidad de desarrolladores que crean aplicaciones para ampliar las capacidades del dispositivo. A principios de 2018, ya existen más de 2 millones de aplicaciones en la Google Play Store, la tienda oficial de aplicaciones de Android; además, se deben agregar las disponibles en otras tiendas no oficiales, como Aptoide16 17 Google Play es una tienda de aplicaciones en línea. gestionado por Google, aunque es posible obtener el software desde fuera. La tienda F-Droid y sus aplicaciones son completamente de código abierto y son un sustituto del software propietario. Estos programas están escritos en el lenguaje de programación Java. 18 sin embargo, no es un sistema operativo sin malware, aunque la mayor parte se descarga de sitios web de terceros. 19 El anuncio del sistema Android se publicó el 5 de noviembre de 2007 junto con Open Handset Alliance, que está compuesta por 78 empresas de hardware. Empresa de software y telecomunicaciones dedicada al desarrollo de estándares abiertos para dispositivos móviles. 20 Google publica la mayor parte del código de Android bajo la licencia Apache, que es una licencia gratuita y de código abierto. La estructura del sistema operativo Android consta de aplicaciones que se ejecutan en el marco de aplicaciones orientadas a objetos de Java, que se encuentra en el núcleo de la biblioteca


Página 99 de 210

de Javo en la máquina virtual Dalvik. El tiempo de ejecución se compila a la versión 5.0 y luego se cambia al entorno de ejecución de Android (ART). La biblioteca escrita en lenguaje C incluye el administrador de superficies (administrador de superficies), el marco Open Coré, la base de datos relacional SQLite, la interfaz de programación API de gráficos 3D OpenGL ES 2.0, el motor de renderizado WebKit, el motor de gráficos SGL, SSL y la biblioteca biónica C estándar. El sistema operativo consta de 12 millones de líneas de código, incluidas 3 millones de XML, 2,9 millones de líneas de lenguaje C, 2,2 millones de líneas de Java y 1,77 millones de líneas de C ++.

4.2Adquisición por parte de Google En julio de 2005, Google adquirió Android Inc., una pequeña empresa fundada en Palo Alto, California en 2003. Entre ellos, los cofundadores de Android que empezaron a trabajar en Google incluyen a Andy Rubín (cofundador de Danger), 24 Rich Miner (cofundador) Wildfire Communications, Inc.), Nick Sears de 25 años (anteriormente adjunto en T-Mobile) Presidente), Chris White, de 26 años (a cargo del diseño y desarrollo de la interfaz en WebTV) 0.27 En ese momento, sabía muy poco sobre la compañía Android. Además de otras funciones distintas al desarrollo de software para teléfonos móviles. 3 esto generó rumores de que Google planea ingresar al mercado de la telefonía móvil. También este año nació la mascota de Android "Andy". Es un robot verde que simboliza Android Inc. Traducción literal La diseñadora de este proyecto es Irina Blok. En Google, un equipo dirigido por Rubín ha desarrollado una plataforma de dispositivos móviles basada en el kernel de Linux, que se vende a los fabricantes y operadores de dispositivos y promete proporcionar un sistema flexible y escalable. Según los informes, Google ya ha cooperado con varios fabricantes de hardware y software y ha señalado a los operadores que están dispuestos a aceptar su cooperación en diversos grados. 28 29 30 En diciembre de 2006, aumentó la especulación sobre la entrada del sistema Android de Google en el mercado de la telefonía móvil. 31 informes de la BBC y Wall Street Journal señalaron que Google quiere usar su servicio de búsqueda y su aplicación en teléfonos móviles y está muy decidido. Los medios impresos y en línea pronto informaron que Google estaba desarrollando un teléfono móvil de marca.


Página 100 de 210

En septiembre de 2007, Información Weekly publicó un informe de investigación de Evalueserve en el que se indicaba que Google había solicitado una serie de patentes en el campo de los teléfonos móviles.

Por Javier Estuardo Godines Pineda 4.3Historial de actualizaciones Todo comenzó allá por el año 2003, cuando unos jóvenes Andy Rubin, Chris White, Rich Miner y Nick Sears se embarcaron en el proyecto Android, comenzando por la fundación de la empresa Android Inc. Su objetivo en aquellos primeros días, era dedicar sus esfuerzos a la creación de un sistema operativo orientado a mejorar la experiencia de los usuarios de cámaras digitales dispositivos en pleno auge por aquella época. Más tarde, en 2005, Google se cruzó en el camino de estos tres emprendedores, adquiriendo la empresa fundada solo unos años atrás. A partir de ahí, todos sabemos cómo ha evolucionado el proyecto a lo largo de las ocho grandes versiones de Android, plataforma que a día de hoy mantiene la corona de sistema operativo para móviles más usado en el mundo.

Todas las actualizaciones de Android hasta hoy (2021) Android 0.5 Android 0.9 Android 1.0 Apple Pie Android 1.1 Banana Bread Android 1.5 Cupcake Android 1.6 Donut Android 2.0/2.1 Éclair Android 2.2 Froyo Android 3.0 Honeycomb Android 4.0 Ice Cream Sandwich Android 4.1/4.2 Jelly Bean Android 4.4 KitKat Android 5 Lollipop


Página 101 de 210

Android 6 Marhmallow Android 7 Nougat Android 8 Oreo Android 9 Pie Android 10 Android 11 Android 12

4.4Versiones

Android 0.5 – El inicio de todo Esta primera versión llegó bajo el nombre de Android 0.5 Milestone 3, la interfaz estaba adaptada a terminales de pantalla “pequeña”, y solo se incorporaban aplicaciones como Google Maps, un navegador, y otras herramientas esenciales de un teléfono. Sin embargo, no sería hasta Android 0.5 Milestone 5, cuando realmente se comenzaron a asentar las bases de lo que Android es hoy en día.

Android 0.9 Beta – Las primeras pinceladas de una nueva apariencia Esto comienza a resultar familiar. Android 0.9 Beta fue la última versión de pruebas antes de que el sistema operativo viese la luz públicamente, y fue la versión que introdujo algunos de los añadidos característicos del la que, solo 10 años más tarde, sería la plataforma móvil más usada en el planeta.


Página 102 de 210

La interfaz al completo había sido rediseñada completamente con respecto a lo que vimos en Milestone 5, dando paso a una apariencia más colorida, con una pantalla de inicio paginada que permitía añadir widgets nativos, un mayor número de aplicaciones, y por fin, un cajón de aplicaciones deslizable desde la parte inferior.

Android 1.0 Apple Pie – La llegada al primer dispositivo Android 1.0 fue la primera versión del sistema en acogerse a los nombres de dulces ordenados alfabéticamente que nos han acompañado durante los últimos diez años. Google decidió bautizar a esta primera edición como Apple Pie, Tarta de Manzana, y los motivos por los que los de Mountain View optaron por usar estos títulos aún siguen siendo un misterio.

Android 1.5 Cupcake – La aparición del teclado virtual El añadido más importante de esta versión, fue un componente del sistema sin el que, probablemente, a día de hoy no podríamos vivir: el teclado virtual. Gracias a esta herramienta, los fabricantes que tenían entre sus planes la creación de Smartphone con Android, no tendrían que seguir obligatoriamente la tendencia de crear dispositivos con decenas de botones físicos y teclado QWERTY completo.


Página 103 de 210

Android 2.0 y 2.1 Éclair – El primer gran rediseño de la historia Con el primer gran salto de numeración de Android, también llegó un importante rediseño. Éclair fue el nombre elegido por Google para dar nombre a Android 2.0, y uno de los primeros teléfonos en integrar la nueva edición del sistema operativo fue el Motorola Droid, todo un clásico de la historia de la plataforma móvil de Google. Entre otras cosas, Android 2.0 introdujo una renovada pantalla de bloqueo, con panel rotatorio que emulaba el dial de los antiguos teléfonos analógicos. Para desbloquear el terminal, habría que deslizar desde el centro del panel hacia abajo, mientras que deslizando a izquierda o derecha se silenciaría el terminal o se abriría la app de teléfono.

Android 3.0 Honeycomb – La primera versión exclusiva para tablets La versión 3.0 de Android fue la primera –y la única– en ser exclusiva de tablets. Honeycomb vio la luz en febrero de 2011, y se trataba de la primera edición de Android creada con Matías Duarte como líder de diseño y experiencia de usuario en el equipo de Android. Y lo cierto es que se notaba, y mucho. Android dio un gigantesco salto en términos de diseño, adoptando las líneas que pasaron a denominarse Holo, y que darían vida a la interfaz de Android durante los


Página 104 de 210

próximos años. Dado que se trataba de una edición pensada específicamente para tablets, ningún smartphone recibió jamás la actualización a Android 3.0, lo cual permitió a Google centrarse en mejorar la experiencia en los dispositivos de gran tamaño.

Android 4.0 Ice Cream Sandwich – El diseño Holo llega a los móviles En octubre de 2011, el diseño Holo que anteriormente vimos en Honeycomb finalmente aterriza en una versión de Android compatible tanto con smartphones como con tablets. También se adoptaron otros rasgos de Honeycomb, como la pantalla de bloqueo, el panel de ajustes rápidos disponible en la barra de notificaciones, y la barra de navegación virtual.

Android 5 Lollipop – La actualización más importante de la historia del sistema operativo Material Design fue el punto de inflexión más grande de la historia de Android, y un añadido histórico para todo el ecosistema de Google. Fue anunciado por el propio Matías Duarte en el Google I/O de 2014, y lo anunció como un nuevo estilo de diseño tanto para Android, como para el resto de productos y servicios de los de Mountain View. La idea principal era que el sistema operativo, y las aplicaciones, webs y diferentes plataformas, tuviesen una misma apariencia, cuyas interfaces estuvieran basadas en elementos físicos metafóricos como la tinta y el papel, incluyendo sombras, texturas y elevaciones virtuales sobre un lienzo tridimensional.


Página 105 de 210

Android 6 Marshmallow – Mejorando la gestión de permisos Aterrizamos de lleno en octubre de 2015, mes en el que Google, con su logo recién cambiado tras dieciséis años usando la misma tipografía, presenta la versión 6.0 de Android con el nombre de Marhmallow. Dado que Material Design había sido presentado hace solo un año, apenas encontramos cambios de diseño más allá de un panel Google Now más claro y limpio. Uno de los cambios más importantes fue el formato del cajón de aplicaciones, que regresaba a la lista con scroll vertical original de las versiones más tempranas del sistema, acompañada de un selector rápido para encontrar las aplicaciones de forma más sencilla.

Android 7 Nougat – Más Material Design, y los primeros teléfonos Made by Google En el año 2016 llegó Android 7.0 Nougat, y junto a esta versión, el futuro de Google como firma de telefonía gracias a la aparición de los Pixel, los primeros teléfonos diseñados por la propia compañía, que llegaban para tomar el relevo de la familia Nexus. Con Android 7, Google continuaba perfeccionando Material Design, a la vez que se incorporaban nuevas funcionalidades en el sistema como la ejecución de dos aplicaciones en pantalla partida, a través de una pulsación larga sobre el botón de


Página 106 de 210

multitarea. También se añadía la posibilidad de contestar a los mensajes desde las notificaciones, soporte para la API Vulkan para mejorar la experiencia con videojuegos, o mejoras en el modo de ahorro de energía DOZE, que ahora comenzaría a trabajar en cuanto se apagase la pantalla del dispositivo.

Android 8 Oreo – La inteligencia artificial cobra vida Android 8.0 es el presente de Android para casi un 15% de los usuarios de todo el mundo. Presentada en agosto de 2017, solo unos meses antes de que la segunda generación de teléfonos Google Pixel viese la luz, fue la segunda versión de la historia en la que Google se aliaba con una marca de la industria alimentaria como Nabisco, para hacer que la última versión tuviese nombre de otro dulce con una popularidad equiparable a la de KitKat: Oreo.Uno de los aspectos en los que se enfocaba Android Oreo en el momento de su lanzamiento era la gestión de las notificaciones, mejorando el orden de estas gracias a distintos niveles de prioridad, y ofreciendo al usuario la posibilidad de posponer avisos o elegir manualmente qué tipo de notificaciones de cada aplicación quieren recibir, gracias a los canales de notificaciones.

Android 9.0 Pie – más simple, más inteligente, más Android En marzo de 2018, Google lanzaba la primera versión preliminar para desarrolladores de Android P. Mes tras mes, con la llegada de las nuevas betas, nos fuimos dando cuenta


Página 107 de 210

de lo grande que iba a ser esta actualización, y todo lo que iba a suponer para la plataforma Android al completo. A principios de agosto, Google nos sorprendió presentando Android 9.0 Pie, desvelando además el nombre del dulce que da nombre a esta novena gran actualización del sistema, una de las más importantes de la historia. Para empezar, esta versión es la encargada de implantar una renovada filosofía de diseño que ha sido bautizada como Google Material Theme, y que promete aportar una mayor coherencia a toda la interfaz, con fondos más claros y tarjetas cuyas esquinas son más redondeadas, además de adoptar la tipografía Product Sans en aún más componentes de la interfaz. Esta guía de estilo, además, no se basa en reglas estrictas, sino que ofrece a los fabricantes una mayor flexibilidad a la hora de desarrollar y diseñar sus apps.

Android 10 – la privacidad por bandera Esta nueva entrega del sistema operativo trae consigo novedades y cambios importantes, que se centran principalmente en mejorar la privacidad y la seguridad de los usuarios otorgando un mayor control sobre los permisos que obtienen las aplicaciones, como el de ubicación o el acceso al portapapeles del sistema. También llegan características esperadas como el tema oscuro –que, eso sí, no fue funcional hasta la tercera beta–, más herramientas de personalización e incluso las primeras pistas del modo de escritorio.


Página 108 de 210

Android 11 – más protección En febrero de 2020 llegó la versión preliminar de Android más temprana de la historia con Android 11 Developer Preview 1. Esta edición, disponible para su instalación en un primer momento en los Google Pixel 2, 3, 3a y 4, trajo consigo novedades interesantes como la posibilidad de programar la activación del tema oscuro introducido el pasado año, o mejoras en términos de privacidad y seguridad como la opción de otorgar permisos de un solo uso a las aplicaciones.

Android 11, además, trae consigo mejoras enfocadas a los desarrolladores, para que puedan trabajar de una mejor forma a la hora de optimizar sus aplicaciones a las nuevas tecnologías incipientes en la industria telefónica como el 5G, los móviles plegables o las pantallas curvas o con orificios para la cámara delantera.

Android 12 – llega Material You El día 18 de febrero de 2021, Google anunciaba Android 12. La nueva versión del sistema operativo llegaba a través de una primera versión para desarrolladores repleta de cambios, muchos de ellos escondidos. Esta actualización trae consigo mejoras de privacidad, nuevas APIs para desarrolladores y, probablemente lo más importante de todo, un rediseño casi total de la interfaz de usuario del sistema, a través del nuevo lenguaje visual, Material You. Con Material You, Google otorga al usuario el control sobre la apariencia de la interfaz de usuario, al generar temas de manera automática en base a los colores del fondo de pantalla establecido en el dispositivo.


Página 109 de 210

Programación Estructurada

Sexto Grado


Página 110 de 210

Capítulo I PHP5 Por: Enyembber Alexander Osuna Ortiza PHP Introducción PHP es un lenguaje de programación de uso general que se adapta especialmente al desarrollo web. Fue creado inicialmente por el programador danés-canadiense Rasmus Lerdorf en 1994. En la actualidad, la implementación de referencia de PHP es producida por The PHP Group. PHP originalmente significaba Personal Home Page (Página personal), pero ahora significa el inicialismo recursivo PHP: Hypertext Preprocessor. El código PHP suele ser procesado en un servidor web por un intérprete PHP implementado como un módulo, un daemon o como un ejecutable de interfaz de entrada común (CGI). En un servidor web, el resultado del código PHP interpretado y ejecutado —que puede ser cualquier tipo de datos, como el HTML generado o datos de imágenes binarias— formaría la totalidad o parte de una respuesta HTTP.

Fuente: https://es.wikipedia.org/wiki/PHP#/media/Archivo:PHP-logo.svg

PHP Sintaxis Es el acrónimo de "Hipertext Preprocesor". Php es un lenguaje interpretado, de alto nivel y embebido en páginas HTML. Su sintaxis es similar a la de los lenguajes de C, Java, Perl.


Página 111 de 210

Variables PHP Las variables en PHP son representadas con un signo de dólar ($) seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas. Es decir, las siguientes declaraciones de variables son distintas entre ellas: $variable, $Variable, $variAble, $VariAble, etc. representan a distintas variables. Recordar que una variable es un espacio de la memoria del ordenador (en este caso del servidor) a la que asignamos un contenido que a grandes rasgos puede ser un valor numérico (sólo números, con su valor de cálculo) o alfanumérico (sólo texto o texto con números, sin valor de cálculo). PHP echo/Imprimir Esta instrucción muchas veces se dice que sirve para que se muestre por pantalla un texto, una variable, o una combinación de texto y variables. Pero realmente no es así: echo no es una instrucción que sirva para mostrar algo por pantalla (aunque podemos usarla para esto), sino que sirve para insertar texto dentro del documento HTML subyacente al código PHP.

Fuente: Captura tomada por Walter Velásquez Tipos de datos: En PHP no es obligatorio indicar el tipo de datos al que pertenece una variable como en otros lenguajes, sino que los tipos de datos son establecidos directamente por el intérprete PHP, que es el encargado de interpretar el código. Ahora veremos en una tabla los distintos tipos de datos que se pueden usar en PHP.


Página 112 de 210

Fuente: Captura tomada por Walter Velásquez Funciones PHP de Cuerda En este capítulo vamos a ver algunas funciones que se usan comúnmente para manipular cadenas.

Obtener la longitud de una cuerda El PHP strlen() función devuelve la longitud de una cadena. El ejemplo siguiente devuelve la longitud de la cadena “Hello world!”:

Fuente: Captura tomada por Walter Velásquez

Contar el número de palabras en una cadena El PHP str_word_count() función cuenta el número de palabras de una cadena:

Fuente: Captura tomada por Walter Velásquez Invertir una cadena El PHP strrev() función invierte una cadena:


Página 113 de 210

Fuente: Captura tomada por Walter Velásquez Para buscar un texto específico dentro de una cadena Los PHP strpos() función busca un texto específico dentro de una cadena. Si se encuentra una coincidencia, la función devuelve la posición del primer partido. Si no se encuentra ninguna coincidencia, devolverá FALSO. El siguiente ejemplo busca el texto "world" en la cadena "Hello world!”:

Fuente: Captura tomada por Walter Velásquez PHP Constantes Una constante es un identificador (name) para un valor simple. El valor no se puede cambiar durante la secuencia de comandos. Un nombre válido constante comienza con una letra o un guión bajo (sin signo $ antes del nombre de constante). Nota: A diferencia de las variables, las constantes son automáticamente mundial a través de toda la secuencia de comandos. Crear una constante en PHP Para crear una constante, utilizar el define() función.

Fuente: Captura tomada por Walter Velásquez Sintaxis: Ejemplo


Página 114 de 210

Fuente: Captura tomada por Walter Velásquez PHP Operadores Los operadores se utilizan para realizar operaciones sobre las variables y valores. PHP divide los operadores en los siguientes grupos: •

Operadores aritméticos

Operadores de Asignación

Operadores de comparación

operadores de incremento / decremento

Operadores logicos

operadores de cadenas

operadores de matriz

Operadores Aritméticos

Fuente: Captura tomada por Walter Velásquez

Operadores de asignación


Página 115 de 210

Fuente: Captura tomada por Walter Velásquez Operadores de comparación

Fuente: Captura tomada por Walter Velásquez

Fuente: Captura tomada por Walter Velásquez


Página 116 de 210

Operadores de Incremento y Decremento Operadores lógicos Operadores de cadena

Fuente: Captura tomada por Walter Velásquez PHP 5 if ... else ... Declaraciones elseif Muy a menudo, cuando se escribe código, que desea realizar diferentes acciones para diferentes condiciones. Puede utilizar las sentencias condicionales en el código para hacer esto. En PHP tenemos las siguientes sentencias condicionales: •

if statement - Ejecuta código si una condición es verdadera

if...else statement - Ejecuta código si una condición es verdadera y otro código si esa condición es falsa

if...elseif…else statement - ejecuta códigos diferentes por más de dos condiciones

Ejemplos: If:

Fuente: Captura tomada por Walter Velásquez If Else:


Página 117 de 210

Fuente: Captura tomada por Walter Velásquez


Página 118 de 210

If Else If

Fuente: Captura tomada por Walter Velásquez PHP CONMUTADOR (INTERRUPTOR DE DECLARACIÓN) Por: César Pacheco Gil Utilice la sentencia switch para seleccionar uno de los muchos bloques de código para ser ejecutado. Sintaxis:

Fuente: Captura tomada por Walter Velásquez

PHP do…While


Página 119 de 210

El bucle do ... while siempre se ejecutará el bloque de código una vez, se compruebe el estado, y repetir el bucle mientras la condición especificada es verdadera. Ejemplo:

Fuente: Captura tomada por Walter Velásquez PHP For El bucle se utiliza cuando se sabe de antemano cuántas veces la secuencia de comandos debe ejecutarse. Ejemplo:

PHP

Fuente: Captura tomada por Walter Velásquez

Funciones Además de las funciones de PHP incorporadas, podemos crear nuestras propias funciones. Una función es un bloque de instrucciones que se pueden utilizar en varias ocasiones en un programa. Una función no se ejecutará inmediatamente cuando se carga una página. Una función se ejecutará mediante una llamada a la función. Crear una función definida por el usuario en PHP Una declaración de la función definida por el usuario comienza con la palabra "function".

Ejemplo:


Página 120 de 210

Fuente: Captura tomada por Walter Velásquez PHP Arrays Una matriz almacena varios valores en una sola variable:

Ejemplo: Fuente: Captura tomada por Walter Velásquez Una matriz es una variable especial, que puede contener más de un valor a la vez. Si usted tiene una lista de elementos (a list of car names, for example) , el almacenamiento de los coches en las variables individuales podría tener este aspecto:

Fuente: Captura tomada por Walter Velásquez PHP Ordenando Arrays En este capítulo, vamos a ir a través de las siguientes funciones de matriz de clasificación de PHP: •

sort() - matrices de clasificación en orden ascendente

rsort() matrices de clasificación en orden descendente -

asort() - ordenar matrices asociativas en orden ascendente, de acuerdo con el valor

ksort() - ordenar matrices asociativas en orden ascendente, de acuerdo con la clave

arsort() - ordenar matrices asociativas en orden descendente, de acuerdo con el valor


Página 121 de 210 •

krsort() - ordenar matrices asociativas en orden descendente, de acuerdo con la clave

PHP Variables Super globales Superglobales se introdujeron en PHP 4.1.0, y son variables incorporadas que siempre están disponibles en todos los ámbitos.

Varias variables predefinidas en PHP

son "superglobals”, lo que significa que siempre son accesibles, independientemente del alcance - y se puede acceder a ellos desde cualquier función, clase o archivo sin tener que hacer nada especial. Las variables de PHP superglobal son: •

$ GLOBALS

$ _SERVER

$ _REQUEST

$ _POST

$ _GET

$ _FILES

$ _ENV

$ _COOKIE

$ _SESSION

PHP Fecha y Hora El PHP date() función se utiliza para dar formato a una fecha y / o un tiempo. Obtener una Fecha simple La requerido format parámetro de la date() función específica cómo dar formato a la fecha (or time) . Aquí hay algunos caracteres que se utilizan comúnmente para las fechas: •

d - representa el día del mes (01 to 31)

m - Representa un mes (01 to 12)

Y - representa un año (in four digits)

l (lowercase 'L') - Representa el día de la semana

Otros personajes, como "/", "." O "-" puede también ser insertado entre los personajes para agregar formato adicional. El siguiente ejemplo da formato a la fecha de hoy en tres formas diferentes:


Página 122 de 210

Ejemplos:

Fuente: Captura tomada por Walter Velásquez PHP Incluir El incluyen (or require) declaración lleva todo el texto / código / marcado que existe en el archivo y lo copia especificada en el archivo que utiliza la instrucción de inclusión. Incluyendo archivos es muy útil cuando se desea incluir el mismo PHP, HTML o texto en varias páginas de un sitio web. Ejemplo:

Fuente: Captura tomada por Walter Velásquez PHP Administración de archivos Manejo de archivos es una parte importante de cualquier aplicación web. A menudo se necesita para abrir y procesar un archivo para diferentes tareas.


Página 123 de 210

PHP readfile() Función El readfile() función lee un archivo y lo escribe en el buffer de salida. Supongamos que tenemos un archivo de texto llamado "webdictionary.txt" , almacenado en el servidor, que se ve así: AJAX

=

Asynchronous

CSS

=

HTML

=

JavaScript

Cascading Hyper

Text

and Style

=

PHP

SQL

=

Structured

Query

Scalable

Vector

=

Sheets

Markup

PHP SVG

XML

Hypertext

Language Preprocessor Language Graphics

XML = EXtensible Markup Language El código PHP para leer el archivo y escribir en el búfer de salida es la siguiente (the readfile() devuelve el número de bytes leídos en caso de éxito): Ejemplo

Fuente: Captura tomada por Walter Velásquez PHP Open File/Read File Abrir archivo PHP - fopen() El primer parámetro de fopen () contiene el nombre del archivo que se puede abrir y el segundo parámetro especifica en qué modo el archivo se debe abrir. El ejemplo siguiente también genera un mensaje si la función fopen () no es capaz de abrir el archivo especificado: Ejemplo:

Fuente: Captura tomada por Walter Velásquez


Página 124 de 210

PHP Leer archivo - fread () La función fread () lee de un archivo abierto. El primer parámetro de fread () contiene el nombre del archivo a leer y el segundo parámetro especifica el número máximo de bytes a leer. El siguiente código PHP lee el archivo "webdictionary.txt" al final: Ejemplo: fread($myfile,filesize("webdictionary.txt")); PHP File Crear / Escritura PHP Crear Archivo - fopen() El fopen() función también se utiliza para crear un archivo. Tal vez un poco confuso, pero en PHP, un archivo se crea utilizando la misma función que se utiliza para abrir archivos. Si usa fopen() en un archivo que no existe, se creará que, dado que el archivo se abre para escribir (w) o de agregar (a) . El siguiente ejemplo crea un nuevo archivo llamado "testfile.txt”. El archivo se creará en el mismo directorio donde reside el código PHP:

Ejemplo: Fuente: Captura tomada por Walter Velásquez

PHP escribir en el archivo - fwrite() El fwrite() función

se

utiliza

para

escribir

en

un

archivo.

El

primer

parámetro

de fwrite() contiene el nombre del archivo para escribir en y el segundo parámetro es la cadena a ser escrito. El siguiente ejemplo escribe un par de nombres en un nuevo archivo llamado "newfile.txt”: Ejemplo:


Página 125 de 210

Fuente: Captura tomada por Walter Velásquez PHP File Upload Con PHP, es fácil de subir archivos al servidor. Sin embargo, con mayor facilidad tiene peligro, ¡por lo que siempre debe tener cuidado al permitir la carga de archivos! La configurar "php.ini" archivo En primer lugar, asegúrese de que PHP está configurado para permitir la carga de archivos. En su "php.ini" archivo, busque la directiva file_uploads, y configurarlo en On: file_uploads = On

Fuente: Captura tomada por Walter Velásquez Ejemplo: PHP

Cookies

Una cookie se utiliza a menudo para identificar a un usuario. ¿Qué es una cookie? Una cookie se utiliza a menudo para identificar a un usuario. Una cookie es un pequeño archivo que el servidor se incrusta en el ordenador del usuario. Cada vez que el mismo equipo solicita una página con un navegador, se enviará la cookie también. Con PHP, puede tanto crear y recuperar los valores de cookie.


Página 126 de 210

Crear Cookies con PHP Una cookie es creado con el setcookie() función. Fuente: Captura tomada por Walter Velásquez

Sintaxis: PHP Sesiones Una sesión es una forma de almacenar la información (in variables) para ser utilizado en varias páginas. A diferencia de una cookie, la información no se almacena en el ordenador del usuario. ¿Qué es una sesión de PHP? Cuando se trabaja con una aplicación, se abre, hace algunos cambios, y luego lo cierra. Esto es muy parecido a una sesión. El equipo sabe quién eres. Se sabe cuándo se inicia la aplicación y cuando se termina. Sin embargo, en Internet hay un problema: el servidor web no sabe quién es ni lo que haces, porque la dirección HTTP no mantiene estado. Las variables de sesión resolver este problema mediante el almacenamiento de la información del usuario a utilizar en varias páginas (eg username, favorite color, etc). Por defecto, las variables de sesión duran hasta que el usuario cierra el navegador. Asi que; Las variables de sesión contienen información acerca de un solo usuario, y están disponibles para todas las páginas en una sola aplicación. Ejemplo:


Página 127 de 210

Fuente: Captura tomada por Walter Velásquez

PHP Manejo de errores Por: Kateryn Yohana Pasán de León El manejo de errores por defecto en PHP es muy simple. Un mensaje de error con el nombre de archivo, número de línea y un mensaje que describe el error se envía al navegador. Control de errores de PHP Al crear secuencias de comandos y aplicaciones web, gestión de errores es una parte importante. Si el código carece de código de comprobación de errores, el programa puede parecer muy poco profesional y que puede estar abierto a riesgos de seguridad. Este tutorial contiene algunos de los errores más comunes control de los métodos en PHP. Vamos a mostrar los diferentes métodos de tratamiento de errores: •

Sencillo " die() " declaraciones

errores personalizados y disparadores de error

Error al reportar

Sintaxis:

Fuente: Captura tomada por Walter Velásquez PHP Excepciones Las excepciones se utilizan para cambiar el flujo normal de una secuencia de comandos si se produce un error especificado. ¿Qué es una excepción? Con PHP 5 llegó una nueva forma orientada a objetos de tratamiento de errores. El manejo de excepciones se utiliza para cambiar el flujo normal de la ejecución de código si un error especificado (exceptional) se produce condición. Esta condición se llama una


Página 128 de 210

excepción. Esto es lo que sucede normalmente cuando se activa una excepción: •

El estado actual código se guarda

La ejecución de código va a cambiar a una predefinida (custom) la función de gestión de excepciones

Dependiendo de la situación, el controlador puede entonces reanudar la ejecución del código de estado guardado, terminar la ejecución del script o continuar la secuencia de comandos desde un lugar diferente en el código

Vamos a mostrar los diferentes métodos de tratamiento de errores: •

Uso básico de Excepciones

La creación de un manejador de excepción personalizada

múltiples excepciones

Vuelva a lanzar una excepción

El establecimiento de un gestor de excepciones de nivel superior

Nota: Las excepciones sólo deben utilizarse con condiciones de error y no se deben utilizar para saltar a otro lugar en el código en un punto especificado.

Uso básico de excepciones

Fuente: Captura tomada por Walter Velásquez


Página 129 de 210

Capítulo II 2. Framework web y Scripting Por: Josseline Montecinos

2.1 ¿Qué es un framework Web? Los frameworks web son un conjunto de herramientas, estilos y librerías dispuestas a través de una estructura o esqueleto base, para el desarrollo de aplicaciones web más escalables y sencillas de mantener.

Imagen: Framewordk para el Desarrollo de Aplicaciones Web Fuente: https://res.cloudinary.com/practicaldev/image/fetch/s--DKWAhY6p-/c_imagga_scale,f_auto,fl_progressive,h_900,q_auto,w_1600/https://thepracticaldev.s3.amazonaws.com/i/s wx9cxcdbueh2pht2msg.png

2.2 Patrón MVC MVC se usa inicialmente en sistemas donde se requiere el uso de interfaces de usuario, aunque en la práctica el mismo patrón de arquitectura se puede utilizar para


Página 130 de 210

distintos tipos de aplicaciones. Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se potencie la facilidad de mantenimiento, reutilización del código y la separación de conceptos.

La arquitectura MVC propone, independientemente de las tecnologías o entornos en los que se base el sistema a desarrollar, la separación de los componentes de una aplicación en tres grupos (o capas) principales: el modelo, la vista, y el controlador, y describe cómo se relacionarán entre ellos para mantener una estructura organizada, limpia y con un acoplamiento mínimo entre las distintas capas.

Imagen: Modelo-Vista-Controlador Fuente: https://codigofacilito.com/photo_generales_store/29.jpg

Modelo: contiene principalmente las entidades que representan el dominio, la lógica de negocio, y los mecanismos de persistencia de nuestro sistema.

Vista: encontraremos los componentes responsables de generar la interfaz con el exterior, por regla general, aunque no exclusivamente, el UI de nuestra aplicación.

Controlador: en el se encuentran los componentes capaces de procesar las interacciones del usuario, consultar o actualizar el Modelo, y seleccionar las Vistas apropiadas en cada momento.

2.3 Tipos de Framework Web

Existen varios tipos de frameworks Web: orientados a la interfaz de usuario, como Java Server Faces, orientados a aplicaciones de publicación de documentos, como


Página 131 de 210

Coocon, orientados a la parte de control de eventos, como Struts y algunos que incluyen varios elementos como Tapestry.

La mayoría de frameworks Web se encargan de ofrecer una capa de controladores de acuerdo con el patrón MVC o con el modelo 2 de Servlets y JSP, ofreciendo mecanismos para facilitar la integración con otras herramientas para la implementación de las capas de negocio y presentación.

2.4 Características

A continuación, enunciamos una serie de características que podemos encontrar en prácticamente todos los frameworks existentes.

Abstracción de URLs y sesiones: No es necesario manipular directamente las URLs ni las sesiones, el framework ya se encarga de hacerlo.

Acceso a datos: Incluyen las herramientas e interfaces necesarias para integrarse con herramientas de acceso a datos, en BBDD, XML, etc.

Controladores: La mayoría de frameworks implementa una serie de controladores para gestionar eventos, como una introducción de datos mediante un formulario o el acceso a una página. Estos controladores suelen ser fácilmente adaptables a las necesidades de un proyecto concreto.

Autentificación y control de Acceso: Incluyen mecanismos para la identificación de usuarios mediante login y password y permiten restringir el acceso a determinas páginas a determinados usuarios.

Internacionalización

Internacionalización. Separación entre diseño y contenido

2.5 Ejemplo


Página 132 de 210

Symfony 4: Es uno de los frameworks más utilizados y recomendados por las empresas digitales y el preferido de muchos desarrolladores web. Symfony está compuesto por un amplio número de componentes que se pueden reutilizar, además de contar con una comunidad activa que siempre expone nuevos códigos para el desarrollo de posibles mejoras en las actualizaciones.

Imagen: Symfony Fuente: https://symfony.com/images/opengraph/symfony.png

Laravel: utiliza algunos componentes de Symfony y se caracteriza por sus funcionalidades preparadas para el desarrollo de apps modernas de fácil uso. Es un framework que permite agregar información de utilidad mediante su directorio Packalyst. Es una manera de localizar de inmediato aquello que te haga falta.

Imagen: Laravel Fuente: https://cms-assets.tutsplus.com/uploads/users/769/posts/25334/preview_image/get-started-withlaravel-6-400x277.png

CakePHP:

cuenta

con

una gestión

de

las

sesiones

mejorada,

librerías

independientes y componentes modulares para reducir el peso y mejorar la personalización de los proyectos.


Página 133 de 210

Imagen: My CakePHP Fuente: https://cakephp.org/files/ScreenMonitorImages/file/0.42976700%201464039417/mycakephp.jpg

2.6 Historia

Como el diseño de la World Wide Web no era intrínsecamente dinámico, el hipertexto inicial consistió en HTML codificado a mano que se publicó en los servidores web. Cualquier modificación a las páginas publicadas debe ser realizada por el autor de las páginas. En 1993, se introdujo el estándar Common Gateway Interface (CGI) para interconectar aplicaciones externas con servidores web, para proporcionar una página web dinámica que reflejara las entradas del usuario. En 1995, surgieron por primera vez entornos completamente integrados de desarrollo de servidor/idioma y se introdujeron nuevos lenguajes específicos para la web, como ColdFusion, PHP y Active Server Pages. Aunque la gran mayoría de los idiomas para crear páginas web dinámicas tienen bibliotecas para ayudar con tareas comunes, las aplicaciones web a menudo requieren bibliotecas específicas para tareas particulares, como la creación de HTML (por ejemplo, JavaServer Faces). A fines de la década de 1990, comenzaron a aparecer marcos maduros de "pila completa", que a menudo reunían varias bibliotecas útiles para el desarrollo web en una única pila de software cohesiva para que los desarrolladores web la usaran. Ejemplos de esto incluyen ASP.NET, Java EE, WebObjects, web2py, OpenACS, Catalyst, Mojolicious, Ruby on Rails, Laravel, Grails, Django, Zend Framework, Yii, CakePHP, y Symfony.


Página 134 de 210

Imagen: Línea de Tiempo de los Frameworks Fuente: https://www.mareosdeungeek.es/wp-content/uploads/2010/02/web-frameworks.jpg

2.7 Aplicaciones Por: Elmer Anscelmo Peinado Tepéu •

Flutter: es el conjunto de herramientas de interfaz de usuario de Google para crear hermosas aplicaciones compiladas de forma nativa para dispositivos móviles , web , de escritorio y integrados a partir de una única base de código.

Ionic: es básicamente una red front-end que ayuda a construir aplicaciones móviles nativas con HTML, CSS3 y Javascript. La ventaja significativa de Ionic es que se pueden utilizar cientos de elementos de interfaz de usuario predeterminados como formularios, filtros, hojas de acción, vistas de lista, barras de pestañas y menú de navegación en su diseño.

React Navite: React Native integra los beneficios de JavaScript y ReactJS proporciona a los desarrolladores la posibilidad de escribir módulos en lenguajes Objective-C, Swift o Java. Otro gran detalle es que proporciona animaciones extremadamente suaves ya que el código se convierte en vistas nativas antes de ser renderizado.

Xamarin: es un Framework propiedad de Microsoft que facilita el desarrollo de las aplicaciones multiplataforma, pudiendo poder aprovechar casi en su totalidad el código de una aplicación a otra.

Native Script: es un framework de código abierto para desarrollar aplicaciones en iOS y Android. Fue ideado y desarrollado por Progress. Las aplicaciones NativeScript


Página 135 de 210

se construyen utilizando lenguajes de programación independientes del dispositivo y sistema operativo como JavaScript o TypeScript.

2.8 Tecnologías 2.8.1 Tecnologías frontend

Frameworks y librerías JavaScript: con el fin de mejorar el desarrollo de JavaScript en

proyectos

grandes,

han

aparecido

frameworks

y

librerías

como Angular, Vuejs y React. El ecosistema JavaScript crece cada año y todos los días se crean nuevas librerías. Una buena referencia para mantenerse actualizados en estos avances es esta guía. También surgen herramientas para poder testear webs

basadas

en

estos

frameworks,

algunos

ejemplos

son Jest, Protactor, Mocha, Karma, Enzyme. •

Frameworks y librerías CSS: al igual que ocurre con JavaScript, tambien surge la aparición de nuevas librerías y frameworks para CSS que permiten gestionar mejor su desarrollo en grandes aplicaciones. Los más conocidos y utilizados son Bootstrap y Material Design, puedes ver más en nuestra entrada de diseño web. También aparecen los denominados preprocesadores, programas que permiten extender las funciones CSS con una sintaxis única que después será transformada al CSS original. Algunos ejemplos son: Sass, Less, Stylus, y PostCSS.

Imagen: Frontend Fuente: https://www.muycomputerpro.com/zona-ticjob/wp-content/uploads/2019/03/FOTO-1FRONTEND.png


Página 136 de 210

2.8.2 Tecnologías backend Lenguajes de scripting: •

Python

Ruby

JavaScript (Nodejs)

PHP

En función del lenguaje existen diferentes frameworks que permiten el desarrollo a gran escala, los más populares en la actualidad son: •

Phoenix (Elixir)

Meteor (JavaScript Nodejs)

Ruby on Rails (Ruby)

Django (Python)

Flask (Python)

Spring Boot y Spring Cloud (Java)

Imagen: Backend Fuente: https://www.muycomputerpro.com/zona-ticjob/wp-content/uploads/2019/04/FOTO-BACKEMD.png


Página 137 de 210

Capítulo III 3.1 Servidor Web Por: Carlos Manuel Lima y Lima Un servidor web es un software que forma parte del servidor y tiene como misión principal devolver información (páginas) cuando recibe peticiones por parte de los usuarios. En otras palabras, es el software que permite que los usuarios que quieren ver una página web en su navegador puedan hacerlo. Para el funcionamiento correcto de un servidor web necesitamos un cliente web que realice una petición http o https a través de un navegador como Chrome, Firefox o Safari y un servidor donde esté almacenada la información. El proceso sería el siguiente: •

• •

Tras la primera consulta por parte del usuario hacia una web, se establece una conexión entre el servidor DNS y el ordenador que realiza la consulta o petición. Este servidor DNS responde con la dirección IP correcta del servidor web donde está alojado el contenido solicitado. El siguiente paso sería solicitar el contenido al servidor web mediante el protocolo HTTP/HTTPS. Una vez que el servidor web ha recibido la solicitud del contenido solicitado por el cliente web, deberá procesar la solicitud hasta encontrar el contenido solicitado dentro del dominio correspondiente. Envía el contenido solicitado al cliente web que lo solicitó.

Imagen: ¿Que es un servidor web?, ¿Que es y para que sirve? Fuente: https://www.webebre.net/que-es-un-servidor-web/

3.2 Conexión De Red SSL, TLS, HTTPS Por: Carlos Manuel Lima y Lima Una conexión de red designa la conexión entre un equipo informático y una red informática. Se puede interpretar en varios niveles correspondientes a las capas bajas del modelo OSI:


Página 138 de 210

Puede tratarse de una conexión física: el equipo considerado está en interacción eléctrica (mediante un cable de red coaxial o de par trenzado) o electromagnética (ondas de radio, infrarrojas, etc.) con los demás equipos de la red.

Puede tratarse de una conexión lógica en el sentido de que los equipos conectados disponen del conjunto de protocolos de red necesario para, una vez activados, comunicarse entre sí. Por ejemplo, el equipo considerado tiene acceso a la red local, y, al activar protocolos superiores, puede conectarse a una red mayor, como Internet.

3.3 Arquitectura De Dos Capas Por: Carlos Manuel Lima y Lima La arquitectura en 2 niveles se utiliza para describir los sistemas cliente/servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud, con sus propios recursos. Esto significa que el servidor no requiere otra aplicación para proporcionar parte del servicio.

3.3.1 Cliente / Servidor La arquitectura cliente-servidor es un modelo de diseño de software en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. Algunos ejemplos de aplicaciones que usen el modelo cliente-servidor son el Correo electrónico, un Servidor de impresión y la World Wide Web. La arquitectura clienteservidor es un modelo de diseño de software en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. Algunos ejemplos de aplicaciones que usen el modelo cliente-servidor son el Correo electrónico, un Servidor de impresión y la World Wide Web.

Imagen: Modelo Cliente Servidor Fuente: https://blog.infranetworking.com/modelo-cliente-servidor/

3.4 Arquitectura De Tres Capas Por: Angelo Javier Pérez Hernández


Página 139 de 210

En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente está compartida por: • •

Un cliente, es decir, el equipo que solicita los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentación. El servidor de aplicaciones (también denominado software intermedio), cuya tarea es proporcionar los recursos solicitados, pero que requiere de otro servidor para hacerlo. El servidor de datos, que proporciona al servidor de aplicaciones los datos que requiere.

3.4.1 Capa De Presentación Presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). También es conocida como interfaz gráfica y debe tener la característica de ser amigable, es decir, entendible y fácil de usar, para el usuario. Esta capa se comunica únicamente con la capa de negocio.

3.4.2 Capa De Negocio Capa donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación.

3.4.3 Capa De Datos Capa donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio. Esta capa se encarga de guardar los datos. También se gestiona todo lo relativo a la base de datos y a la creación, edición y borrado de datos de ésta.

Imagen: Programación Por Capas Fuente: https://es.wikipedia.org/wiki/Programaci%C3%B3n_por_capas


Página 140 de 210

3.5 ¿Qué Es La Seguridad De Sitios Web? Por: Gerardo Adolfo Pérez Tipáz El propósito de la seguridad web es prevenir ataques de esta (o de cualquier otra) clase. Mas formalmente, la seguridad es la acción/práctica de proteger sitios web del acceso, uso, modificación, destrucción o interrupción, no autorizados. La seguridad de sitios web eficaz requiere de esfuerzos de diseño a lo largo de la totalidad del sitio web: en la aplicación web, en la configuración del servidor web, en las políticas para crear y renovar contraseñas, y en el código del lado cliente. La seguridad de la página para evitar virus y ataques por parte de hackers podría ser la diferencia de que se venda o no a través de la página, ya que, aunque muchos de estos ataques no afecten las funcionalidades de la web y hasta pasen desapercibidos por los usuarios, los motores de búsqueda como Google si los perciben. En el momento que esto pasa Google inmediatamente desindexa el sitio web, haciendo la pagina totalmente invisible en internet, lo que genera perdida de potenciales clientes y tráfico. Ademas las secuelas de estos ataques generan que granjas de enlaces (Bakclinks tóxicos) tomen el dominio y afecte de forma negativa el posicionamiento, el cual volver a recuperar te llevara meses o hasta años, dependiendo del nivel del ataque.

Imagen: Seguridad De Páginas Web Fuente: https://www.mdmantenimientoweb.com/seguridad-para-paginas-web/

3.6 Amenazas Contra La Seguridad De Sitios Web Por: Carlos Manuel Lima y Lima

3.6.1 Cross-Site Scripting (XSS) XSS es un término que se usa para describir una clase de ataques que permiten al atacante inyectar scripts de lado cliente, a través del sitio web, hasta los exploradores de otros usuarios. Como el código inyectado va del servidor del sitio al explorador, se supone de confianza, y de aquí que pueda hacer cosas como enviar al atacante la cookie de autorización al sitio del usuario. Una vez que el atacante tiene la cookie pueden iniciar sesión en el sitio como si fuera el verdadero usuario y hacer cualquier cosa que pueda hacer éste.

3.6.2 Cross Site Request Forgery (CSRF) Los ataques de CSRF permiten que un usuario malicioso ejecute acciones usando las credenciales de otro usuario sin el conocimiento o consentimiento de éste.


Página 141 de 210

3.6.3 Clickjacking En este tipo de ataque, el usuario malicioso secuestra las pulsaciones de ratón dirigidas a un sitio visible por encima de los demás y las redirige a una página escondida por debajo. Esta técnica se usaría, por ejemplo, para presentar un sitio bancario legítimo, pero capturar las credenciales de inicio de sesión en un <iframe> invisible controlado por el atacante. Alternativamente podría usarse para conseguir que el usuario pinchara sobre un botón en un sitio visible, pero al hacerlo realmente estuviera sin advertirlo pinchando en otro botón completamente diferente.

3.7 Vulnerabilidad Por: Ricardo Andres Ramírez Dimatteo 3.7.1 Ejecución Remota De Código Esta vulnerabilidad es una de las más conocidas y utilizadas por los hackers. A través de la ejecución de códigos, el pirata cibernético podrá conocer los errores que puede tener el sitio e implantar un malware, que a su vez explotará la vulnerabilidad de la página web y le facilitará al delincuente la ejecución de código de manera remota, trayendo como consecuencia que el hacker tenga el control absoluto sobre el sistema informático de la web.

3.7.2 Inclusión de archivos locales (LFI) e inclusión de archivos remotos (RFI) La vulnerabilidad de inclusión de archivos es un problema que se puede conseguir generalmente afectando las aplicaciones que dependen de un tiempo de ejecución de secuencias de comandos. Esta vulnerabilidad es producida cuando una app web crea una ruta al código ejecutable utilizando una variable controlada por el atacante de una manera que le permite controlar qué archivo se ejecuta en el tiempo de ejecución.

3.7.3 Vulnerabilidad de redirección de URL Esta vulnerabilidad funciona como una aplicación que toma un parámetro específico y redirecciona a los usuarios a sitios sin ninguna validación. Es utilizada ampliamente en los ataques conocidos como phishing, donde los usuarios son engañados y caen dentro de un sitio web malicioso.

3.8 Medidas De Seguridad Para La Web

3.8.1 Protocolo HTTPS El HTTPS es un protocolo de seguridad que permite establecer una conexión segura entre el servidor y la página web. Este sistema encripta los datos que se transmiten para evitar que nadie pueda interceptar. El protocolo HTTPS ha ganado importancia en los últimos años, ya que protege los datos introducidos por los usuarios (correo electrónico, dirección, teléfono o datos bancarios). Contar con este sistema de seguridad es una


Página 142 de 210

manera de cuidar de los usuarios que visitan el sitio web, además de que es un factor recomendado por Google y podría influir en el posicionamiento orgánico de la web.

3.8.2 Contraseñas De Acceso Complejas Esta acción de seguridad es aplicable al login de cualquier plataforma. Los hackers utilizan sistemas que prueban todo tipo de combinaciones hasta encontrar la contraseña correcta. También hay que evitar utilizar la misma contraseña para varias plataformas, ya que una vez descubierta, el hacker tiene acceso a todos estos lugares. Una contraseña mínimamente segura debe tener una longitud considerable (10 o más caracteres), usar tanto letras como números y combinar mayúsculas, minúsculas y caracteres especiales.

3.8.3 Última Versión Del Gestor De Contenidos Otra de las acciones para mejorar la seguridad del sitio web es mantenerlo actualizado a su última versión. Tanto si trabajamos con Wordpress, Prestashop, Drupal o cualquier otro gestor, actualizarlo a su última versión permitirá eliminar posibles vulnerabilidades y hacer frente a nuevos cyberatacs. La actualización a la última versión también tiene otras ventajas por el sitio web, ya que se trata de trabajar con una versión mejorada en todos los ámbitos: mejora de la velocidad web, preparación para SEO, adaptación a móvil, facilidad de administración, etc.

3.8.4 Plantilla En La Última Versión La plantilla del sitio web se refiere al diseño y estructura visual de los diferentes elementos. Si trabajamos con una plantilla comprada (la mayoría de los casos) es necesario renovar las licencias y mantenerla al día siempre que haya una versión actualizada.

3.8.5 Actualización De Módulos/Pluggins De manera similar, los módulos van presentando versiones actualizadas. Algunas de estas actualizaciones son cambios banales, pero hay otras que son mejoras de seguridad: solucionan vulnerabilidades y errores críticos al programa. Algunos ataques cibernéticos aprovechan estos "agujeros de seguridad" para introducir malware, robar la identidad o atacar el sistema.


Página 143 de 210 Imagen: Medidas Para Mantener Segura Tu Identidad Y Tus Datos En Internet Fuente: https://www.redeszone.net/2018/11/13/10-medidas-mantener-segura-identidad-datos-internet/

3.9 Herramientas De Testeo Para la Web Por: Jefry Adolfo Ramírez Solorzano

3.9.1 Inyección SQL La inyección de SQL es un tipo de ciberataque encubierto en el cual un hacker inserta código propio en un sitio web con el fin de quebrantar las medidas de seguridad y acceder a datos protegidos. Una vez dentro, puede controlar la base de datos del sitio web y secuestrar la información de los usuarios. Los ataques de inyección SQL aprovechan errores de diseño habituales en las aplicaciones web y sigue siendo un método fácil y eficaz de ataque cibernético. La amenaza de las inyecciones SQL representa un grave problema de seguridad relacionado con bases de datos para las organizaciones, ya que actualmente es el vector de ataque de uso más extendido entre los piratas informáticos para poner en peligro los sitios web.

3.9.2 Denegación De Servicios Es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la conectividad con la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema atacado. Los ataques DoS se generan mediante la saturación de los puertos con múltiples flujos de información, haciendo que el servidor se sobrecargue y no pueda seguir prestando su servicio. Por eso se le denomina denegación, pues hace que el servidor no pueda atender la cantidad enorme de solicitudes. Esta técnica es usada por los crackers o piratas informáticos para dejar fuera de servicio servidores objetivo.

3.9.3 Inyección De Comandos El propósito del ataque de inyección de comandos es inyectar y ejecutar comandos especificados por el atacante en una aplicación vulnerable. En situaciones como ésta, la solicitud que ejecuta los comandos no deseados del sistema, es como un shell del sistema, y el atacante puede hacerse pasar por cualquier usuario del sistema autorizado. Sin embargo, los comandos se ejecutan con los mismos privilegios y en el mismo entorno de la aplicacion. Los ataques de inyección de comandos son posibles en la mayoría de los casos debido a la falta de la correcta validación de datos entrada, que pueden ser manipulados por el atacante (formularios, cookies, encabezados HTTP, etc.)


Página 144 de 210

Imagen: ¿Qué es la inyección de SQL y cómo funciona? Fuente: https://www.avast.com/es-es/c-sql-injection


Página 145 de 210

Capítulo IV 1.1 IONIC Por: Elmer Peinado Tepéu Ionic Framework es un SDK de frontend de código abierto para desarrollar aplicaciones híbridas basado en tecnologías web. Su compatibilidad y, gracias a la implementación de Cordova e Ionic Native, hacen posible trabajar con componentes híbridos. Este framework fue creado en 2013 por Drifty Co. y hasta la llegada de React Native ha sido una de las tecnologías líderes para el desarrollo de aplicaciones móviles híbridas.

Imagen: Ionic Framework Fuente: https://ionicframework.com/img/meta/ionic-framework-og.png

1.1.1 Configuración de entorno de Trabajo Componentes necesarios para comenzar con Ionic. NodeJS Esta es la plataforma base necesaria para crear aplicaciones móviles con Ionic . Puede encontrar detalles sobre la instalación de NodeJS en Configuración del entorno NodeJS . Asegúrese de instalar también npm mientras instala NodeJS. SDK de Android Si va a trabajar en una plataforma Windows y está desarrollando sus aplicaciones para la plataforma Android, entonces debe tener la configuración del SDK de Android en su máquina. El siguiente enlace contiene información detallada sobre la configuración del entorno Android . Cordova e Ionic Estos son los principales SDK necesarios para comenzar a trabajar con Ionic. Este capítulo explica cómo configurar Ionic en un simple paso, suponiendo que ya tenga la configuración requerida como se explica en la tabla anterior. Utilizaremos el símbolo del sistema de Windows. Abra su ventana de comandos para instalar Cordova e Ionic -


Página 146 de 210

C:\Users\Username> npm install -g cordova ionic

1.1.2 Línea de comandos Los comandos principales que usabas en desarrollo ahora pasan a tener el nombre de la plataforma delante, es decir, para móvil tienes los siguientes cambios:

Comandos guiados Ahora muchos de los comandos te facilitan un guiado en caso de que te falte alguna dependencia o lo hayas introducido incompleto. Por ejemplo, si creas un proyecto nuevo y lo intentas compilar para iOS o Android, la CLI te indica que te falta el plugin @ionic/cli-plugin-cordova. Además, se ofrece a instalarlo por ti.

Fuente de imágenes: http://blog.enriqueoriol.com/2017/05/ionic-cli-v3-lo-debes-saber.html

1.1.3 Archivo config.xml Muchos aspectos del comportamiento de una aplicación pueden controlarse con un archivo de configuración global, config.xml. Este archivo XML independiente de la plataforma se arregla basado en la especificación del W3C Empaquetado aplicaciones Web (Widgets) y extendido a especificar funciones API Cordova centrales, plugins y configuración específica de la plataforma. Para los proyectos creados con la CLI Cordova (descrito en la interfaz de línea de comandos), este archivo puede encontrarse en el directorio de nivel superior: app/config.xml


Página 147 de 210

Fuente: https://image.slidesharecdn.com/diapositivas-171109095833/95/ionic-el-framework-para-crearaplicaciones-hbridas-multiplataforma-26-638.jpg?cb=1510224557

1.1.4 Emulación app Android, IOS, Windows Android Requisitos y apoyo Cordova para Android requiere el SDK de Android que puede ser instalado en sistema operativo OS X, Linux o Windows. Consulte del SDK de Android requisitos del sistema. Cordova soporta Android 4.0 (empezando por Android API nivel 14) y superiores. Como regla general, las versiones de Android se convierten soportadas por Cordova como sumergen por debajo del 5% en del Google tablero de distribución. Las versiones de Android antes de las API de nivel 10, y las versiones 3.x (panal, los niveles API 11-13) caen significativamente por debajo de ese umbral de 5%

Fuente: https://ionicframework.com/docs/assets/img/guides/first-app-cap-ng/android-permissionsphoto.png

IOS Requisitos y apoyo Apple ® herramientas necesarias para crear aplicaciones de iOS ejecutar sólo en el sistema operativo OS X Macs basados en Intel. Xcode ® 6.0 (la versión mínima requerida) se ejecuta en OS X versión 10.9 (Mavericks) o mayor e incluye el iOS 8 SDK (Software Development Kit). Presentar aplicaciones para el Apple App Store℠ requiere las últimas versiones de las herramientas de Apple. Muchas de las características de Cordova usando el emulador de iOS instalado con el iOS SDK y Xcode puede probar, pero necesitas un dispositivo real para completamente todas las características de la aplicación dispositivo de prueba antes de presentar a la App Store.


Página 148 de 210

El dispositivo debe tener por lo menos iOS 6.x instalado, la versión de iOS mínimo apoyado desde Cordova 3.0. Dispositivos de apoyo incluyen todos iPad ® modelos, iPhone ® 3GS y arriba y iPod ® Touch de 3ª generación o posterior. Para instalar aplicaciones en un dispositivo, también debe ser un miembro de Apple iOS Developer Program, que cuesta $99 por año. Esta guía le muestra cómo implementar aplicaciones para el emulador de iOS, para lo cual no debes registrarte con el programa de desarrolladores. Las herramientas ios-sim y ios-deploy - le permiten lanzar aplicaciones iOS en el simulador de iOS y dispositivo iOS desde la línea de comandos.

Fuente: https://i.imgur.com/ZRmzznn.png?1

Windows Muestra cómo utilizar herramientas shell para generar y construir aplicaciones o plataformas Cordova CLI discute en la interfaz de línea de comandos. (Véase la introducción para una comparación de las opciones de desarrollo.) Esta sección también muestra cómo modificar Cordova aplicaciones dentro de Visual Studio. Independientemente de qué enfoque tomar, es necesario instalar el SDK de Visual Studio, como se describe a continuación. Consulte actualización de Windows 8 para obtener información sobre cómo actualizar los proyectos existentes de Windows 8 Cordova. Ventana teléfono 8 (wp8) permanece como una plataforma independiente, consulte Windows Phone 8 Platform Guide para obtener más detalles. Cordova WebViews corriendo en Windows dependen de Internet Explorer 10 (Windows 8.0) y Internet Explorer 11 (8.1 de Windows y Windows Phone 8.1) como su motor de renderizado, así como en la práctica puede utilizar a potente depurador de IE para probar cualquier contenido web que no invoca Cordova APIs. El Blog de desarrolladores de Windows Phone proporciona una guía útil sobre cómo Soporte IE junto con navegadores WebKit comparables.

Fuente: http://mspoweruser.com/wp-content/uploads/2016/03/windows-phone-ionic-2.jpg


Página 149 de 210

1.1.5 Home HTML Por: César Antonio Ramírez Velásquez Como punto de partida para su aplicación.

1.1.6 Archivos SCSS Scss: dado que Ionic core está construido con Sass, esta es la carpeta donde se encuentra su archivo Sass. Para simplificar el proceso. Nuestro estilo se hará usando CSS.

1.1.7 Tabs Ionic pestañas Ionic se usan la mayor parte del tiempo para la navegación móvil. El estilo está optimizado para diferentes plataformas. Esto significa que en los dispositivos Android, las pestañas se colocarán en la parte superior de la pantalla, mientras que en IOS estará en la parte inferior. Hay diferentes formas de crear pestañas. Pestañas simples El menú de pestañas simples se puede crear con una clase de pestañas. Para el elemento interno que está usando esta clase, necesitamos agregar elementos de tabulación.

Agregar iconos Ionic ofrece clases para agregar íconos a las pestañas. Si desea que sus pestañas tengan iconos sin texto, se debe agregar una clase de solo pestañas después de la clase de pestañas. Por supuesto, debe agregar los íconos que desea mostrar.

También puede agregar íconos y texto juntos. Las pestañas-icon-top y tabs-icon-left son clases que colocarán el icono arriba o en el lado izquierdo respectivamente. La


Página 150 de 210

implementación es la misma que en el ejemplo anterior, solo agregaremos una nueva clase y texto que queremos usar.

Pestañas a rayas Las pestañas con rayas se pueden crear agregando un contenedor alrededor de nuestras pestañas con la clase de pestañas con rayas. Esta clase permite el uso del fondo de pestañas y los prefijos de color de pestañas para agregar algunos de los colores Ionic al menú de pestañas. En el siguiente ejemplo, utilizaremos la clase tabs-background-positive (azul) para diseñar el fondo de nuestro menú, y la clase tabs-color-light (blanco) para diseñar los iconos de las pestañas.

1.1.8 Template Ionic Al crear aplicaciones en Ionic, puede elegir entre las siguientes tres opciones para comenzar: • • •

Aplicación de pestañas Aplicación en blanco Aplicación de menú lateral

En la ventana de comandos, abra la carpeta donde desea crear la aplicación y pruebe una de las opciones que se mencionan: Si desea utilizar la plantilla de pestañas Ionic, la aplicación se creará con el menú de pestañas, el encabezado y un par de pantallas y funcionalidades útiles. Esta es la plantilla


Página 151 de 210

de Ionic predeterminada. Abra la ventana de comandos y elija dónde desea crear su aplicación. C:\Users\Username> cd Desktop Este comando cambiará el directorio de trabajo. La aplicación se creará en el escritorio. C:\Users\Username\Desktop> ionic start myApp tabs Ionic comando Ionic Start creará una carpeta llamada myApp y configurará los archivos y carpetas Ionic. C:\Users\Username\Desktop> cd myApp Ahora, queremos acceder a la carpeta myApp que acabamos de crear. Esta es nuestra carpeta raíz. Agreguemos ahora el proyecto Cordova para la plataforma Android e instale también los complementos básicos de Cordova. El siguiente código nos permite ejecutar la aplicación en el emulador de Android o en un dispositivo. C:\Users\Username\Desktop\myApp> ionic platform add android El siguiente paso es construir la aplicación. Si tiene errores de compilación después de ejecutar el siguiente comando, probablemente no instaló el SDK de Android y sus dependencias. C:\Users\Username\Desktop\myApp> ionic build android

1.1.9 Button Por: Keneth Enríque Reyes Domínguez Hay varios tipos de botones en Ionic Framework y estos botones están sutilmente animados, lo que mejora aún más la experiencia del usuario al usar la aplicación. La clase principal para todos los tipos de botones es button. Botones de bloqueo Los botones de bloqueo siempre tendrán el 100% del ancho de su contenedor principal. También tendrán un pequeño relleno aplicado.

Tamaño del botón Hay dos clases de Ionic para cambiar el tamaño del botón: • •

botón pequeño botón grande.


Página 152 de 210

Colores de botones Si desea darle estilo a su botón, solo necesita agregarle la clase de color adecuada. Cuando diseñe sus elementos, debe agregar su clase de elemento principal como prefijo a su clase de color.

Contorno del botón Si desea que sus botones sean transparentes, puede aplicar la clase de contorno de botones. Los botones con esta clase tendrán un borde de contorno y un fondo transparente.

Agregar iconos Cuando desee agregar iconos a sus botones, la mejor manera es usar la clase de iconos. Puede colocar el ícono a un lado del botón usando el ícono a la izquierda o el ícono a la derecha.

Barra de botones


Página 153 de 210

Si desea agrupar un par de botones, puede usar la clase de barra de botones. Los botones tendrán el mismo tamaño por defecto.

1.1.10

Colores y Estilos

Ionic marco Ionic nos da un conjunto de nueve clases de color predefinidas. Puede usar estos colores o puede anularlo con su propio estilo. La siguiente tabla muestra el conjunto predeterminado de nueve colores proporcionado por Ionic. Usaremos estos colores para diseñar diferentes elementos Ionic en este tutorial. Por ahora, puede verificar todos los colores como se muestra a continuación:

Fuente: https://es.it-brain.online/tutorial/ionic/ionic_colors/ Uso de color Ionic Ionic hace uso de diferentes clases para cada elemento. Por ejemplo, un elemento de encabezado tendrá una clase de barra y un botón tendrá una clase de botón. Para simplificar el uso, utilizamos diferentes colores al prefijar la clase de elemento en un nombre de color. Por ejemplo, para crear un encabezado de color azul, utilizaremos una barra de calma de la siguiente manera:

También puede usar la clase de color Ionic como cualquier otra clase de CSS. Ahora vamos a diseñar dos párrafos con un color equilibrado (verde) y un color energizado (amarillo).


Página 154 de 210

Fuente: https://es.itbrain.online/img/ionic/3e2d945f2759483b8f8a4a5d6be06abe454b2d7eac03870f2da452bda0c1fdc3.jpg

1.1.11

Cards con Imágenes

Dado que los dispositivos móviles tienen un tamaño de pantalla más pequeño, las tarjetas son uno de los mejores elementos para mostrar información que resulte fácil de usar. Agregar tarjetas Se puede crear una tarjeta predeterminada agregando una clase de tarjeta a su elemento. Las tarjetas generalmente se forman como listas con la clase de elemento. Una de las clases más útiles es el item-text-wrap. Esto ayudará cuando tenga demasiado texto, por lo que desea envolverlo dentro de su tarjeta.

Tarjeta completa Puede agregar cualquier elemento en la parte superior de su tarjeta. En el siguiente ejemplo, le mostraremos cómo usar la clase de imagen completa junto con el cuerpo del elemento para obtener una imagen de ventana atractiva dentro de su tarjeta.

1.1.12

Listas y *ngFor


Página 155 de 210

Las listas son uno de los elementos más populares de cualquier aplicación web o móvil. Suelen utilizarse para mostrar diversa información. Se pueden combinar con otros elementos HTML para crear diferentes menús, pestañas o para romper la monotonía de los archivos de texto puro. Ionic marco Ionic ofrece diferentes tipos de listas para facilitar su uso. Crear lista Ionic Cada lista se crea con dos elementos. Cuando desee crear una lista básica, su etiqueta <ul> debe tener asignada la clase de lista, y su etiqueta <li> usará la clase de elemento. Otra cosa interesante es que ni siquiera necesita usar etiquetas <ul>, <ol> y <li> para sus listas. Puede usar cualquier otro elemento, pero lo importante es agregar listas y clases de elementos adecuadamente.

Divisores de artículos Los divisores se usan para organizar algunos elementos en grupos lógicos. Ionic nos da una clase de divisor de elementos para esto. Nuevamente, al igual que con todos los demás elementos

Ionic, solo necesitamos agregar la clase de divisor de elemento después de la clase de elemento.

Fuente de imágenes: https://es.it-brain.online/tutorial/ionic/ionic_lists/

1.1.13

NavController

NavController es la clase base para los componentes del controlador de navegación como Navy Tab. Utiliza los controladores de navegación para navegar a las páginas de su aplicación. En un nivel básico, un controlador de navegación es un conjunto de páginas que representan un historial particular (de una pestaña, por ejemplo). Esta matriz se puede manipular para navegar por una aplicación presionando y abriendo páginas o insertándolas y eliminándolas en ubicaciones arbitrarias en el historial.


Página 156 de 210

Fuente: http://mcgivery.com/wp-content/uploads/2015/12/stack.png https://ionicframework.com/docs/v3/api/navigation/NavController/

1.1.14

Listas dinámicas

Listas con iconos Ya le mostramos cómo agregar íconos a sus botones. Al agregar íconos a los elementos de la lista, debe elegir en qué lado desea colocarlos. Hay clases item-icon-left e item-iconright para esto. También puede combinar esas dos clases, si desea tener sus iconos en ambos lados. Finalmente, existe la clase item-note para agregar una nota de texto a su elemento.

Agregar avatares y miniaturas Los avatares y las miniaturas son similares. La principal diferencia es que los avatares son más pequeños que las miniaturas. Estas miniaturas cubren la mayor parte de la altura completa del elemento de la lista, mientras que los avatares son imágenes circulares de tamaño mediano. Las clases que se utilizan son item-avatar y item-thumbnail. También puede elegir en qué lado desea colocar sus avatares y miniaturas como se muestra en el siguiente ejemplo de código de miniatura.


Página 157 de 210

Fuente de imágenes: https://es.it-brain.online/tutorial/ionic/ionic_lists/

1.1.15

Navigation

Esta guía cubre cómo funciona el enrutamiento en una aplicación creada con Ionic y Angular. El enrutador angular es una de las bibliotecas más importantes en una aplicación angular. Sin él, las aplicaciones serían aplicaciones de vista única / contexto único o no podrían mantener su estado de navegación en las recargas del navegador. Con Angular Router, podemos crear aplicaciones ricas que se pueden vincular y tienen animaciones ricas (cuando se combinan con Ionic, por supuesto). Veamos los conceptos básicos del enrutador angular y cómo podemos configurarlo para aplicaciones Ionic. Una ruta sencilla Para la mayoría de las aplicaciones, a menudo se requiere tener algún tipo de ruta. La configuración más básica se parece un poco a esto:

Fuente: https://ionicframework.com/docs/angular/navigation

1.1.16

Grid

Trabajar con el sistema de cuadrícula Ionic es sencillo. Hay dos clases principales: fila para trabajar con filas y columna para columnas. Puede elegir tantas columnas o filas como desee. Todos ellos ajustarán su tamaño para acomodar el espacio disponible, aunque puede cambiar este comportamiento para satisfacer sus necesidades. Rejilla simple


Página 158 de 210

El siguiente ejemplo muestra cómo usar las clases col y row. Crearemos dos filas. La primera fila tendrá cinco columnas y la segunda tendrá solo tres. Observe cómo el ancho de las columnas es diferente en la primera y segunda fila.

Tamaños de columna A veces no desea dejar los tamaños de columna asignados automáticamente. Si este es el caso, puede elegir el prefijo col seguido de un número que representará un porcentaje del ancho de la fila. Esto se aplicará solo a la columna con un tamaño específico aplicado. Las otras columnas se ajustarán al espacio disponible que queda. En el siguiente ejemplo, la primera columna usará el 50 por ciento del ancho completo y las otras se ajustarán en consecuencia.

Cuadrícula receptiva La rejilla Ionic también se puede utilizar para un diseño receptivo. Hay tres clases disponibles. La clase responsive-sm colapsará las columnas en una sola fila cuando la ventana gráfica sea más pequeña que un teléfono horizontal. La clase responsive-md se aplicará cuando la ventana gráfica sea más pequeña que una tableta vertical. La clase responsive-lg se aplicará cuando la ventana gráfica sea más pequeña que una tableta horizontal.


Página 159 de 210

Fuente de imágenes: https://es.it-brain.online/tutorial/ionic/ionic_grid/

1.1.17

Form

Por: Jorge Mario Reyes Gutierrez Ionic formas Ionic se utilizan principalmente para interactuar con los usuarios y recopilar la información necesaria. Este capítulo cubrirá varios formularios de entrada de texto y en nuestros capítulos posteriores, explicaremos cómo usar otros elementos de formulario utilizando el marco Ionic. Usar formulario de entrada La mejor manera de usar formularios es usar list y item como sus clases principales. Su aplicación generalmente constará de más de un elemento de formulario, por lo que tiene sentido organizarla como una lista. En el siguiente ejemplo, puede observar que el elemento del elemento es una etiqueta.

Etiquetas Ionic Ionic ofrece algunas otras opciones para su etiqueta. Puede usar la clase input-label, si desea que su marcador de posición esté en el lado izquierdo cuando escriba el texto.


Página 160 de 210

Etiqueta apilada La etiqueta apilada es la otra opción que permite mover su etiqueta en la parte superior o inferior de la entrada. Para lograr esto, agregaremos la clase item-stacked-label a nuestro elemento label y necesitamos crear un nuevo elemento y asignarle la clase inputlabel. Si queremos que esté arriba, solo necesitamos agregar este elemento antes de la etiqueta de entrada. Esto se muestra en el siguiente ejemplo.

Entradas insertadas En nuestro último capítulo, discutimos cómo insertar elementos Ionic. También puede insertar una entrada agregando la clase item-input-inset a su elemento y el elementoinput-wrapper a su etiqueta. Un Wrapper agregará un estilo adicional a su etiqueta. Si agrega otros elementos al lado de su etiqueta, el tamaño de la etiqueta se ajustará para acomodar el nuevo elemento. También puede agregar elementos dentro de su etiqueta (generalmente iconos).


Página 161 de 210 Fuente de imágenes: https://es.it-brain.online/tutorial/ionic/ionic_forms/

1.1.18

Alertas

Una alerta es un cuadro de diálogo que presenta información a los usuarios o recopila información del usuario mediante entradas. Aparece una alerta en la parte superior del contenido de la aplicación y el usuario debe descartarla manualmente antes de que pueda reanudar la interacción con la aplicación. También puede tener opcionalmente un header, subHeadery message. Personalización

Alert utiliza la encapsulación de ámbito, lo que significa que aplicará automáticamente el ámbito de su CSS añadiendo cada uno de los estilos con una clase adicional en tiempo de ejecución. Anular los selectores de ámbito en CSS requiere un selector de mayor especificidad.

Fuente de imágenes: https://ionicframework.com/docs/api/alert


Página 162 de 210

Estructura de Datos

Sexto Grado


Página 163 de 210

Capítulo I 1. MY SQL (GRÁFICO/CONSOLA): Por: Mario Adolfo Rivera Ramírez MySQL es el sistema gestor de bases de datos más extendido y utilizado en cualquier proyecto IT, y no sólo en Desarrollo Web. De hecho, MySQL se esconde detrás de la letra M

del

acrónimo

independientemente

LAMP, del

uno

de

alcance

los y

entornos caso

más de

extendidos uso.

Por

actualmente, este

motivo,

Figura 1: imagen de MySQL Fuente: https://i0.wp.com/www.spek-regg.com/wp-content/uploads/2006/07/mysqllogo.jpg?fit=1020%2C426&ssl=1

los desarrolladores tienen a su disposición diversas herramientas que ofrecen una interfaz gráfica de ventana para facilitar la administración de las bases de datos MySQL. En este artículo, descubrirás los mejores programas con interfaz gráfica (conocidos como GUI, Graphic User Interface) para administrar MySQL desde diferentes sistemas operativos.

1.1

Entorno De Trabajo MySQL Workbench es el entorno integrado oficial de MySQL. Fue desarrollado por MySQL AB, y permite a los usuarios administrar gráficamente las bases de datos MySQL y diseñar visualmente las estructuras de las bases de datos. MySQL


Página 164 de 210

Workbench reemplaza el anterior paquete de software, MySQL GUI Tools. Similar a otros paquetes de terceros, pero aún considerado como el front end autorizado de MySQL, MySQL Workbench permite a los usuarios administrar el diseño y modelado de bases de datos, el desarrollo de SQL (reemplazando al MySQL Query Browser) y la administración de bases de datos (reemplazando al MySQL Administrator).

MySQL Workbench está disponible en dos ediciones, la habitual Edición

Figura 2: Ejemplo del entorno de trabajo de MySQL Fuente: https://ubunlog.com/wp-content/uploads/2019/02/workbench-mysql-featured.png

Comunitaria gratuita y de código abierto que puede descargarse del sitio web de MySQL, y la Edición Estándar patentada que amplía y mejora el conjunto de características de la Edición Comunitaria.

1.2

Instalación: Lo primero que tendremos que hacer por supuesto, es instalar la herramienta principal, el motor de bases de datos y también vamos a provechar para instalar el cliente para la gestión de las bases de datos. Para descargarlo tendremos que dirigirnos a su sitio web oficial, y en su página principal, pulsamos sobre “MySQL Comunnity Server”. En cualquier caso, tendremos que dirigirnos a la zona inferior de la nueva página y seleccionar la plataforma en la que deseamos instar MySQL. Por supuesto, será en Windows. Luego, tendremos que pulsar sobre la opción principal de “MySQL Installer for Windows”.


Página 165 de 210

Figura 3: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wpcontent/uploads/2018/12/instalar-mysql-enwindows-10-paso-01.png

Este procedimiento será idéntico en cualquiera de los sistemas operativos que tengamos. Ahora tendremos una página muy similar a la anterior en donde tendremos que seleccionar de nuevo el tipo de sistema que tenemos y pulsaremos sobre “Windows (x86, 32-bit), MSI Installer”. La diferencia entre las dos versiones que hay es que en una descargaremos los ficheros desde Internet durante la instalación, y la otra será el paquete completo.


Página 166 de 210 Figura 4: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-02.png

Esta versión que podemos ejemplificar es la 8.0.13. Antes de comenzar la descarga, nos aparecerá una página para que nos suscribamos o iniciemos sesión, en principio no es necesario de hacer esto, por lo que vamos al enlace de

la

zona

inferior

y

pulsamos

sobre

él.

Figura 5: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-03.png

Antes del proceso de instalación, recomendamos tener nuestro sistema operativo, sea el que sea, actualizado, para evitar errores de última hora. Una vez descargado el paquete, procedemos a su ejecución, para que dé comienzo el asistente de instalación. Como queremos instalar tanto el Server como el Workbench, podremos optar por dos posibilidades. Pulsar sobre “Developer Default” que instalará


Página 167 de 210

automáticamente todo lo necesario para la creación y gestión de bases de datos. Para usuario que estén comenzando, recomendamos esta opción, ya que instalara MySQL de forma completa con información extra y todo tipo de soporte disponible. Si le damos a la opción de “Custom” tendremos bastantes opciones parar elegir. Esta opción está dirigida a usuarios que ya cuenta con experiencia trabajando en otros gestores de bases de datos. Vamos a ver un poco las opciones principales de instalación: MySQL Servers: esta será la herramienta principal y básica si deseamos utilizar nuestro equipo para convertirlo en un servidor y gestor de bases de datos. En nuestro caso vamos a instalar este paquete, para poder realizar la conexión luego mediante el cliente. Por tanto, desplegamos toda la lista del apartado, y pulsamos en la flecha para mover la

opción hacia a derecha.

Figura 6: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-04.png

MySQL Workbench: Estará situada en el apartado de “Applications” y cliente de MySQL. Procedemos igual que en el punto anterior.

será nuestro


Página 168 de 210

Figura 7: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-05.png

MySQL Connections: Esta opción irá en función de las conexiones que nosotros queramos realizar. Según los clientes y los lenguajes de programas que vayamos a utilizar. Lo mejor será instalar todos esto paquetes por si en un futuro necesitamos alguno de ellos. Debemos tomar en cuenta que para instalar la conexión a Pyton, tendremos que tener instalado el paquete correspondiente del lenguaje de programación en nuestro sistema. Documentación: En este último apartado, podremos agregar información sobre cómo utilizar MySQL y ejemplos de ayuda. Cuando tengamos los paquetes elegidos, tanto en el método anterior como en este pulsaremos “Next” y luego en la siguiente pantalla “Execute”. Para prácticamente todas las aplicaciones será necesario tener el paquete de Microsoft Visual C++ 2015 instalado. Aunque esta se instalará automáticamente cuando el proceso comience.


Página 169 de 210

Figura 8: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-05.png

En cualquier caso, la preparación para la instalación de paquetes comenzará hasta que nos aparezca todo como “INSTL DONE” Como vemos, Visual Studio no se ha instalado, y esto se debe a que también necesitamos tener el paquete de Microsoft previamente instalado en el equipo. Pulsamos en “Next”.


Página 170 de 210 Figura 9: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-08.png

En este siguiente paso, ya sí efectuaremos en proceso de instalación. Nos aparecerá antes un mensaje emergente en el que simplemente pulsamos en “Yes” para continuar. Seguidamente aparecerá una lista de os programas que se van a instalar. Nuevamente pulsamos en “Execute”.

Figura 10: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-09.png

Finalizada la instalación de los módulos será turno de proceder a una configuración inicial antes de ejecutar los correspondientes servicios. Pulsamos “Next” y elegimos la primera opción “Standalone MySQL Server/Classic MySQL Replication”.


Página 171 de 210

Figura 11: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-09.png

Por: Pablo Andrés Say La siguiente pantalla es importante, ya que necesitaremos configurar algunos parámetros como el tipo de equipo que tendremos para SQL, además de protocolos y puertos TCP por donde se efectuarán las conexiones remotas al servidor SQL. Para la configuración de tipo de ordenador tendremos tres opciones distintas: Development Computer: Está orientado a ser un equipo en el que está instalado el servidor SQL, pero también el cliente para las consultas de bases de datos. Si nuestro equipo es doméstico y trabajamos de forma normal en él está será la opción que debemos elegir. Server Computer: Esta segunda opción será orientada a ordenadores utilizados para funciones de servidor, por ejemplo, servidor web con bases de datos. Dedicated Computer: La tercera opción es para el caso en que queremos crear un equipo solo y exclusivamente orientado a bases de datos. Por ejemplo, una máquina virtual en la que se almacenen nuestras bases de datos. La siguiente opción que tendremos que elegir es la del puerto TCP que utilizaremos para conexiones remotas. Por defecto es el 3306. La opción que marquemos aquí será el puerto que tendremos que abrir en nuestro router para establecer las conexiones remotas.


Página 172 de 210

El resto de opciones recomendamos dejarlas por defectos tal y como están.

Figura 12: Ejemplo del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-11.png

A continuación, debemos elegir la contraseña para conectarnos en el servidor SQL. Esta configuración la podremos modificar en cualquier momento desde el propio servidor. No será necesario definir un usuario específico para administrar la base de datos, ya que por defeco será el usuario root.


Página 173 de 210

Figura 12: Ejemplo de configuración del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-12.png

Finalmente configuraremos el nombre del servicio para MySQL y las preferencias generales en cuando a inicio del demonio y el uso de cuentas de usuario.

Figura 13: Ejemplo de configuración del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-13.png


Página 174 de 210

Para finalizar, en la última pantalla pulsamos en “Execute” para ejecutar las acciones y activar los servicios correspondientes en el sistema. Todo debería de haberse completado correctamente. En caso de no ser así, veremos una x roja en el elemento de la lista y tendremos que ver el log de error para saber más información acerca de este.

Figura 14: Ejemplo de configuración del instalador de MySQL. Fuente: https://www.profesionalreview.com/wp-content/uploads/2018/12/instalar-mysql-enwindows-10-paso-13.png

Por: Angel Manuel Suchite Flores Si hemos instalado otros elementos extras como los ejemplos, también necesitaremos configurarlos. Lo único que tendremos que hacer será conectar con el servidor mediante el usuario root y la contraseña que hayamos definido anteriormente


Página 175 de 210

Figura 16: Ejemplo de configuración del instalador de MySQL. Fuente: https://oscarabadfolgueira.com/wp-content/uploads/2017/01/crear-base-de-datosmysql-desde-consola-01.png

De esta forma habremos finalizado el proceso para instalar MySQL en Windows 10.

1.3

Crear Base De Datos:

Por: Joshua Isaac Yoc Chajón Para realizar una base de datos desde la consola, debemos hacer los siguientes pasos:

Es

posible

que

no

tengas

contraseña

si

estás

utilizando

algún

paquete

como XAMPP o similar. En ese caso bastaría con poner el siguiente comando:


Página 176 de 210

Si al7ejecutar el comando mysql te un error de que no encuentra el programa, tendrás que ejecutarlo directamente en la ruta en la que está ubicado o añadir esa ruta para que podamos ejecutarlo desde cualquier directorio de nuestro disco. Si

estás

utilizando

XAMPP

en

un

ordenador

MAC,

la

ruta

es:

/Applications/XAMPP/xamppfiles/bin/mysql Pero cada sistema operativo es diferente y si no utilizas XAMPP tendrás que buscar la ubicación de mysql en tu disco. Bien, ahora ya podemos ejecutar comandos mysql ya que tendrás a la vista algo similar a lo siguiente:

Ahora llega el momento de crear una nueva base de datos mysql y a estas alturas ya debemos tener claro el nombre que le vamos a dar a nuestra nueva base de datos. Para este ejemplo yo voy a crear una base de datos llamada "alumnos". No nos entretenemos más y vamos a lo que vamos. Para crear la base de datos "alumnos" introducimos el siguiente comando:

Ahora debemos seleccionar la base de datos que vamos a utilizar Esto es algo sencillo pero necesario. Para que mysql sepa a qué base de datos nos vamos a referir cuando introduzcamos los comandos, debemos indicárselo mediante el comando: USE tabla Por: Maria Fernanda Xunic Jutzuy Por consiguiente, para el ejemplo que nos ocupa introducimos el siguiente comando para usar la base de datos "alumnos":


Página 177 de 210

Ahora vamos a crear una tabla porque sin tablas, la base de datos no nos sirve de mucho la verdad. Para este ejemplo voy a crear una tabla muy sencilla simplemente para que veáis cómo funciona el asunto. Mi tabla alumnos sólo tendrá dos campos: Nombre y edad. No quiero liarlo mucho y prefiero que quede bastante claro. Entonces, siguiendo un modelo sencillo, estos serían los campos que voy a crear en la tabla: nombre --> VARCHAR (30) edad --> INT Ahora que ya lo tenemos claro vamos a crear la tabla con el comando "CREATE TABLE"

de

la

siguiente

forma:

Ahora comprobaremos la tabla creada. Este paso no es necesario, pero si aconsejable ya que salimos de dudas en cuanto a que se ha creado nuestra tabla, si

es

que

teníamos

alguna

duda.

Para comprobar los campos de la tabla que acabamos de crear podemos utilizar el comando DESCRIBE con el nombre de la tabla que queremos comprobar. Por lo tanto,

para

nuestro

ejemplo

ejecutamos

el

comando:

El resultado de este comando será el siguiente, y así es como nosotros podemos crear una tabla con campos en MySQL:


Página 178 de 210

Figura 17: Ejemplo de vista de código de creación de tabla en MySQL. Fuente: https://oscarabadfolgueira.com/wp-content/uploads/2017/01/crear-base-de-datosmysql-desde-consola-04.png

1.4

Llave Primaria:

Por: Josué Daniel Velásquez Chitay La clave primaria se utiliza para identificar en forma única cada línea en la tabla. Puede ser parte de un registro real, o puede ser un campo artificial (uno que no tiene nada que ver con el registro real). Una clave primaria puede consistir en uno o más campos en una tabla. Cuando se utilizan múltiples campos como clave primaria, se los denomina claves compuestas.

Tenemos un ejemplo para mostrar como agregar una llave primaria: A continuación, se presenta el ejemplo para la especificación de una clave primaria

1.5

al

modificar

una

tabla:

Llave Foránea: Una llave foránea (Foreign Key) es una limitación referencial entre dos tablas. La clave foránea identifica un campo en una tabla (tabla hija o referendo) que se refiere a un campo de otra tabla (tabla padre o referenciada). El campo en la tabla padre debe ser clave primaria y un registro en la tabla hija no puede contener valores que no existen en la tabla padre.


Página 179 de 210

Las referencias son creadas para vincular o relacionar información. Esto es una parte esencial de la normalización de base de datos. A continuación, se muestran las condiciones para vincular dos tablas con FOREIGN KEY: Las definiciones de claves foráneas están sujetas a las siguientes condiciones:

-El FOREIGN KEY se define en el momento que se crean las tablas de la base datos, dentro de la sentencia CREATE TABLE. -Ambas tablas deben ser InnoDB y no deben ser tablas temporales. -La tabla padre (tabla referenciada) debe crearse primero y el campo a utilizar para la relación debe ser CLAVE PRIMARIA. -En la tabla hija es donde se define el FOREIGN KEY y hace referencia a la tabla padre. -El campo foráneo (de la tabla hija) y campo clave (de la tabla padre) deben ser definidos con el mismo tipo de dato. Para poder ver las tablas de una base de datos en Mysql solo hay que hacer esta simple consulta.

Esto mostrara todas las tablas de la base de datos donde este.

Ahora que si quieres ver las tablas de otra base de datos, donde tengas

los permisos, usas la

siguiente instrucción.

1.6

Tipos De Datos Básicos: Tipos Numéricos: Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no. TinyInt: Es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255.


Página 180 de 210

Bit ó Bool: Un número entero que puede ser 0 ó 1. SmallInt: Número entero con o sin signo. Con signo el rango de valores va desde 32768 a 32767. Sin signo, el rango de valores es de 0 a 65535. MediumInt: Número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. Interger, Int: Número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295 BigInt: Número entero con o sin signo. Con signo el rango de valores va desde 9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. Float: Número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38. xReal, Double: Número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308. Tipos fecha: A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes está comprendido entre 0 y 12 y que el día está comprendido entre 0 y 31. Date: Tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de añomes-día. DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos.


Página 181 de 210

Time: Almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' Year: Almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos. Tipos De Cadena: Char(n): Almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres. VarChar(n): Almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipos Test y los tipos BLOB (Binary large Object) La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres. Blob y Text: Un texto con un máximo de 65535 caracteres. MediumBlob y MediumText: Un texto con un máximo de 16.777.215 caracteres. LongBlob y LongText: Un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb. Enum: Campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos.


Página 182 de 210

Set: Un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores.

1.7

Valores Null: En ocasiones querremos dejar un campo totalmente vacío, sin valor.Para las cadenas de texto, existe una forma "parecida" de conseguirlo, que es con una cadena vacía, indicada con dos comillas que no contengan ningún texto entre ellas (ni siquiera espacios en blanco): ''En cambio, para los números, no basta con guardar un 0 para indicar que no se sabe el valor: no es lo mismo un importe de 0 euros que un importe no detallado. Por eso, existe un símbolo especial para indicar cuando no existe valor en un campo (tanto en valores numéricos como en textos). Este símbolo especial es la palabra NULL. Por ejemplo, añadiríamos datos parcialmente

en

blanco

a

una

tabla

haciendo:

En el ejemplo anterior, y para que sea más fácil comparar las dos alternativas, he conservado las comillas sin contenido para indicar una dirección vacía, y he usado NULL para la edad, pero sería más correcto usar NULL en ambos casos para indicar que

no

existe

valor,

así:

Para saber si algún campo está vacío, compararíamos su valor con NULL, pero de una forma un tanto especial: no con el símbolo "igual" (=), sino con la palabra IS. Por ejemplo, sabríamos cuales de las personas de nuestras bases de datos tienen dirección

Y,

de

usando:

forma

similar,

sabríamos

quien

no

tiene

dirección,

así:

En el momento de crear la tabla, a no ser que se indique lo contrario, los valores de cualquier campo podrán ser nulos, excepto para las claves primarias. Si se desea que algún campo no pueda tener valores nulos, se puede añadir NOT NULL en el


Página 183 de 210

momento

de

definir

la

tabla,

así:

En conclusión, podemos decir que Un valor nulo significa que es un valor desconocido, indefinido o no inicializado. De este modo puede considerarse que pertenecen al tipo de datos NULL, que es un tipo de datos que únicamente puede tener un valor, nulo. Una expresión devuelve siempre NULL si alguno de sus elementos es NULL.

1.9. DML Por: Walter Estuardo Velásquez García Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

Figura 18: Ejemplo de DML Fuente: https://www.todopostgresql.com/wpcontent/uploads/2018/12/nueva_dest_sentencias3.png

1.9.1 Create: El comando CREATE TABLE requiere que especifiques el nombre de la tabla y su encabezado, el cual es una lista de definiciones de campos separadas por coma. Por ejemplo, en la tabla que creamos.


Página 184 de 210

Figura 19: Ejemplo de crear una tabla. Fuente: https://styde.net/crear-y-eliminar-tablas-en-mysqlmariadb/#:~:text=El%20comando%20CREATE%20TABLE%20requiere,lo%20que%20va%20en tre%20par%C3%A9ntesis.

1.9.2 ALTER: cambia la estructura de una tabla. Por ejemplo, agrega o elimina columnas, crea o elimina índices, modificar el tipo de columnas existentes o renombrar columnas o la propia tabla.

Figura 20: Ejemplo de cambiar una estructura. Fuente: https://www.anerbarrena.com/alter-table-mysql-5050/

1.9.3 DROP: Con la sentencia DROP TABLE de MySQL podemos borrar de manera rápida y sencilla una tabla de una base de datos.

Figura 21: Ejemplo de eliminar una tabla. Fuente: https://www.anerbarrena.com/drop-table-mysql-5048/ 1.9.4 TRUNCATE TABLE: Rápido post para ver la sentencia TRUNCATE TABLE con la que podemos vaciar una tabla de una base de datos MySQL.

Figura 22: Ejemplo de vaciar una tabla. Fuente: https://www.anerbarrena.com/truncate-table-mysql-5051/

1.10 DDL


Página 185 de 210

El lenguaje de definición de datos (DDL) es un subconjunto de SQL. Es un lenguaje para describir los datos y sus relaciones en una base de datos. Puede generar DDL en un script de objetos de base de datos para: -Mantener una instantánea de la estructura de base de datos -Configurar un sistema de prueba donde la base de datos actúe como el sistema de producción, pero sin contener datos -Producir plantillas para los nuevos objetos que puede crear basándose en los existentes. Por ejemplo, genere el DDL para la tabla Customer y, a continuación, edite el DDL para crear la tabla Customer_New con el mismo esquema.

Figura 23: Ejemplo del DDL Fuente: https://lh3.googleusercontent.com/proxy/vZPNWxVALU2T1POCpf7r2GkoWG0n2HSyFCp01i jSBJxHPH8VAOVPzzrZ-MaYYdudoMLfe_tQ-iJamE4rbD5amf9DSeweKg 1.10.1select: La sintaxis básica de select es la siguiente utilizando el estándar de SQL: donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla por el nombre de

la

tabla

que

contiene

el

campo

mencionado.

Figura 24: Ejemplo de seleccionar Fuente: https://es.wikipedia.org/wiki/Lenguaje_de_manipulaci%C3%B3n_de_datos 1.10.2 Insert: Tomando como ejemplo si se tuviera una tabla llamada 'usuario' con los campos de tipo cadena de caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se encuentran en después de la palabra values, los valores se insertan en el orden correspondiente a como se hizo la llamada de los campos, los valores van separados por comas, las comillas dobles indican que se está insertando datos de tipo cadena de caracteres.


Página 186 de 210

Figura 25: Ejemplo de insertar Fuente: https://es.wikipedia.org/wiki/Lenguaje_de_manipulaci%C3%B3n_de_datos

1.10.3 Update: Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar). Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por "Sevilla": Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo valor. El cambio afectará a todos los registros. Podemos modificar algunos registros, para ello debemos establecer condiciones de selección con "where". Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado 'Martín', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte solamente a este registro:

Figura 26: Ejemplo de Update Fuente: https://es.wikipedia.org/wiki/Lenguaje_de_manipulaci%C3%B3n_de_datos


Página 187 de 210

Capítulo II Java Script I Por: Miguel Andrés Villatoro Mazariegos JS Introduction Js es básicamente un lenguaje de programación en el cual nosotros lo que realizamos es interactuar con la pagina web de esta manera click en algo y asi nos muestra algo todo esto desde lo que es unas líneas de código

https://www.w3schools.com/js/default.asp

JS Where To En HTML se ingresan dentro de lo que son las etiquetas llamadas script asi ya dentro de podemos ingresar la función que realicemos

https://www.w3schools.com/js/default.asp

JS Output La salida de JS en lo que es html básicamente son mediante los scripts que nosotros vamos ingresando uno a uno con sus funciones esto pese a los atributos que le asignemos la función en este caso seria tanto párrafos como botones

https://www.w3schools.com/js/default.asp


Página 188 de 210

JavaScript Statements Las declaraciones de JS se realizan a la hora de ingresar nuevas funciones de manera que asi nos demos a la tarea de poder identificar los atributos a los que estamos trabajando

https://www.w3schools.com/js/default.asp

JavaScript Syntax Las sintaxis de JS básicamente son las cuales nosotros aplicamos a la hora de realizar una función que nosotros queramos ocupar dentro de nuestro sitio

https://www.w3schools.com/js/default.asp

JavaScript Comments Los comentarios que nosotros ingresamos en JS son ingresados para poder dar una opinión legitima de lo que se esta haciendo todo esto por medio de //

https://www.w3schools.com/js/default.asp

JavaScript Variables Las variables de JS son las cuales nosotros vamos asignando a lo que es nuestro código de esta manera identificamos cada herramienta a la que le demos una función

https://www.w3schools.com/js/default.asp


Página 189 de 210

JavaScript Let Te permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando. a diferencia de la palabra clave var la cual define una variable global o local en una función sin importar el ámbito del bloque

https://www.w3schools.com/js/default.asp

JavaScript Const Descripción. Esta declaración crea una constante cuyo alcance puede ser global o local para el bloque en el que se declara.

https://www.w3schools.com/js/default.asp

Por: Kevin Alexander Orellana Sajqui JS Objets En JavaScript, un objeto es una entidad independiente con propiedades y tipos. Compáralo con una taza, por ejemplo. Una taza es un objeto con propiedades.

https://www.w3schools.com/js/default.asp

Js Functions Una función en JavaScript es similar a un procedimiento — un conjunto de instrucciones que realiza una tarea o calcula un valor, pero para que un procedimiento califique como función, debe tomar alguna entrada y devolver una salida donde hay alguna relación obvia entre la entrada y la salida


Página 190 de 210

https://www.w3schools.com/js/default.asp

Js Scope El scope de una variable hace referencia al lugar donde esta va a vivir , o podrá ser accesible. Podríamos decir también que scope es el alcance que determina la accesibilidad de las variables en cada parte de nuestro código

https://www.w3schools.com/js/default.asp

Js Events El objeto Event es un objeto predefinido de JavaScript que almacena información sobre un evento y es pasado, para cada evento que tiene lugar, como argumento a la función o funciones que gestionan el evento. ... No todos los navegadores reconocen la misma información en el objeto

https://www.w3schools.com/js/default.asp

JS String Las cadenas de JavaScript se utilizan para almacenar y manipular texto.

https://www.w3schools.com/js/default.asp

JS Method String Pero con JavaScript, los métodos y propiedades también están disponibles para valores primitivos, porque JavaScript trata los valores primitivos como objetos cuando ejecuta métodos y propiedades.


Página 191 de 210

https://www.w3schools.com/js/default.asp

JS Number Methods Los valores primitivos (como 3.14 o 2014), no pueden tener propiedades y métodos (porque no son objetos).Pero con JavaScript, los métodos y propiedades también están disponibles para valores primitivos, porque JavaScript trata los valores primitivos como objetos cuando ejecuta métodos y propiedades.

https://www.w3schools.com/js/default.asp

JS Numbers JavaScript tiene solo un tipo de NÚmero. Los NÚMeros se pueden escribir con o sin decimales.

https://www.w3schools.com/js/default.asp

JavaScript Operators Los operadores permiten manipular el valor de las variables, realizar operaciones matemáticas con sus valores y comparar diferentes variables.

https://www.w3schools.com/js/default.asp

JS Math Math es uno de los objetos globales u objeto incorporado estándar de JavaScript y puede ser utilizado en cualquier lugar donde puedas usar JavaScript.


Página 192 de 210

https://www.w3schools.com/js/default.asp •

JS Dates

El objeto Date proporciona un comportamiento uniforme entre plataformas. El objeto Date soporta métodos UTC , además de métodos horarios locales. UTC, también conocido como Greenwich Mean Time , se refiere a la hora sEGÚN el Estádar Horario Mundial .

https://www.w3schools.com/js/default.asp

Por: Ronald Alexis Morales Varela JS Date Methods Los métodos de fecha le permiten obtener y establecer valores de fecha (años, meses, días, horas, minutos, segundos, milisegundos)

https://www.w3schools.com/js/default.asp

JS ARRAYS: Una matriz es una variable especial que puede contener más de un valor a la vez.

Si tiene una lista de elementos (una lista de nombres de automóviles, por ejemplo), almacenar los automóviles en variables individuales podría verse así:


Página 193 de 210

https://www.w3schools.com/js/default.asp

JS ARRAYS METHODS: 1. El método JavaScript toString()convierte una matriz en una cadena de valores de matriz (separados por comas).

https://www.w3schools.com/js/default.asp 2. El join()método también une todos los elementos de la matriz en una cadena. Se comporta igual toString(), pero además puedes especificar el separador:

https://www.w3schools.com/js/default.asp 3.

El pop()método elimina el ÚLtimo elemento de una matriz:

https://www.w3schools.com/js/default.asp

4.

El push()método agrega un nuevo elemento a una matriz (al final):

https://www.w3schools.com/js/default.asp 5. El shift()método elimina el primer elemento de la matriz y "desplaza" todos los demás elementos a un índice más bajo.

https://www.w3schools.com/js/default.asp 6. El unshift()método agrega un nuevo elemento a una matriz (al principio) y "deshace" los elementos más antiguos:

https://www.w3schools.com/js/default.asp


Página 194 de 210

7. La length propiedad proporciona una manera fácil de agregar un nuevo elemento a una matriz:

https://www.w3schools.com/js/default.asp

8.

El sort()método ordena una matriz alfabéticamente:

https://www.w3schools.com/js/default.asp

9. El forEach()método llama a una función (una función de devolución de llamada) una vez para cada elemento de la matriz.

https://www.w3schools.com/js/default.asp

JS Booleans: Un booleano de JavaScript representa uno de dos valores: verdadero o falso . Puede usar la Boolean()función para averiguar si una expresión (o una variable) es verdadera:

https://www.w3schools.com/js/default.asp

JS REGEXP: Una expresión regular es una secuencia de caracteres que forma un patrón de BÚSQueda. El patrón de BÚSQUEDa se puede utilizar para operaciones de BÚSQUEDa y reemplazo de texto.


Página 195 de 210

https://www.w3schools.com/js/default.asp

Por: Ruby Abigail Morales Cifuentes JS Type Conversion: Las variables de JavaScript se pueden convertir a una nueva variable y a otro tipo de datos: Mediante el uso de una función de JavaScript Automáticamente por JavaScript mismo

1. El método global Number()puede convertir cadenas en nÚmeros. Las cadenas que contienen nÚmeros (como "3,14") se convierten en nÚmeros (como 3,14). Las cadenas vacías se convierten en 0. Cualquier otra cosa se convierte en NaN(no un nÚmero).

https://www.w3schools.com/js/default.asp

2.

El operador unario + se puede utilizar para convertir una variable en un nÚmero:

https://www.w3schools.com/js/default.asp

3. El método global String()puede convertir nÚmeros en cadenas. Se puede utilizar en cualquier tipo de nÚmeros, literales, variables o expresiones:


Página 196 de 210

https://www.w3schools.com/js/default.asp

JS Comparisons: Los operadores de comparación se utilizan en declaraciones lógicas para determinar la igualdad o diferencia entre variables o valores.

Dado eso x = 5, la siguiente tabla explica los operadores de comparación:

https://www.w3schools.com/js/default.asp


Página 197 de 210

Capítulo III Por: Jonathan Samuel Andrés Monzon Nimatuj JQuery Hide-Show: Con jQuery, puede ocultar y mostrar elementos HTML con los métodos hide()y show():

https://www.w3schools.com/js/default.asp

• JQuery Fade: Con jQuery puede hacer que un elemento entre y desaparezca de la visibilidad. jQuery tiene los siguientes métodos de desvanecimiento:

1.

El fadeIn()método jQuery se usa para desaparecer en un elemento oculto.

2.

El fadeOut()método jQuery se usa para desvanecer un elemento visible.

3.

El fadeOut()método jQuery se usa para desvanecer un elemento visible.

4. El fadeTo()método jQuery permite el desvanecimiento a una opacidad determinada (valor entre 0 y 1).

JQuery Slide: Los métodos de diapositiva de jQuery deslizan elementos hacia arriba y hacia abajo.

1.

El slideDown()método jQuery se usa para deslizar hacia abajo un elemento.

2.

El slideUp()método jQuery se usa para deslizar un elemento hacia arriba.

3.

El slideToggle()método jQuery alterna entre los métodos slideDown()y slideUp().

• JQuery Animate: El animate()método jQuery se utiliza para crear animaciones personalizadas. Este parámetro controla diferentes propiedades.


Página 198 de 210

https://www.w3schools.com/js/default.asp

JQuery Stop: El método jQuery stop () se utiliza para detener animaciones o efectos antes de que finalice. El stop()método jQuery se usa para detener una animación o efecto antes de que finalice.

El stop()método funciona para todas las funciones de efectos de jQuery, incluidas las animaciones deslizantes, de desvanecimiento y personalizadas.

https://www.w3schools.com/js/default.asp

• JQuery Callback: Se ejecuta una función de devolución de llamada después de que el efecto actual haya finalizado al 100%.

https://www.w3schools.com/js/default.asp

JQuery Chaining: Con jQuery, puede encadenar acciones / métodos. El encadenamiento nos permite ejecutar mÚLTiples métodos. jQuery (en el mismo elemento) dentro de una sola declaración.

https://www.w3schools.com/js/default.asp

Por: Josseline Griselda Montecinos Hernández


Página 199 de 210

JQuery Get: Tres métodos jQuery simples pero Útiles para la manipulación DOM son: 1.

text() - Establece o devuelve el contenido de texto de los elementos seleccionados

2. html() - Establece o devuelve el contenido de los elementos seleccionados (incluido el marcado HTML) 3.

val() - Establece o devuelve el valor de los campos del formulario.

El siguiente ejemplo demuestra cómo obtener contenido con los métodos text()y jQuery html():

https://www.w3schools.com/js/default.asp

JQuery Set: Usaremos los mismos tres métodos de la página anterior para configurar el contenido :

1.

text() - Establece o devuelve el contenido de texto de los elementos seleccionados

2. html() - Establece o devuelve el contenido de los elementos seleccionados (incluido el marcado HTML) 3.

val() - Establece o devuelve el valor de los campos del formulario.

El siguiente ejemplo muestra cómo establecer el contenido con jQuery text(), html()y val()métodos:

https://www.w3schools.com/js/default.asp

JQuery Add: Con jQuery, es fácil agregar nuevos elementos / contenido.


Página 200 de 210

Veremos cuatro métodos de jQuery que se utilizan para agregar contenido nuevo:

1.

append() - Inserta contenido al final de los elementos seleccionados

https://www.w3schools.com/js/default.asp 2.

prepend() - Inserta contenido al comienzo de los elementos seleccionados

https://www.w3schools.com/js/default.asp

3.

after() - Inserta contenido después de los elementos seleccionados

https://www.w3schools.com/js/default.asp

4.

before() - Inserta contenido antes de los elementos seleccionados

https://www.w3schools.com/js/default.asp

JQuery Remove: Para eliminar elementos y contenido, existen principalmente dos métodos jQuery:

1.

remove() - Elimina el elemento seleccionado (y sus elementos secundarios)

https://www.w3schools.com/js/default.asp

2.

empty() - Elimina los elementos secundarios del elemento seleccionado


Página 201 de 210

https://www.w3schools.com/js/default.asp

Por: Josue Sebastian Mancilla González JQuery CSS Classes: jQuery tiene varios métodos para la manipulación de CSS. Veremos los siguientes métodos:

1.

addClass() - Agrega una o más clases a los elementos seleccionados

https://www.w3schools.com/js/default.asp

2.

removeClass() - Elimina una o más clases de los elementos seleccionados

https://www.w3schools.com/js/default.asp

3. toggleClass() - Alterna entre agregar / eliminar clases de los elementos seleccionados

https://www.w3schools.com/js/default.asp

JQuery css: El css()método establece o devuelve una o más propiedades de estilo para los elementos seleccionados. El siguiente ejemplo devolverá el valor de color de fondo del PRIMER elemento coincidente:

https://www.w3schools.com/js/default.asp


Página 202 de 210

JQuery Dimensions: jQuery tiene varios métodos importantes para trabajar con dimensiones:

1. width() El width()método establece o devuelve el ancho de un elemento (excluye el relleno, el borde y el margen). 2. height() El height()método establece o devuelve la altura de un elemento (excluye el relleno, el borde y el margen).

https://www.w3schools.com/js/default.asp

3. innerWidth() El innerWidth()método devuelve el ancho de un elemento (incluye relleno). 4. innerHeight() El innerHeight()método devuelve la altura de un elemento (incluye relleno).

https://www.w3schools.com/js/default.asp

5. outerWidth() outerWidth()método devuelve el ancho de un elemento (incluye relleno y borde). 6. outerHeight() El outerHeight()método devuelve la altura de un elemento (incluye relleno y borde).

https://www.w3schools.com/js/default.asp


Página 203 de 210

Capítulo IV Seguridad en Dispositivos Moviles Por: Génesis Alexandra López Samayoa Según la pagina de Proteccion.com, los dispositivos móviles son cada vez más llamativos para los ladrones o delincuentes informáticos, por lo que es necesario utilizar herramientas de seguridad como la contraseña y aplicaciones para bloquear, rastrear y borrar remotamente la información almacenada en el equipo en caso de robo o pérdida. También predomina en los usuarios la iniciativa de utilizar la misma clave en múltiples dispositivos, redes sociales y cuentas bancarias, incrementando el nivel de riesgo y la posibilidad de un hackeo o robo masivo de sus perfiles y datos. Pero establecer una contraseña no garantiza que los datos estén a salvo, ya que algunas personas comparten su información con amigos o familiares, permiten que sus hijos ingresen a su tableta o smartphone, comparten las contraseñas de sus equipos y suministran las claves para descargar aplicaciones y contenidos. Adicional a esto, muy pocas personas realizan copias de seguridad de sus dispositivos móviles y almacenan las contraseñas en su dispositivo, en las herramientas de notas. Las tres capas de Seguridad Todos los teléfonos poseen tres elementos básicos de seguridad los cuales se deben conocer en su totalidad como un usuario de dispositivos móviles y mantenerlas activas. -

Protección de dispositivos: Esta permite el "borrado" de datos remoto en caso de que tu dispositivo se pierda o sea robado.

-

Protección de datos: Esta función o capa evita transferir datos corporativos a aplicaciones personales que se ejecutan en el mismo dispositivo o red personal.

-

Seguridad de gestión de aplicaciones: Esta capa protege tu información en las aplicaciones de cualquier riesgo posible


Página 204 de 210

La seguridad del teléfono no solo depende del teléfono en sí, sino también de la tecnología de gestión de dispositivos móviles instalada en servidores de la empresa, que controla y administra la seguridad de los dispositivos. Ambos deben trabajar de manera conjunta para brindar un buen nivel de seguridad

Comunicaciones Inalambricas Por: Alvaro José López Rámirez Los dispositivos móviles se suelen conectar a través de redes de área personal o WPAN, existen diversas tecnologías de comunicación inalámbrica aunque las más comunes suelen ser:

-

Bluetooh: Protocolo estándar de comunicaciones para la transmisión de voz y datos por radiofrecuencia entre dispositivos. Permite realizar conexiones de corto alcance.

-

WiFi: Tecnología inalámbrica que realiza conexión mediante ondas electromagnéticas por las que circula la información. Se emplea par la comunicación y transferencia de datos entre los dispositivos que pueden estar alejados.

-

Telefonía móvil: Está basada en el protocolo IP

-

Infrarrojos : Comunica dispositivos utilizando ondas infrarrojas. Los dispositivos deben estar muy próximos y entre ellos no pueden haber obstáculos. Se usa en mandos a distancia, dispositivos móviles y algunos periféricos.

Ataques en los dispositivos móviles -

Malware bancario: tal como señala Dark Reading, el malware móvil basado en la banca va en aumento, ya que los hackers buscan comprometer a los usuarios que prefieren llevar


Página 205 de 210

a cabo todos sus negocios incluidos los pagos de facturas y las transferencias de dinero desde sus dispositivos móviles. -

Ransomware móvil: el ransomware, que primero se hizo popular en los ordenadores de sobremesa, "bloquea" datos importantes del usuario, como documentos, fotos y vídeos, mediante el cifrado de la información y luego exige el pago de un rescate a los creadores del malware. Si no se paga el rescate a tiempo se eliminan todos los archivos o simplemente se bloquean, de manera que el usuario nunca más puede acceder a ellos. Según International Data Group , los creadores de malware aprovecharon tanto la mejora del rendimiento de los smartphones como la red anónima TOR para infectar dispositivos y cifrar los datos almacenados.

-

Spyware móvil: el spyware, cargado como un programa en el dispositivo, supervisa tu actividad, registra tu ubicación y sustrae información crítica, como nombres de usuario y contraseñas de cuentas de correo electrónico o sitios de comercio electrónico. En muchos casos, con el spyware se incluye otro software aparentemente benigno que recopila datos silenciosamente en segundo plano. Incluso puede que no notes la presencia del spyware hasta que el rendimiento del dispositivo disminuya o hasta que ejecutes un análisis antimalware en tu teléfono o tablet.

-

Malware de MMS: los creadores de malware también buscan maneras de aprovechar la comunicación basada en texto como una forma de distribuir malware, una vulnerabilidad en la biblioteca multimedia de Android, hizo posible que los atacantes enviaran un mensaje de texto incrustado con malware a cualquier número de teléfono móvil, el problema se corrigió rápidamente, pero dio muestras de infecciones basadas en mensajes de texto.

-

Adware móvil: el adware ha recorrido un largo camino de ser nada más que molestas ventanas emergentes y una recopilación de datos. Para muchos fabricantes de adware, los ingresos dependen del número de clics y descargas que reciben y, según ZDNet, algunos de ellos han creado código de publicidad maliciosa que puede infectar y acceder a la raíz del dispositivo para forzarlo a descargar determinados tipos de adware y a permitir a los atacantes robar información personal.

-

Troyanos de SMS:


Página 206 de 210

los cibercriminales están infectando los dispositivos móviles aprovechándose de lo que a los usuarios les gusta más de sus teléfonos: los mensajes de texto. Los troyanos de SMS siembran el caos financiero mediante el envío de mensajes SMS a números con tarificación especial de todo el mundo, lo que aumenta las facturas telefónicas de los usuarios.

Mecanismos de Prevencion Por: Carlos Manuel Lima y Lima -

Utiliza un Wi-Fi seguro. Aunque esto no impide que navegues a un sitio web infectado, el uso de conexiones Wi-Fi protegidas con contraseña evita que terceros no deseados fisgoneen o realicen ataques "Man-in-the-Mobile" entre el dispositivo y el destino Web deseado.

-

Supervisa tu correo electrónico. Los dispositivos pueden haber cambiado, pero la amenaza sigue siendo la misma: muchos atacantes siguen confiando en los archivos adjuntos de mensajes de correo electrónico maliciosos para infectar los teléfonos o las tablets. No hagas clic en enlaces de correo electrónico ni en otros mensajes, ya que estos pueden llevarte a sitios web de phishing o malware.

-

Descarga solo aplicaciones de fuentes de confianza. Esto garantiza que las aplicaciones sean legítimas y no refugios del malware móvil.

-

Instala una protección antivirus. En la actualidad, están surgiendo soluciones antivirus y antimalware para los dispositivos móviles; instala una de una fuente de confianza y, a continuación, ejecútalo con regularidad para asegurarte que el dispositivo esté limpio. Además, ten cuidado con el malware que se hace pasar por una protección contra virus: descarga solo aplicaciones legítima procedentes de fuentes de confianza.

-

No liberes ni accedas a la raíz de tu dispositivo. Si lo haces, aumenta el riesgo de infección procedente de fuentes de terceros no fiables. No accedas a la raíz y benefíciate de actualizaciones automáticas de seguridad y parches.

Aplicaciones Web


Página 207 de 210

Las aplicaciones web reciben este nombre porque se ejecutan en internet. Es decir que los datos o los archivos en los que trabajas son procesados y almacenados dentro de la web. Estas aplicaciones, por lo general, no necesitan ser instaladas en tu computador. Toda la información se guarda de forma permanente en grandes servidores de internet y nos envían a nuestros dispositivos o equipos los datos que requerimos en ese momento, quedando una copia temporal dentro de nuestro equipo.

Ataques Por: Laisha Antonia Dayanara Lara Ismatul -

Colar archivos maliciosos Algunas aplicaciones web permiten subir archivos. Esto significa que podríamos alojar un archivo ejecutable y esto lo podrían aprovechar los piratas informáticos. Podrían subir un archivo con un script malicioso. Ese servidor donde ha subido el archivo puede quedar comprometido

-

Tráfico en texto plano Un posible intruso podría acceder al tráfico de un sitio web que se transfiere en texto plano. Esto es un problema importante para la privacidad de los usuarios.

-

Inyección de enlaces Los ciberdelincuentes inyectan links fraudulentos en ese sitio. De esta forma cuando la víctima entra y accede a ese enlace realmente no está entrando en una web o sección que sean legítimas, sino que accede directamente a una página o servidor que está controlado por los atacantes.

-

Contaminación de parámetros HTTP Cuando visitamos una página web lo normal es que tengamos que proporcionar datos de entrada en ese sitio a través de determinados parámetros HTTP que se encargan de enviar dichos datos a la aplicación web. El problema es cuando estos parámetros HTTP se han contaminado y por tanto pueden manipular de forma maliciosa esos datos que estamos enviando.

-

Atributo de autocompletar También es otro tipo de ataque abusar del atributo de autocompletar que suele estar establecido en modo apagado. La cuestión aquí es que un posible atacante podría tenerlo activado y esto permitiría al navegador almacenar información ingresada por el usuario en la memoria caché.


Página 208 de 210

-

Secuestro de clics Este tipo de ataques está presente principalmente en plataformas como redes sociales. Significa que un atacante ha logrado infectar ese sitio con el objetivo de secuestrar clics. Esto quiere decir que si una persona hace clic en un elemento de esa plataforma podría terminar en un sitio controlado por los atacantes y poner en riesgo su seguridad y privacidad.

Malware Desde las aplicaciones web, como se menciono anteriormente, se pueden encontrar varios archivos maliciosos, En caso de que no cuente con medidas de seguridad y prevención adecuadas podría ser un problema importante para todos aquellos usuarios que accedan a ese servidor. Podrían haber cargado archivos maliciosos que se ejecuten y puedan comprometer la seguridad y privacidad. Normalmente, y así es recomendable, los servidores suelen tener diferentes características para validar los archivos subidos. Por ejemplo detectar posibles extensiones que puedan ser un peligro o el tipo de contenido.

Que son los ataques web Un ataque cibernético es un acto intencional por parte de un usuario malicioso con el fin aprovecharse de una vulnerabilidad en el diseño o desarrollo de una aplicación. La diferencia entre una vulnerabilidad y un ataque cibernético es que un ataque es algo que un usuario malicioso podría hacer y una vulnerabilidad es una debilidad en la aplicación. Es posible calcular el riesgo que corre nuestra aplicación considerando el número de vulnerabilidades reportadas para el software que utilizamos consultando fuentes de información como la base de datos CWE que almacena prácticamente todas las fallas reportadas para cualquier aplicación, independiente de su plataforma. Otra fuente de información relacionada con los ataques Web es OWASP que se enfoca en difundir información para desarrolladores y administradores de sistemas con la finalidad de prevenir ataques desde el diseño de una aplicación para lo cual ofrecen guías de desarrollo seguro, listados de riesgos potenciales de ataques y herramientas didácticas y de diagnóstico. Mecanismos de Prevencion -

Uso de Firewalls Web

-

Mitigacion DDoS


Página 209 de 210

-

Proteccion DNS

-

Uso de Protocolo HTTPS

Navegador Web Por: Omar Alessando Hernández Patzan Según Wikipedia, Un navegador web es un software, aplicación o programa que permite el acceso a la Web, interpretando la información de distintos tipos de archivos y sitios web para que estos puedan ser vistos. La funcionalidad básica de un navegador web es permitir la visualización de documentos de texto, posiblemente con recursos multimedia incrustados. Además, permite visitar páginas web y hacer actividades en ella, es decir, enlazar un sitio con otro, imprimir, enviar y recibir correos, entre otras funcionalidades más. Los documentos que se muestran en un navegador pueden estar ubicados en la computadora donde está el usuario y también pueden estar en cualquier otro dispositivo conectado en la computadora del usuario o a través de Internet, y que tenga los recursos necesarios para la transmisión de los documentos. Tales documentos, comúnmente denominados páginas web, poseen hiperenlaces o hipervínculos que enlazan una porción de texto o una imagen a otro documento, normalmente relacionado con el texto o la imagen.

Aplicaciones de Seguridad Web Por: Luis José Mariano Hernández de León -

Nikto: Este escáner de servidores web realizará pruebas exhaustivas contra servidores web, teniendo en cuenta diversos factores como las versiones no actualizadas de aplicaciones, problemas específicos de cada versión encontrada, elementos de configuración del servidor, identificará los sistemas instalados y los analizará

-

Cain and Abel: Nos encontramos ante la única aplicación sólo disponible para Windows de este listado. Esta herramienta de recuperación de contraseñas cuenta con una enorme cantidad de utilidades.

-

Netcat: Nos permitirá leer y escribir datos mediante conexiones TCP/UDP al mismo tiempo que nos permite crear casi cualquier tipo de conexión que podamos necesitar, por ejemplo conexión a un puerto determinado para aceptar conexiones


Página 210 de 210

entrantes. También nos es útil como herramienta de depuración o exploración de red. -

Wireshark: Conocido anteriorm ente como Ethereal, Se trata de una magnífica herramienta de código abierto que nos proporcionará un análisis exhaustivo de nuestra red. Wireshark cuenta con multitud de características interesantes, como el hecho de poder realizar el análisis sobre una red existente, sobre un mapeado o un archivo existente en disco

Usuario Por: Edwin Florencio López Un usuario es una persona que utiliza una computadora o un servicio de red. Los usuarios de sistemas informáticos y productos de software generalmente carecen de la experiencia técnica necesaria para comprender completamente cómo funcionan Ataques Existen muchos tipos diferentes de Ciberataques, pero todos ellos se pueden categorizar en estos cuatro grandes grupos según su finalidad:

-

Cibercrimen: utilizando técnicas como el phishing, roban la identidad de personas o empresas para realizar fraudes bancarios, vaciar cuentas, etc, todo ello generalmente con fines económicos.

-

Hacktivismo: en otras ocasiones, lo que ocurre es que los hackers vulneran páginas de empresas grandes o del gobierno, a veces, incluso desde tu propio ordenador, para realizar una protesta. El objetivo de estos ciberataques es ideológico, social, y dentro de los hacktivistas, la organización Anonymous es la más conocida.

-

Ciberespionaje: compromete la ciberseguridad en las empresas, ya que trata del robo de información sensible y valiosa, como información financiera, de clientes, empleados… que además posteriormente puede venderse a muy altos precios en el mercado negro.

-

Ciberterrorismo: suele ir dirigido contra gobiernos o países, afectando a servicios como salud o defensa, infraestructuras de gran importancia.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.