Logo Studenta

CD-JAzcarate

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO POLITÉCNICO NACIONAL 
 
UNIDAD PROFESIONAL INTERDISCIPLINARIA 
 DE INGENIERÍA Y CIENCIAS SOCIALES 
Y ADMINISTRATIVAS 
 
 
 
 
“DESARROLLO DE SERVICIO WEB Y 
APLICACIÓN MÓVIL PARA COMUNICAR 
TEMAS DE INTERÉS A LA COMUNIDAD 
ESTUDIANTIL” 
 
 
 
 
 
T E S I S 
 
 
 
 
 
QUE PARA OBTENER EL TÍTULO DE 
I N G E N I E R O EN I N F O R M Á T I C A 
 
 
P R E S E N T A 
ELIT JOSUÉ AZCÁRATE GLORIA 
 
 
 
 
 
 
 
 
 
CIUDAD DE MÉXICO 2016
ÍNDICE 
Resumen .............................................................................................................................................. i 
Introducción .......................................................................................................................................... ii 
Capítulo I Marco metodológico ........................................................................................................ 1 
1.1. Planteamiento del problema......................................................................................................... 1 
1.2. Objetivos....................................................................................................................................... 2 
1.2.1. Objetivo general ................................................................................................................... 2 
1.2.2. Objetivos específicos ........................................................................................................... 2 
1.3. Justificación .................................................................................................................................. 2 
1.4. Propuesta de solución .................................................................................................................. 3 
1.5.. Tipos de investigación ................................................................................................................. 4 
1.6. Técnicas de investigación a emplear ........................................................................................... 4 
Capítulo II Marco teórico .................................................................................................................. 5 
2.1. Comunicación ............................................................................................................................... 5 
2.1.1. Elementos que intervienen en la comunicación................................................................... 5 
2.1.2. El proceso de comunicación ................................................................................................ 6 
2.1.3. Errores en la comunicación .................................................................................................. 7 
2.1.4. Comunicación masiva .......................................................................................................... 8 
2.1.5. Funciones de los medios de comunicación ......................................................................... 9 
2.2. Redes sociales ........................................................................................................................... 10 
2.2.1. Redes sociales en la actualidad......................................................................................... 10 
2.3. Interfaz ........................................................................................................................................ 12 
2.3.1. Diseño de interfaces .......................................................................................................... 12 
2.3.2. Experiencia de usuario ....................................................................................................... 12 
2.3.3. Diseño de interacción ......................................................................................................... 12 
2.4. Lenguajes para programación web ............................................................................................ 13 
2.4.1. HTML .................................................................................................................................. 13 
2.4.2. PHP .................................................................................................................................... 14 
2.4.3. CSS .................................................................................................................................... 15 
2.4.4. JavaScript ........................................................................................................................... 16 
2.5. Bases de datos ........................................................................................................................... 16 
2.5.1. El modelo relacional ........................................................................................................... 16 
2.5.2. Sistemas manejadores de bases de datos ........................................................................ 17 
2.5.3. Lenguaje SQL .................................................................................................................... 18 
2.5.4. MySQL ............................................................................................................................... 19 
2.6. Aplicaciones web ........................................................................................................................ 19 
2.7. Servicios web ............................................................................................................................. 21 
2.7.1. Arquitectura orientada a servicios ...................................................................................... 23 
2.7.2. SOAP web service ............................................................................................................. 24 
2.7.3. REST web service .............................................................................................................. 27 
2.8. Comparación de tecnologías...................................................................................................... 29 
2.8.1. Servidores Web .................................................................................................................. 29 
2.8.2. Lenguaje Web .................................................................................................................... 30 
2.8.3. Base de datos .................................................................................................................... 31 
2.8.4. Smartphones ...................................................................................................................... 32 
2.8.5. Fabricantes y sistemas operativos ..................................................................................... 36 
2.8.6. Servicios, aplicaciones o programas similares .................................................................. 37 
2.9. Metodología RAD ....................................................................................................................... 38 
2.9.1. Fases del RAD ................................................................................................................... 39 
2.9.2. Características de la metodología RAD ............................................................................. 41 
2.9.3. Usos de RAD...................................................................................................................... 42 
2.10. Lenguaje unificado de modelado ............................................................................................. 44 
Capítulo III. Análisis y diseño del sistema propuesto ................................................................. 46 
3.1. Modelado de gestión .................................................................................................................. 47 
3.1.1. ¿Qué información conduce el proceso de gestión?...........................................................47 
3.1.2. ¿Qué información se genera? ............................................................................................ 47 
3.1.3. ¿Quién la genera? ............................................................................................................. 48 
3.1.4. ¿A dónde va la información? ............................................................................................. 49 
3.1.5. ¿Quién la procesó? ............................................................................................................ 50 
3.2. Modelado de datos ..................................................................................................................... 51 
3.3. Arquitectura ................................................................................................................................ 54 
3.4. Modelado de procesos ............................................................................................................... 55 
3.4.1. Modelado de sitio web ....................................................................................................... 55 
3.4.2. Modelado de servicio web .................................................................................................. 62 
3.4.3. Modelado de la aplicación móvil ........................................................................................ 65 
3.5. Diseño ........................................................................................................................................ 71 
3.5.1. Propuesta de diseño para sitio web ................................................................................... 71 
3.5.2. Propuesta de diseño para la aplicación móvil .................................................................... 75 
Capítulo IV. Desarrollo .................................................................................................................... 76 
4.1. Generación de aplicaciones ....................................................................................................... 76 
4.1.1. Base de datos .................................................................................................................... 77 
4.1.2. Portal web .......................................................................................................................... 79 
4.1.3. Web service ........................................................................................................................ 83 
4.1.4. Aplicación móvil.................................................................................................................. 86 
Capítulo V. Implementación y pruebas del sistema .................................................................... 89 
5.1. Implementación .......................................................................................................................... 89 
5.1.1. Web .................................................................................................................................... 89 
5.1.2. Aplicación móvil.................................................................................................................. 91 
5.2. Pruebas de entrega .................................................................................................................... 91 
Conclusiones ..................................................................................................................................... 98 
Bibliografía ......................................................................................................................................... 99 
Anexos ............................................................................................................................................. 100 
 
 
Índice descriptivo 
Capítulo I Marco metodológico 
Este capítulo describe el problema a tratar, así como se propone una solución al problema 
ocupando el desarrollo de un sistema con tecnologías que son ocupadas a nivel global. A su vez, 
se comparan soluciones similares que podrían dar cierta solución a la problemática, sin embargo, 
por sus características, no justifican totalmente su adquisición. 
Capítulo II Marco teórico 
Esta sección reseña la teoría que va a fundamentar el proyecto con base al planteamiento del 
problema. Abordará temas principales como la teoría de la comunicación, redes sociales, 
aplicaciones web, servicios web y sus características, lenguajes de programación web y bases de 
datos. 
Capítulo III Análisis y diseño del sistema propuesto 
Este apartado explica las actividades, procesos o tareas que debe de cumplir y realizar el sistema 
con la tecnología que se propone. Se adjuntan diagramas ilustrando las entidades, actividades y 
procesos. 
Capítulo IV Desarrollo 
En el capítulo se detallan, librerías, clases, métodos o funciones que se incluirán para el desarrollo 
del proyecto. Se agregan interfaces basadas en los diseños propuestos. 
Capítulo IV Implementación y pruebas del sistema 
Se demuestra la etapa final del sistema, así como su funcionalidad y diferentes pruebas mostrando 
el correcto funcionamiento del servicio. 
 
i 
 
Resumen 
El objetivo del proyecto es desarrollar un servicio web que permita difundir avisos, mensajes o 
temas de interés de manera masiva a la comunidad estudiantil que forma parte de la Unidad 
Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas de manera 
unificada, segura e independiente del lenguaje de programación y del sistema operativo en el que 
se implemente esta solución. 
Se plantea entonces atacar un planteamiento de problema desarrollando un sistema de gestión de 
avisos disponible para todos los alumnos. La propuesta es que esté disponible como un “web 
service”, es decir, una aplicación web estandarizada que permite realizar operaciones sobre los 
datos, utilizando una conexión de Internet y un cliente móvil. 
El sistema de gestión de avisos podrá ser utilizado por cualquier aplicación que lo requiera. 
Contará con una base de datos que llevará el registro de avisos y los clasificará por área y estado. 
Los diferentes beneficios que se obtendrán en un ámbito tecnológico son: independencia de 
aplicación, plataforma y sistema operativo; consolidación y seguridad de datos, actualizaciones y 
mejoras que automáticamente se reflejan en los sistemas conectados. En un entorno social, el 
alumno podrá estar enterado de temas y avisos que emitan distintas áreas escolares como son 
gestión escolar, eventos deportivos, culturales y avisos de carácter general a toda la comunidad. 
Los siguientes capítulos detallarán el análisis, desarrollo e implementación de la solución 
propuesta ocupando un servicio de hosting básico. Se incluye también las referencias de las 
diferentes herramientas ocupadas que permitieron un rápido desarrollo, tecnologías libres que son 
ocupadas hoy en día en cualquier parte del mundo. 
Esta tesis constituye el conjunto de conocimientos que ha adquirido el autor de la presente 
durante el periodo de enseñanza en la carrera de Ingeniería en Informática, así como de otras 
fuentes y de su experiencia laboral. Esperando querido lector, sea de tu agrado. 
 
 
ii 
 
