autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · desarrollar un prototipo de...

42
Prototipo para la comunicaci´ on multimedia remota en ambientes discordantes: web-escritorio Autor Bernardo Enrique Cardales Acu˜ na Universidad Distrital Francisco Jose de Caldas Facultad de Ingenier´ ıa Especializaci´onenIngenier´ ıa de Software Bogot´ a, Colombia no 2019

Upload: others

Post on 26-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Prototipo para la comunicacion multimedia remota en ambientes discordantes:web-escritorio

AutorBernardo Enrique Cardales Acuna

Universidad Distrital Francisco Jose de CaldasFacultad de Ingenierıa

Especializacion en Ingenierıa de SoftwareBogota, Colombia

Ano 2019

Page 2: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Prototipo para la comunicacion multimedia remota en ambientes discordantes:web-escritorio

AutorBernardo Enrique Cardales Acuna

DirectorDr. Joaquin Mesa

RevisorMsc. Milena Cortes

Universidad Distrital Francisco Jose de CaldasFacultad de Ingenierıa

Especializacion en Ingenierıa de SoftwareBogota, Colombia

Ano 2019

Page 3: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Indice de figuras

1-1. Arquitectura WebRTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131-2. RTP - Real Time Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141-3. Modelo por prototipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2-1. Punto de vista de comportamiento Metamodelo . . . . . . . . . . . . . . . . . . . . 222-2. Punto de vista de comportamiento prototipo escritorio . . . . . . . . . . . . . . . . 232-3. Punto de vista comportamiento prototipo Web . . . . . . . . . . . . . . . . . . . . . 232-4. Punto de Vista cooperacion de aplicacion Metamodelo . . . . . . . . . . . . . . . . 242-5. Punto de Vista cooperacion de aplicacion escritorio . . . . . . . . . . . . . . . . . . 252-6. Punto de vista cooperacion de aplicacion prototipo web . . . . . . . . . . . . . . . . 262-7. Punto de vista estructura de aplicacion Metamodelo . . . . . . . . . . . . . . . . . . 272-8. Punto de vista estructura de aplicacion prototipo escritorio . . . . . . . . . . . . . . 282-9. Punto de vista estructura de aplicacion web . . . . . . . . . . . . . . . . . . . . . . 292-10.Relacion de bytes en el tiempo en comunicacion de audio en prototipo web . . . . . 312-11.Relacion de bytes en el tiempo en comunicacion de video en prototipo web . . . . . 322-12.Comunicacion de audio y video entre usuarios en prototipo web . . . . . . . . . . . 332-13.Relacion de bytes en el tiempo en comunicacion de audio en prototipo escritorio . . 342-14.Relacion de bytes en el tiempo en comunicacion de video en prototipo escritorio . . 342-15.Comunicacion de audio y video entre usuarios en prototipo escritorio . . . . . . . . 35

Page 4: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Tabla de contenido

Introduccion 6

I Contextualizacion de la investigacion 7

1. Descripcion de la investigacion 81.1. Tıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2. Estudio del problema de investigacion . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2. Formulacion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.3. Sistematizacion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3. Objetivos de la investigacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4. Justificacion de la Investigacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4.1. Justificacion practica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5. Marco de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5.1. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.6. Aspectos metodologicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6.1. Tipo de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6.2. Metodo de investigacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6.3. Fuentes y tecnicas para la recoleccion de informacion . . . . . . . . . . . . . 181.6.4. Tratamiento de la informacion . . . . . . . . . . . . . . . . . . . . . . . . . . 18

II Desarrollo de la investigacion 19

2. Desarrollo de la Investigacion 202.1. Metodologıa aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2. Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.1. Caso de uso comunicacion de audio y video en entorno web . . . . . . . . . . 202.2.2. Caso de uso comunicacion de audio y video en entorno escritorio . . . . . . . 21

2.3. Arquitectura de prototipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 5: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

TABLA DE CONTENIDO 5

2.3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.2. Punto de vista de comportamiento de aplicacion . . . . . . . . . . . . . . . . 212.3.3. Modelo base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.4. Punto de vista comportamiento prototipo escritorio . . . . . . . . . . . . . . 222.3.5. Punto de vista comportamiento prototipo web . . . . . . . . . . . . . . . . . 232.3.6. Analisis del punto de vista comportamiento para los prototipos . . . . . . . 242.3.7. Punto de vista Cooperacion de Aplicacion . . . . . . . . . . . . . . . . . . . 242.3.8. Modelo base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.9. Punto de vista cooperacion de aplicacion prototipo escritorio . . . . . . . . . 252.3.10. Punto de vista cooperacion de aplicacion prototipo web . . . . . . . . . . . . 262.3.11. Analisis del punto de vista cooperacion de aplicacion para los prototipos . . 272.3.12. Punto de vista estructura de aplicacion . . . . . . . . . . . . . . . . . . . . . 272.3.13. Modelo base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3.14. Punto de vista estructura de aplicacion prototipo escritorio . . . . . . . . . . 282.3.15. Punto de vista estructura de aplicacion prototipo web . . . . . . . . . . . . . 292.3.16. Analisis del punto de vista estructura de aplicacion para los prototipos . . . 29

2.4. Contexto de la ejecucion de los prototipos . . . . . . . . . . . . . . . . . . . . . . . 302.4.1. Recursos de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4.2. Recursos de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.5. Caracterısticas de la comunicacion de audio y video en prototipos . . . . . . . . . . 312.5.1. Comunicacion de audio y video en prototipo web . . . . . . . . . . . . . . . 312.5.2. Analisis de la comunicacion de audio y video en prototipo web . . . . . . . . 332.5.3. Comunicacion de audio y video en prototipo escritorio . . . . . . . . . . . . 332.5.4. Analisis de la comunicacion de audio y video en prototipo escritorio . . . . . 36

