Está en la página 1de 8

1

INDICE



INTRODUCCION..2

PLANTAMIENTO DEL PROBLEMA......2

JUSTIFICACION...3

OBJETIVO..3

FUNDAMIENTOS TEORICOS....3

PLAN DE ANALISIS Y RESULTADOS...7

REFERENCIAS BIBLIOGRAFICAS...8













2

INTRODUCCIN

A continuacin se presenta la propuesta para la administracin remota de los
servicios que presta uno o ms servidores, por medio del sistema llamado
Sistema Redundante para la Administracin Remota de equipos Servidores
WDS (Sistema de Perro Guardin por sus siglas en ingls).
Dicha propuesta surge, en el marco actual en el que la administracin de servicios
y la solucin de fallas de un equipo servidor generalmente se da in situ, es decir
que el administrador debe estar presente en el lugar donde se encuentra ubicado
el equipo servidor, para resolverlas. Esta manera de administrar dependiendo del
tipo de empresa y del tipo de servicios prestados a sus clientes, puede resultar no
factible e ineficiente.
Existen en el mercado algunas soluciones de monitoreo para algunos servicios
que prestan los equipos servidores, sin embargo, por lo general, son muy limitados
y muy poco configurables, en cuanto a ir extendiendo los servicios que pueden
monitorear.
La mayor desventaja es que estos sistemas de monitoreo, en general no permiten
la solucin al problema detectado. WDS es un sistema capaz de monitorear y
controlar los servicios que presta uno o ms servidores por medio de mensajes de
texto SMS va telfono celular, es altamente configurable e interactivo. Por el tipo
de tecnologa utilizada es una solucin que ofrece economa, seguridad y
movilidad.


PLANTEAMIENTO DEL PROBLEMA

Existen en la actualidad una variedad de situaciones que se dan en la
administracin de servidores, con el propsito de que estos se mantengan
funcionando adecuadamente. Por lo general, cuando se dan fallas en los servicios
estos se resuelven de manera presencial por el(los) administrador(es).
Los costos para mantener los servidores de una institucin trabajando de una
forma adecuada, son elevados, sobre todo cuando se sirven una gran cantidad de
servicios, si son sistemas 7/24 o si se trabaja de forma distribuida.
Existen opciones para tomar control de un servidor de manera remota pero
implican tener a acceso a los servidores va Internet, lo cual es inseguro, ya que
exponemos a los servidores a que sean accedidos con fines no deseados y para
evitar esto, se tiene que hacer una fuerte inversin en infraestructura DMZ, o bien,
acceder a este, a travs de una VPN. Todo esto vuelve muy complicado pensar en
la administracin de los servidores de forma remota.



3

JUSTIFICACION

El propsito de este trabajo es de implementar una tcnica de administrar uno o
ms servidores de manera remota haciendo uso de la tecnologa inalmbrica por
medio de mensajes de texto SMS.
El proyecto WDS es una solucin que se basa en el proyecto de cdigo abierto
Gammu, el cual, es un proyecto que abarca aplicaciones, scripts y drivers para
administrar varias funciones de telfonos celulares y que tambin posee un
esquema de base de datos, para el manejo de los mensajes SMS.
WDS posee las siguientes caractersticas:
El administrador puede enviar comandos y recibir el resultado de dicha accin, es
decir, recibir una respuesta desde el servidor sobre el resultado de este comando.
El administrador puede ir agregando ms servicios a controlar al proyecto WDS.
Por el tipo de tecnologa utilizada el administrador puede monitorear y controlar al
servidor desde cualquier lugar a cualquier hora.
En trminos de seguridad el proyecto ofrece mecanismos para recibir o no
mensajes de determinados telfonos, ya que posee dentro de sus parmetros
confiables el listado de telfonos admitidos, as como aquellos telfonos que
deseamos que deben de ser excluidos para recibir mensajes SMS. Adems la
estructura que debe poseer el mensaje a ser enviado por el administrador, es tal
que WDS ejecutara aquellos mensajes que poseen dicha estructura y si no lo
ignora, manejndolo como un error.
WDS es un proyecto que brinda comunicacin entre el administrador y el servidor,
de tal manera que este puede perfectamente iniciar, detener o reiniciar cualquier
servicio, independientemente del lugar en que este se encuentre, en cualquier
hora y en cualquier da del ao.
La aplicacin que se le da a WDS para este caso fue, la administracin remota de
servidores, pero puede ser adaptado para el control remoto de otros procesos.