Introducción 
Hace unas décadas, en los primeros computadores corría un solo programa a la vez, pero en la 
medida que en un mismo computador podían correr varios programas al mismo tiempo, surgió la 
necesidad de contar con mecanismo de comunicación entre ellos. Este mecanismo ha 
evolucionado debido que los computadores conforman redes, por tanto, esta comunicación debe 
poder efectuarse entre un programa “X”, que corre en el computador “Alfa” y otro programa “Y”, 
que corre en el computador “Beta”. 
Para que esta comunicación funcione, primero debe existir un medio de comunicación entre el 
computador Alfa y el computador Beta; esto hoy está resuelto con la Internet. Y segundo,el 
programa X debe saber conversar con el programa Y. Para que esto ocurra el programador a 
cargo de X debe conocer de Y; a su vez el programador a cargo de Y debe conocer de X, por lo 
menos en los que se refiere al intercambio de datos. Esto hace que si no hay acuerdo entre el 
programador de X y el programador de Y, no hay comunicación posible. 
La magia de los web services radica en que el programador de X puede crear un servicio para 
transferir datos sin necesidad de conocer al programador Y, ni a los programas que éste tiene a 
cargo. De modo que quien quiera recibir los datos solo necesita usar el web service y punto. De 
este modo, pueden existir transferencias de datos entre distintas aplicaciones o programas que 
funcionan en varios computadores (con distintos sistemas operativos) pertenecientes a diferentes 
empresas o instituciones; proporcionando al fin, mecanismos de comunicación estándar entre 
diferentes aplicaciones que interactúan entre sí para presentar información dinámica al usuario. 
Estos servicios permiten a distintas aplicaciones, de diferentes fuentes, comunicarse entre ellos, 
sin la necesidad de escribir programas costosos. Al ser implementados e invocados de manera 
local o pública, funcionan como grandes herramientas para crear instancias, procesos o consultas 
disponibles a toda hora en condiciones ideales de operación. 
Actualmente, es posible encontrar distintos servicios de carácter público, enfocados a temas 
científicos (meteorología, astronomía, etc.), utilizados como herramientas matemáticas, de consulta 
turística o personal. 
 
1 
 
Capítulo I Marco metodológico 
1.1 Planteamiento del problema 
En la actualidad el uso de la tecnología es indispensable tanto en la vida laboral como social. Una 
de las razones es que ayuda a simplificar procesos que en el pasado eran complejos y largos. 
La capacidad de casi todo el mundo de crear un sitio web y comenzar a publicar o transmitir 
contenido ha llevado a cambios radicales en los medios. Las empresas y los individuos pueden 
publicar cualquier cosa desde texto o imágenes a video utilizando tecnología digital de alta 
velocidad y banda ancha. Luego pueden difundirlos directamente en computadoras o aparatos 
móviles alrededor del mundo. 
La Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas cuenta 
y hace uso de medios y redes sociales actuales como lo son Facebook o Twitter en especial. 
Si bien no existe un medio centralizado para informar al alumno, algunos departamentos de la 
unidad profesional han optado por crear una cuenta aparte en las mencionadas redes sociales 
para informar únicamente sus objetivos. 
A la vez, algunos alumnos han optado por crear sus propios sitios o cuentas a fin de mantener 
informada a la comunidad con temas, eventos o hechos de interés, ya sea en el momento o 
proyectados a un futuro. 
Ciertos avisos no llegan a toda la comunidad estudiantil, ya sea por los métodos tradicionales que 
ocupa la unidad para informar o por los múltiples medios sociales actuales que se emplean y que 
el estudiante no está apegado a estos. 
Es así, que veo la oportunidad de proponer un servicio independiente de aplicación, plataforma y 
sistema operativo que permita la creación, almacenamiento temporal, gestión, envió y recepción de 
avisos y eventos de manera oficial que involucren a la comunidad estudiantil de la UPIICSA, lo que 
da origen al presente proyecto de titulación. 
 
2 
 
1.2 Objetivos 
1.2.1 Objetivo general 
Proponer y desarrollar un servicio web, página de gestión y aplicación móvil (plataforma Android) 
que permitan la creación, gestión, envío y recepción correspondiente de mensajes, avisos o temas 
de interés a los estudiantes de la unidad profesional. 
1.2.2 Objetivos específicos 
 Investigar, analizar las tecnologías actuales para el desarrollo de aplicaciones móviles y 
servicios web. 
 Establecer y analizar los requerimientos necesarios para el desarrollo del servicio web. 
 Instalar, configurar y operar diversas herramientas a utilizar para el desarrollo del web 
service. 
 Analizar, diseñar y desarrollar los componentes y procesos que permitan la operación del 
servicio. 
 Implementar un prototipo, de manera que permita el envío y recepción de información entre 
un sitio web y una aplicación móvil. 
 Generar la documentación necesaria para describir el funcionamiento del servicio web. 
1.3 Justificación 
Anteriormente, en este documento, se trató el problema de mantener a la comunidad estudiantil 
informada acerca de eventos, avisos o circunstancias que le conciernen respecto a la unidad 
profesional. Básicamente se habla de información repartida en distintos medios, medios a los 
cuales la comunidad no está al tanto en cada uno, o incluso por distintas barreras en el proceso de 
 
3 
 
comunicación, como lo pueden ser el tiempo, espacios, horarios de clase y actividades, los avisos 
no llegan al alumno. 
Se plantea entonces, atacar este problema desarrollando un prototipo de sistema web (sitio de 
gestión y servicio web), demostrando en este caso la operación del servicio con un cliente móvil. 
1.4 Propuesta de solución 
La propuesta describe este sistema como un web service, es decir, una aplicación web 
estandarizada que permite realizar operaciones sobre los datos. 
Los diferentes beneficios que se obtendrán son: independencia de aplicación, plataforma, y 
sistema operativo. Una centralización de información, ofreciendo abarcar la comunicación de más 
de un departamento de la unidad con la comunidad; actualizaciones y mejoras que 
automáticamente se reflejen en los sistemas conectados. 
La independencia de plataforma otorgara libertad para desarrollar en cualquier lenguaje y sistema 
operativo, asegurando la compatibilidad del servicio con la mayor parte de terminales móviles de la 
actualidad. 
Ocupando la misma red a Internet de la unidad profesional y alguna instancia de servidor (físico o 
virtual), es posible desarrollar e implementar este servicio que permita a los alumnos estar 
enterados de los distintos hechos que los departamentos o academias necesiten informar. 
Esto también permitiría reducir el uso de papel o cartulinas que las academias, departamentos o 
alumnos ocupen para dar a informar algún hecho. 
Actualmente el uso de teléfonos inteligentes se ha convertido en una tendencia, es por eso que se 
propone desarrollar una aplicación móvil para utilizar este servicio, ya que resulta más práctico 
ocupar un smartphone para abrir un sitio web (siempre y cuando el sitio este optimizado para vistas 
móviles) y buscar información en cualquier momento (o lugar teniendo una conexión a Internet) 
que ocupando un ordenador personal. 
 
4 
 
1.5 Tipos de investigación 
Para el proyecto comenzaré con una investigación de tipo exploratorio, ya que no obstante que el 
tema que abordo ya ha sido estudiado, le daré un enfoque diferente para después entrar a un 
estudio de tipo descriptivo en donde se muestra el sistema desarrollado con respuestas tangibles 
que son consecuencia de un análisis. 
1.6 Técnicas de investigación a emplear 
Para la recolección de información durante el desarrollo del proyecto me basaré en técnicas 
documentales o hemerográficas, ya sea en libros, páginas web, artículos, revistas, etc. Cabe 
mencionar que el proyecto se basa en tecnologías informáticas y es preferible apoyarse en lo que 
ya está hecho y comprobado. 
 
 
 
 
 
 
 
 
 
5 
 