III Cierre de la investigacion 37

3. Cierre de la investigacion 383.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 6: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Introduccion

La creciente demanda de comunicacion entre diversos sectores ha traıdo consigo una necesidad deincorporar medios apoyados en la tecnologıa para la comunicacion en tiempo real, se puede notarel incremento en el ambito laboral las reuniones remotas entre companeros, clientes y proveedoresmediante herramientas de software de escritorio que permiten que se lleve a cabo un intercambiode audio y video en tiempo real entre personas.

El presente proyecto pretende desarrollar prototipos de aplicaciones web y de escritorio las cualesnos permitiran hacer un analisis comparativo de las dos aplicaciones y determinar aspectos masdestacados de una comunicacion remota en una aplicacion con respecto a la otra, de modo que elactual documento muestra, la descripcion de problema, las fases del proyecto y a nivel general lasactividades necesarias para llevar a cabo el proyecto de investigacion.

Este documento esta conformado en tres capıtulos:

En el primer capitulo se presenta el marco del proyecto: el planteamiento e identificacion delproblema de investigacion, los objetivos, formulacion, hipotesis y metodologıa de investigacion;nos muestra conceptos, tecnologıas relacionados con el desarrollo de los prototipos.

El segundo capitulo evidencia la arquitectura aplicada a los prototipos, las observaciones, medi-ciones realizadas y el analisis determinado en los modelos y los argumentos respectivos.

El tercer capitulo expone las conclusiones y la discusion propuestra. Se evaluan los objetivos y sepropone orientanciones futuras de investigacion basadas en el presente proyecto.

Page 7: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Parte I

Contextualizacion de la investigacion

Page 8: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Capıtulo 1

Descripcion de la investigacion

1.1. Tıtulo

Prototipo de comunicacion multimedia remota en medios discordantes: web-escritorio

1.2. Estudio del problema de investigacion

1.2.1. Planteamiento del problema

Conforme al cuadrante de Gartner [1] las tecnologıa de software mejor posicionada en el mercadopara la comunicacion remota, son paquetes de software que se instalan en un sistema operativo,mientras que desde hace algunos anos se ha posibilitado la transferencia de audio y video pormedio de un navegador web, sin tener que instalar ningun artefacto; no obstante su uso no ha sidotan masivo.

En empresas e instituciones se utiliza software para la comunicacion, sin embargo, se requierela instalacion de plugins y compatibilidad con el sistema operativo para su ejecucion, ademas senecesita tener licenciamiento tanto para el sistema operativo como para la herramienta de softwareque provee la transferencia de audio y video. Asımismo se puede presentar la incompatibilidad deversiones de la aplicacion con la configuracion de librerıas del sistema operativo donde se instala.

Por medio de este proyecto se plantea evaluar la comunicacion remota de audio y video de unaaplicacion web, frente a ese mismo tipo de comunicacion en una aplicacion de escritorio, con mirasa tener un mayor panorama en el comportamiento de los componentes que intervienen en el procesoy proveer un soporte en la desicion de escoger el uno o el otro si esta planeando llevar a cabo unoo varios proyectos de caracterısticas similares.

1.2.2. Formulacion del problema

¿Cuales serıan los elementos fundantes para establecer el vector decision en ambientes de comuni-cacion discordantes?

Page 9: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

1.2 Estudio del problema de investigacion 9

1.2.3. Sistematizacion del problema

¿Que tanta ha sido la dispersion de los bytes enviados, frente a los recibidos?¿Que opinion tiene el usuario acerca de la comunicacion bidireccional multimedia en web y enescritorio?¿Como ha sido en general la comunicacion bidireccional multimedia desde un ambiente web res-pecto a la comunicacion bidireccional multimedia en un ambiente de escritorio?

Page 10: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

10 1 Descripcion de la investigacion

1.3. Objetivos de la investigacion

1.3.1. Objetivo general

Analizar la comunicacion remota de audio y video en una herramienta de software tipo web,respecto a la comunicacion remota de audio y video en una herramienta de software de tipoescritorio para determinar si la tecnologıa aplicada en la herramienta web provee mejor evaluacionque la tecnologıa aplicada en la herramienta de escritorio.

1.3.2. Objetivos especıficos

Desarrollar un prototipo de software de tipo web que permita la comunicacion en tiemporeal de audio y video entre usuarios.

Desarrollar un prototipo de software de tipo escritorio que permita la comunicacion en tiemporeal de audio y video entre usuarios.

Verificar caracterısticas de la comunicacion en tiempo real de audio y video en cada una delas herramientas de software.

Page 11: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

1.4 Justificacion de la Investigacion 11

1.4. Justificacion de la Investigacion

1.4.1. Justificacion practica

Las aplicaciones de escritorio son las mas usadas para compartir audio y video, segun el estudiorealizado por la consultora Gartner [1] los clientes prefieren software instalable para la comunicacionremota, sin embargo, hay tecnologıas relativamente nuevas empleadas en ambiente web que notienen la popularidad que poseen este tipo de aplicaciones; por ende se hace necesario el analisis deaspectos que determinen si es productivo continuar con usando las aplicaciones de escritorio parahacer este tipo de comunicacion o esperamos la evolucion en un futuro proximo de las videollamadasen aplicaciones web.

Con este proyecto se pretende desarrollar herramientas de software que esten centradas en solola funcionalidad de transmision en tiempo real de audio y video, lo cual permite tener un mayoracercamiento a los datos utilizados evitando el desarrollo de subprocesos no relevantes al tema deinvestigacion, se tiene mayor singularidad en el codigo fuente en cada herramienta utilizada y seelude la descompilacion de codigo fuente en los ensamblados de herramientas existentes; de estamanera infringen leyes que cobijan las licencias de esas aplicaciones.

