Download 7835

Document related concepts

Cliente liviano wikipedia , lookup

Windows 2000 wikipedia , lookup

Servidor wikipedia , lookup

Microsoft Azure wikipedia , lookup

Univention Corporate Server wikipedia , lookup

Transcript
SOFTWARE GUARDIÁN DE
APLICACIONES
DESARROLLO DE PRODUCTOS
DE SOFTWARE
Omar Aguilar Feijóo
Fausto Correa Almazan
Agenda

Origen del Producto





Plan de negocio











El Producto
El Mercado
La Competencia
Modelo de Negocio
Plan Financiero
Tecnologías utilizadas


La necesidad
Alternativas de solución
Solución propuesta
Beneficios ofrecidos
Arquitectura de mensajes de Windows
Técnicas de Inyección Dlls
Mensajes del sistema
Funciones y Estructuras
Diseño del sistema
Demostración
Conclusiones
METODOLOGÍA







Identificar necesidad de administrar
infraestructura de tecnología de Información.
Presentación del proyecto y como resuelve
la necesidad
Análisis económico.
Análisis de las tecnologías utilizadas.
Diseño y configuración de sistema SGA.
Prueba de concepto.
Conclusiones y recomendaciones.
Agenda

Origen del Producto





Plan de negocio











El Producto
El Mercado
La Competencia
Plan Financiero
Modelo de Negocio
Tecnologías utilizadas


La necesidad
Alternativas de solución
Solución propuesta
Beneficios ofrecidos
Arquitectura de mensaje de Windows
Técnicas de Inyección Dlls
Mensajes del sistema
Funciones y Estructuras
Diseño del sistema
Demostración
Conclusiones
La Necesidad



Tecnología de Información. Redes de computadoras, software,
enlaces de datos, bases de datos son en la actualidad
herramientas esenciales para el desarrollo de las actividades de
Instituciones y organizaciones de diferentes fines y tamaños.
Tecnología e Industria. La Tecnología de Información brinda
muchas ventajas competitivas y permite aumentar la productividad,
siempre y cuando sea bien administrada.
Software. Es por medio de los productos de software que se
accede a muchos de los recursos de tecnología, ya sea este un
enlace de datos, una base de datos, un servicio, producto, entre
otros. Los productos de software tienen agrupadas sus opciones y
menús y botones de la barra de herramientas y por medio de estas
opciones permite a los usuarios interactuar y acceder a los
recursos.
La Necesidad

Seguridad de accesos. La mayoría de las aplicaciones cuentan
con un sistema de seguridad que controla los accesos y uso de los
programas.




Sin embargo, a veces no se acopla a la estructura de la Empresa.
En otros casos se tiene muchas aplicaciones y cada una con su propio
sistema de seguridad que hace que se complique la administración y
control de los mismos.
No permiten el control de ejecución de otros programas. Es necesario
controlar el uso de programas permitiendo solo los que brinden
ventajas al negocio y no a uso personal.
Otras aplicaciones ni siquiera cuentan con un sistema de seguridad
La Necesidad

Administración de Infraestructura tecnológica. Es
necesario contar con una buena herramienta que
permita administrar el uso de la Infraestructura
Tecnológica. Una infraestructura mal administrada
puede generar costos escondidos que muchas
organizaciones no cuantifican y afectan su estructura
de costos
La Necesidad
Aplicaciones de EC
Modelos de negocio B2C y B2B
Administrar relaciones con Clientes CRM
Optimizar procesos internos y productividad
PERSONAS
POLÍTICAS
Y
PROCESOS
AREAS DE
SOPORTE
SERVICIOS
Y
PRODUCTOS
SOCIOS
DE
NEGOCIOS
SOFTWARE
TECNOLOGÍA DE INFORMACIÓN
Infraestructura de
Seguridades
Servicios de
Mensajerias
Infraestructura de
Redes
Infraestructura de
aplicaciones y
servicios
ADMINISTRACIÓN TECNOLÓGICA
Infraestructura de
Bases de Datos
Alternativas de Solución



Utilizar editores de políticas de Windows. Esta alternativa puede
llegar a deshabilitar ciertas opciones del sistema operativo para
evitar que se desconfigure equipos, pero no se puede bloquear
programas de terceros lo que lo hace una solución incompleta.
Se pueden adquirir software que bloquean localmente programas
de estaciones de trabajo pero no trabajan en un ambiente de red
ocasionando una carga de actividad en la administración ya que no
es centralizado.
Adquirir recursos que modifiquen y mejoren a los aplicativos, pero
si no se tiene los códigos fuentes nada se podrá hacer.
Solución propuesta

