Grupo Piensa, S.A. de C.V.
Análisis de Vulnerabilidad Cibernética

Aplicaciones Basadas en Web

¿Porqué usar Aplicaciones Web? Para contestar esta pregunta debemos hacer un poco de historia y recordar como inicia el proceso electrónico de datos.

En sus inicios el proceso de datos estaba a cargo de un costosísimo "main frame" al cual se podía acceder por medio de terminales a veces conocidas como "terminales tontas" llamadas así debido a que no podían efectuar prácticamente ninguna función sin tener conexión con el computador central. Plataformas basadas en este tipo de sistemas siguen aún en operación sin embargo gradualmente evolucionaron en los sistemas "cliente-servidor".

Sistemas Cliente-Servidor.

En los sistemas cliente-servidor se tiene uno o varios servidores que concentran el manejo de la información a la cual se accede mediante computadoras personales conectadas a través de la red de área local. A simple vista parece muy similar a las plataformas "main frame" pero existe una gran diferencia, el proceso de la información ya no es responsabilidad únicamente del computador central, parte del proceso de datos se efectúa en las computadores personales dando lugar a lo que se conoce como proceso distribuido.

Historicamente desde los años 80 la mayor parte de los sistemas de proceso de datos han seguido la arquitectura cliente-servidor, pero a partir de finales de los 90, cuando la aceptación general de Internet como una herramienta de trabajo fue establecida, un nuevo segmento de la industria se ha desarrollado y es conocido como Aplicaciones Basadas en Web.

Aplicaciones Web

Las aplicaciones basadas en web se basan como sus antecesores los "main frames" en un servidor central conectado a Internet (o varios dependiendo de la complejidad de la aplicación) y para acceder a la información solo se requiere acceso a Internet y un navegador. Esto permite reducir los costos ya que todos los componentes complicados se encuentran del lado del servidor y permite un rápido lanzamiento a los usuarios que solo necesitan una computadora personal y acceso a Internet para acceder a la información del sistema.

Aplicaciones Web vs Cliente-Servidor

Costos del Sistema

Aplicaciones Web - Los sistemas típicamente se ofrecen como aplicaciones "llave en mano" hechas a la medida de sus necesidades lo que le permite comenzar con aplicaciones que solucionen sus problemas más urgentes y crecer el sistema sin tener que desembolsar de entrada una enorme suma de dinero.

Cliente-Servidor - Los programas se pagan por completo en una sola exhibición y los costos iniciales del sistema pueden ser muy altos lo cual constituye un riesgo si resulta que el sistema no cumple con sus necesidades. Además las licencias pueden requerir de un contrato de servicio de hasta un 20% anual del costo del sistema ya sea que lo use o no.

Ambiente

Aplicaciones Web - El hardware, el sistema operativo y el software de manejo de bases de datos están incluidos en el precio de la aplicación y no existe un costo interno para su empresa para comprar, mantener o actualizar la red.

Cliente-Servidor - Todos los costos para mantener y actualizar la red de área local son su responsabilidad y generalmente estas actividades no son la especialidad de su compañía por lo que recaen en terceros lo que le genera un costo adicional.

Soporte de TI

Aplicaciones Web - Su staff de TI no está involucrado ni en actualizaciones del sistema, cambios en el software, migraciones de bases de datos etc.

Cliente-Servidor - Todas las actualizaciones tienen un costo y no puede permitirse rezagarse ya que puede incluso perder el soporte del proveedor. Problemas con las aplicaciones "cliente" típicamente se atienden de manera remota y pueden requerir cambios en la configuración de su red local que muchas veces no son fáciles de efectuar.

Licencias por Usuario

Aplicaciones Web - El número simultáneo de usuarios concurrentes a una aplicación web está limitado únicamente por la configuración del servidor web y de la velocidad de conexión a Internet y no por un pago de licencias por usuario.