El presente documento aplica conocimientos de la ingenierıa del software, en el analisis, directricesy lineamientos utilizados para el desarrollo de artefactos de software que permiten la obtencion yevaluacion de informacion relevante para el tema de investigacion.Haciendo un aporte a la innovacion, se pretende a traves de este proyecto evidenciar otros elementosque estan subyacentes en las comunicaciones que transfieren audio y video de manera bidireccional yposibilitar un apalancamiento para la toma de decisiones en proyectos de comunicacion multimedia.

1.5. Marco de referencia

1.5.1. Marco Teorico

Para una mayor comprension del presente proyecto se muestran una descripcion a nivel general detecnologıas y procedimientos que se usan en el proyecto.

VideollamadaComunicacion en tiempo real de audio y video entre usuarios de forma remota.

UDPEste Protocolo de Datagramas de Usuario (UDP: User Datagram Protocol) se define con la inten-cion de hacer disponible un tipo de datagramas para la comunicacion por intercambio de paquetesentre ordenadores en el entorno de un conjunto interconectado de redes de computadoras. Esteprotocolo asume que el Protocolo de Internet (IP: Internet Protocol) se utiliza como protocolo

Page 12: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

12 1 Descripcion de la investigacion

subyacente.Este protocolo aporta un procedimiento para que los programas de aplicacion puedan enviar men-sajes a otros programas con un mınimo de mecanismo de protocolo. El protocolo se orienta atransacciones, y tanto la entrega como la proteccion ante duplicados no se garantizan. Las aplica-ciones que requieran de una entrega fiable y ordenada de secuencias de datos deberıan utilizar elProtocolo de Control de Transmision (TCP: Transmission Control Protocol). [2]

Puerto UDP de origen (16 bits, opcional). Numero de puerto de la maquina origen.

Puerto UDP de destino (16 bits). Numero de puerto de la maquina destino.

Longitud del mensaje UDP (16 bits). Especifica la longitud medida en bytes del mensajeUDP incluyendo la cabecera. La longitud mınima es de 8 bytes.

Suma de verificacion UDP (16 bits, opcional). Suma de comprobacion de errores delmensaje. Para su calculo se utiliza una pseudo-cabecera que tambien incluye las direccionesIP origen y destino. Para conocer estos datos, el protocolo UDP debe interactuar con elprotocolo IP.

Datos Aquı viajan los datos que se envıan las aplicaciones. Los mismos datos que envıa laaplicacion origen son recibidos por la aplicacion destino despues de atravesar toda la Red deredes. [3]

Page 13: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

1.5 Marco de referencia 13

WebRTCOfrece a los desarrolladores de aplicaciones web la capacidad de escribir aplicaciones multimediaenriquecidas y en tiempo real (piense en el video chat) en la web, sin necesidad de complementos,descargas o instalaciones. [4]

Figura 1-1: Arquitectura WebRTC

RTPEs el protocolo estandar de Internet para el transporte de datos en tiempo real incluyendo audioy video. [5]

Page 14: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

14 1 Descripcion de la investigacion

Figura 1-2: RTP - Real Time Protocol

Node.jsPlataforma basada en el runtime de JavaScript controlada por eventos asıncronos, esta disenadopara crear aplicaciones de red escalables. [6]

JavascriptEs un lenguaje para aplicaciones Web, independiente de la plataforma y es interpretado por todoslos navegadores actuales. Es un lenguaje de programacion dinamico que soporta construccionde objetos basado en prototipos. Puede funcionar como lenguaje procedimental y como lenguajeorientado a objetos. Los objetos se crean programaticamente anadiendo metodos y propiedades a loque de otra forma serıan objetos vacıos en tiempo de ejecucion, en contraposicion a las definicionessintacticas de clases comunes en los lenguajes compilados como C++ y Java. [7]

C#es un lenguaje elegante, con seguridad de tipos y orientado a objetos, que permite a los desarro-lladores crear una gran variedad de aplicaciones seguras y solidas que se ejecutan en Framework.NET. Puede usar C# para crear aplicaciones cliente de Windows, servicios web XML, componen-tes distribuidos, aplicaciones cliente-servidor, aplicaciones de base de datos y muchas, muchas mascosas. [8]

MOSPuntuacion de opinion media (MOS) es la metrica mas comun utilizada en el video subjetivoevaluacion de la calidad. Constituye la base de los metodos subjetivos de evaluacion de la calidad,y Tambien sirve como referencia para las metricas objetivas. El MOS se expresa generalmentecomo un numero unico en el rango de 1 a 5, donde 1 es la calidad percibida mas baja, y 5 es lacalidad percibida mas alta. [9]

Page 15: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

1.5 Marco de referencia 15

Modelo por prototiposCuando el desarrollador no este seguro de la eficiencia de un algoritmo, de la adaptabilidad de unsistema operativo o de la forma que debe adoptar la interaccion entre el humano y la maquina. Enestas situaciones, el paradigma de hacer prototipos es el que ofrece el mejor enfoque. [10]

Figura 1-3: Modelo por prototipos

Comunicacion: Busca definir los objetivos generales del software, se identifican requeri-mientos y se planea el diseno.

Diseno rapido: Este se centra en la representacion de aquellos aspectos del software queseran visibles para los usuarios finales.

Construccion del prototipo Se desarrolla lo definido en el diseno.

Entrega y retroalimentacion Se entrega y se evalua por los interesados, la factibilidad yla posible iteracion que se pueda generar [3]

La iteracion ocurre a medida de que el prototipo es afinado para satisfacer las necesidades dedistintos interesados, y al mismo tiempo le permite a usted entender mejor lo que se necesitahacer. [10]

Page 16: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

16 1 Descripcion de la investigacion