Desarrollar una herramienta que permita la administración
centralizada del uso de los programas dentro de la organización y
que permita integrar varias aplicaciones a los diferentes perfiles de
usuarios o grupos de usuarios, brindando la facilidad de asignar
restricciones de seguridad a las diferentes opciones de menús y
botones de las aplicaciones, sin necesidad de contar con el código
fuente de las mismas. A esta herramienta se la llamó Software
Guardián de Aplicaciones SGA
Beneficios ofrecidos

Entre los beneficios que ofrece esta solución se tiene:
 Permite aplicar restricciones de seguridad a más del 70% de las
aplicaciones que se ejecutan sobre Windows
 Ahorro de tiempo y dinero en la administración de las
seguridades de las aplicaciones de toda la organización.
 Simplifica el control de las seguridades de menús y barras de
botones por grupos de usuarios
 Reduce a cero el desarrollo de módulos extra de seguridad
 Evita perjuicios económicos por fraude o negligencia en el mal
uso de programas
Agenda

Origen del Producto





Plan de negocio











El Producto
El Mercado
La Competencia
Modelo de Negocio
Plan Financiero
Tecnologías utilizadas


La necesidad
Alternativas de solución
Solución propuesta
Beneficios ofrecidos
Arquitectura de mensaje de Windows
Técnicas de Inyección Dlls
Mensajes del sistema
Funciones y Estructuras
Diseño del sistema
Demostración
Conclusiones
El Producto

El producto SGA, se basa en el aprovechamiento de un
mecanismo de los sistemas operativos Microsoft Windows. Este
mecanismo consiste en que las aplicaciones trabajan en base a
eventos, los mismos que pueden ser generados por distintos
dispositivos como por ejemplo, el ratón, el teclado, etc. Los
eventos a su vez generan mensajes, nuestra aplicación captura
dichos mensajes, específicamente los que tienen que ver con
menús y botones, y los procesa de acuerdo a las reglas de
ejecución configuradas para el perfil al cual pertenece el usuario
que ejecuta la aplicación. Con esto se consigue el objetivo de
asegurar las opciones de menús y barras de botones de las
aplicaciones.
El Producto
APLICACIONES
CORE SGA
SISTEMA OPERATIVO
El Producto
CLIENTE 1
CLIENTE 2
CLIENTE 3
APLICACIONES
APLICACIONES
APLICACIONES
SISTEMA
OPERATIVO
SISTEMA
OPERATIVO
SISTEMA
OPERATIVO
SGA CLIENTE
SGA CLIENTE
SGA CLIENTE
LAN ETHERNET
SGA ADMINISTRADOR
BASE DE
DATOS SGA
SGA SERVIDOR
El Mercado

Nuestro mercado potencial está conformado por todas las
instituciones y organizaciones, tanto en Ecuador como el
Latinoamérica, que utilizan programas de computadora sobre
sistemas operativos Microsoft Windows y que se comunican por
medio de una red y necesiten controlar las aplicaciones que se
ejecutan sobre la misma, con el fin de optimizar el uso de sus
recursos de tecnología y alcanzar sus fines de negocio.
Mercado

Segmento de mercado
Mercado
Presupuesto de clientes
Tamaño del segmento de Mercado
140,00
120,00
100,00
Clientes

80,00
60,00
40,00
20,00
0,00
2005
2006
2007
Segmento D
6,00
36,00
72,00
Segmento C
3,00
24,00
36,00
Segmento B
5,00
7,00
14,00
Segmento A
0,00
2,00
6,00
Segmento AA
0,00
1,00
2,00
Total Clientes
14
70
130
Año
La Competencia
Modelo de negocio


Nuestro modelo de negocio consiste en la venta directa y por
medio de canales de distribución del producto, ya sea en paquetes
y licencias individuales, adicional de servicios de asesoría y
asistencia en implementaciones.
El detalle de los paquetes, los mismos que incluyen todo el
sistema, es decir cliente, servidor y administración se muestra en la
siguiente tabla:
Modelo de negocio


El costo de mantenimiento anual que incluye horas visitas técnicas
en sitio y actualizaciones de versión es el 25% del valor del
paquete completo adquirido
Valores de servidor y licencias individuales. El módulo de
administración forma parte del servidor.
Plan Financiero