Capítulo II Marco teórico 
El presente trabajo analiza el diseño, desarrollo e implementación de un servicio web como una 
forma de comunicación en favor de la comunidad estudiantil de la UPIICSA, proponiendo una 
estructura flexible y sencilla, útil tanto para estudiantes como personal administrativo. En ese 
sentido, es preciso aclarar algunos conceptos. 
2.1 Comunicación 
En primer término, para el abordaje del servicio web,se valdrá de la teoría de la comunicación. 
El acto de comunicar es un proceso complejo en el que dos o más personas se relacionan y a 
través de un intercambio de mensajes con códigos similares, tratan de comprenderse e influirse de 
forma que sus objetivos sean aceptados en la forma prevista, utilizando un canal que actúa de 
soporte en la transmisión de la información. 
La comunicación constituye una característica como una necesidad de las personas y de las 
sociedades, con el objetivo de poder intercambiarse información y relacionarse entre sí. 
2.1.1 Elementos que intervienen en la comunicación 
Aunque la comunicación es un proceso complejo, para efectos didácticos podemos descomponerlo 
en los diferentes elementos que lo integran. 
 El mensaje. Formado por las diferentes ideas o informaciones, que se trasmiten mediante 
códigos, claves, imágenes, etc., cuyo significado interpretará el receptor. 
 
 El emisor y el receptor. El emisor es el sujeto que comunica en primer lugar o toma la 
iniciativa de ese acto de comunicación, mientras que el receptor es el que recibe el 
mensaje. 
 
 El código. Es el conjunto de claves, imágenes, lenguaje, etc., que sirven para transmitir el 
mensaje. Debe de ser compartido por emisor y receptor. 
 
 
6 
 
 El canal. Es el medio a través del cual se emite el mensaje. Habitualmente se utiliza el oral-
auditivo y el gráfico-visual complementándose. 
 
 El contexto. Se refiere a la situación concreta donde se desarrolla la comunicación. De él 
dependerá, en gran parte, la forma de ejercer los roles por parte de emisor y receptor. 
 
 Los ruidos. Son todas las alteraciones de origen físico que se producen durante la 
trasmisión del mensaje. 
 
 Los filtros. Son las barreras mentales que surgen de los valores, experiencias, 
conocimientos, expectativas, prejuicios, entre otros, del emisor y receptor. 
 
 La retroalimentación. Es la información que devuelve el receptor al emisor sobre su propia 
comunicación, tanto en lo que se refiere a su contenido como a la interpretación del mismo 
o sus consecuencias en el comportamiento de los interlocutores. 
2.1.2 El proceso de comunicación 
El proceso de comunicación supone la intervención activa y dinámica de todos los elementos 
descritos anteriormente, creando una secuencia organizada en la que todos intervienen en mayor o 
menor grado, en uno o varios momentos de esa secuencia. 
Este proceso se desarrolla en un contexto concreto y con un código específico, utilizando al menos 
un canal determinado, con la intervención de emisor y receptor, de forma que el primero trasmite 
un mensaje al segundo. 
En primer lugar, el emisor debe tener unos objetivos definidos con claridad y a partir de ellos 
codificar las ideas, sentimientos o pensamientos que quiera transmitir; adaptándolos al código que 
se haya previsto utilizar, habitualmente el lenguaje, para poder trasmitir el mensaje. 
En el momento de codificar el mensaje ya se han activado los filtros, o incluso antes, cuando el 
emisor se plantea los objetivos de la comunicación. Para la transmisión se emplea el canal que se 
considere más adecuado, utilizando un código común con el receptor, para facilitar la 
comunicación. 
 
7 
 
A partir de la retroalimentación que el receptor devuelve al emisor, se comprobará si está utilizando 
el código adecuado. 
Una vez que se transmite el mensaje van a entrar en escena los ruidos, dificultando que el 
mensaje llegue al receptor en las mejores condiciones. La recepción supone la llegada del mensaje 
al receptor. En esta acción, las dificultades pueden venir provocadas por los ruidos. 
Tras recibirlo, el receptor decodifica el mensaje y lo interpreta a través de un proceso interno, sobre 
la base de sus experiencias y conocimientos. En este momento entran en acción sus filtros, así 
como posibles problemas en relación al conocimiento y el uso adecuado del código. 
Cuando se recibe el mensaje se pone en marcha lo que denominamos “intención”, que se refiere a 
la pregunta que se hace el receptor sobre el significado real del mensaje, a partir de la utilización 
de todos los elementos y componentes que hemos visto que intervienen en este proceso de 
comunicación. 
Esta intención sería el equivalente a los objetivos del emisor. En este momento, el mensaje original 
o el objetivo que pretendía el emisor, estará distorsionado o al menos reducido y sesgado, 
respecto al recibido por el receptor. 
El último paso del proceso es la utilización del feedback o la retroalimentación, con lo que el 
receptor se asegura que el contenido del mensaje que le llega es el que el emisor pretendía 
transmitir. 
2.1.3 Errores en la comunicación 
Al margen de otros problemas que se puedan producir durante el proceso de comunicación, se 
pueden cometer dos tipos de errores: el error de conocimiento y el de transmisión. 
El primero se refiere a los déficits o faltas en la formación del emisor, por una preparación 
inadecuada, incompleta o simplemente por no estar al tanto de los acontecimientos cotidianos. No 
es un error muy grave, pues no se achaca al emisor una intención de engaño hacia el receptor. 
 
Cuando se comete el error o sesgo de transmisión, el receptor atribuye al emisor un ánimo 
 
8 
 
engañoso. Este error se considera más grave que el anterior, pues su presencia contribuye a una 
catalogación negativa del emisor, con la que el comunicador pierde su credibilidad. 
Si en el primer caso el error hacía referencia a “lo que se dice”, es decir, al contenido de la 
información, en este segundo el error se centra en el “cómo se dice”, es decir, la forma en que se 
presenta la información. 
El error de transmisión se relaciona con la “intención” de la que hablábamos previamente, es decir, 
con la imagen que estamos transmitiendo a nuestros interlocutores. Esta se forma con las 
conductas del emisor, conductas que se concretan en tres tipos: verbales, no verbales y 
paraverbales. 
Estos tres tipos constituyen los componentes conductuales de la comunicación y sus diferentes 
combinaciones generan las impresiones que causamos en los demás. 
2.1.4 Comunicación masiva 
Se considera comunicación masiva, a la transmisión de señales mediante un código común al 
emisor y receptor, mediada por un dispositivo tecnológico, como la televisión, los diarios, Internet, 
las radios, etc. 
Las características de estos medios contribuyen a la elaboración y la entrega de los mensajes, 
cumpliendo lo siguiente: 
 Estas formas de comunicación social son “medios”, por lo tanto, existen emisores y 
receptores que pueden ser individuales y colectivos. 
 
 Son abiertos, esto significa que cualquier persona puede acceder a ellos. 
 
 Se relacionan con distintas disciplinas, lo que involucra el empleo de distintos lenguajes, 
además de especificaciones técnicas. 
 
 Los contenidos están destinados a un público heterogéneo y a una gama de receptores, 
como así también a un público más reducido que maneja ciertos códigos e información 
necesaria para decodificar el mensaje. 
 
9 
 
En esta modalidad, el emisor no tiene un contacto directo con los receptores (puesto a que los 
desconoce) y la audiencia es heterogénea, a la vez, el receptor pierde su carácter de receptor 
“individual” pasando a llamarse “receptor colectivo”. 
2.1.5 Funciones de los medios de comunicación 
Los medios de comunicación influyen sobre la sociedad de manera considerable, ayudando a 
satisfacer las necesidades de la población. Las funciones de estos medios son: 
 Informar. Recogen y entregan información de manera veraz y oportuna sobre los diversos 
acontecimientos mundiales y de distintos temas de interés. Esta información busca ser lo 
más objetiva posible. 
 
 Educar. Transmiten la cultura de las distintas comunidades; su pasado, presente y 
proyecciones futuras. Los avances tecnológicos han posibilitado la transmisión de 
programas educativos de manera másatractiva para la comunidad. 
 
 Entretener. La sociedad demanda de los medios la entretención y el esparcimiento. Así 
estos contribuyen a llenar espacios de tiempo para descansar y divertirse. Esta es una de 
las funciones más desarrollada por los programas televisivos, aunque también está 
presente en otros medios de comunicación. 
 
 Formar opinión. Los distintos mensajes entregados por los medios de comunicación, 
contienen la ideología de quienes elaboran la información promoviendo la opinión entre los 
receptores. Los medios sociales ordenan e interpretan la información facilitando la 
comprensión de ésta entre los receptores. 
 
 Socializar. Formar consenso, que la población esté de acuerdo en diversos aspectos y 