ArchimateLenguaje visual con un conjunto de iconografıa predeterminada para describir, analizar y comunicararquitecturas empresariales.El lenguaje central de ArchiMate define una estructura de elementos genericos y sus relaciones, quepueden especializarse en diferentes capas.Estas tres capas se definen dentro del lenguaje central deArchiMate de la siguiente manera:

Capa de negocio : Describe los servicios de negocios ofrecidos a los clientes, que se realizanen la organizacion mediante procesos de negocios realizados por actores de negocios.

Capa de aplicacion: Describe los servicios de aplicacion que soportan el negocio y lasaplicaciones que los realizan.

Capa de Tecnologıa: Describe los servicios de tecnologıa, como los servicios de procesa-miento, almacenamiento y comunicacion necesarios para ejecutar las aplicaciones, y el hard-ware de la computadora y las comunicaciones y el software del sistema que realiza dichosservicios. [11]

Elementos de la capa de Aplicacion de Archimate

La capa de aplicacion se usa normalmente para modelar las arquitecturas de los sistemas deinformacion de la empresa, incluida la arquitectura de la aplicacion que, segun lo define el marcoTOGAF [12], describe la estructura y la interaccion de las aplicaciones.

Page 17: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

1.6 Aspectos metodologicos 17

Concept Definition Notation

Applicationcomponent

Una parte modular, desplegable y reemplazablepde un sistema de software que encapsulasu comportamiento y datos y los exponea traves de un conjunto de interfaces.

Applicationcollaboration

Un agregado de dos o mas componentesde aplicacion que trabajan juntos pararealizar un comportamiento colectivo.

Applicationinterface

Un punto de acceso donde un servicio deaplicaciones se pone a disposicion de un usuario ode otro componente de la aplicacion.

Data objectUn elemento pasivo adecuado para elprocesamiento automatizado.

Applicationfunction

Un elemento de comportamiento que agrupael comportamiento automatizado que puederealizar un componente de la aplicacion.

Applicationinteraction

Un elemento de comportamiento que describeel comportamiento de un Application collaboration.

Applicationservice

Un servicio que expone uncomportamiento automatizado.

Cuadro 1-1: Application Layer Concepts

1.6. Aspectos metodologicos

1.6.1. Tipo de estudio

El tipo de estudio identificado para este proyecto es descriptivo ya que demuestra el efecto quepuede llegar a tener una comunicacion remota de audio y video respecto a la tecnologıa utilizada,explicando sus caracterısticas e interacciones que ocurren en el transcurso de la comunicacion.

1.6.2. Metodo de investigacion

El proyecto va a desarrollar el metodo de investigacion de tipo inductivo ya que observamosel comportamiento de un proceso en dos entornos diferentes, analizando los elementos que locomponen con sus respectivas interacciones y caracterizando sus salidas, por lo cual podemos

Page 18: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

18 1 Descripcion de la investigacion

tener una aproximacion funcional de los artefactos de software que intervienen en el proceso anivel general.

1.6.3. Fuentes y tecnicas para la recoleccion de informacion

La recoleccion de la informacion se hara como fuente primaria a traves de la observacion de lacomunicacion remota de audio y video en los prototipos desarrollados y de fuentes secundariasmediante la documentacion existente alrededor de las videollamadas y de las asesorıas recibidaspor el director y revisor del presente proyecto.

1.6.4. Tratamiento de la informacion

La obtencion de informacion se basara en el metodo de evaluacion MOS (Mean Opinion Score) [13],Puntaje de Opinion Media y en el uso de tecnologıa que permita capturar las tramas de bytesdurante la actividad y herramienta de software para el analisis de video.

Page 19: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Parte II

Desarrollo de la investigacion

Page 20: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Capıtulo 2

Desarrollo de la Investigacion

2.1. Metodologıa aplicada

Se propone para el desarrollo de las aplicaciones de software, la metodologıa de Modelado porPrototipos [10] aplicando modelado de la capa de aplicacion del lenguaje de modelado Archimate[11] para obtener un mayor entendimiento de la estructura y funcionamiento de los componentesde cada uno de los prototipos de software.

2.2. Planteamiento

Se tienen dos prototipos de software que comparten la misma funcionalidad. Se propone estableceruna comunicacion entre dos usuarios remota de audio y video utilizando cada uno de los prototipos,en dos medios diferentes: web y escritorio. Basado en este planteamiento se generan los siguientescasos de uso.

2.2.1. Caso de uso comunicacion de audio y video en entorno web

El usuario abre el navegadorEl usuario digita la direccion url.El sistema le pregunta si quiere generar un archivo de video de la conversacion.El sistema le pregunta si quiere permitir el acceso y selecciona los dispositivos de entrada de audioy video.el usuario acepta o rechaza la generacion del video.El sistema muestra en pantalla el video captado por la camara.El sistema muestra en pantalla un boton para iniciar la conversacion con otro usuario.El usuario presiona colgar.El sistema genera el video resultante de la conversacion.

Page 21: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.3 Arquitectura de prototipos 21

2.2.2. Caso de uso comunicacion de audio y video en entorno escritorio

El usuario abre el archivo ejecutable del prototipo de escritorio.El usuario digita la direccion IP, los puertos y selecciona los dispositivos de entrada salida de audioy video o los deja por defecto.El usuario selecciona si quiere o no generar un archivo de video de la conversacion.El sistema muestra en pantalla el video captado por la camara.El usuario cierra la ventana.El sistema genera el video resultante de la conversacion.

2.3. Arquitectura de prototipos

2.3.1. Introduccion

En esta seccion se muestran componentes y sus relaciones entre sı y tambien detalla la estructuraque tienen los prototipos y como funciona el flujo de informacion en cada uno de ellos.

El diseno se presenta por medio de puntos de vista para mostrar diferentes perspectivas e incre-mentar el entendimiento de los componentes a desarrollar.

2.3.2. Punto de vista de comportamiento de aplicacion

2.3.3. Modelo base