Actualmente se cuenta con el producto terminado en su
primera versión, se requiere inversión para cubrir las
siguientes actividades:
 Adquisición de equipos.
 Equipar oficinas.
 Distribución del producto.
 Mantenimiento y mejoras.
 Cubrir sueldos y gastos operativos hasta alcanzar
niveles de ingreso que permitan operar por si misma
a la empresa.
Plan Financiero

La siguiente tabla detalla la inversión inicial que se necesita.
Plan Financiero

Adicional se necesitará un capital de trabajo de
USD $21500, para poder operar en los meses
que no haya ingreso. Este capital de trabajo será
destinado para cubrir sueldos, costos operativos
y costos de ventas
Plan Financiero

Costos Hundidos
Plan Financiero

Costos Operativos
Plan Financiero

Salarios
Plan Financiero

Proyección de ventas
Plan Financiero

Indicadores Financieros
1. CALCULO E INTERPRETACIÓN DEL VALOR
ACTUAL NETO
2. CALCULO E INTERPRETACIÓN DE LA TASA INTERNA
DE RETORNO (TIR)
La técnica del Valor Actual Neto (VAN) o Valor presente Neto
(VPN) es la que se utiliza con mayor frecuencia para tomar
decisiones de inversión en activos fijos, conceptualmente es
la diferencia entre el valor actual de los flujos netos de caja
estimados del proyecto y la inversión neta requerida.
La Tasa Interna de Retorno es la tasa de descuento que hace que el
valor presente neto de la inversión igual a cero, es decir que el
valor presente de los flujos de caja que genera el proyecto sea
exactamente igual a la inversión neta realizada.
Indicador
Inversión neta
USD 27.500
Sumatoria Flujos de caja
USD 121.282
VAN
Indicador
Valor
TIR
62%
Valor
USD 45.808
CRITERIO DE DECISIÓN
De acuerdo al criterio de evaluación derivado de la aplicación de la
técnica del valor actual neto, el proyecto Software Guardián
de Aplicaciones SGA, es viable, el VAN es mayor que cero y
positivo. Es decir el proyecto genera un rendimiento mayor
que el costo de los recursos externos de financiamiento y
por lo tanto desde desde punto de análisis conviene ejecutar
el proyecto.
CRITERIO DE DECISIÓN
En relación al cuadro anterior de la Tasa Interna de retorno derivada
de la alternativa
presentada de composición de capital para la inversión,
podemos concluir lo siguiente:
que la tasa de retorno obtenida en el proyecto de SGA es muy
superior al costo de los recursos de financiamiento externo, por
lo tanto el proyecto puede soportar hasta un incremento en la
tasa de interés por tener amplio margen de retorno de la
inversión.
Agenda

Origen del Producto





Plan de negocio











El Producto
El Mercado
La Competencia
Modelo de Negocio
Plan Financiero
Tecnologías utilizadas


La necesidad
Alternativas de solución
Solución propuesta
Beneficios ofrecidos
Procesamiento de mensajes Windows
Técnicas de Inyección Dlls
Mensajes del sistema
Funciones y Estructuras
Diseño del sistema
Demostración
Conclusiones
Procesamiento de mensajes
en Windows
Técnicas de Inyección de Dlls
Windows Hook

Windows Hooks

Windows API Hook
Procesamiento de mensajes
en Windows
APLICACIONES
SERVIDOR
SGA
CORE SGA
Base
datos
SISTEMA OPERATIVO
Mensajes del sistema
Mensaje
Se envía cuando
WM_CHAR
Un carácter es ingresado desde el teclado.
WM_COMMAND
Es seleccionado un ítem de menú, un control envía una
notificación a su ventana padre.
WM_CREATE
Una ventana es creada.
WM_DESTROY
Una ventana es destruida.
WM_LBUTTONDOWN
El botón izquierdo del Mouse es presionado.
WM_LBUTTONUP
El botón izquierdo del Mouse es liberado.
WM_MOUSEMOVE
El puntero del Mouse es movido.
WM_QUIT
La aplicación está a punto de terminar.
Funciones mas utilizadas





SetWindowsHookEx
EnumChildWindows
Funciones CallBack
SendMessage
WriteProcessMemory
Estructuras de Menús
Posiciòn Menu-Item
Estructura de menus
0
0-1
0-2-1



WM_INITMENU
WM_INITMENUPOPUP
WM_COMMAND
Posición 0
Item 0 subitem 1
Item 0 subitem 2 subsubitem 1
Botones