Cliente-Servidor - Típicamente cada licencia debe de pagarse sin importar que tan activo es el usuario y se tienen que comprar licencias para personas que rara vez ocuparán las aplicaciones. Comprar licencias para clientes o vendedores (y proporcionarles acceso remoto) es casi siempre prohibitivo por el costo.

Acceso al Sistema

Aplicaciones Web - Se puede acceder al software desde cualquier parte con un navegador y una conexión a Internet. El usuario ni siquiera necesita estar usando su propia computadora y la mayor parte de las empresas tienen acceso a Internet por lo que no se incurre en gastos adicionales.

Cliente-Servidor - Los usuarios deben de conectarse a la red local para acceder al software a menos de que la compañía haya invertido en aplicaciones para acceso remoto como Citrix ó PC Anywhere. Las aplicaciones de acceso remoto requieren software adicional que puede ser costoso.

Hay otros factores que entran en juego y quizá la única desventaja de una aplicación basada en web es que no se puede acceder a ella cuando la conexión a Internet falla y por supuesto, no pueden hacerse cambios a la base de datos cuando se está fuera de línea. Los servicios proporcionados por las empresas de comunicaciones mejoran día con día y los tiempos fuera son prácticamente inexistentes y aún cuando es algo que se debe tomar en cuenta, los beneficios de utilizar aplicaciones web las hacen mucho más atractivas que sus equivalentes cliente-servidor

Plataforma

Todas nuestras aplicaciones web son desarrolladas para utilizarse en una plataforma que se denomina LAMP que son las siglas de Linux (sistema operativo), Apache (servidor web), MySQL (administrador de bases de datos) y PHP (lenguaje de programación) que constituyen el "caballo de trabajo" de muchas empresas ya que interactúan entre si de una manera óptima y prácticamente libre de mantenimiento. Los componentes de la plataforma LAMP constituyen una plataforma libre u "open source" que esta evolucionando continuamente gracias al trabajo voluntario de miles de personas.

Compatibilidad

Dado que para acceder a las aplicaciones basadas en web solo se requiere de un navegador, las aplicaciones se vuelven accesibles desde prácticamente cualquier plataforma, no importando si se utiliza Microsoft Windows, Apple OS-X o incluso Linux. Algunas aplicaciones incluso se pueden diseñar para que sean utilizadas desde dispositivos móviles como iPads, iPhones y otros "smart phones"

¿Porqué LAMP y no Windows Server?

Muy sencillo, el costo de licencias tanto del sistema operativo de servidor como del administrador de bases de datos alcanza varios miles de dólares lo que lo vuelve prohibitivo el uso de ellas para muchas aplicaciones.

El licenciamiento de Linux, PHP, MySQL y Apache es gratuito y se rige por la "GNU General Public License http://en.wikipedia.org/wiki/GNU_General_Public_License".

La estrecha relación entre los componentes de LAMP asegura un óptimo desempeño y estabilidad muchas veces superior al que se obtiene con plataformas Microsoft.

Todas nuestras soluciones se entregan "llave en mano", lo que significa que no se tienen que instalar y que estarán inmediatamente disponibles para sus usuarios.

Usted puede elegir donde hospedar sus aplicaciones basadas en web así como su información de entre una enorme variedad de proveedores. Nosotros recomendamos usar cualquier de las plataformas que ofrece la empresa Media Temple. Si usted así lo prefiere nosotros podemos contratar y configurar por usted los servicios de hospedaje necesarios para alojar sus aplicaciones web de manera segura, barata y eficiente.

¿Quienes somos?

Ricardo Richards es un profesional del desarrollo de software y fundador en 1992 de Grupo Piensa, S.A. de C.V. que fue pionera en la industria de los sistemas de Respuesta por Voz Interactiva (IVR) y de los Centros de Atención de Llamadas (Call Centers). Nuestro equipo multidisciplinario, entrega de manera profesional productos de software de alta calidad que cumplirán todos los requerimientos de su negocio.

Nosotros implementamos el ciclo completo del desarrollo de software incluyendo el mantenimiento y nuestro equipo de desarrolladores tienen el potencial de crear aplicaciones web o soluciones de negocio de cualquier complejidad.