OBJETIVO

Implementar un sistema capaz de lograr monitorear y controlar uno o ms
servidores de PC, a travs de mensajes de texto SMS, por medio de un telfono
celular.

FUNDAMENTOS TEORICOS

SMS
El servicio de mensajes cortos o SMS (Short Message Service) es un servicio
disponible en los telfonos mviles que permite el envo de mensajes cortos
(tambin conocidos como mensajes de texto) entre telfonos mviles, telfonos fijos
y otros dispositivos de mano. SMS fue diseado originalmente como parte del
estndar de telefona mvil digital GSM, pero en la actualidad est disponible en una
4

amplia variedad de redes, incluyendo las redes 3G.


SMSC

Corresponde a las siglas en ingls Shor t Message Service Center (Central de
Servicio de Mensajes Cortos), es un elemento de la red de telefona mvil, cuya
funcin es enviar y recibir mensajes de texto.
En el momento que un usuario enva un mensaje de texto (SMS) a otro usuario lo
que sucede es que el telfono enva el mensaje a la SMSC correspondiente al
operador del usuario remitente. La SMSC guarda el mensaje y lo entrega a su
destinatario cuando este se encuentra en cobertura. Por lo general la SMSC,
dentro de los cientos de parmetros configurables que se puede modificar,
dispone de un tiempo mximo durante el cual el mensaje es guardado, si durante
este tiempo el destinatario no es localizado, el mensaje es descartado. Tambin el
usuario remitente puede especificar este tiempo; pero siempre siendo el
configurado en la SMSC el determinante.
Para la transmisin y recepcin de mensajes SMS, las SMSC utilizan interfaces de
redes convencionales, as como algunos protocolos desarrollados especficamente
para las comunicaciones de red mviles.

Proyecto Gammu

Gammu es un proyecto que derivo de gnokii (gnokii.org) que en sus inicios solo
daba soporte a celulares Nokia; pero evolucion a otra variedad de marcas
logrando comunicacin por cable, irda (infrarrojo) y Bluetooth.
La herramienta Gammu es un proyecto que abarca aplicaciones, scripts y drivers
para administrar varias funciones de telfonos celulares y otros dispositivos
similares.
Gammu permite al usuario acceder al sistema de archivos del telfono celular y a
las funcionalidades especiales de control, como radios o cmaras integradas. Esta
herramienta se configura editando el archivo de configuracin gammurc del
directorio de usuario, o bien, en /etc/gammurc para todos los usuarios.
Gammu tambin tiene la capacidad de enviar y recibir mensajes SMS (Servicio de
Mensajes cortos) por medio del demonio denominado SMSD. Para ejecutarlo se
tiene que editar primero el archivo de configuracin de dicho demonio smsdrc,
configurar ciertas caractersticas de este modo de trabajo en tablas para
configuracin en la base de datos smsd; finalmente ejecutar el script gammu.sh en
background desde la lnea de comandos.

Java

Java es un lenguaje de programacin orientado a objetos desarrollado por Sun
Microsystems a principios de los aos 1990. Las aplicaciones Java estn
tpicamente compiladas en un bytecode, aunque la compilacin en cdigo
mquina nativo tambin es posible. En el tiempo de ejecucin, el bytecode es
normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque
5

la ejecucin directa por hardware del bytecode por un procesador Java tambin es
posible similar, pero no est directamente relacionado con Java.
El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un
modelo de objetos ms simple y elimina herramientas de bajo nivel como
punteros.
JavaScript, un lenguaje interpretado, comparte un nombre similar y una sintaxis
similar, pero no est directamente relacionado con Java.

Las caractersticas principales de Java son las siguientes:

Orientado a Objetos