El punto de vista de comportamiento de aplicacion describe el comportamiento interno de una apli-cacion, es util para disenar el comportamiento principal de aplicaciones o componentes e identificarla superposicion funcional entre diferentes aplicaciones. [11]

Page 22: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

22 2 Desarrollo de la Investigacion

Figura 2-1: Punto de vista de comportamiento Metamodelo

2.3.4. Punto de vista comportamiento prototipo escritorio

En este punto de vista identificamos como es la interaccion del prototipo web con sus componentesprincipales, en donde se soporta la comunicacion de audio y video. Estos componentes son:

Audio: Comprende el manejo de capturar y reproducir el sonido.

Video: Encargado de capturar las imagenes de la camara y enviarla a su visualizacion.

Red: recibe paquetes de la red en forma de bits de audio y video y los transfiere a losrespectivos componentes. Tambien envia a traves de la red, los bits capturados de audio yvideo.

Formulario: Muestra la aplicacion en forma de ventana, junto con el video local y remoto.

Page 23: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.3 Arquitectura de prototipos 23

Figura 2-2: Punto de vista de comportamiento prototipo escritorio

2.3.5. Punto de vista comportamiento prototipo web

En este punto de vista identificamos como es la interaccion del prototipo escritorio con sus com-ponentes principales, en donde se soporta la comunicacion de audio y video. Estos componentesson:

WebRTC: Encargado de capturar las imagenes de la camara y enviarla a su visualizacion,captura y reproduce el sonido y se encarga de la conexion y transporte de bits en la red.

Formulario HTML: Muestra la aplicacion en el navegador y visualiza el video local yremoto.

Figura 2-3: Punto de vista comportamiento prototipo Web

Page 24: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

24 2 Desarrollo de la Investigacion

2.3.6. Analisis del punto de vista comportamiento para los prototipos

En este punto de vista se identifica como es la interaccion de la aplicacion entre sus componentesprincipales y destacando la funcionalidad que cada uno ejecuta.En el prototipo de escritorio se puede visualizar que cada uno de los componentes se comunicacon el componente principal y este controla la interaccion entre estos. En el prototipo web elcomponente WebRTC es el encargado de orquestar el flujo de informacion de audio video y latransferencia de los datos y sean enviados al componente principal.

2.3.7. Punto de vista Cooperacion de Aplicacion

2.3.8. Modelo base

El punto de vista de cooperacion de aplicacion describe las relaciones entre los componentes enterminos de flujo de informacion o en terminos de los servicios que estos proveen o usan. Estepunto de vista tambien es usado para expresar la cooperacion interna u orquestacion de serviciosque juntos soportan la ejecucion de un proceso de negocio. [11]

Figura 2-4: Punto de Vista cooperacion de aplicacion Metamodelo

Page 25: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.3 Arquitectura de prototipos 25

2.3.9. Punto de vista cooperacion de aplicacion prototipo escritorio

En el punto de vista de cooperacion de aplicacion en el prototipo de escritorio, se muestran dosubicaciones; la primera son los dispositivos externos encargados de la salida y entrada de audio yvideo y la segunda la ruta del sistema operativo donde se encuentran los componentes.

Figura 2-5: Punto de Vista cooperacion de aplicacion escritorio

Page 26: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

26 2 Desarrollo de la Investigacion

2.3.10. Punto de vista cooperacion de aplicacion prototipo web

En este punto de vista se destacan tres ubicaciones los dispositivos externos, el navegador y unainstancia de servidor en la nube, donde esta ultima se tiene una capa de servidor para gestionarla conexion entre los clientes.

Figura 2-6: Punto de vista cooperacion de aplicacion prototipo web

Page 27: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.3 Arquitectura de prototipos 27

2.3.11. Analisis del punto de vista cooperacion de aplicacion para losprototipos

En el punto de vista cooperacion de aplicacion para la aplicacion web existen interfaces que comu-nican los artefactos cliente con los de servidor que se encuentran ubicados en una instancia en lanube, mientras que en el prototipo escritorio no se tienen artefactos cliente, ni servidor por lo queno se hace necesario el uso de servicios de la nube (y de Internet) para su ejecucion.

La ubicacion del prototipo web esta dada en un navegador, permitiendo su ejecucion desde cualquierequipo que tenga instalado un navegador compatible, mientras que en el prototipo de escritorio seubica en una ruta del sistema operativo con una unica instancia de ejecucion.

2.3.12. Punto de vista estructura de aplicacion

2.3.13. Modelo base

El punto de vista de estructura de aplicacion muestra la estructura de una o mas aplicaciones ocomponentes. Es util para disenar o entender la estructura de las aplicaciones o componentes y lainformacion asociada. [11]

Figura 2-7: Punto de vista estructura de aplicacion Metamodelo

Page 28: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

28 2 Desarrollo de la Investigacion

2.3.14. Punto de vista estructura de aplicacion prototipo escritorio

En la estructura del prototipo de escritorio se destacan las interfaces de los siguientes componentes:

System.Net :Provee una Intefaz de Programacion de Aplicaciones para manejo de red. [14]

LumiSoft.Net.Media: la biblioteca de vinculos dinamicos encargado de la captura y re-produccion de sonidos [15].

DirectShow : el conjunto de objetos utilizado para la captura y reproduccion de video. [16]

Windows.Forms: Utilizado para visualizar e interactuar con la aplicacion por medio de unaventana. [17]

Figura 2-8: Punto de vista estructura de aplicacion prototipo escritorio

Page 29: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.3 Arquitectura de prototipos 29

2.3.15. Punto de vista estructura de aplicacion prototipo web

Para la estructura de aplicacion en el prototipo web se destacan los componentes WebRTC [4] queprovee una intefaz de programacion para aplicaciones de comunicacion en tiempo real, easyRTC [18]un marco de trabajo para desarrollar aplicaciones que usan WebRTC y la implementacion deetiquetas HTML con javacript para el manejo y visualizacion del modelo de objetos del documento(DOM) [19].