Algunos ejemplos de las aplicaciones que desarrollamos son:

Comercio electrónico y tiendas en línea
Administradores de contenido web
Bases de datos de productos en línea
CRM
Captura de datos en línea, análisis y reporte
Software de atención a clientes en línea
Áreas seguras para clientes ó "Business Partners"
Sistemas de cotización en línea
Sistemas de toma de pedidos en línea
Manejo de llamadas para Call Centers
Sistemas de reservaciones

Construimos aplicaciones a la medida de su presupuesto que mejoran notablemente su habilidad de hacer negocios. Contáctenos para averiguar como podemos ayudarlo en su negocio.

¿Cómo cotizamos nuestros servicios?

En nuestra larga experiencia en la industria del desarrollo de software ningún cliente nos ha solicitado una aplicación compleja, de hecho invariablemente comienzan con la frase "Necesitamos que nos desarrollen algo muy sencillo" y acto seguido esperan que se les haga llegar la cotización correspondiente.

Cotizar una aplicación web sin contar con toda la información relevante es no solo irresponsable, también será fuente de frustraciones tanto para el cliente como para el proveedor de servicios. A continuación se describe el proceso de desarrollo que nosotros seguimos y que garantiza la satisfacción de nuestros clientes:

1. Análisis - Increíblemente, muchas veces el cliente no tiene una idea clara de lo que necesita por lo que un análisis de las necesidades del sistema es la parte más importante del desarrollo. El análisis consiste en dibujar todas las pantallas que utilizará el sistema desde la pantalla de "log-in" hasta los reportes, paneles de control (back-ends) etc.

En esta etapa se pide la participación de todos los posibles usuarios del sistema, y sus comentarios y necesidades son incluidos en el dibujo de las pantallas.
Durante el análisis no se genera una sola línea de código.

El análisis por supuesto tiene un costo. De ser aprobada la propuesta, este costo es abonado al precio total cotizado del sistema, de no serlo este análisis puede entregarse a cualquier programador, por lo que esta inversión de ninguna forma se desperdicia.

El tiempo que se dedica al análisis es sumamente valioso y una vez que todas las partes están conformes con los resultados que esperan obtener de la aplicación se firma un acuerdo de entendimiento.

2. Cotización - Una vez concluido el análisis se determina cuantas horas de programación se requieren para efectuar el desarrollo así como el costo por hora con lo que se elabora la cotización correspondiente.

3. Desarrollo - Al aprobarse la propuesta y obtener el anticipo correspondiente comienza la etapa de desarrollo que se basa estrictamente en lo pactado durante el análisis. Es muy frecuente que sobre la marcha se soliciten cambios o funcionalidad adicional que simplemente no se había contemplado, sin embargo esto impacta directamente tanto la duración como el costo del proyecto y se compensa según el número de horas adicionales de programación que los cambios impliquen.

4. Pruebas - Al finalizar el desarrollo se destina un tiempo para efectuar las pruebas correspondientes. Corrección de errores de programación y ajustes menores son usuales en esta etapa y no representan ningún costo para nuestros clientes.

5. Liberación - La aplicación es liberada a los usuarios finales. Posibles errores en la aplicación serán corregidos sin costo durante la vida útil del sistema.

6. Mantenimiento - Las necesidades siempre cambiantes de las empresas requieren que las aplicaciones se adecuen al mismo ritmo, por lo que siempre estaremos listos para ayudar cuando se requiera.

Hospedaje de Websites y Aplicaciones (Hosting).

El desempeño de las Aplicaciones basadas en Web depende de dos factores fundamentales, primero la robustez del servidor que las aloja y segundo, la velocidad de conexión entre el servidor web y los usuarios finales.

Dado que puede elegir entre tener un servidor conectado a su red de área local y un servicio de hosting, veamos entonces cuales son las ventajas y desventajas de ambas opciones.

Desempeño