compartir información común que integre y nos una. 
 
 Publicidad y propaganda. Esta función es propia de las sociedades modernas, debido a la 
trascendencia económica que ella tiene, así persiguen la finalidad de ofertar y conseguir 
consumidores para los distintos productos que se ofrecen. De esta manera la publicidad y 
propaganda financian los distintos tipos de programas presentados por los medios. Así 
también, persuaden para adoptar actitudes, conductas u otros. 
 
10 
 
2.2 Redes sociales 
La evolución del Internet ha creado nuevos hábitos de vida y las redes sociales son la nueva 
modalidad de interacción en la sociedad actual. Siendo capaces de generar canales de expresión, 
espacios de debate y sistemas para el intercambio de información, música, videos, etc. En el cual 
se cumple el “proceso de comunicación” ya que cualquiera puede convertirse en un emisor y crear 
sus propios contenidos. También se han convertido en promisorios de negocios para empresas, 
artistas, marcas y profesionales independientes. 
Las redes sociales son estructuras sociales formadas por personas que se agrupan por intereses 
comunes que permiten la comunicación entre las partes. O de otra forma: son sitios web donde las 
personas se sociabilizan en el mundo virtual. 
Estas plataformas sociales se han convertido en las protagonistas de los medios de comunicación 
tradicionales, llegando a mezclarse de forma heterogénea y siendo lo suficientemente firmes para 
colarse en las mentes de la mayoría de la población. 
Algunos de los principales beneficios de usar las redes sociales se podrían resumir en: 
 Diluyen fronteras geográficas y sirven para conectar gente sin importar la distancia. 
 
 Perfectas para establecer conexiones con el mundo profesional. 
 
 Tener información actualizada acerca de temas de interés, además permiten acudir a 
eventos, participar en actos y conferencias. 
 
 La comunicación puede ser en tiempo real. 
 
 Pueden generar movimientos masivos de solidaridad ante una situación de crisis. 
2.2.1 Redes sociales en la actualidad 
Cada poco tiempo tenemos noticias de una nueva red social que viene para quedarse, pero en 
realidad son pocas las que al final continúan y son referentes en el mundo de Internet. 
 
11 
 
Actualmente existen muchas redes sociales, algunas especializadas u orientadas a un mercado 
concreto. Entre los principales sitios podemos destacar varios con diferentes particularidades: 
 Facebook. Es la red social por excelencia, ha tenido un éxito notable y sigue vigente al día 
de hoy. Está basada en un sistema bidireccional donde los contactos deben invitarse y 
aceptarse mutuamente para poder conectarse socialmente en dicha red, lo cual implica 
que para que alguien este interactuando con nosotros o nosotros con ellos, debemos ser 
aceptados. 
 
 Twitter. Es la red social de las noticias, de las personas activas y su frenético ritmo de 
publicaciones. Es una red donde “el momento” es lo más importante. Está basada en un 
sistema unidireccional donde cada cual sigue a quien quiere y permite el seguimiento de 
los hashtags que han permitido movimientos y revoluciones. 
 
 Google Plus. Es la red social a la que le sigue esperando una revolución que permita un 
crecimiento en uso comparable a los otros productos del gigante Google. Cualquiera que 
disponga una cuenta de Gmail dispone a la vez de una cuenta en Google Plus. 
 
 Pinterest. Una de las últimas redes sociales que parece que han llegado para quedarse. 
Basada en un sistema de tableros donde puedes “pinear” imágenes con sus comentarios. 
Se ha convertido en un canal para tiendas online y empresas o particulares que desean 
ganar relevancia por sus imágenes. 
 
 Instagram. Nacida de una aplicación para terminales móviles, se ha convertido en la forma 
más sencilla de hacer fotos y colgarlas con retoques profesionales. 
Estas redes sociales son solo un ejemplo, existen innumerables que pueden ser de interés 
personal o profesional cada una teniendo un objetivo, un camino y una finalidad al momento de 
adentrarse. 
En resumidas cuentas, las redes sociales constituyen uno de los fenómenos más llamativos de una 
nueva filosofía de comunicación, donde intervienen millones de personas diariamente. Tener 
presencia en todas suele ser una pérdida de tiempo y es preferible centrarse en lo que realmente 
es rentable o lo que permita afrontar el buen hacer. 
 
12 
 
2.3 Interfaz 
Cuando se utiliza algún programa informático, suele haber algo entre el usuario y el programa. Ese 
algo, que es a la vez un límite y un espacio común entre ambas partes, se le llama interfaz. 
Si bien, lo servicios web reciben, procesan y devuelven cadenas de datos, para este manejo de 
solicitudes es necesario contar con una “interfaz” que muestre una representación de esta 
información para que el usuario pueda familiarizarse con el uso ya sea de un sitio o una aplicación. 
2.3.1 Diseño de interfaces 
El diseño de interfaces o UI (User Interface) hace foco en el artefacto, o dicho de otra manera, en 
lo que está dentro de la pantalla. Como lo son la selección y distribución de los elementos de la 
interfaz (ej. textos y campos del formulario), consistencia del diseño (con la plataforma, con otras 
pantallas), etc. 
2.3.2 Experiencia de usuario 
La experiencia de usuario o UX (User Experience) hace foco en el usuario y en la experiencia que 
se quiere lograr. Se refiere a lo que experimenta el usuario antes, durante y después de 
interactuar con el artefacto. Sin incorporar al usuario, no se puede hacer UX. Por eso, resulta 
fundamental en el diseño de la experiencia, comprender en primer lugar a los usuarios, sus 
verdaderas motivaciones y necesidades; considerar desde ese lugar qué interfaz, qué contenidos y 
qué interacciones lograrán el resultado buscado y finalmente, validar con usuarios los resultados 
que produce la interfaz propuesta. 
2.3.3 Diseño de interacción 
El diseño de interacción o IxD (Interaction Desing) trata de definir las formas de operar la interfaz 
(por ejemplo, si el ingreso de información o selección se produce mediante teclado, mouse, touch, 
o una combinación de ellos), los flujos de operación y las respuestas del sistema. En definitiva, 
pone el foco en el contacto entre el usuario y el artefacto. 
 
 
13 
 
 
Figura 1. Interacción entre UI, UX e IxD. 
2.4 Lenguajes para programación web 
Un lenguaje de programación es un idioma diseñado para expresar comandos que interpreta una 
máquina. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de 
una máquina, expresar algoritmos con precisión, o como medio de comunicación humana. Está 
formado de un conjunto de símbolos, reglas sintácticas y semánticas que definen su 
estructura, el significado de sus elementos y expresiones. 
Con el comienzo de Internet y la programación web, se desfasaron los diseños gráficos 
tradicionales, con lo que se empezaron a diseñar interfaces concretas para este medio, 
buscando ficheros pequeños para facilitar la carga de los mismos. 
2.4.1 HTML 
Es un lenguaje estático para el desarrollo de sitios web (HyperTextMarkup Language, en español 
Lenguaje de Marcas Hipertextuales). Es el lenguaje de marcas predominante para la elaboración 
de páginas web, es usado para describir la estructura y el contenido en forma de texto, así como 
para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de 
etiquetas. HTML puede incluir un script, el cual puede afectar el comportamiento de 
navegadores web y otros procesadores de HTML. 
 
14 
 
HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y 
final, mediante las cuales se determinan la forma en la que debe aparecer en su navegador el 
texto, así como también las imágenes y los demás elementos en la pantalla del ordenador. 
Actualmente se cuenta con una quinta versión de este lenguaje, HTML5, como su nombre lo indica 
es la quinta revisión del estándar HTML y permite soportar lo último en multimedia, agrega 
elementos como video, audio y canvas, como así también integración para gráficos vectoriales 
(SVG) y MathML para fórmulas matemáticas. 
HTML5 es un candidato potencial para ser usado en aplicaciones multiplataforma móviles, incluso 
muchas de las características de este lenguaje fueron pensadas para ser ejecutadas en 
dispositivos de bajo consumo como tablets y teléfonos inteligentes. 
2.4.2 PHP 
PHP (Hypertext Pre-processor) es un lenguaje de script interpretado en el lado del servidor 
utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y 
ejecutadas en el servidor. No necesita ser compilado para ejecutarse. Para su funcionamiento se 
necesita tener instalado Apache o IIS con las librerías de PHP. 
La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características 
específicas. Los archivos cuentan con la extensión “*.php”. Soporta en cierta medida la 
orientación a objetos, clases y herencia. Es un lenguaje multiplataforma: Linux, Windows, entre 
otros. Tiene la capacidad de conexión con la mayoría de los manejadores de base de 
datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras. 
Es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. 
Su diseño está orientado a facilitar la creación de páginas Web, dando la posibilidad de crear 
aplicaciones con una interfaz gráfica para el usuario. 
 
