Respuesta a Solicitud de Propuesta (RFQ) en el Desarrollo de eCommerce Opensource con integración en SAGE
Introducción
En primer lugar le agradezco la oportunidad de responder a la presente solicitud de propuesta (RFQ). Estoy consciente que su compañía Aspiring Madrid está en el negocio diseño de sistemas de eCommerce o bien Sistemas de Gestión de Contenedores (CMS).
Después de leer la RFQ, creo que soy el más indicado para ofrecerle una solución a su problema que no es tan solo de tecnología de punta sino también va a mejorar su Costo Total de Propiedad (TCO). Ya he logrado lo mismo para compañías internacionales como Tata Consultancy Services (TCS) y EMC.
Estoy en posesión de un Magister en Ingeniería Informática de la Universidad de Santiago de Chile y soy un especialista en ofrecer soluciones Web basados en el lenguaje de programación Java 2 Standard Edition (J2SE) y su Servidor asociado, el Java 2 Enterprise Edition (J2EE), desde 2004.
Requerimiento
Para comenzar, en su RFQ se está invitando a la presentación de una propuesta inicial de consultoría e implementación de un sistema de eCommerce para su cliente. La aplicación debe estar capaz de integración con SAGE, de utilizar el sistema de Courier Europea SEUR y proveer facilidades de SEO. Ya existe un diseño inicial y se está buscando la implementación de esa con un Framework OpenSource.
Dado que el diseño gráfico ya existe, esto implica que cualquier sistema OpenSource, que solucionará el problema, debe ser tanto personalizable como extensible. Existen dos frameworks escritos en el lenguaje de programación de Java para el servidor J2EE que además de ser extensibles se pueden personalizar e incluso son OpenSource. Ellos son Apache OFBiz y su extensión BigFish y Broadleaf Commerce. Ambas soluciones son excelentes aunque para cumplir con el requerimiento de esta propuesta se planteará el uso de Broadleaf Commerce que es más intuitiva que la extensión de Apache OFBiz – BigFish.
Alcance
El alcance del proyecto se limita a producir esta propuesta inicial y la consultoría para la duración del proyecto. La consultoría consta de levantamiento de requerimientos, diseño de la arquitectura, personalización y pruebas de la aplicación, documentación y entrega ( handover), como solución del presente RFQ. Broadleaf Commerce Community Edition 3.x será utilizada en todas las personalizaciones sin costo para ustedes, es decir solo se cobrará la consultoría. Sin embargo incorporar módulos comerciales de terceros como SAGEPay y SEUR involucrará costos adicionales de software y dependerá del módulo y su fabricante. Es decir el costo de suministrar software comercial de terceros no forma parte del alcance de la presente propuesta. En cambio el software opensource de terceros como J2SE/J2EE, Eclipse, Apache Solr, Jersey WS (REST), Spring MVC, Hibernate, Apache Tomcat 7 y MySQL 5.6 no llevan costo alguno.
El requerimiento no incluye el suministro e instalación de infraestructura (hardware). Sin embargo incluye una descripción del hardware a utilizar. La naturaleza Java de la aplicación Web le va a permitir ejecutarse tanto en Windows 8 como en Linux. Generalmente se utiliza Windows en el desarrollo de la aplicación web y corre el sitio en una plataforma de Linux, sin necesidad de modificación alguna en el código.
El Ciclo de Implementación
Introducción
La presente RFQ contempla desarrollo de una aplicación de eCommerce partiendo de un diseño gráfico inicial. A pesar de esto, es imprescindible un levantamiento de requerimientos como el punto de partida para el diseño de las interfaces entre el diseño gráfico y los servicios de persistencia en la base de datos. Siguiendo la etapa de requerimientos se encuentra la del diseño que consta de la arquitectura de la aplicación y personalización. Las últimas fases son Desarrollo y Despliegue.
Broadleaf Commerce ya tiene como punto de partida un demo llamado HeatClinic. HeatClinic es una aplicación básica que contiene todos los módulos estándar de una aplicación online de eCommerce. Este consta del sitio eComerce mismo en conjunto con una aplicación de administración. Esta última se utiliza para administrar el sistema de gestión de contenidos (CMS), HeatClinic. Juntos vienen con SEO, SagePay, PayPal y módulos Courier como UPS, DHL, FedEx. También vienen con un conjunto de tablas de basa de datos basadas en la Aplicación de Persistencia de Java (JPA) e Hibernate.
Los objetos de persistencia son extensibles para permitir personalización de la aplicación HeatClinic a los requerimientos de la presente RFQ. Además, aunque interfaces existen en muchos de los casos, en algunos de ellos será necesario la escritura de código de implementación. Tal es el caso del sistema de Courier SEUR que es común en Europa pero no tiene una implementación en Broadleaf Commerce, que viene listo con implementaciones de UPS, USPS, FedEx y DHL.
Levantamiento de requerimientos
En la fase de requerimiento se examinan las actividades que permiten un entendimiento de los requerimientos técnicos y funcionales del desarrollo. Los requerimientos funcionales se basan en un estudio del diseño inicial y discusiones con las profesionales que lo hicieron. Se analizan estos requerimientos para obtener una solución del sistema en términos de características y funcionalidad requerida. Se identifican brechas y requerimientos para la personalización.
El Documento de Requerimientos termina esta fase y sirve como entrada a la siguiente fase de diseño. Esta fase tiene una duración de al menos un mes.
Fase de diseño
En la fase de diseño se producen los documentos de diseño de las interfaces del sistema y del usuario, las reglas del negocio, migración de datos, entre otros. El diseño tomará en consideración la funcionalidad de los módulos del sistema estándar HeatClinic para poder reducir al mínimo el requerimiento para la personalización.
Al fin de esta fase, el Documento del Diseño es consultado con los diseñadores gráficos de Aspiring Madrid y una vez aprobado será el documento de entrada a la fase de Desarrollo del sistema de eCommerce.
Fase de desarrollo
Durante esta fase se llevarán a cabo los cambios necesarios del modelo de datos, configuración y personalización de la aplicación, construir las interfaces y desarrollar los informes como han sido documentados en el documento del diseño. Se implementarán reglas del negocio utilizando herramientas de flujo de trabajo (workflow) donde corresponda y desarrollarán interfaces a los sistemas externos.
Se preparará el ambiente de las pruebas y se aplicarán pruebas de unidad, a todo el código de desarrollo.
Esta fase tiene la duración más larga del proyecto y depende de los productos de las fases de requerimientos y diseño y contiene codificación, configuración y pruebas. Dado la naturaleza del proyecto como una aplicación web debe durar al menos tres meses.
Fase de despliegue
Una vez terminado todas las pruebas dentro del ambiente de desarrollo – en la fase de desarrollo - se despliegan las aplicaciones web en forma de un archivo war en un servidor Apache Tomcat 7.0 y comprueba la funcionalidad del sitio y de la administración. Terminadas todas las pruebas se despliega el sitio en su servidor final a través de FTP(File Transport Protocol), preparar los manuales de instalación y entrega (handover) de la aplicación. Esta fase debería tener una duración de al menos un mes.
La Carta Gantt
El siguiente diagrama (vea el diagrama en el documento Word DesarrolloDeECommerceOpensourceConIntegraciónEnSAGE, adjunto a la propuesta presente) es una carta Gantt que muestra las fases del ciclo del proyecto y sus duraciones. Cada fase termina con un producto que sirve como entrada a la siguiente fase.
Así que el producto representado por el documento RFQ es la entrada a la Fase de Requerimientos y el Documento de los Requerimientos (RD) termina esta fase. Al mismo tiempo el documento RD es la entrada a la Fase de Diseño (DF). El Documento de Diseño (DD) termina la Fase de Diseño y sirve como entrada a la Fase de Desarrollo. El producto de Desarrollo (DP) será código compilado, comprobado con pruebas de unidad, y listo de estar desplegado en un Servidor J2EE Apache Tomcat 7.0. Finalmente el DP es la entrada a la fase de Despliegue y el Manual de Instalación termina esta última etapa.
Desde la carta Gantt se obtiene el costo (honorarios) en Pesos Chilenos (CLP) del proyecto - costo que se muestra a continuación en una hoja de cálculo (vea la hoja de cálculo en el documento Word DesarrolloDeECommerceOpensourceConIntegraciónEnSAGE, adjunto a la propuesta presente). Los honorarios contienen un impuesto de 10% requerido por el Sistema de Impuestos Internos (SII) de Chile. Así que el costo total de $10.800.000,000 (CLP) consiste del Sub-Total de $ 9.720.000,00 (CLP) más 10% del costo Total en impuestos de $1.080.000,00 (CLP).