Servidor Local - Proporciona un elevado desempeño debido al hecho de encontrarse en la misma red de área local que los equipos de los usuarios, esta velocidad típicamente será de 100 MBps (ó más).

Servicio de Hosting - La velocidad de acceso y por tanto el desempeño depende en gran medida del enlace a Internet que tengan los usuarios y también del número de usuarios simultáneos que utilizan las aplicaciones desde una red local y que comparten el mismo enlace.

Accesibilidad

Servidor Local - Los usuarios pueden acceder a las aplicaciones siempre y cuando estén conectados a la red local. Si por ejemplo un usuario quiere acceder desde su casa al servidor que se encuentra en la oficina, debe de instalarse una VPN (Virtual Private Network) que puede representar además de un gasto, valioso tiempo para instalar y configurar en los equipos de los usuarios.

Servicio de Hosting - Se puede acceder a las aplicaciones desde cualquier parte del mundo donde exista conexión a Internet, permitiendo incluso a los empleados trabajar desde sus casas o incluso mientras se viaja. La mayor parte de los aeropuertos y hoteles ofrecen servicios de conexión a Internet inalámbrica.

Disponibilidad

Servidor Local - Como cualquier equipo, un web server está expuesto a fallas provocadas por desgaste de discos duros, fallas en la red eléctrica, errores humanos e incluso vandalismo, cualquier falla representará tiempos muertos para la operación y posiblemente pérdida de valiosa información.

Servicio de Hosting - Al igual que un servidor local un servicio de hosting no esta libre de sufrir una falla, sin embargo estos equipos se encuentran generalmente muy protegidos en ambientes controlados tanto de temperatura, suministro eléctrico y de acceso y muchos proveedores ofrecen esquemas de redundancia y respaldo periódico incluídos en sus paquetes.

Servicio

Servidor Local - El mantenimiento de estos equipos está a cargo del staff de TI de la empresa (en el mejor de los casos) y muchas veces de personal que labora de tiempo parcial que en caso de una falla tienen que transportarse a la empresa y los tiempos de reparación pueden ser extraordinariamente largos si esta ocurre por ejemplo en un fin de semana.

Servicio de Hosting - Los proveedores de estos servicios tienen todo el tiempo personal calificado en sitio y listos para atender cualquier tipo de falla en cuestión a veces de minutos, además de que los requerimientos de servicio se efectúan por medio de un sistema de "tickets" que documenta perfectamente el historial de servicio de manera automática.

Costos de Operación

Servidor Local - El costo de operación de un servidor local para aplicaciones es sumamente elevado ya que implica además del costo mismo del equipo, gastos adicionales como energía eléctrica para el servidor y equipos de aire acondicionado, el pago del personal de TI (en sitio ó externo) y la eventual actualización de los equipos.

Servicio de Hosting - Los costos de operación se reparten entre un gran número de usuarios por lo que pueden encontrarse opciones de hospedaje sumamente decentes desde unos $20 dólares norteamericanos al mes (incluso menos para algunas aplicaciones más simples). Además casi todos los servicios de hospedaje permiten actualizar y crecer de manera muy simple por lo que se puede contratar un servicio básico e ir creciendo conforme a las necesidades de la empresa.

Nota: Nuestro equipo asiste en la contratación y configuración de los servicios de hospedaje con terceros pero no proporcionamos estos servicios directamente. El contratar servicios de hosting es únicamente responsabilidad de nuestros clientes y no nos hacemos responsables por interrupción en los servicios por fallas o por falta de pago. De igual manera nuestros clientes son responsables de establecer (o contratar) un sistema efectivo de respaldo que permita la rápida recuperación de los sistemas en caso de cualquier imprevisto.

Nosotros recomendamos ampliamente los servicios de hospedaje de la empresa Media Temple con la que ya hemos trabajado y que ofrece además de un excelente servicio, operación confiable y tarifas mensuales ó anuales sumamente competitivas.

Derechos Reservados 2023
Grupo Piensa, S.A. de C.V.