15 
 
 
Figura 2. Interacción de PHP en un servidor web. 
Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor 
ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de 
manera dinámica. El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía 
al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así 
como imágenes en diferentes formatos. 
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, 
PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. Tiene la capacidad 
de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (como Linux o Mac 
OS X) o Windows y puede interactuar con los servidores web más populares ya que existe en 
versión CGI, módulo para Apache e ISAPI. Es libre, por lo que se presenta como una alternativa 
de fácil acceso. 
2.4.3 CSS 
Las hojas de estilo en cascada (Cascading Style Sheets) o CSS, son un lenguaje usado 
para definir la presentación de un documento estructurado escrito en HTML y/o XML( por extensión 
en XHTML). La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un 
documento de su presentación. La información de estilo puede ser adjuntada tanto como un 
documento separado o en el mismo documento HTML. 
 
16 
 
2.4.4 JavaScript 
Este es un lenguaje interpretado que no requiere compilación. JavaScript es un lenguaje de 
scripting basado en objetos, utilizado para acceder a objetos en aplicaciones; principalmente se 
utiliza integrado en un navegador web permitiendo el desarrollo de interfaces de usuario mejoradas 
y páginas web dinámicas. 
El uso más común de JavaScript es escribir funciones embebidas o incluidas en páginas HTML y 
que interactúan con el Document Object Model (DOM o Modelo de Objetos del Documento) de la 
página. Javascript puede incluirse en cualquier documento y es compatible con HTML en el 
navegador del cliente, ya sea PHP, Active Server Pages, ASP, JSP y SVG. 
2.5 Bases de datos 
Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados 
sistemáticamente para su posterior uso. Estas funcionan como una fuente central de datos 
significativos, los cuales son compartidos por numerosos usuarios de diversas aplicaciones. La 
organización de estas debe tener una lógica coherente, conservando siempre su integridad y 
seguridad al margen de las interacciones de ambos lados. 
En una base de datos las entidades y atributos del mundo real, se convierten en registros y 
campos. Las entidades pueden ser objetos materiales, personas, incluso conceptos e ideas 
abstractas. Cada una de estas entidades posee atributos y mantiene relaciones con otras. 
2.5.1 El modelo relacional 
Una base de datos relacional es una colección de datos relacionados mediante tablas lógicas, 
siendo una tabla un conjunto de filas y columnas. 
El modelo relacional se basa en conceptos básico sencillos (dominio, relación, atributo). La 
implementación de la base de datos se facilita mediante un lenguaje declarativo (no procedimental) 
sencillo, basado en la lógica de conjuntos. Los sistemas de gestión de bases de datos relacionales 
administran de forma independiente el nivel lógico (objetos o entidades) y el nivel físico (archivos). 
 
17 
 
El éxito del modelo procede fundamentalmente de esta característica. Con estos sistemas, el 
usuario sólo gestiona el nivel lógico, lo que proporciona una gran simplicidad a la gestión de datos, 
incluso en el caso de usuarios con pocos conocimientos informáticos. 
2.5.2 Sistemas manejadores de bases de datos 
Existen programas denominados sistemas gestores de bases de datos (en inglés, Data Base 
Management System), son un tipo software muy específico (dedicado a servir de interfaz entre la 
base de datos, el usuario y las aplicaciones que la utilizan) que permiten almacenar y 
posteriormente acceder a los datos de forma rápida y estructurada. 
Las funciones principales de un DBMS son: 
 Crear y organizar la base de datos. 
 
 Establecer y mantener las trayectorias de acceso a la base de datos, de tal forma 
que se pueda acceder a los datos rápidamente. 
 
 Manejar los datos de acuerdo a las peticiones de los usuarios. 
 
 Registrar el uso de las bases de datos. 
 
 Interacción con el manejador de archivos. Esto a través de las sentencias en DML 
(lenguaje de manipulación de datos) al comando del sistema de archivos. Así el manejador 
de base de datos es el responsable del verdadero almacenamiento de los datos. 
 
 Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan 
la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de 
datos. 
 
 Control de concurrencia. Consiste en controlar la interacción entre los usuarios 
concurrentes para no afectar la inconsistencia de los datos. 
 
 Seguridad e integridad. Consiste en contar con mecanismos que permitan el control de 
la consistencia de los datos evitando que estos se vean perjudicados por cambios no 
autorizados o previstos. 
 
18 
 
2.5.3 Lenguaje SQL 
SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo (de alto nivel) 
de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales. 
Permite realizar tareasde administración de datos básicas (agregar, eliminar y modificar), 
realizar consultas complejas diseñadas para transformar los datos sin procesar en información útil. 
Realiza funciones básicas con un mínimo esfuerzo del usuario, su estructura y sintaxis de 
comandos es muy fácil de aprender. Todas las funciones SQL encajan en dos categorías: 
 Es un lenguaje de definición de datos, es decir, que incluye comandos para crear, 
editar o eliminar las estructuras de tabla de base de datos, así como también para definir 
derechos de acceso a la base de datos. 
 
 Es un lenguaje de manipulación de datos, es decir, que incluye comandos para 
insertar, actualizar, eliminar y recuperar datos dentro de las tablas de base de datos. 
Además de comandos, el lenguaje SQL está compuesto por cláusulas, operadores y funciones de 
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las 
bases de datos. Sin embargo, SQL no se puede utilizar para implementar toda la lógica de 
negocios y la funcionalidad que el usuario final necesita en nuestras aplicaciones. Esto nos lleva a 
PL/SQL. 
PL/SQL significa Procedural Language/Structured Query Language (una extensión de 
programación estructurada sobre SQL). PL/SQL ofrece un conjunto de instrucciones clásicos de la 
programación estructurada (instrucción condicional IF, loops o iteraciones, asignaciones), 
organizado dentro de bloques (lo que se explica más adelante), que complementan y amplían el 
alcance de SQL. 
Sin duda que es posible crear aplicaciones sobre SQL sin usar PL/SQL, sin embargo, utilizar 
PL/SQL para realizar operaciones específicas de bases de datos, particularmente la ejecución de 
sentencias SQL, ofrece varias ventajas, incluyendo una estrecha integración con SQL, un mejor 
rendimiento a través del tráfico de red reducido, y la portabilidad. Por lo tanto, el código del front-
end de muchas aplicaciones ejecuta tanto sentencias SQL como bloques PL/SQL, para maximizar 
el rendimiento al tiempo que mejora la capacidad de mantenimiento de las aplicaciones. 
 
19 
 