Figura 2-9: Punto de vista estructura de aplicacion web

2.3.16. Analisis del punto de vista estructura de aplicacion para losprototipos

En la estructura de aplicacion en el prototipo de escritorio se utilizan mas artefactos externos queen prototipo web, con lo cual tiende a mayor desacoplamiento por funcionalidad y por ende facilitala extensibilidad y las pruebas unitarias para cada actividad ejecutada.

En el prototipo de aplicacion web al tener menos componentes la curva de aprendizaje de hacemenor, dando como resultado menos lineas de codigo por desarrollar y menor tiempo de imple-mentacion.

Page 30: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

30 2 Desarrollo de la Investigacion

2.4. Contexto de la ejecucion de los prototipos

Se hace la comunicacion de audio y video entre dos usuarios en de tipo punto a punto, es decir solodos nodos con dos usuarios,dentro de una misma red. Cada usuario establece una conversacionsobre un tema de su interes en cada prototipo primero en web y luego en escritorio.Cada prototipo contiene un modulo que va registrando los bytes enviados y recibidos y al final ge-nera el archivo con esa informacion. Tambien crea un archivo de video que registra la comunicacionrecibida por cada uno de los prototipos.Al finalizar la comunicacion se pide una calificacion para cada usuario participante, esta va desdeel uno siendo la peor calificacion y cinco la mas alta calificacion, el rango es es siguiente.

5 Excelente.

4 Bueno.

3 Aceptable.

2 Regular.

1 Mala.

2.4.1. Recursos de hardware

Para cada prototipo ejecutado en cada nodo se tienen estas caraterısticas principales del hardwareutilizado.

Computador portatil del mismo fabricante.

Procesador QuadCore i7 para cada computador.

Memoria RAM 12GB en cada computador.

Camara web con microfono de un mismo fabricante.

2.4.2. Recursos de software

Los recursos de software para ejecutar los prototipos son los siguientes

Sistema operativo Windows 7

Framework .NET 4.0

Navegador Google Chrome 74

Servidor de Aplicaciones Apache 2.4

Page 31: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.5 Caracterısticas de la comunicacion de audio y video en prototipos 31

2.5. Caracterısticas de la comunicacion de audio y video

en prototipos

En esta seccion se muestra de forma grafica y tabular la transferencia de bits que ocurre en lacomunicacion, el promedio de perdidas y la dispersion de la perdida de bits.

2.5.1. Comunicacion de audio y video en prototipo web

Figura 2-10: Relacion de bytes en el tiempo en comunicacion de audio en prototipo web

La grafica muestra una representacion de una comunicacion de audio realizada en un intervalo de180 segundos (3 minutos) con la cantidad de bytes perdidos en la transmision.La grafica muestra una representacion de una comunicacion de video realizada en un intervalo de180 segundos (3 minutos) con la cantidad de bytes perdidos en la transmision, con una resolucionVGA 640x480.

Page 32: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

32 2 Desarrollo de la Investigacion

Figura 2-11: Relacion de bytes en el tiempo en comunicacion de video en prototipo web

Calificacion obtenida por cada usuario en la comunicacion de audio y video en un entorno web:

Usuario1: Audio 5, Video 5

Usuario2: Audio 4, Video 4.

Bits Bytes KilobytesPromedio perdida en audio 7870,25 983,78 98,378Promedio perdida en video 103822,33 1297779.12 1297.77Desviacion estandar audio 2169,63 271.20 0,2712Desviacion estandar video 35021,67 4377.70 4.3777Transferencia de datos de audio promedio (5sg) 24579,22 3072.40 384.05Transferencia de datos de video promedio (5sg) 132064,62 16508,07 16,50

Cuadro 2-1: Analisis de la transferencia de bytes en prototipo web

Page 33: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.5 Caracterısticas de la comunicacion de audio y video en prototipos 33

Comunicacion de audio y video entre usuarios en prototipo web

Figura 2-12: Comunicacion de audio y video entre usuarios en prototipo web

Usuario1 Usuario2Tamano promedio de fotogramas (KB) 4.34 16.03

Cuadro 2-2: Valores promedio en la comunicacion en prototipo web

Con base en los resultados de la herramienta de analisis de video Codecvisa [20], respecto al videoresultante de la comunicacion en el prototipo, se toma un fotograma que tenga mejor calidadvisual y se elabora el cuadro anterior, el cual muestra que el Usuario2 presenta un mayor valor de16.03KB en tamano promedio de fotograma frente al Usuario1 que tiene 4.34KB. Esto evidenciaque el Usuario1 tuvo una mejor visualizacion sobre el Usuario2, debido a que el Usuario2 tuvo unamayor iluminacion en su entorno y por consiguiente una mejor calidad de imagen.

2.5.2. Analisis de la comunicacion de audio y video en prototipo web

En cuanto a la comunicacion de audio la perdida fue de 98,37KB y con bastante uniformidadrespecto a los datos poco dispersos con tan solo 0,27KB de dispersion, se evidencia una buenacalidad de audio, afirmada con la opinion de los usuarios.Para la comunicacion de video se tuvo una perdida de 1297KB con una dispersion de datos de4.37, tuvo una buena calificacion por parte de los usuarios pero menor que la comunicacion poraudio.

2.5.3. Comunicacion de audio y video en prototipo escritorio

La grafica muestra una representacion de una comunicacion de audio realizada en un intervalo de145 segundos (2.4 minutos) con la cantidad de bytes perdidos en la transmision.

Page 34: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

34 2 Desarrollo de la Investigacion

Figura 2-13: Relacion de bytes en el tiempo en comunicacion de audio en prototipo escritorio

