A continuación presento un ejercicio académico de cómo se podría afrontar un gran protecto tecnológico con Software Libre y Tecnologías Alternativas.
Una gran empresa proveedora de soluciones integrales en Tecnologías de la Información y de las Comunicaciones (TIC), tanto de hardware como de software, ha decidido aprovechar la experiencia de la Universidad en el desarrollo e implantación de sistemas basados en software libre para poner en marcha una nueva plataforma tecnológica que ofrezca servicios TIC en la nube a una gran variedad de usuarios.
De esta forma, la plataforma tendrá que prestar apoyo tecnológico al personal de gestión del proyecto, al personal docente y a los grupos de investigación directamente implicados, así como a las empresas y profesionales colaboradores, que también podrán participar y adherirse a la plataforma, para eventualmente desplegar y ofrecer servicios a través suyo.
La infraestructura de la plataforma será independiente y complementaria a los sistemas que ya utilizan los diferentes miembros del proyecto y se ubicará a las instalaciones de la Universidad.
Concretamente, se espera que la plataforma ofrezca los siguiente servicios:
• Red local del proyecto
◦ Acceso a la red cableado o inalámbrico.
◦ Conexión a Internet con cortafuegos y filtro de contenidos.
◦ Hasta una cincuentena de equipos (entre fijos y portátiles) y una docena de impresoras compartidas.
◦ Servicios básicos de red: asignación dinámica de direcciones, resolución de nombres, autenticación de usuarios, compartición de ficheros (hasta 100GB por usuario) y de impresoras.
◦ Gestor empresarial (ERP).
◦ Servicio de telefonía sobre IP (VoIP).
◦ Gestor de recursos humanos.
• Servicios docentes
◦ Hasta una cincuentena de profesores.
◦ Acceso a los servicios vía web.
◦ Gestor de contenidos (CMS).
◦ Servicio de educación a distancia.
• Servicios de investigación
◦ Hasta un centenar de investigadores.
◦ Acceso a los servicios mediante conexión segura.
◦ Plataforma de desarrollo/programación.
◦ Plataforma de cálculo en cluster.
◦ Servidor de aplicaciones.
◦ Servicio de bases de datos.
• Servicios de empresa
◦ Hasta un centenar de empresas.
◦ Acceso a los servicios vía web.
◦ Servicio de relación con los clientes (CRM).
• Servicios comunes
◦ Autenticación de usuarios centralizada.
◦ Servicio de publicación web y de transferencia de ficheros.
◦ Correo electrónico por usuario (hasta 5GB por cuenta).
◦ Herramienta de trabajo cooperativo (groupware).
◦ Herramienta de planificación de proyectos.
◦ Gestor documental (hasta 10GB por usuario).
Con esta definición general del sistema se pone de relieve la voluntad de los promotores de integrar múltiples funcionalidades en un solo sistema, de forma que se pueda garantizar la disponibilidad de los recursos, la concurrencia de los servicios y de los usuarios, la seguridad de los accesos y conexiones, y la redundancia de los servicios.
Además, también serán factores importantes del sistema la facilidad y la sencillez de utilización, la eficacia y la eficiencia para proveer los servicios, la funcionalidad y la operativa de las interfaces, y las posibilidades de expansión futura.
1.
Definición general del proyecto
a)
Título del proyecto y organización responsable.
Título:
Desarrollo e implantación de plataforma tecnológica para servicios
TIC en la nube, basada en software libre.
La
organización responsable de dirigir el proyecto es la Universidad,
aún cuando hayan más organizaciones participantes, es la
Universidad quien debe velar por el desarrollo e implantación de la
plataforma. La metodología PMI establece la necesidad de conformar
un equipo gestor de proyectos, el cual tendrá un gestor líder el
cual será el director de proyectos senior.
b)
Objetivos y áreas de actuación.
Gestión
del proyecto.
Lograr
articular la gestión de los equipos de la Universidad y la empresa.
Establecer
una metodología eficiente que produzca el resultado final en 6
meses.
Desarrollo
tecnológico
Lograr
una plataforma desarrollada con software libre, que sea utilizable en
la nube y que sirva para articular muchas iniciativas de distintos
actores.
Realizar
pruebas en los diversos ambientes de trabajo, que permitan satisfacer
las necesidades de la empresa y alcanzar la expectativa de todos los
interesados.
c)
Tipología y alcance.
Este
es un proyecto de desarrollo tecnológico que implica la coordinación
conjunta de al menos 2 entidades diferentes: universidad y empresa.
Alcance:
Desarrollo de una plataforma de software libre que ofrezca
servicios TIC en la nube a una gran variedad de usuarios y que además
disponga de recursos específicos para la administración de redes
locales, gestores de contenidos y servicios, plataformas de
experimentación y desarrollo de software en la nube.
d)
Requisitos, ordenados por prioridad y clasificados según tipología.
Usar
Software libre
Gestión
conjunta entre empresa y universidad
Definir
politicas de Acceso a la red, Implemenat servidor de Autenticación
Implementar
servicios de red: firewall, dhcp, SSH, SSL
Instalar
servicios: web server, ERP, VoIP, CMS, CRM, Mail, groupware, gestión
documental
Implementar
plataforma de virtualización
Implementar
servidor de aplicaciones y Bases de Datos
Implementar
servidor de almacenamiento
Probar
usabilidad con empresas y clientes
2.
Gestión del proyecto
a)
Metodología de gestión de proyectos seleccionada. Modificaciones
necesarias para adecuarse al proyecto.
Se
utilizará la metodología del Instituto de Gestión de Proyectos
PMI, como marco de referencia para la dirección estratégica del
proyecto. La metodología de PMI es flexible ya que puede enmarcar
cualquier tipo de proyecto, no solo proyectos tecnológicos, así que
se implementará lo que corresponda pertinente a este emprendimiento.
b)
Planteamiento general y estrategia de análisis, diseño, desarrollo
e implantación.
La
metodología PMI establece 5 macroprocesos de la gerencia de
proyectos. En el caso de este proyecto se plantean generalmente asi:
Iniciación:
Definición inicial del proyecto; Aquí se debe reunir el equipo de
la Universidad y el de la empresa y definir conjuntamente el alcance
del proyecto, la organización de equipos de trabajo y hacer un
levantamiento de información inicial.
Planificación:
El equipo gestor del proyecto, en cabeza del Director de proyecto
hacen el cronograma de trabajo, que se basa en el establecimiento de
requerimientos, entregables y responsables para el desarrollo de
plataforma.
Ejecución:
Aquí, el desarrollo propio de la plataforma TIC debe estar enmarcado
en procesos y procedimientos según lo planeado y a medida que avanza
el proyecto, para garantizar desarrollo de entregables;
Seguimiento
y control: Aquí se fijan las metodologías que le grupo gestor
(universidad y empresa) van a seguir para hacer vigilancia del
cumplimiento de entregable y la gestión del alcance del proyecto.
Cierre:
Se refiere a como se garantiza que la empresa contratante y demás
interesados en el proyecto, se involucran efectivamente y ven sus
expectativas satisfechas, al cierra de la etapa de ejecución del
proyecto.
c)
Tareas y subtareas necesarias. Por cada una de ellas definir:
Para
el desarrollo de este ítem se usó la metodología de PMI en el
proceso de planeación, que establece el desarrollo de una Estructura
de Desglose de Trabajos EDT para definir las tareas (aunque PMI habla
de los entregables) del proyecto.
Definición
de alcance, aliado y objetivos
En
esta tarea el director y equipo gestor deben desarrollar el acta de
inicio del proyecto, en donde se establece claramente el alcance del
proyecto, sus limitantes y la definición de a quienes involucra.
1
semana
No
depende de otras tareas
Director
y equipo gestor
Establecimiento
de equipo gestor
Plan
de gestión, cronograma, herramientas de control
Documentos
de gestión, herramientas de seguimiento, herramienta EDT completa y
desglosada.
1
semana
Depende
del desarrollo del acta de inicio
Diseño
de requerimientos
Selección
de herramientas
Programación
Pruebas
locales
Pruebas
en nube
Pruebas
con involucrados
d)
Mecanismos de seguimiento del proyecto. Definición y ubicación de
los hitos de seguimiento y control.
El
Director de Proyecto, deberá registrar todas las actividades
llevadas a cabo en el proyecto, esto será realizado en la Bitácora
de Diseño (anexo 1), en esta se registrará la actividad llevada a
cabo, el responsable de la misma, las entradas requeridas para la
ejecución de la actividad, las salidas o los entregables, fecha
programada para realizar esta actividad, para finalizar la actividad
o para la hacer entrega de algún entregable ya establecido
anteriormente, la persona a la que se le va a realizar esta entrega,
la fecha real en la que se realiza esta entrega, el resultado de la
revisión realizada a la actividad después de finalizada o entregada
y el control de cambios si es necesario, es decir si se requiere la
realización de algún cambio en la planeación establecida.
Hitos:
Fin
de Planeación inicial
Fin
de desarrollo teórico de solución
Fin
de desarrollo de software
Fin
de pruebas y realimentación
e)
Calendario1 de ejecución, que tenga en cuenta las tareas y
subtareas, el seguimiento y los hitos del proyecto.
Plan
de implementación: El Director de Proyecto debe planear un
cronograma en el cual se especifiquen las fechas en que los
entregables serán realizados y las actividades anexas e importantes
se ejecutarán.
f)
Gestión de riesgos. Para cada uno de ellos, definir la probabilidad
La
Matriz de Riesgo, es elaborada por el Director de Proyecto, el cual
debe evaluar los posibles riesgos que se pueden presentar en la
ejecución del proyecto y a su vez plantear posibles soluciones que
pueden ayudar a mitigar los riesgos detectados. Es de vital
importancia documentar y dejar el plan a realizar en caso de
ocurrencia del evento detectado, esto se realiza en la Matriz de
Riesgo.
II.
Diseño tecnológico (30%)
Una
vez planificada la gestión del proyecto, es necesario definir la
estrategia tecnológica para implementar el sistema.
Concretamente,
hay que dar respuesta y justificar las siguientes cuestiones:
1.
Planteamiento general y estrategia tecnológica
Como
la experiencia de la Universidad es en desarrollo de sistemas con
tecnologías libres, la estrategia se basará en usar la máximo el
uso de tecnologías que se basen en usar estándares abiertos,
códigos abiertos e implementaciones alternativas a las que han
impuesto los monopolios tecnológicos.
Por
el área de la infraestructura de comunicaciones es posible
desarrollar sistemas basados en el sistema operativo GNU/Linux y usar
equipamiento que tiene este sistema operativo como base de sus
sistemas embebidos. Además se usará hardware de gran rendimiento
son sistemas basados en Linux. Con esta estrategia se puede
desarrollar una red de datos grande, robusta y con equipos
profesionales; todo con precios muy inferiores a los del monopolio.
Como
estrategia en el software se usarán frameworks y lenguajes de
programación libres, para el desarrollo de la plataforma. Se usarán
distribuciones de GNU/Linux como plataformas servidores de
aplicaciones de servicios para la red a desarrollar. En general se
tendrá mucho cuidado con el licenciamiento libre de todas las
herramientas a usar.
La
solución física se estructurá así:
Salón
de equipos
Ubicación
de servidores
Ubicación
de equipos de comunicaciones
Software
de red y servicios
Refrigeración
de equipos
Interconexión
con redes externas
|
Servicios
Docentes
Red
Local
Red
Inalámbrica
|
Servicios
de investigación
Red
Local
Red
Inalámbrica
|
|
2.
Infraestructura
a)
Estado del arte2
de
la infraestructura de comunicaciones.
|
Elemento
|
Mercado
|
|
Enrutadores:
Es el principal elemento en las redes de datos ya que es quien
implementa el protocolo TCP/IP. Permite encaminar paquetes de
forma lógica desde y hacia destinos programables.
Pueden
actuar al interior de la red local o como interconexión de dicha
red con redes externas (router de borde).
|
CISCO
es la empresa que más ha impulsado el desarrollo de protocolos,
estpandares y dispositivos, sin embargo el sistema oerativo
GNU/Linux ha sido una gran plataforma de desarrollo para
equipamientos de red.
Grandes
fabricantes como TP-Link, Ubiquiti, Linksys, etc., han
desarrollado sus plataformas pasadas en GNU/Linux.
|
|
Switch:
Es un elemento importante que permite realizar distribución sobre
gran cantidad de terminales de datos. También permite hacer
segmentación de redes por medio de redes virtuales.
|
Nuevamente
Cisco es principal fabricante de este tipo de equipos, sin embargo
bajo sistemas GNU/Linux se están desarrollando soluciones
bastante competitivas.
|
|
Access
Points: Son los equipos que crean zonas inalámbricas para acceso
por dicho medio a las redes de datos. Su configuración es básica
ya que son elementos “transparentes” a la red.
|
El
mercado de soluciones inalámbricas es muy variado, sin embargo el
desarrollo de la distribución GNU/Linux OpenWRT ha hecho que
muchos fabricantes puedan producir sus propios equipos equipos;
ejemplo: Ubiquiti. De forma privativa se puede citar nuevamente a
Cisco.
|
|
Cableado:
Hacen parte de la “capa 1” de la red de datos según el modelo
estándar OSI. Se compone de cables, conectores, sistemas de
conexiones, niveles de tensión, etc.
|
El
mercado está usando como estándar en el cableado, la categoria 6
de estos elementos, que permite tener tasas de tranferencia de
datos en el orden delos gigabits por segundo.
|
|
Servidores:
Los servidores de servicios de red cumplen un gran papel al dotar
las redes de datos de funcionalidades como protección contra
invasiones externas, asignación automática de direcciones IP,
resolución de nombres de dominio, etc.
|
Se
detalla en los numerales 3 y 4
|
b)
Material necesario y coste de adquisición.
Se
propone usar el equipamiento de red producido por las Marcar Mikrotik
y Ubiquiti, ya que son alternativas basadas en sistemas libres, y que
además económicamente le compiten a monopolios como lo ha
representado Cisco.
Elemento
|
Costo
|
1
Router de borde: Mikrotik RB1100
|
US$
500
|
1
Switch capa 2: Mikrotik RB250G
|
US$
50
|
2
x Access Point: Ubiquiti Picostation2
|
US$200
|
Cableado:
|
|
-
Caja Cable Ubiquiti categoria 6
|
US$250
|
-
Rack de comunicaciones
|
US$400
|
-
2 Patch panel:
|
US$50
|
-
2 x Ducteria y cableado para cada sala
|
US$2000
|
-
Equipos de aire acondicionado para sala de equipos
|
US$1000
|
c)
Diagrama descriptivo.
El
siguiente diagrama muestra la estructura lógica de la red de
comunicaciones del proyecto. Se tendrá una infraestructura de borde
que se encarga de la interconexión con redes externas como internet;
una serie de servidores internos que posibilitarán los servicios de
la plataforma, y una estructura de distribución en redes locales y
redes inalámbricas.
3.
Hardware
a)
Estado del arte de los equipos para los clientes y los servidores3.
|
Elemento
|
Mercado
|
|
Equipos
de clientes
El
desarrollo de los procesadores para computadores personales lleva
a la época actual a la línea de procesadores Intel Core i7 y los
AMD Phenom II, como tecnologías de procesadores de múltiples
núcleos. Las tarjetas madre, las tarjetas de red, sonido, video,
etc., van desarrollandose a mediado que los procesadores lo hacen,
es esa la razón por la cual el procesador es el referente en el
estado del arte.
|
Uno
de los equipos que se encuentran en la oferta actual del mercado
de PC es:
HP
Compaq Pro 4300 PC con procesador Intel Core i5
|
|
Equipos
servidores
Los
equipos servidores precisan de una arquitectura que les permita
operar ininterrumpidamente por mucho tiempo. Para este propósito
se desarrollan sistemas de ventilación internos, fuentes de poder
más estables y procesadores más eficientes. Al respecto los
referentes son los Intel Xeon o los AMD Opteron .
|
Uno
de los equipos que se encuentran en la oferta actual del mercado
de servidores que cumplen con las necesidades que necesita el
proyecto es:
HP
ProLiant DL120 G7 Server
Intel®
Xeon® E3
|
|
Periféricos.
Las
labores de planeación y desarrollo del proyecto necesitan ciertos
accesorios de los equipos de computo:
Escaner
Impresora
Proyector
|
El mercado
actual ofrece periféricos compatibles con puertos seriales
universales, redes LAN y WLAN como:
Escaner/impresora:
Epson Gts.50
|
b)
Material necesario y coste de adquisición.
Elemento
|
Propósito
|
Costo
|
6
x HP ProLiant DL120 G7 Server
|
2
para cluster
3
para servicios
1
para red
|
US$9000
|
47
xHP Compaq Pro 4300 PC
|
3
para desarrollo
4
para planeación y administración
20
para LAN1
20
para LAN2
|
US$
40000
|
2
x Escaner/impresora: Epson Gts.50
|
|
US$
500
|
|
|
US$
500
|
c)
Organización de los servicios por servidor.
Servidor
de Red
|
Servidor
DHCP
Servidor
cortafuegos
Servidor
DNS
Servidor
de Autenticación
|
Servidor
Servicios 1
|
Servidor
VoIP
|
Servidor
Servicios 2
|
Servidor
Web
Servidor
ERP
Servidor
CMS
Servidor
FTP
|
Servidor
Servicios 3
|
Servidor
de Base de Datos
Servidor
de Almacenamiento
|
Servidores
de desarrollo
|
Plataforma
de cálculo en cluster.
|
d)
Diagrama descriptivo.
4.
Software
a)
Estado del arte del software para los clientes y los servidores.
Software
para clientes:
La
estructura cliente-servidor que necesita el proyecto para el
desarrollo de la plataforma, las pruebas de los investigadores y la
interacción de las empresas impone los mayores retos al lado del
servidor, y simplifica las soluciones de software al lado del
cliente. Usualmente un sistema operativo de escritorio ya tendrá
todo lo necesario para acceder a plataformas servidores solo
precisando de ciertos complementos de software.
Sistemas
operativos libres y de escritorio existen de gran variedad. Las 2
distribuciones que han desarrollado mayores esfuerzos en aplicaciones
de escritorio son GNU/Linux Ubuntu y GNU/Linux Fedora, los
respectivos desarrollos de Debian y Red Hat.
Software
servidor:
En
los equipos servidores, los sistemas operativos que mayor y mejor
desempeño presentan actualmente son los basados en UNIX tal como lo
son los sistemas GNU/Linux. Las distribuciones de Red Hat son las de
mayor uso en plataformas servidores, tanto en implementaciones
individuales, como en estructuras de cluster.
Como
software de servicios a usar para proveer todos los servicios que
necesita el proyecto, existe una gran variedad de software libre que
puede satisfacer las necesidades que van desde servicios de red hasta
servicios de aplicación especial como el de gestión documental.
El
uso de software libre permite el desarrollo personalizado más rápido
y económico, además de ser autónomos tecnológicamente.
b)
Selección y justificación del software para cada servicio del
sistema (para clientes y para servidores).
Las
siguientes son las alternativas de software libre más populares para
los servicios necesarios:
Servicio
|
Software
Libre
|
Definir
politicas de Acceso a la red, Implementar servidor de
Autenticación
|
Servidor
FreeRadius
|
Implementar
servicios de red: firewall, dhcp, SSH, SSL
|
IPTables
– PfSense
Squid
|
web
server
|
Apache2
|
Educación
a distancia.
|
Moodle
Big
Blue button
|
servidor
de aplicaciones
|
Glassfish
|
Cluster
|
Mpich2
|
ERP
|
Openbravo
|
VoIP
|
Asterisk
|
CMS
|
Drupal
|
CRM
|
SugarCMR
|
Correo
Electrónico
|
Postfiix
|
Groupware
|
Open-Xchange
OpenGroupware
|
Gestión
documental
|
Orfeo
|
Implementar
plataforma de virtualización
|
VirtualBox
QEMU
|
Implementar
servidor de aplicaciones y Bases de Datos
|
MySQL
|
Implementar
servidor de almacenamiento
|
FreeNAS
FTP
|
c)
Modificaciones y extensiones necesarias a realizar.
En
general todo el software libre proporciona una solución genérica
totalmente personalizable; en muchos casos otros programadores
realizan modificaciones, plugins, etc., y los publican, haciendo
robusto el software original.
Algunas
de las modificaciones y extensiones serían:
-
Personalización de servidor de autenticación, autorización y
conteo Freeradius, para que pueda usar los perfiles de usuarios
definidos por el proyecto, limite la cantidad de usuarios por
departamento y haga más seguro el uso de la red inalámbrica.
-
Personalización del servidor FTP y de almacenamiento para que pueda
dar servicio a los diferentes departamentos, maneje las políticas de
seguridad y cree los espacios definidos de almacenamiento.
-
Personalizar servidor de red Pfsense para que a red interna pueda
interactuar con internet, se puedan crear perfiles especiales para
que docentes, investigadores y empresas puedan acceder remotamente y
de forma personalizada. Además para diseñar la red interna y
segmentar el tráfico.
-
El servidor web con las aplicaciones de educación a distancia y CMS
necesitará instalar los software base y desde allí programar las
plataformas deseadas.
-
El servidor VoIP debe ser programado para crear la red interna de voz
que se necesite, así como los servicios de buzones virtuales, menús
IVR, desvíos de llamadas, interconexión con la red pública de
telefonía, etc.
-
Los sistemas CMR y ERP deben ser implementados de forma planificada y
con los plugin necesarios según los requerimientos, y como se desee
que las empresas hagan uso de las empresas. Además se puede precisar
el desarrollo de plugin personalizados para alcanzar tales metas.
5.
Presupuesto
a)
Recursos materiales.
Elemento
|
Costo
|
1
Router de borde: Mikrotik RB1100
|
US$
500
|
1
Switch capa 2: Mikrotik RB250G
|
US$
50
|
2
x Access Point: Ubiquiti Picostation2
|
US$200
|
Cableado:
|
|
-
Caja Cable Ubiquiti categoria 6
|
US$250
|
-
Rack de comunicaciones
|
US$400
|
-
2 Patch panel:
|
US$50
|
-
2 x Ducteria y cableado para cada sala
|
US$2000
|
-
Equipos de aire acondicionado para sala de equipos
|
US$1000
|
6
x HP ProLiant DL120 G7 Server
|
US$9000
|
47
xHP Compaq Pro 4300 PC
|
US$
40000
|
2
x Escaner/impresora: Epson Gts.50
|
US$
500
|
|
US$
500
|
TOTAL
|
US$
54450
|
b)
Recursos humanos adicionales4.
No
aplica
c)
Otros gastos.
10%
de imprevistos (gestión de riesgos) : US$ 5445
III.
Desarrollo de negocio (15%)
Una
vez finalizada la implantación de la plataforma y validado su
funcionamiento con la comunidad de usuarios inicial, la empresa y la
Universidad acuerdan poner en marcha una nueva iniciativa empresarial
(spin-off)
para la explotación comercial a gran escala de la plataforma.
En
este sentido, lo que se plantea es el despliegue y la
comercialización de nuevos servicios en la nube basados íntegramente
en software libre y principalmente dirigidos a empresas, en ámbitos
como ERP, CRM, CMS, gestión documental, de recursos humanos o de
inteligencia empresarial, entre otros.
Como
paso previo a la puesta en marcha de la spin-off , se decide realizar
un análisis de mercado de vuestro entorno local con el objetivo de
identificar el modelo de negocio y el ámbito de aplicación que
presentan mayor potencial y posibilidades de éxito comercial.
Concretamente,
hay que dar respuesta a las siguientes cuestiones:
1.
Estudio de mercado
a)
Identificar, en vuestro entorno local, el mercado objetivo de los
servicios ofrecidos a través de la plataforma y las características
y necesidades de los clientes potenciales.
Software
CMR.
SAP
es una de las principales representantes del software privativo y
ofrece una solución CMR como base de su SAP business suite diseñada
para ayudar en la gestión empresarial.
Oracle,
otra gran empresa representante del software propietario tiene su
propia solución CMR llamada Oracle CRM On Demand.
Existen
otras soluciones propietarias CMR como Zoho CRM, CONTACTO CRM, etc.
Por
otro lado existen opciones de fuentes abierta como CiviCRM o
HiperGate, Vtiger y SugarCRM. En general son soluciones que tienen
comunidades de desarrolladores y ofrecen versiones comunitarias
gratuitas y algunas personalizaciones empresariales pagas, sin
embargo el código está disponible para quien quiera usarlo.
Software
ERP
El
software ERP en general apoya la administración de empresas. También
existen alternativas propietarias y libres.
SAP
business suite, como se dijo anteriormente, es una solución
propietaria completa para la gestión de empresas.
Microsoft
Dynamics es otras solución propietaria que presenta Microsoft como
alternativa de software para la dirección de empresas.
Como
alternativa del software libre existe OpenERP software como de código
abierto que cubre las necesidades de las áreas de contabilidad,
finanzas, ventas, RRHH, compras, proyectos y almacén entre otras.
Software
de Gestión Documental.
Existen
muchas alternativas de software propietario desarrollado por graes
empresas; software como Lotus Documents de IBM y Onbase de la
compañía Hyland.
Como
experiencia del software libre existe Orfeo, un software de gestión
documental impulsado por la Superintendencia de Servicios Públicos
de Colombia y ampliamente usado en cientos de instituciones públicas
y privadas.
b)
Identificar, preferiblemente en vuestro entorno, al menos tres
empresas que propongan soluciones empresariales basadas en software
libre. Describir brevemente sus productos y servicios, así
como
su modelo de negocio.
Fundación
Corre Libre (http://www.correlibre.org/). Es la organización que
desarrolla y cuida del código del software libre de gestión
documental OrfeoGPL. Aunque incentivan el desarrollo de una comunidad
al rededor del software, como empresa prestan una serie de servicios
a las empresas e instituciones públicas, como:
Formación
y Certificación en OrfeoGPL
Instalacion
y Parametrizacion de OrfeoGPL
OrfeoGPL
Tematico
OrfeoGPL
Alta Disponibilidad
Su
modelo de negocio se basa en la prestación de servicios al rededor
del software, así como la adaptación de Orfeo a necesidades
específicas, pero siempre manteniendo la licencia libre del
software.
IDE
Soluciones. (http://idesoluciones.com/).
Es una empresa dedicada al desarrollo de software basada en software
libre. Además de desarrollo de software especìfico se ha
especializado en el uso y desarrollo de software de apoyo a empresas
como lo es CRM
(Vtiger), un sistema de información para la administración, basada
en la relación con los clientes; Help Desk (GLPI - Mesa de ayuda) es
una herramienta para administrar las fallas, incidencias o
requerimientos relacionados con las TIC; y OrfeoGPL
para gestión documental.
Su
modelo de negocio se basa en desarrollos nuevos de software o
personalizaciones de software libre para funciones especìficas.
Grupo
Lyunxi Ltda. (http://iyu.com.co/).
Esta empresa al igual que IDE soluciones desarrolla software a partir
de software libre, desde desarrollos independientes hasta
personalizaciones de software libre de apoyo a gestión de empresas.
c)
Identificar, preferiblemente en vuestro entorno, empresas proveedoras
de soluciones empresariales en la nube. Describir brevemente los
productos y servicios que ofrecen, así como su modelo de negocio.
Heinsohn
Business Company (http://www.heinsohn.com.co/).
Es
una empresa basada en software propietario; sus soluciones estàn
basadas en el software de SAP y otros software para la gestión de
negocios (ERP). Ademàs ofrece soluciones en software para el manejo
de recursos humanos y la gestión financiera. Aunque anuncian tener
desarrolladores propios, sus productos principales es la
comercialización y soporte de software de grandes casas de software
propietarios.
EForces
(http://www.eforcers.com/).
Esta
empresa se especializa en prestar servicios en la nube basados en las
plataformas de Google. Esta empresa ha desarrollado software propio
(propietario) para la interacción masiva de personal con
aplicaciones de Google.
El
Negocio de EForces se basa en apoyarse de las grandes fortalezas que
tiene google en el trabajo en Nube de documentación y sistemas de
comunicación empresariales, para ofrecer soporte y servicios
propios.
SisComputo
(http://www.siscomputo.com/aplicaciones/web/portalweb.nsf).
Esta empresa se ha encargado de desarrollar soluciones propias
(propietarias) para la gestión de negocios, la gestión documental y
la atención al cliente. Ofrecen soluciones en los equipos terminales
o soluciones en la nube.
Su
modelo de negocios se basa en la explotación del licenciamiento de
sus productos, y su posterior soporte.
2.
Modelo de negocio
a)
Seleccionar el ámbito de aplicación empresarial en el que es más
factible ofrecer soluciones novedoses a través de la plataforma.
Personalización
y soporte de Software.
La
industria de aplicaciones para la gestión de clientes, gestión del
negocio, gestión de contenidos, etc., para empresas ya tiene muchas
alternativas para satisfacer las necesidades generales de cualquier
empresa, desde pequeñas y medianas empresas hasta empresas muy
grandes. Sin embargo el éxito de las implementaciones está en
ofrecer la personalización de las plataformas de software a las
necesidades de las empresas, y más aún, la integración con sus
sistemas de información Asì, no vender simplemente licencias de
software y soporte sobre fallas del mismo, sino poder integrarse a
otros sistemas existentes y ser altamente personalizable, son razone
smuy poderosas para impulsar soluciones empresariales basadas en
software libre.
b)
Definir los modelos de negocio basados en software libre que la
spin-off puede explotar teniendo en cuenta el mercado y la
competencia.
Diseño
personalizado de software. Realizar implementaciones personalizadas
de las grandes plataformas de software libre para las empresas.
Integración/Migración
de plataformas. Realizar integración entre diversas plataformas;
aquí será un argumento muy fuerte el usar software libre que
permita acceder al código de las diferentes plataformas y el uso de
formatos estándares y abiertos que permitan la compatibilidad de
sistemas.
Soporte.
Realizar soporte oportuno, especialmente sobre las piezas
personalizadas (y libres) de software.
c)
Describir los principales productos y servicios que se pueden
comercializar en el mercado objetivo.
CMR
a la medida. Usar las plataformas de software libre para adaptar el
software a las necesidades del cliente y dejarlo compatible con
otros software.
ERP
a la medida. Usar las plataformas de software libre para adaptar el
software a las necesidades del cliente y dejarlo compatible con
otros software.
Plataformas
CMS, CMR y ERP en la nube.
Desarrollo
de software libre para integración de plataformas. La integración
de plataformas de distintos proveedores usa estándares de
almacenamiento y comunicación, independizando los datos y
patrimonios de las empresas clientes, de los software que usen.
Soporte
a desarrollos, migraciones e integraciones. Migración de
plataformas privativas, desarrollo de software que estandarice las
comunicaciones y almacenamientos.
d)
Describir las principales diferencias entre las soluciones que
proponéis y las de la competencia.
Las
soluciones centradas en la implementación personalizada del software
libre y en la integración de plataformas ofrece gran independencia a
las empresas, quienes pueden administrar el desarrollos autónomo de
cada una de ellas sin depender de proveedores o contratistas.
Además
estas implementaciones basadas en software libre permiten la
escalabilidad libre de los sistemas, sin depender de licenciamientos
restrictivos.
La
empresa desarrolladora se beneficia al conseguir contratos cada vez
más específicos de personalización y soporte; Liberar el software
garantizará la autonomía de la empresa cliente, y probablemente su
fidelidad.
Los
modelos propietarios en la proyección económica a lo largo del
tiempo son muchísimo más caros para las empresas clientes, ya que
están sometidos a restrictivos esquemas de licenciamiento por
usuarios, actualizaciones y tiempos de uso. Las empresas pierden
autonomía en el manejo de sus plataformas y hasta de sus datos. En
el caso de la gestión documental, hay software propietario que
terminan usando formatos cerrados que privatizan la información y
arrodillan al cliente al uso exclusivo de ciertos software.
IV.
Implantación de nuevos servicios (25%)
Una
vez realizado el análisis de mercado y la definición de negocio, la
spin-off inicia su actividad con un equipo formado inicialmente por
parte de los miembros del equipo de gestión y de implantación del
proyecto de creación de la plataforma:
•
1
director de proyectos senior.
•
2
técnicos informáticos de grado medio, expertos en el desarrollo de
aplicaciones.
•
1
técnico informático de grado superior, expertos en sistemas.
•
1
técnico informático de grado medio, experto en redes.
Además,
para el desarrollo y despliegue de los nuevos servicios, el equipo
del proyecto ha decidido utilizar la metodología SCRUM5.
De
este modo, se plantea analizar las diferentes soluciones en software
libre que pueden dar respuesta a las necesidades detectadas en los
clientes, realizar las adaptaciones que se consideren necesarias y
desplegar el nuevo servicio de la plataforma.
En
concreto, se pide resolver las siguientes cuestiones:
1.
Análisis de alternativas en software libre
a)
Seleccionar dos proyectos/aplicaciones de software libre del ámbito
de aplicación identificado en el punto 2a de la tercera parte.
Se
seleccionan las siguientes plataformas de software libre
Servidor
AAA (Autenticación, Autorización y Conteo – Accounting-) para
controlar acceso a la red FreeRadius
Administracdor
de contenidos CMS, para le desarrollo de plataformas web: Drupal
b)
Realizar un análisis comparativo de ambos proyectos, considerando:
|
FreeRADIUS
|
Drupal
|
Nombre
del proyecto y organización o empresa que lo desarrolla.
|
FreeRADIUS.
Ha desarrollado una comunidad de usuarios y desarrolladores bajo
el mismo nombre, sin embargo el código y desarrollos son
protegidos por la empresa Network RADIUS Inc.
|
Drupal.
Es un CMS basado en la filosofía del software GPL. Tiene una gran
comunidad de desarrolladores en todo el mundo, sin embargo existe
una fundación llamada Drupal Association que se encarga de
mantener la infraestructura, el código, velar por la licencia y
promover la educación sobre el CMS.
|
Licencia.
|
GPL
V2, incluye un servidor Radius con licencia BSD.
|
GPLv2
y posteriores.
|
Fechas
de la primera y de la última release estable.
|
Versiòn
1.1.0 – 12 Enero 2006
Version
2.2.0 - 10 Septiembre 2012
|
Drupal
1.0.0, 2001-01-15
Drupal
7.17, 2012-11-07
|
Tecnología
sobre la cual se ha desarrollado.
|
Lenguaje
C, Apache
|
PHP,
HTML, JAvaScript
|
Coste
(si es aplicable).
|
no
|
no
|
Principales
funcionalidades soportadas.
|
Autenticación
de clientes en redes.
Interacción
con fabricantes de equipos de comunicaciones con protocolo Radius.
Validación
contra bases de datos SQL.
Autenticación
segura 802.1x
|
Plataformas
web.
Contrucción
modular basado en un core libre.
Multiplataforma.
Integración
con muchos lenguajes de programación web.
|
Usabilidad y curva de aprendizaje.
|
Altamente
usado en grandes redes corporativas establecer medidas de
seguridad de acceso a las redes de datos.
Es
un tema muy especializado y la curva de aprendizaje es muy lenta.
Requiere de conocimientos avanzados de redes y programación.
|
Es
usado en cualquier tipo de plataforma web, desde pequeños blogs
hasta grandes y concurridos sitios web.
Ofrece
un entorno fácil de usar, modular y gráfico.
La
curva de aprendizaje hasta nivel intermedio es muy rápida.
|
Requerimientos técnicos.
|
Sistemas
operativos GNU/Linux (aunque hay una versión para Win32).
Librerias
C
Librerias
Apache
|
Servidor
Web
Servidor
PHP5
Servidor
SQL
|
Principales ventajas e inconvenientes.
|
Es
el servidor Radius más difundido, altamente personalizable y
estable.
Se
requieren conocimientos técnicos muy avanzados.
|
Flexible
y fácil de usar hasta un nivel intermedio. Altamente
personalizable y estable.
Ha
ido corrigiendo problemas de compatibilidad entre browser web.
|
c)
Seleccionar una de las soluciones para su despliegue en la
plataforma.
Se
selecciona Drupal, como base de todas las plataformas web en la
estructura cliente-servidor.
2.
Desarrollo de software
a)
¿El proyecto seleccionado resuelve todas las necesidades
identificadas en el mercado o para ser desplegado directamente en la
plataforma? ¿Qué habría que adaptar, extender o complementar?
Drupal
presenta todo lo necesario en su código fuente para implementar en
pocos minutos un completo CMS, sin embargo la instalación original
presenta una interfaz simple y básica; se necesita una profunda
modificación para poder lograr las metas de las plataformas web
necesarias: Implementación de módulos, desarrollos de módulos,
interacción entre bases de datos de sistemas CMR y ERP, etc.
b)
¿Cómo se adecúa el proyecto al desarrollo de código siguiendo una
metodología ágil? ¿Qué habría que adaptar?
El
desarrollos sobre Drupal es ágil ya que es un software modular; por
ejemplo, si se requiere modificar el sistema de logging de la
plataforma, solo se debe modificar el módulo (on programar)
destinado a esto, sin tener que modificar el código core. Lo
anterior permite que le desarrollo de entornos personalizados sea
bastante rápido, se pueda reutilzar módulos desarrollado por la
comunidad de usuarios, e incluso, integrar presentaciones gráficas
de otros diseñadores. Esto permit6e aplicar perfectamente la
metodología Scrum al avanzar en el desarrollos global y poder
devolverse a pequeñas personalizaciones modulares.
c)
¿Qué estrategia de relación se podría establecer con la comunidad
de usuarios del proyecto?
La
relación con la comunidad de usuarios de Drupal es muy importante y
útil, desde hallar buenos testers, hasta poder reciclar código de
miles de módulos existentes y liberados por sus desarrolladores.
Muchas necesidades de la plataforma, como la integración con otros
CMR, ya han sido desarrolladas en forma de módulos y liberada por la
comunidad; esto puede significar gran ahorro de tiempo y desarrollo.
d)
¿Qué estrategia de releasing y packaging se podría considerar para
las adaptaciones?
Drupal
de packing tiene una estrategia llamada Distribuciones. Son llamadas
asì, las configuraciones y personalizaciones de Drupal, con módulos,
temas y código específico que servirán para aplicaciones
concretas.
Se
empaca el código core junto con los módulos usados y el código de
personalización. Esto permite instalaciones completas y muy rápidas
de plataformas específicas muy completas.
Sería
posible desarrollar una distribución drupal que integre soluciones
de ERP, CMR, RRHH, etc., compatible con otras plataformas web y
fácilmente integrable.
e)
¿Sería suficiente la plataforma actual para desplegar la nueva
solución? ¿A cuántos clientes se podría dar servicio
inicialmente?
No,
es necesario programar y desarrollar módulos para las necesidades.
Las capacidades de la plataforma dependen exclusivamente de las
capacidades del hardware. Así Drupal es base de plataformas web muy
usadas en internet y que soportan miles de usuarios concurrentes las
24 horas.
3.
Plan de desarrollo y despliegue
a)
Definir los roles utilizados en la metodología SCRUM.
ScrumMaster:
Director del proyecto. Es quein organiza y lidera las labores del
desarrollo del proyecto. En este caso, es el director de proyectio de
la Universidad
ProductOwner:
Es el patrocinador del proyecto; usualmente quien coloca los recursos
y fija los requerimientos. En este caso la empresa contratante y
todas las empresas y usuarios que se puedan involucrar en la fase de
desarrollo.
Team:
Es el equipo de desarrollo. En este caso los técnicos de sistemas,
software y redes.
Product
Backlog: Requerimientos. Fija el alcance del proyecto
Sprint
Planning: Reuniones de planeación en la que se fijan los entregables
a proporcionar en tiempos definidos al ProductOwner.
Sprint:
jornada de tiempo para desarrollo del software con el fin de hacer
entregas definidas de vances.
b)
Elaborar una planificación para el desarrollo y despliegue,
definiendo para cada iteración lo siguiente:
|
Sprint
1
|
Sprint
2
|
Sprint
3
|
Sprint
4
|
Descripción
breve.
|
Levantamiento
de requerimientos (Product Backlog), información del estado del
arte.
|
Instalación
de sistema base, integracipon de moduloos bàsicos
|
Desarrollos
e integración
|
Pruebas
|
Resultados
o funcionalidades esperadas.
|
-
Documento Product Backlog.
-
Preselecciòn de software a usar
|
Servidor
programado.
Sistema
base instalado.
Selección
final de módulos básicos a usar.
|
Desarrollo
de mòdulos necesarios, Modificación de módulos existentes.
Integración
de Base de datos con SugarCMR y OpenERP
|
Pruebas
de funcionalidad.
Pruebas
de integración.
Pruebas
con usuarios
Realimentación
y retoques finales
|
Recursos
humanos necesarios.
|
2
Técnicos
1
Director de proyectos ScrumMaster
1
representante de ProductOwner
|
3
Técnicos
1
Director de proyectos
|
3
Técnicos
1
Director de proyectos
|
2
Técnicos
1
representante de ProductOwner
|
Duración.
|
2
semanas
|
3
Semanas
|
4
semanas
|
4
semanas
|