2.5.4 MySQL 
MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario desarrollado 
como software libre y gestionado por distintos lenguajes de programación. 
Permite la creación de cualquier sistema de registro de usuarios y funcionalidades avanzadas de 
un proyecto web. Utiliza un sistema de administración relacional de bases de datos, archiva datos 
en tablas separadas en vez de colocar todos los datos en un gran archivo lo que permite 
flexibilidad y velocidad. Las tablas están conectadas por relaciones definidas que hacen posible 
combinar datos de diferentes tablas. 
Existen varias APIs que permiten acceder a las bases de datos MySQL, incluyendo C, C++, C#, 
Pascal, Delphi(via dbExpress), Eiffel, Smalltalk, Java(con una implementación nativa del driver de 
Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REALbasic(Mac y Linux), (x)Harbour (Eagle1), 
FreeBASIC, Tcl, entre otras. También existe un interfaz ODBC, llamada MyODBC que permite a 
cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos 
MySQL. 
2.6 Aplicaciones web 
Son aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través 
de Internet o de una intranet mediante un navegador. En otras palabras, es un software que se 
codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al 
navegador. 
Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, 
así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software 
a miles de usuarios potenciales. Existen aplicaciones como los web mails, wikis, web blogs, 
tiendas en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web. 
Es importante mencionar que una página web puede contener elementos que permiten una 
comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los 
datos de modo interactivo gracias a que la página responderá a cada una de sus acciones, como 
por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de 
base de datos de todo tipo. 
 
20 
 
Ventajas 
 Ahorra tiempo. Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar 
ningún programa. 
 
 Se evitan problemas de compatibilidad. Basta tener un navegador actualizado para poder 
utilizarlas. 
 
 No ocupan espacio en nuestro disco duro o almacenamiento principal. 
 
 Actualizaciones inmediatas. Como el software lo gestiona el propio desarrollador, cuando 
nos conectamos estamos usando siempre la última versión que haya lanzado. 
 
 Bajo consumo de recursos. Dado que toda (o gran parte) de la aplicación no se encuentra 
en nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos 
nuestros porque se realizan desde otro ordenador. 
 
 Multiplataforma. Se pueden usar desde cualquier sistema operativo porque sólo es 
necesario tener un navegador. 
 
 Portables. Es independiente del ordenador donde se utilice (un computador de sobremesa, 
un portátil, etc.) porque se accede a través de una página web (sólo es necesario 
disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a 
través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS 
para no dificultar el acceso de estos usuarios. 
 
 La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones 
para asegurar la continuidad del mismo. 
 
 Colaboración. Gracias a que el acceso al servicio se realiza desde una única ubicación es 
sencillo el acceso y compartición de datos por parte de varios usuarios, por ejemplo, en 
aplicaciones online de calendarios u oficina. 
 
 Los navegadores ofrecen cada vez más y mejores funcionalidades para crear aplicaciones 
web. 
 
21 
 
Inconvenientes 
 Habitualmente ofrecen menos funcionalidades que las aplicaciones de escritorio. Esto se 
debe a que las funcionalidades que se pueden realizar desde un navegador son más 
limitadas que las que se pueden realizar desde el sistema operativo. 
 
 La disponibilidad depende de un tercero, el proveedor de la conexión a Internet o el que 
provee el enlace entre el servidor de la aplicación y el cliente. Así que la disponibilidad del 
servicio está supeditada al proveedor. 
 
 La aplicación web desaparece si así lo requiere el desarrollador o si el mismo se extingue. 
Las aplicaciones tradicionales, en general, pueden seguir usándose en esos casos. 
 
 El usuario, en general, no tiene libertad de elegir la versión de la aplicación web que quiere 
usar. Un usuario podría preferir usar una versión más antigua, hasta que la nueva sea 
probada. 
 
 El servidor debe tener las prestaciones necesarias para ejecutar la aplicación de manera 
fluida, no sólo para un usuario sino para todos los que la utilicen de forma concurrente. 
 
 La necesidad de seguridad en los procedimientos usados para compartir o manejar 
información en la Internet se vuelve más importante. Por lo que es necesario contar con 
mecanismos o procedimientos que permitan mantener la integridad y privacidad de la 
información. 
 
 El espacio de almacenamiento puede ser limitado, por lo que hay que considerar o estimar 
el tamaño de datos que alojara la aplicación en el servidor. 
2.7 Servicios web 
Los “web services” (servicios web o servicio de aplicaciones) son servicios (generalmente una 
combinación entre datos y programación, en ocasiones incluyendo recursos humanos) que están 
disponibles desde un servidor web para los usuarios u otros programas conectados a la web. 
Estos servicios van desde la gestión de almacenamiento, gestión de relacionescon clientes (CRM) 
hasta los servicios limitados como una cotización o consulta de valores de algún producto. La 
 
22 
 
rápida creación y disponibilidad de estos servicios ha sido una de las principales tendencias de la 
web. El uso que se aborda en este documento es la posibilidad de explotar una situación 
comunicacional emitida por un emisor oficial haciéndose llegar a todo receptor que cuente con una 
aplicación que funja como receptor de mensajes, sin necesidad de conocer los detalles de sus 
respectivos sistemas de información. 
Los usuarios pueden acceder a estos servicios a través de la comunicación punto a punto. Algunos 
servicios pueden comunicarse con otros web services e intercambiar, procesar y devolver 
consultas de información generalmente habilitados por una clase de software conocida como 
middleware. 
Como preocupaciones del uso o implementación de estos servicios, se incluyen las demandas 
sobre el ancho de banda, así como la disponibilidad de red y el rendimiento del servidor, ya que 
este tendrá que responder tantas solicitudes como a número de usuarios o clientes que accedan a 
la información. 
 Estos servicios pueden ser clasificados en dos tipos: 
 SOAP: acrónimo de “Protocolo Simple de Acceso a Objetos”. Describen una forma 
estandarizada de integrar aplicaciones web mediante el uso de XML, SOAP, WSDL y UUDI 
sobre los protocolos de la Internet. XML es usado para describir los datos, SOAP se ocupa 
para la transferencia de datos, WSDL se emplea para describir los servicios disponibles y 
UUDI se ocupa para conocer cuáles son los servicios disponibles. 
 
 REST: acrónimo de “Transferencia de Representación de Estado”. Esto significa que el 
estado necesario para manejar una petición está contenido dentro de la propia solicitud, ya 
sea como parte de la URI, parámetros de query-strings, cuerpo o cabeceras. De ahí el 
nombre, el estado lo mantiene el cliente y por lo tanto es el cliente quien debe pasar el 
estado en cada llamada. 
A diferencia de los modelos cliente/servidor, tales como un servidor de páginas web, los web 
services no proveen al usuario una interfaz gráfica (GUI), en vez de ello, estos servicios comparten 
la lógica del negocio, los datos y los procesos, por medio de una interfaz de programas a través de 
la red. Es decir, conectan programas, por tanto son programas que no interactúan directamente 
con los usuarios. Los desarrolladores pueden por consiguiente agregar a los servicios web la 
 
23 
 
interfaz para usuarios, por ejemplo, mediante una página web o un programa ejecutable con fin de 
entregarles a los usuarios una funcionalidad específica que provee un determinado servicio web. 
Además, permiten a distintas aplicaciones, de diferentes orígenes, comunicarse entre ellos sin 
necesidad de escribir programas costosos, esto porque la comunicación se hace con XML. Los 
web services no están ligados a ningún sistema operativo o lenguaje de programación. Por 
ejemplo, un programa escrito en Java puede conversar con otro escrito en Pearl; aplicaciones de 
Windows pueden conversar con aplicaciones Unix. Por otra parte los servicios web no necesitan 
usar browsers (navegadores o exploradores de Internet) ni el lenguaje de especificación HTML. 
2.7.1 Arquitectura orientada a servicios 
La arquitectura orientada a servicios, (en inglés Service Oriented Archiecture), es un concepto de 
arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del 
negocio. 
Esta estructura separa las funciones en unidades distintas o servicios. Estos son publicados a 
través de la red de manera que los usuarios puedan combinarlos y reciclarlos en la producción de 
aplicaciones. Utilizar un servicio, es generalmente más barato y efectivo que hacer el trabajo por 
uno mismo. 
Los siguientes puntos, definen las reglas para el desarrollo, mantenimiento y uso de la arquitectura 
orientada a servicios: 
 Reutilizable, granularidad, modularidad, integrable, separación en componentes e 
interoperabilidad. 
 
 Apego a estándares comunes y específicos a la industria. 
 
 Identificación y categorización de servicios, entrega y monitoreo 
Lo siguientes principios se enfocan en temas específicos que alteran el comportamiento de un 
sistema y su diseño: 
 
24 
 
 Encapsulación. Cada servicio oculta sus propios métodos y datos de manera que solo este 
mismo puede procesar mediante las operaciones definidas por la lógica. 
 
 Acoplamiento mínimo. Los servicios mantienen una relación que minimice las 
dependencias y requiere solo que los servicios conozcan la existencia mutua. 
 
 Contrato. Los servicios se apegan a un acuerdo de comunicaciones definido por 
documentos descriptivos de uno o más negocios. 
 
 Abstracción. Más allá de lo descrito en el contrato de servicio, la lógica se esconde del 
resto del mundo. 
 
 Re-usabilidad. La lógica se divide en servicios con la intención de promover y facilitar el re-
uso. 
 
 Capacidad de composición. Colecciones de servicios pueden ser coordinados y 
ensamblados para formar servicios compuestos. 
 
 Autonomía. Los servicios tienen control sobre la lógica que encapsulan. 
 
 Optimización. Si todo lo demás es igual, un servicio de mayor calidad es preferible a uno 
de menor calidad. 
 
 Relevancia. La funcionalidad se presenta en una granularidad reconocida por el usuario 
como servicio de valor. 
2.7.2 SOAP web service 
Los servicios SOAP están construidos con varias tecnologías que trabajan conjuntamente con los 
estándares que están emergiendo para asegurar la seguridad y operatividad, de modo de hacer 
realidad que el uso combinado de varios web services, independiente de la o las empresas que los 
proveen, este garantizado. 
A continuación se describen brevemente los estándares que ocupan los servicios basados en 
SOAP: 
 
25 
 
 XML. Abreviación de Extensible Markup Language. El XML es una especificación 
desarrollada por W3C. Permite a los desarrolladores crear sus propios tags, que les 
permiten habilitar definiciones, transmiciones, validaciones e interpretación de los datos 
entre aplicaciones y entre organizaciones. 
 
 SOAP. Abreviación de Simple Object Access Protocol. Es un protocolo de mensajería 
construido en XML que se usa para codificar información de los requerimientos de los 
servicios web y para responder los mensajes antes de enviarlos por la red. Los mensajes 
SOAP son independientes de los sistemas operativos y pueden ser transportados por los 
protocolos que funcionan en la Internet, como son SMTP, MIME y HTTP. 
 
 WSDL. Abreviación de Web Services Description Language. Es un lenguaje especificado 
en XML que se ocupa para definir los web services como colecciones de punto de 
comunicación capaces de intercambiar mensajes. El WSDL es parte integral de UDDI y 
parte del registro global de XML, en otras palabras es un estándar de uso público (no se 
requiere pagar licencias para usarlo). 
 
 UDDI. Abreviación de Universal Description, Discovery and Integration. Es un directorio 
distribuido que opera en la web. Permite a las empresas publicar sus servicios web para 
que otras empresas conozcan y utilicen los web services que publican. Opera de manera 
análoga a las páginas amarillas. 
Los servicios web SOAP, utilizan mensajes XML para intercomunicarse que siguen el estándar 
SOAP , un lenguaje XML que define la arquitectura y formato de los mensajes. Dichos sistemas 
normalmente contienen una descripción legible por la máquina de la descripción de las 
operaciones ofrecidas por el servicio, escrita en WSDL , que es un lenguaje basado en XML para 
definir las interfaces sintácticamente. 
El diseño de un servicio basado en SOAP debe establecer un contrato formal para describir la 
interfaz que ofrece el servicio Web. WSDL puede utilizarse para describir los detalles del contrato, 
que pueden incluir mensajes, operaciones, bindings,y la localización del servicio Web. 
 
 
 
 
 
 
26 
 
 
Entre las ventajas o beneficios del uso o implementación de estos servicios web destacan: 
 Fomentan estándares y protocolos basados en texto que hacen más fácil acceder a su 
contenido y entender su funcionamiento. 
 
 Al apoyarse en HTTP, pueden aprovecharse de los sistemas de seguridad firewall sin 
necesidad de cambiar las reglas de filtrado. 
 
 Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares 
geográficos puedan ser combinados fácilmente para proveer servicios integrados. 
 
 Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de 
protocolos estándar y abiertos, por tanto se garantiza la plena interoperabilidad entre 
aplicaciones. 
UUDI 
Encontrar 
WSDL 
Describir 
SOAP 
Invocar 
XML, XML Schema 
Datos 
HTTP, SMTP, TCP 
Transporte 
Ofrece un directorio de servicios en 
Internet. 
 
Ofrece un modo de definir los servicios. 
Permite invocar métodos de los servicios. 
Permite a los consumidores de servicios 
enviar y recibir mensajes a y de los 
servicios. 
Son protocolos abiertos de Internet. 
Dan soporte a las capas superiores. 
Figura 3. Estructura de SOAP web service. 
 
 
27 
 
2.7.3 REST web service 
Este tipo de servicio está basado en el concepto de “recurso”. Un recurso es cualquier cosa que 
contenga una URI. Este recurso puede tener cero o más representaciones, usualmente se dice que 
este no existe si no hay ninguna representación disponible para el recurso. 
Los servicios web de tipo REST requieren poco soporte de infraestructura aparte de las 
tecnologías HTTP y XML, populares en lenguajes y plataformas de programación. Estos servicios 
son simples y efectivos dado que HTTP es la interface más ampliamente disponible y es suficiente 
buena para la mayoría de las aplicaciones. 
 Un servicio REST debe de cumplir con los siguientes requisitos: 
 Se limitan a los métodos HTTP como son: GET (para obtener un recurso), DELETE (para 
eliminar un recurso), POST (para crear un recurso en el servidor) y PUT (para cambiar el 
estado de un recurso o actualizarlo). 
 
 La mayoría de los mensajes están en XML, confinados por un esquema escrito con un 
lenguaje de esquema. 
 
 Los mensajes pueden ser codificados en formato URL. 
 
 Los servicios y proveedores de REST deben de ser recursos, mientras que un cliente 
puede ser un recurso. 
Un concepto importante en REST es la existencia de recursos (elementos de información), que 
pueden ser accedidos utilizando un identificador global (un Identificador Uniforme de Recurso). 
Para manipular estos recursos, los componentes de la red (clientes y servidores) se comunican a 
través de una interfaz estándar (HTTP) e intercambian representaciones de estos recursos. 
La petición puede ser transmitida por cualquier número de conectores (por ejemplo clientes, 
servidores, cachés, túneles, etc.) pero cada uno lo hace sin "ver más allá" de su propia petición lo 
que se conoce como stateless (sin estado). 
 
 
28 
 
 
Cabe destacar que REST no es un estándar, ya que es tan solo un estilo de arquitectura. Los 
objetivos de este estilo de arquitectura se listan a continuación: 
 Escalabilidad de la interacción con los componentes. Una prueba de ellos es la variedad de 
clientes que pueden acceder a través de la web: estaciones de trabajo, sistemas 
industriales, dispositivos móviles, etc. 
 
 Generalidad de interfaces. Gracias al protocolo HTTP, cualquier cliente puede interactuar 
con cualquier servidor HTTP sin ninguna configuración especial. 
 
 Puesta en funcionamiento independiente. Este hecho es una realidad que debe tratarse 
cuando se trabaja en Internet. Los clientes y servidores pueden ser puestos en 
funcionamiento durante años. Por tanto, los servidores antiguos deben ser capaces de 
entenderse con clientes actuales y viceversa. 
 
 Compatibilidad con componentes intermedios. Los más populares intermediaros son varios 
tipos de proxys , firewalls y gateways, 
GET POST PUT DELETE 
Lenguaje de programación. (JAVA, PHP, ASP) 
XML 
Figura 4. Composición de un REST web service. 
 
29 
 
2.8 Comparación de tecnologías 
2.8.1 Servidores Web 
Según el artículo “September 2015 Web Server Survey” en el sitio de la empresa NetCraft 
(compañía de servicios de Internet, ofrecen análisis de cuota de mercado de servidores y 
alojamiento web, incluyendo la detección del tipo de servidor web y de sistema operativo) en la 
encuesta de agosto 2015 recibieron respuestas de 874,408,576 sitios y 5,391,301 computadoras 
orientadas a la web. 
Este año nuevamente, Apache ha liderado el mercado de los servidores y sitios web, situación que 
ha llevado a que no solo se compita entre servidores web, sino también entre lenguajes de 
programación; ya que ahora no se hacen páginas web, se escriben aplicaciones web por lo que es 
casi imposible separar un lenguaje de programación del servicio web que lo provee. 
(http://news.netcraft.com/archives/2015/09/16/september-2015-web-server-survey.html). 
 
Figura 5. Mercado de servidores hasta Agosto 2015. 
 
30 
 
2.8.2 Lenguaje Web 
Si bien Apache ha reducido su cuota de participación a nivel global, esta no ha sido tomada por 
Microsoft sino por otros servidores como Nginx y otros fuertemente ligados al lenguaje PHP e 
incluso a otros lenguajes, por lo tanto, la participación de PHP en el Internet es de al menos un 
60% y la de C# de un máximo de 30%, el resto será para Ruby, Python, etc. 
 
Figura 6. Servidores según la respuesta de sitios web. 
Entre mi elección de lenguaje, resulta a mi preferencia PHP para el desarrollo tanto del sitio (en 
conjunto con el estándar HTML) como del servicio. Hoy en día no existe alguna solución web que 
no se haya escrito para PHP, graficas de diferente tipo: barras, pasteles, líneas, etc., conectores de 
bases de datos, renderizadores de archivos para el formato que se requiera, cifradores RSA y 
otros, manejo de sockets en IPV4 e IPV6 todo eso y más está a unas cuentas líneas de código. 
Agregando la ventaja que PHP es un lenguaje multiplataforma, complemente orientado al 
desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de 
datos. 
Como desventaja que encuentro en PHP, es la capacidad de depurar una aplicación web con un 
IDE como Visual Studio y por supuesto el IDE en sí mismo. 
 
31 
 
2.8.3 Base de datos 
No solo el lenguaje de programación está ligado al tipo de servidor, actualmente los servidores con 
Apache han optado por ofrecer algún servicio de base de datos, como lo son MySQL o 
PostgreSQL. 
PostgreSQL tiene prácticamente todo lo que tienen los gestores comerciales, haciendo de él una 
muy buena alternativa GPL. La velocidad de respuesta que ofrece este gestor con bases de datos 
relativamente pequeñas puede parecer un poco deficiente, aunque esta misma velocidad la 
mantiene al gestionar bases de datos realmente grandes, cosa que resulta notable. 
 
Figura 7. Comparación de distintos gestores de bases de datos 
Hoy en día, muchos proyectos se ejecutarían tan bien en un sistema de base de datos como en el 
otro. Además, ambas opciones de código abierto ofrecen una dura competencia a sus alternativas 
de código cerrado y más costoso. 
 
32 
 
MySQL se ha enfocado tradicionalmente en aplicaciones web de lectura, usualmente escritas en 
PHP, donde la principal preocupación es la optimización de consultas sencillas, siendo este el más 
popular y al estar familiarizado resulta en el momento, mi mejor opción en conjunto con Apache y 
PHP. 
2.8.4 Smartphones 
Smartphone es un término comercial para denominar a un teléfono móvil que ofrece más funciones 
que un teléfono móvil común. 
La característica más importante (una de ellas) de todos los teléfonos inteligentes es que cuentan 
con algún sistema operativo y permiten la instalación de programaspara incrementar sus 
posibilidades, como el procesamiento de datos y la conectividad. Estas aplicaciones pueden ser 
desarrolladas por el fabricante del dispositivo, por el operador o por un tercero. 
Entre los principales sistemas operativos para smartphone y que los fabricantes han optado por 
instalar en sus dispositivos se encuentran Android de Google, iOS de Apple y Windows Phone de 
Microsoft. 
La evolución de estos teléfonos inteligentes, tanto en funcionalidad como en precio, han permitido 
estar cada día más cerca de la población. 
En México, la Asociación Mexicana de Internet hizo la presentación de la actualización para 2015 
del “Estudio de hábitos de los usuarios de Internet en México” durante la celebración del día 
mundial de Internet (17de mayo). Este estudio consiste en un análisis estadístico que busca 
identificar las características de los usuarios de la red en el país, conocer la demanda del mercado 
que requieren los servicios de Internet, saber las actividades que los mexicanos realizan en la red, 
y generar información para que las empresas puedan identificar sus mercados. 
Uno de los objetivos de esta 11ª edición del estudio es evaluar el peso y la evolución de las 
conexiones móviles en el universo de usuarios mexicanos. En el análisis del tipo de dispositivo 
utilizado para las comunicaciones digitales, si bien la laptop sigue siendo predominante, el 
segmento de los smartphones creció de 49% a 58%, desplazando a la computadora de escritorio a 
un tercer lugar (54%). 
 
33 
 
 
Figura 8. Los tres primeros dispositivos de acceso a Internet según la encuesta. 
En cuanto a los lugares en donde los usuarios se conectan, la gran mayoría lo hace desde el hogar 
(84%) al igual que el año pasado, seguido por el sitio de trabajo (42%). Destaca que la escuela 
detuvo su tendencia de reducción de ediciones anteriores, y ahora superó las cifras del año pasado 
con un 36%, (34% de 2014). 
 
Figura 9. Lugares habituales de conexión. 
 
34 
 
Para complementar esta hipótesis, se hizo un acercamiento específico a las características del 
empleo de los teléfonos inteligentes, mismo que revela un mayor uso de los móviles conectados a 
Internet: 
 Para el 82% de los usuarios su smartphone es de suma importancia, contra sólo un 17% 
que le atribuye poca importancia. 
 El 87% de los usuarios de un smartphone navega por Internet, el 79% hace búsquedas de 
información y el 77% recibe y envía correos electrónicos. En proporciones cercanas al 
50%, revisan archivos, leen noticias y descargan material multimedia (música, fotos, 
videos). 
 El 82% de los internautas ha descargado e instalado apps en su teléfono celular 
inteligente. 
 
Figura 10. Principales usos del smartphone. 
 
35 
 
Otra serie de datos con características singulares, se observa en las actividades que realizan los 
usuarios durante su conexión. Por primera vez en la historia, las redes sociales toman la 
vanguardia con un 85% de los internautas (en 2014 el uso principal era el correo electrónico), 
seguido por las búsquedas de Información (78%) y hasta el tercer lugar, el correo electrónico con 
un 73%. 
Al detallar en las actividades laborales, vemos que las diversas formas de empleo están mejor 
balanceadas: predomina el correo electrónico (65%), seguido por las búsquedas de información 
(62%), el envío y recepción de documentos (55%) y la comunicación por mensajería instantánea 
(30%). El 18 por ciento de los usuarios se conecta para administrar redes sociales empresariales. 
 
Figura 11. Principales actividades online. 
De manera muy distinta se muestra el uso de Internet para actividades de ocio y entretenimiento. 
El 83% de los usuarios se conecta a sus redes sociales y en rangos cercanos al 50%, el uso de 
Internet es para enviar correos, descargar materiales multimedia (música, fotos, videos), 
conversaciones mediante mensajería instantánea y visitar sitios de noticias. 
 
36 
 
2.8.5 Fabricantes y sistemas operativos 
Actualmente 92.8% de las visitas móviles a Internet en México provienen de los sistemas 
operativos iOS y Android, lo cual quiere decir que el 7.2% restante se lo pelean BlackBerry, 
Windows Phone y algunos más antiguos como Symbian. En general, Android, abarca poco más 
del 80% del mercado, mientras que el 10% se recae en iOS. 
 
Figura 12. Fabricantes de smartphones y sistemas operativos en el mercado mexicano. 
Android crece más y más rápido que ninguno de sus competidores. Esto puede parecer una 
obviedad (a fin de cuentas, Android cubre mucho más espectro de dispositivos que la 
competencia), pero es un factor importante, al empezar necesitas visibilidad, ¿y dónde mejor para 
que te vean que donde hay mucha más gente? 
Ocupando estos datos dispongo a desarrollar una aplicación móvil para la plataforma Android, 
dado que es el que sistema operativo con mayor presencia, independiente del fabricante del 
dispositivo, siendo esta la que realice las peticiones al servicio web y muestre la información de 
interés al alumno. 
 
37 
 
2.8.6 Servicios, aplicaciones o programas similares 
Producto Descripción 
Sitio 
Web 
Aplicación 
Móvil 
School 
control
1
 
 
Es una plataforma que ofrece a colegios y padres darle 
seguimiento al estudiante, en sus calificaciones, circulares, 
eventos, estadísticas, pagos y reportes entre otros. 
Si 
Android, 
iOS 
SesWeb
2
 
Es una plataforma de servicios web que permite a los 
alumnos, padres de familia, maestros y directivos de su 
plantel interactuar, comunicarse e informarse de una manera 
fácil y oportuna, logrando una convivencia virtual entre su 
comunidad escolar. 
Si No 
SIEL
3
 
Es un sistema escolar que facilita la comunicación entre los 
integrantes de la comunidad educativa mediante la 
publicación en línea de calificaciones, avisos, calendario 
escolar, tareas, guías de estudio, información general y 
medica con fotografías, control de colegiaturas y becas, etc. 
Si No 
PIZARRA 
ESCOLAR
4
 
Es una aplicación móvil para escuelas que facilita la gestión 
de sus estudiantes como son: los grupos, horarios, 
exámenes, calificaciones, avisos a los estudiantes, avisos 
para los padres de familia, control de pagos, avisos 
personalizados de falta de pagos, entre otros. 
Si Android 
 
Figura 13.Tabla comparativa de soluciones similares en el mercado. 
 
1
 http://www.schoolcontrol.com 
2
 http://www.exito.mx/sw.htm 
3
 http://www.informacionescolar.com/ 
4
 http://kaisa.com.mx/pizarraescolar.html 
 
38 
 
Existen en el mercado y en la actualidad productos enfocados al sector escolar, que prometen 
gestionar las actividades y procesos que involucran a estudiantes, padres de familia, maestros, 
personal administrativo y directivos, permitiéndoles revisar horarios, calificaciones, crear 
calendarios de eventos, mandar recordatorios o avisos, realizar pagos entre otros. 
La gran mayoría son sistemas “completos” que involucran todas las actividades y no pueden ser 
adquiridos por medio de módulos que se ajusten a las necesidades. A la vez, estos sistemas son 
más útiles a padres de familia que requieren supervisar el desempeño de sus hijos en sus 
escuelas, por lo que, a pesar de ser un sistema para cualquier nivel académico, tienen un mayor 
uso en niveles de preescolar, primaria y secundaria, niveles donde los padres de familia tienen la 
tutoría o responsabilidad de sus hijos. 
De los productos mencionados, “Pizarra Escolar” es el producto más cercano a la propuesta de 
solución descrita. El producto base es una interface web, suficiente para gestionar a los 
estudiantes y avisos a padres de familia. Al ser una plataforma web esta se encuentra disponible a 
teléfonos inteligentes por medio del navegador web integrado. Si es requerida, se proporciona la 
aplicación para la plataforma Android, prometiendo un fácil acceso. 
A diferencia de la propuesta mencionada

Continuar navegando