Figura 2-14: Relacion de bytes en el tiempo en comunicacion de video en prototipo escritorio

La grafica muestra una representacion de una comunicacion de video realizada en un intervalo de

Page 35: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

2.5 Caracterısticas de la comunicacion de audio y video en prototipos 35

145 segundos (2.4 minutos) con la cantidad de bytes perdidos en la transmision, con una resolucionVGA 640x480.

Calificacion obtenida por cada usuario en la comunicacion de audio y video en un entorno escritorio:

Usuario1: Audio 4, Video 5

Usuario2: Audio 2, Video 5.

Bits Bytes KiloBytesPromedio perdida en audio 1060917,24 132614,65 132,61Promedio perdida en video 761504 95188 95,18Desviacion estandar audio 392287,66 49035,95 49,03Desviacion estandar video 1683742,70 210467,83 210.46Transferencia de datos de audio promedio (5sg) 83571,42 10446,42 10,44Transferencia de datos de video promedio (5sg) 1167605,21 145950,65 145,95

Cuadro 2-3: Analisis de la transferencia de bytes en prototipo escritorio

Comunicacion de audio y video entre usuarios en prototipo escritorio

Figura 2-15: Comunicacion de audio y video entre usuarios en prototipo escritorio

Usuario1 Usuario2Tamano promedio de fotogramas (KB) 22,41 21,52

Cuadro 2-4: Valores promedio en la comunicacion en prototipo escritorio

Page 36: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

36 2 Desarrollo de la Investigacion

Basado en el resultado de la herramienta de analisis de video Codecvisa [20] respecto al videogenerado de la comunicacion por el prototipo, se toma un fotograma que tenga mejor calidadvisual y elabora el cuadro anterior, el cual nos muestra que el Usuario1 presenta un mayor valor22,41KB en tamano promedio de fotogramas frente al Usuario1 que tiene un promedio de 21,52KB.Para este caso el Usuario2 tuvo una mejor visualizacion sobre el Usuario1, debido a que el Usuario1tuvo una mayor iluminacion en su entorno y por consiguiente una mejor calidad de imagen.

2.5.4. Analisis de la comunicacion de audio y video en prototipo es-critorio

En cuanto a la comunicacion de audio la perdida fue de 132,61KB y con una importante confluenciade datos con 49,03KB de dispersion, se evidencia una aceptable calidad de audio, que se afirmacon la opinion de los usuarios.Respecto a la comunicacion de video se tuvo una perdida de 95,18KB con una dispersion de datosde 210.46KB, Sin embargo tuvo una buena calificacion por parte de los usuarios.

Page 37: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Parte III

Cierre de la investigacion

Page 38: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Capıtulo 3

Cierre de la investigacion

3.1. Conclusiones

Las siguientes son conclusiones basadas en la observacion y desarrollo de la investigacion

Curva de aprendizaje: Para desarrollar la aplicacion de escritorio fueron necesarios la in-corporacion de componentes de software por cada funcionalidad; componente de captura yreproduccion de audio, componente de captura y reproduccion video, componentes para lavisualizacion e interaccion con la aplicacion y los componentes para el manejo de la trans-ferencia de datos a traves la red. Esto implica mayor complejidad en el entendimiento yaprendizaje en el desarrollo de la aplicacion y por ende un mayor tiempo en el desarrollo dela aplicacion.

Manejo de excepciones: En la aplicacion de escritorio se evidencia que hay que tener unamayor rigurosidad en el manejo de las excepciones para evitar los cierres inesperados de laaplicacion, mientras que en la aplicacion web esto nunca ocurre debido a que la pagina seejecuta en un navegador web, sin embargo si se controlan las excepciones no ocurren esoscierres inesperados y el desarrollador conoce mas de lo que esta ocurriendo por medio de laexcepcion.

Portabilidad: La aplicacion web evidencia mayor ventaja en esta caracterıstica, siendo ti-po web no necesita transportarse en un medio de almacenamiento para ejecutarla en uncomputador diferente solo tiene que desplegarse en un servidor de hosting para que se puedaejecutar en multiples computadoras.

Configuracion de Red: En los puntos de vista modelados en el capitulo anterior del presenteproyecto se hace indispensable el uso de Internet para la ejecucion del prototipo web, sinembargo para tener la misma comunicacion de audio y video punto a punto entre dos nodosconectados por medio de Internet, se necesita configurar en el router el redireccionamientode puertos o tener un artefacto de software en el paquete de instalacion del prototipo deescritorio, en para este caso se debe solicitar al operador de Internet la habilitacion de lospuertos y las credenciales del router.

Page 39: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

3.1 Conclusiones 39

Diseno Modelos: Para los tres puntos de vista diagramados en la fase de diseno hay diferenciasvisibles por el numero de componentes, en el prototipo de escritorio se utilizan mas artefactosfrente al prototipo web, lo cual puede ser una ventaja en el desarrollo de herramientas deriva-das debido al desacoplamiento por funcionalidad que posee, pero supone mayor desconfianzaacerca de la interaccion con otros componentes, respecto al prototipo web utiliza solo unatecnologıa de codigo abierto y sus funcionalidades estan bajo una misma arquitectura, sinembargo limita las pruebas unitarias de sus elementos, aunque si los componentes son de unmismo fabricante, el prototipo escritorio serıa mas conveniente.

Datos obtenidos: Con base a los resultados obtenidos en cada ejercicio se puede concluir queel prototipo web tuvo un mejor desempeno en la comunicacion de audio debido a que tuvomenos perdida de bytes y hubo menos dispersion en cuanto al envıo y recepcion de datos.Respecto a la comunicacion de video hay una mejor calidad en el prototipo de escritorio apesar que tiene mayor dispersion en el envıo y recepcion de los datos, se puede notar queeste caso hubo menos perdida de bytes.