WM_SETCURSOR
Agenda

Origen del Producto





Plan de negocio











El Producto
El Mercado
La Competencia
Modelo de Negocio
Plan Financiero
Tecnologías utilizadas


La necesidad
Alternativas de solución
Solución propuesta
Beneficios ofrecidos
Procesamiento de mensajes Windows
Técnicas de Inyección Dlls
Mensajes del sistema
Funciones y Estructuras
Diseño del sistema
Demostración
Conclusiones
Diagrama de contexto
Arquitectura cliente
Interfases de las
Aplicaciones a
ejecutarse
Interfaz de Usuario
Estructuras de Menús y
Botones
Ventana de
Login de
Windows
Usuario
Nombre de la Aplicación
SGA
Cliente
Funciones de Proceso
y Control
Usuario
Estructuras
de Menús y
Botones
Modificadas
Interfases
Modificadas de
las
Aplicaciones
Reglas de
Ejecución
SGA
Servidor
Procesamiento de
Entrada
Entidad de
Mantenimiento
Procesamiento de la
Salida
Diagrama de contexto
Arquitectura Servidor
Interfase del
Administrador
Interfaz de
Usuario
Peticiones,
Consultas e
ingreso de reglas
Usuario
SGA
Cliente
Procesamient
o de Entrada
Respuestas
e Informes
SGA
Servidor
Reglas de
Ejecución
SGA
Cliente
Funciones de
Proceso y
Control
Procesamient
o de la Salida
Diagrama de flujo de
Arquitectura cliente
Interfaz de Usuario
Login de
Windows
Nombre de App
Usuario
Subsistema
de Captura
de Usuario
Usuario
U
su
ar
io
Procesamiento de
Entrada
Aplicaciones
E
st
Nombre de App
Subsistema de
r
u
Monitoreo de
Subsistema de
ct
Aplicaciones
Sincronización
u
r
Tipo de
Nomb
a
Ac
Bloqueo
re de
d
tu
App
e
ali
Subsistema
Tipo
M
za
de Acceso a
de
e
ci
Bloqu
Reglas
n
ón
eo
ú
de
Nomb Menú
Re
L
s
Re
re de s y
gl
ec
y
gl
App
as
tu
Boton
B
as
de
ra
es
Subsistema de ot
Reglas
Ej
Ejecución de o
Locales
ec
n
Reglas
uc
es
ió
n
Funciones de Proceso y Control
SGA
Servidor
Interfases
Modificadas
de las
Aplicaciones
Procesamiento
de la Salida
Entidad de Mantenimiento
Diagrama de flujo de
Arquitectura Servidor
Interfaz de Usuario
Administrador
Peticiones de Datos
Reglas
de
Usuari
os
SGA
Cliente
Usuario
Datos
de
Cons
ulta
Procesamiento de
Entrada
Subsistema de
Acceso a
Datos
Subsistema de
Sincronización
Orden
de
Sincroni
zación
Datos para Consultas
Base de Datos
Principal
Reglas de Ejecución
N
ue
va
s
R
eg
la
s
Subsistema
de
Sincronizac
ión Cliente
Funciones de Proceso y Control
Subsistema de Ingreso
de Reglas
Procesamiento
de la Salida
Demostración
Conclusiones


Se puede desarrollar un producto con
especificaciones técnicas y funcionales de primera
basada en tecnologías de punta, pero si no se
justifica su necesidad, y su potencial comercial,
será difícil introducirlo en el mercado y garantizar
que sea un negocio rentable.
Se aprendió a usar al plan de negocios, como una
herramienta de simulación para comercializar
nuestro producto, exponer y dominar temas que no
solo implican sus beneficios tecnológicos, sino que
también las ventajas que ofrece al cliente final y de
esta manera resaltar sus propiedades para que sea
atractivo en el mercado.
Conclusiones

Se ha desarrollado una técnica que además de
permitir controlar a las aplicaciones de una red,
puede derivar otras funcionalidades. El poder
controlar y administrar los mensajes que el sistema
operativo y las aplicaciones se envían, nos brinda un
amplio campo de aplicabilidad. El producto nos
muestra que podemos controlar y modificar la
interfase del usuario a nuestro criterio, esta técnica
no solo funciona en menús y botones de la barra de
tareas, también funciona sobre objetos que están
sobre una ventana de Windows, para ello se necesita
saber que mensajes y estructura de datos usan para
poder controlarlos.
Muchas
¿Preguntas?
gracias