La primera caracterstica, orientado a objetos (OO), se refiere a un mtodo de
programacin y al diseo del lenguaje. Aunque hay muchas interpretaciones para
OO, una primera idea es disear el software de forma que los distintos tipos de
datos que use estn unidos a sus operaciones. As, los datos y el cdigo
(funciones o mtodos) se combinan en entidades llamadas objetos. Un objeto
puede verse como un paquete que contiene el
comportamiento (el cdigo) y el estado (datos). El principio es separar aquello
que cambia de las cosas que permanecen inalterables.
Frecuentemente, cambiar una estructura de datos implica un cambio en el cdigo
que opera sobre los mismos, o viceversa. Esta separacin en objetos coherentes
e independientes ofrece una base ms estable para el diseo de un sistema
software. El objetivo es hacer que grandes proyectos sean fciles de gestionar y
manejar, mejorando como consecuencia su calidad y reduciendo el nmero de
proyectos fallidos. Otra de las grandes promesas de la programacin orientada a
objetos es la creacin de entidades ms genricas (objetos) que permitan la
reutilizacin del software entre proyectos, una de las premisas fundamentales de
la Ingeniera del Software. Un objeto genrico cliente, por ejemplo, debera en
teora tener el mismo conjunto de comportamiento en diferentes proyectos, sobre
todo cuando estos coinciden en cierta medida, algo que suele suceder en las
grandes organizaciones. En este sentido, los objetos podran verse como piezas
reutilizables que pueden emplearse en mltiples proyectos distintos, posibilitando
as a la industria del software a construir proyectos de envergadura empleando
componentes ya existentes y de comprobada calidad; conduciendo esto
finalmente a una reduccin drstica del tiempo de desarrollo. Podemos usar como
ejemplo de objeto el aluminio. Una vez definidos datos (peso, maleabilidad, etc.), y
su comportamiento (soldar dos piezas, etc.), el objeto aluminio puede ser
reutilizado en el campo de la construccin, del automvil, de la aviacin, etc.
La reutilizacin del software ha experimentado resultados dispares, encontrando
dos dificultades principales: el diseo de objetos realmente genricos es
pobremente comprendido, y falta una metodologa para la amplia comunicacin de
oportunidades de reutilizacin. Algunas comunidades de
cdigo abierto (open source) quieren ayudar en este problema dando medios a
los desarrolladores para diseminar la informacin sobre el uso y versatilidad de
objetos reutilizables y libreras de objetos.

6

Eclipse

Eclipse es una plataforma de software de Cdigo abierto independiente de una
plataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente
Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en
navegadores.

Framework

Framework para la edicin grfica) es un plugin de eclipse para el desarrollo de
editores visuales que pueden ir desde procesadores de texto wysiwyg hasta
editores de diagramas UML, interfaces grficas para el usuario (GUI), etc.
Dado que los editores realizados con GEF "viven" dentro de eclipse, adems de
poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz
grfica que puede ser personalizada y profesional.

Lomboz

Lomboz es un plugin gratuito y abierto para el entorno de des arrollo J2EE. Tiene
medios para desarrollar, probar, perfilar y desplegar aplicaciones web, Java, J2EE
y
EJB. Lomboz admite la mayora de los runtimes de servidores de aplicaciones
J2EE estndar, y admite la mayora de los runtimes populares de cdigo abierto
tales como
JOnAS. Al igual que JOnAS, Lomboz est hospedado y desarrollado por el
consorcio ObjectWeb (el grupo de desarrollo se llama a s mismo "eteration"). Esto
est distribuido bajo LGPL.

Hibernate

Hibernate es un servicio de persistencia objeto/relaciones y consultas para Java.
Hibernate facilita a los desarrolladores crear las clases de persistencia utilizando el
lenguaje Java - incluyendo la asociacin, herencia, polimorfismo y composicin y
el entorno de colecciones Java.
Usar JDBC es complejo y muy dependiente de la estructura de los datos. Sera
ms natural y mucho ms sencillo trabajar directamente con objetos, pero es
imposible con las BBDD relacionales, y las BBDD orientadas a objeto estn
todava muy poco desarrolladas.
La mejor opcin entonces es utilizar un motor de persistencia, que es el
componente software encargado de traducir entre objetos y registros. Un motor de
persistencia de cdigo abierto es Hibernate, que nos permitir hacer cosas como
poder guardar un objeto en la base de datos simplemente con
session.save(miObjeto) o borrarlo con session.delete(miObjeto).
Usa el mecanismo de reflexin de Java, que permite a un objeto en ejecucin
examinarse y manipularse a s mismo, en contra de, por ejemplo, JDO, que
necesita que modifiquemos los archivos de las clases.
Vamos a tener un archivo properties (hibernate.properties) o un archivo xml
7

(hibernate.cfg.xml) para la configuracin, una serie de JavaBeans que son las
clases a persistir y en las que cada campo se asociar con una columna de la
BBDD, y un archivo xml por cada una de estas clases (NombreClase.hbm.xml)
que indica el mapping entre objetos y relaciones.