Con base a las anteriores caracterısticas se elabora el siguiente cuadro de evaluacion para la tomade desiciones:

web escritorioCurva de aprendizaje XManejo de excepciones XPortabilidad XConfiguracion de Red XDiseno de Modelos XDatos obtenidos X

Cuadro 3-1: Factores de evaluacion en prototipos

Al desarrollar un software siempre se asume por parte de los interesados que no se va a tener curvade aprendizaje, con lo que casi nunca se se define un tiempo adicional en el plan de actividadespara aprender una tecnologıa en particular, por ello mi preferencia es hacia el protipo web ya quebrinda un menor tiempo de aprendizaje y los resultados se ven en menor tiempo.

Basado en el principio de bajo acoplamiento y mayor cohesion al tener varios artefactos hay unmayor control y descripcion en las excepciones, por ello el prototipo de escritorio, presenta unaventaja en esta caracterıstica conllevando a un mayor refinamiento y maduracion en los elementosexistentes en cada pieza de software.

Respecto a la portabilidad la ventaja salta a la vista ya que por ser una aplicacion web solo necesitade pocos sistemas de software para que se ejecute en multiples terminales sin tener que copiar encada nodo los artefactos que se necesite para su ejecucion.

Page 40: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

40 3 Cierre de la investigacion

Al depender de las credenciales de router y de su configuracion, se descarta la comunicacion puntoa punto por medio del prototipo de escritorio, aunque este tipo de comunicacion se usa en los al-gunos videojuegos en un escenario mas real la comunicacion se puede remplazar por el tipo clienteservidor o tipo red de difusion.

En el diseno siempre procurar dividir el software en tantas funcionalidades siempre y cuando elrequerimiento lo permita para facilitar las pruebas unitarias, el mantenimiento y extensibilidad,con base en lo anterior el prototipo de escritorio tiene mas conveniencia.

Y por ultimo los datos obtenidos en el desarrollo de la investigacion han sido determinantes dadala informacion objetiva y subjetiva del proyecto en cada escenario planteado, se pueden usarambas tecnologıas para el desarrollo de este tipo de proyectos como ocurre en la actualidad conlas empresas que dominan el mercado con este tipo de aplicaciones, pero personalmente elijo latecnologıa web por las razones anteriormente planteadas.

3.2. Trabajos futuros

Se propone herramienta software que permita la comunicacion multimedia de usuarios indepen-diente al dispositivo que lo usa, es decir que pueda haber una comunicacion bidireccional usandocliente web, cliente de escritorio y cliente movil, de manera que elimine las restricciones y tengaun enfoque mas generalizado aplicable al entorno corporativo e institucional.Adicionalmente se propone como trabajo derivado el desarrollo de videojuegos de tipo colaborativoya que para estas herramientas de software se podrıan hacer uso de los componentes y el respectivoanalisis llevado a cabo en este proyecto.

Page 41: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

Bibliografıa

[1] Meeting Solutions Software. https://www.gartner.com/reviews/customers-choice/meeting-solutions-web-conferencing Accedido, mayo 4, 2019.

[2] Protocolo de Datagramas de Usuario. https://www.rfc-es.org/rfc/rfc0768-es.txt Accedido,abril 1, 2019.

[3] UDP. www.profesores.frc.utn.edu.ar/sistemas/ingsanchez/redes/archivos/protocolo udp.pdfAccedido, abril 1, 2019.

[4] Architectura WebRTC. https://webrtc.org/architecture/ Accedido, abril 1, 2019.

[5] RTP. https://www.cse.wustl.edu/ jain/books/ftp/rtp.pdf Accedido, abril 1, 2019.

[6] About Node.js. https://nodejs.org/en/about/ Accedido, octubre 9, 2018.

[7] ¿Que es Javascript? https://nodejs.org/en/about/ Accedido, octubre 9, 2018.

[8] Introduccion al lenguaje C y .NET Framework. https://docs.microsoft.com/es-es/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework Accedido, abril 1, 2018.

[9] Shahriar Akramullah. Digital video concepts, methods and metrics. 2014.

[10] R. Pressman. Ingenierıa del software: Un enfoque practico. 2010.

[11] ArchiMate R© 3.0.1 Specification. http://pubs.opengroup.org/architecture/archimate3-doc/toc.html Accedido, abril 1, 2019.

[12] TOGAF R© Version 9.1, an Open Group Standard. www.opengroup.org/bookstore/catalog/g116.htmAccedido, mayo 1, 2019.

[13] ITU-T. Mean opinion score interpretation and reporting, recommendation itu-t p.800.2. 2013.

[14] System.Net. https://docs.microsoft.com/en-us/dotnet/api/system.net?view=netframework-4.8 Accedido, mayo 2, 2019.

[15] LumiSoft. http://www.lumisoft.ee/lswww/download/downloads/net/help/html/b85df809-5d63-dd0b-d45c-d41298ebbfd3.htm Accedido, mayo 2, 2019.

Page 42: Autorrepository.udistrital.edu.co/bitstream/11349/15782/1... · Desarrollar un prototipo de software de tipo web que permita la comunicaci on en tiempo real de audio y video entre

42 BIBLIOGRAFIA

[16] DirectShow. https://docs.microsoft.com/en-us/windows/desktop/directshow/directshowAccedido, mayo 2, 2019.

[17] Windows Forms. https://docs.microsoft.com/en-us/dotnet/framework/winforms/ Ac-cedido, mayo 2, 2019.

[18] Getting Started with WebRTC using EasyRTC Open Source.https://easyrtc.com/docs/easyrtc gettingstarted.php Accedido, mayo 4, 2019.

[19] DOM. https://www.w3.org/2005/03/dom3core-es/introduccion.html Accedido, mayo 2, 2019.

[20] CodecVisa . http://www.codecian.com/ Accedido, mayo 10, 2019.