página 1/28 actualización de canales streaming. página 2/28 Índice introducción. herramientas...

28
Página 1/28 Actualización de Canales Streaming

Upload: maximiano-polanco

Post on 16-Apr-2015

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 1/28

Actualización de Canales Streaming

Page 2: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 2/28

Índice

• Introducción.

• Herramientas utilizadas.

• Experiencia práctica.

• Conclusiones.

Page 3: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 3/28

Introducción

• Información de la empresa.

• Motivación.

• Objetivos.

Page 4: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 4/28

Información de la empresa

• Comercialización de espacios.

• Sistema de reproducción streaming propio.

• Complejos hoteleros.

Introducción

Page 5: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 5/28

Equipos Streaming

DC DC2

Introducción

Page 6: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 6/28

Motivación

• Actualización de contenidos automáticamente.

• Mejorar los servicios que oferta la empresa.

• Aprendizaje de un lenguaje comercial.

Introducción

Page 7: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 7/28

Objetivos

• Configuración del servidor FTP.

• Actualización de contenidos de los canales de forma automática.

• Administración de los clientes de su propio canal.

• Información periódica del equipo.

Introducción

Page 8: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 8/28

Objetivos

Introducción

Page 9: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 9/28

Lenguaje de programación y herramientas utilizadas

• Visual Studio 2010.

• FTP.

• C#.

Page 10: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 10/28

Experiencia práctica

• Estructura Servidor FTP.

• Desarrollo de la primera versión.– Creación del algoritmo. – Uso ficheros de configuración.

• Desarrollo de la segunda versión. – Desarrollo interfaz gráfica.

– Creación de librerías (.dll).– Creación de un instalador.

Page 11: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 11/28

Estructura Servidor FTP y Canales

Page 12: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 12/28

Desarrollo Primera Versión

• Crear algoritmo de actualización.

• Ficheros de configuración Visual Studio.

• Programador de tareas de Windows.

Page 13: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 13/28

Estructura ficheros

• Estructura ficheros.• Ejemplo:

– 1 INFOHOTEL-JARDINES-V4-18.01.12.mpg

– 30A Rafaga_DG_Generica.mpg public struct DatFich { public string FullName; public long Tam; public string Name; public string Pos; public string Dir; public bool Esta; }

Primera Versión

Page 14: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 14/28

Algoritmo actualización

• Entrada Videos Servidor y Videos FTP.

• Si Videos FTP = 0, eliminar Videos Servidor.

• Si Videos Servidor = 0, descargar Videos FTP.

• Primer bucle, comparar cada Video Servidor con todos los videos de la FTP, si coinciden el tamaño, posición y nombre.

– Se marca tanto los Videos Servidor como el Videos FTP.

• Segundo bucle, los Videos Servidor que no coinciden en la posición, se renombra con al posición correcta de los Videos FTP.

– Se marca tanto los Videos Servidor como Videos FTP.

• Los Videos FTP que no están marcados se descargan.

• Los Videos Servidor que no están marcados se eliminan.

Primera Versión

Page 15: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 15/28

Archivo de Configuración

• System.Configuration.

<?xml version="1.0" encoding="utf-8"?><configuration> <appSettings> <add key="dirFTP" value="ftp://ftp.descubregroup.com/descubregroup/Hoteles_Madrid/"/> <add key="user" value="AAAAAA"/> <add key="pass" value=”**********"/> <add key="Hotel" value="Hotel_Mencey" /> <add key="Canales" value ="Canal3"/> <add key="CanalFtp" value=""/> <add key="subject" value="Actualizacion canal 1" /> <add key="dirLog" value="ftp://ftp.descubregroup.com/descubregroup/Informes_Actualizaciones" /> </appSettings></configuration>

Primera Versión

Page 16: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 16/28

Desarrollo Segunda Versión• Windows Form.

– Formulario principal.– Formulario datos.

• DLL.– Actualización canales.– Fichero de configuración XML.

• Windows Service.

• Windows Installer.

Page 17: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 17/28

Formulario Principal

• Menú.

• Comprobar Conexión.

• Activar formulario padre o hijo.

• Forzar sincronización.

Segunda Versión

Page 18: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 18/28

Formulario Principal

Segunda Versión

Page 19: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 19/28

Formulario Datos

• Dinámico.

• Rellenar campos para fichero XML.

• Editar campos fichero XML.

• Visualizar campos fichero XML.

Segunda Versión

Page 20: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 20/28

Formulario Datos

Segunda Versión

Page 21: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 21/28

Formulario Datos

• Label• ComboBox• RadioButton• CheckList• Panel• CheckBox• SplitContainer

• DateTimePicker• TextBox• CheckedListBox• GroupBoxInfo• BackGroundWorker• Ccb (CheckedComboBox)

Segunda Versión

Page 22: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 22/28

Ccb (Checked Combo Box)

• Combinación.– CheckedList.– ComboBox.

• Añadir al Cuadro de Herramientas.

Segunda Versión

Page 23: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 23/28

DLL Actualización Canales

• Mismo algoritmo que la primera versión.

• Creación de informe de actualización.

• Subir los informes a la FTP y enviarlos por correo.

Segunda Versión

Page 24: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 24/28

DLL Fichero de Configuración XML

• Método crear fichero XML.

• Método que cambia los valores de los nodos.

• Método para leer el fichero XML.

Segunda Versión

Page 25: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 25/28

DLL Fichero de Configuración

<Hotel> <atributo key="dirFtp" value=“Melia Gran Palacio de Isora,Adrian Jardines Nivaria"/> <atributo key="dirInfor" value=“Canarias" /> <atributo key="Hotel" value=“Melia Gran Palacio de Isora" /> <atributo key="CanalFTP" value="" /> <atributo key="CanalPC" value="Canal2" /> <atributo key="Fecha" value="25/06/2012" /> <atributo key="Hora" value="13:45" /> <atributo key="ContHoras" value="2" /> <atributo key="ContDias" value="" /> <atributo key="DiasSemana" value="" /> <atributo key="Meses" value="Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre " /> <atributo key="DiasMes" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20" /> <atributo key="TipoConfig" value="4" /></Hotel>

Segunda Versión

Page 26: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 26/28

Windows Service

• Timer (t_elapsed).

• Comprobar ficheros de configuración.– Cargar parámetros ficheros XML.– Comparar parámetros ficheros XML.

• Lanzar DLL de actualización.

Segunda Versión

Page 27: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 27/28

Windows Installer

• Unión cuatro hitos.

• Interfaz de usuario.

• Acciones personalizadas.

• Sistema de archivos en el equipo destino.

Segunda Versión

Page 28: Página 1/28 Actualización de Canales Streaming. Página 2/28 Índice Introducción. Herramientas utilizadas. Experiencia práctica. Conclusiones

Página 28/28

Conclusiones

• Se han desarrollado dos herramientas:– Versión 1 en producción. – Versión 2 en depuración.

• Con ellas se mejora el servicio:– Actualización de los contenidos.– Posibilidad de que los clientes administren sus contenidos.

• Aprendizaje C# y Visual Studio.