PLAN DE ANALISIS Y RESULTADOS

Tanto el sistema operativo del servidor como el modelo del celular usado para la
presente implementacin pueden variar.
A continuacin se detallan los pasos a seguir para experimentar con el prototipo:

Experimento 1: Prueba de instalacin.

En esta prueba se enviar un mensaje de texto con el contenido siguiente :1.
Esto representa al comando etiquetado con el carcter uno y que est incluido
como parte de los comandos por defecto del proyecto
WDS. El comando: 1 tiene la siguiente estructura : Es la secuencia de escape, es
decir una letra reservada, que indica el inicio del comando
C Representa el o los caracteres que identifican el comando a ejecutar. No
necesariamente numrico.
La estructura anterior, indica que habr que tomar el carcter 1 y buscarlo en la
tabla de comandos de la base de datos, en el esquema smsd de mysql. En este
caso, el comando 1 est asociado a un archivo Script llamado
saludo.sh.
Cuando el mensaje sea recibido por el celular conectado al servidor, el demonio
smsd lo leer y lo colocar en la tabla Inbox. Un siguiente demonio i2ic, lo
colocar en la tabla InboxCommand, habiendo ya detectado cul es el comando y
adems cul es el archivo de script correspondiente. I2ic ejecutar el programa
administrador en Java, el cual ejecuta en el sistema operativo el comando
correspondiente y captura la salida del comando, envindola como mensaje de
salida a la tabla Outbox.
El celular que ha enviado el comando: 1 deber estar recibiendo de inmediato el
resultado de la aplicacin del script, es decir, en su pantalla se debe leer
SALUDOS DESDE WDS

Con esto se puede concluir que todo el sistema est bien instalado y configurado
apropiadamente.
A partir de este punto, se podrn crear todos los scripts de acuerdo a la necesidad
del administrador.

Experimento 2: Detener del servicio http de apache

En esta prueba se enviar un mensaje de texto con el contenido siguiente: webStop
8

El resultado esperado es que el servidor detenga el servicio web http.

Dado que este comando no existe, habr que crearlo. Primero se crear un script en
algn lenguaje de programacin, en este caso, bash.
El script podr llamarse apache_stop el cual se colocar en la carpeta scripts del
proyecto WDS. Desde el celular del administrador fsico, se enviar un mensaje al
celular colocado en el servidor, con el mensaje: wwwStop
Una vez recibido el mensaje de respuesta desde el servidor, se debe verificar que el
servicio Web est detenido, dndose por finalizada con xito la presente prueba.

Dadas las anteriores pruebas se establece que:

Se ha creado un mecanismo fcil, econmico y seguro para poder controlar un
servidor desde un telfono celular por medio de mensajes cortos.
La exposicin del control remoto no se limita a aplicaciones de control de servidor,
sino ms bien puede ser un inicio para la explotacin comercial de interacciones
desde celular a otra mquina, la cual puede contener contacto con otros
servidores (WebServices) o con otros mecanismos o dispositivos.
Por ejemplo un corredor de bolsa, puede enviar el mensaje :precioAccion
cliente=ufg el cual le retornara el precio de las acciones en este instante en la
bolsa de valores. Una aerolnea podra poner el servicio de confirmacin del vuelo
por medio del mensaje:confirm reserva=12345. Consultar por un trmite en
hacienda :renta nit=0614-130368-004-3, tramite de su crdito en su banco: credito
cliente=12345, encuestas de opinin :voto 2 y as un innumerable sin fin de
aplicaciones comerciales.
REFERENCIAS BIBLIOGRAFICAS

Fundamentos de programacin aprendizaje activo basado en casos: un enfoque
moderno usando Java, UML, objetos y eclipse. 1 Edicin, Mxico.
Editorial: Pearson Educacin, 2006. 359 p.

Fundamentos de programacin en Perl. 1 Edicin, Bogota, Co. Mc Graw Hill,
2002. 514 p.

Beginning POJOs: From Novice to Professional. X. Editorial: Apress.
2004. 400 p.
http://es.wikipedia.org/wiki/Lomboz
http://es.wikipedia.org/wiki/Eclipse_(computaci%C3%B3n)
http://www.linux-magazine.com/issue/58/Gammu_und_Wammu.pdf

También podría gustarte