Introducción

Teniendo en cuenta que las soluciones de comercio electrónico están compuestas principalmente por aplicaciones web, en la presente unidad se retoman los conceptos asociados a ingeniería del software, desde el punto de vista práctico y enfocándose en las necesidades específicas de este tipo de soluciones tecnológicas.

Inicialmente se presentan lineamientos y consideraciones a tener en cuenta para realizar un análisis de necesidades, que permita identificar claramente los requerimientos de una solución de comercio electrónico, sin olvidar que cada modelo de negocio o cliente puede tener necesidades particulares.

Posteriormente se indican mejores prácticas y estándares que pueden utilizarse para definir un diseño de alto nivel, desde un punto de vista holístico y que ayudarán a comprender cómo se les dará cumplimiento a las necesidades de negocio identificadas previamente.

Finalmente, se relacionan diferentes tecnologías y herramientas que se pueden incorporar en el diseño y que soportaran la implementación y operación de la solución.

Propósitos de aprendizaje

Propósito general

Apropiar lineamientos, mejores prácticas y herramientas que permitan diseñar una aplicación de comercio electrónico acorde con las necesidades del mercado y haciendo uso de las tecnologías actuales.

Propósitos específicos

  • Comprender los conceptos y lineamientos fundamentales que ayuden a identificar y presentar las necesidades de negocio más importantes, a las que le debe dar cubrimiento una solución de comercio electrónico.
  • Apropiar mecanismos que permitan definir el diseño de una solución de comercio electrónico y que cumplan con las necesidades identificadas, basándose en los estándares y mejores prácticas de la industria.
  • Conocer las principales herramientas tecnológicas que pueden utilizarse en la construcción de una solución de comercio electrónico.

Identificación de necesidades

Las soluciones de comercio electrónico están basadas en tecnologías de la información y están conformadas por diferentes componentes que se construyen siguiendo las bases planteadas en el proceso de desarrollo de software.

La primera etapa del proceso de desarrollo de software es el análisis de requerimientos, la cual inicia con la identificación de necesidades que requieren atender con la solución, para después detallarlas y convertirlas en requerimientos funcionales y no funcionales.

La solución de comercio electrónico debe responder a las necesidades estratégicas de negocio y operativas de una organización, independiente del tamaño de esta. A continuación presentaremos mediante ejemplos las necesidades más comunes que normalmente deben cubrir las soluciones de comercio electrónico, teniendo en cuenta prácticas actuales.

Con el fin de comprender el alcance de una solución de comercio electrónico y su integración con otros sistemas tanto internos como externos de la organización, presentamos el siguiente diagrama de contexto que nos ayuda a identificar los principales componentes y sus relaciones, desde un punto de vista conceptual y de negocio.

Identificación de necesidades

Normatividad y leyes

En el artículo 333 de la Constitución Política de Colombia se establece la libertad económica como derecho. El Estado impedirá que se obstruya o se restrinja. La ley delimitará el alcance de la libertad económica cuando así lo exijan el interés social, el ambiente y el patrimonio cultural de la Nación.

En este sentido la corte constitucional define la libertad económica como “una facultad que tiene toda persona de realizar actividades de carácter económico, con la finalidad de crear, mantener o incrementar un patrimonio.” Sin embargo pueden existir restricciones a la libertad económica siempre y cuando sean impuestas para el cumplimiento estricto de una ley.

Todas las actividades económicas están protegidas y reguladas por leyes e instituciones del Estado, las actividades desarrolladas a través de comercio electrónico no son la excepción, a continuación daremos un vistazo a las principales leyes y normas que cobijan y controlan las actividades de comercio electrónico en Colombia.

Es importante resaltar lo definido en el Articulo 84, el cual estipula: “Cuando un derecho o una actividad hayan sido reglamentados de manera general, las autoridades públicas no podrán establecer ni exigir permisos, licencias o requisitos adicionales para su ejercicio”.

Así mismo todas las actividades económicas deben cumplir con lo establecido en el Código de Comercio Colombiano. En el caso en que las cuestiones comerciales no puedan regularse según esta regla, se aplicará la Legislación Civil.

Material
de apoyo

Identificación de necesidades

Seguridad y estándares

Dentro de las necesidades de cualquier solución de tecnologías de la información, se requiere incluir aquellas relacionadas con la protección de la información y adoptar los controles correspondientes en cada una de las dimensiones de seguridad (Confidencialidad, Integridad, Disponibilidad).

Adicionalmente, es importante adoptar controles de desarrollo seguro durante la ejecución del proceso de desarrollo de software. Existen varios estándares que las soluciones de comercio electrónico deben contemplar, a continuación se mencionan los más importantes:

  • ISO/IEC 27002:2013 – Código para la práctica de la gestión de la seguridad de la información
  • Payment Card Industry (PCI) - Data Security Standard (DSS)
  • Atributos de Calidad del Software – ISO25010

En las siguientes secciones profundizaremos sobre lineamientos y mejores prácticas en la construcción del Front-end y el Back-end de una aplicación web, así como los frameworks y tecnologías más utilizadas.

Diseño de soluciones de comercio electrónico

Teniendo como marco el proceso de desarrollo de software, en esta sección hablaremos de los lineamientos, principios y mejores prácticas a tener en cuenta al diseñar una solución de comercio electrónico.

Comenzaremos por recordar que es en la etapa de diseño en la que se define la arquitectura de las aplicaciones y/o sistemas de información. En el gráfico principal de esta pantalla, se presenta una arquitectura de referencia para una solución de comercio electrónico, en la que se pueden identificar diferentes capas y componentes que interactúan dentro del ecosistema tecnológico de una organización entre mediana y grande, dicha arquitectura deberá personalizarse dependiendo de las necesidades, tamaño y contexto de las organizaciones.

La arquitectura de referencia presentada está enmarcada dentro de los principios y lineamientos de la arquitectura orientada a servicios – SOA, en la siguiente interactividad se pueden identificar los objetivos y características de cada una de las capas.

Diseño de soluciones de comercio electrónico

Mejores prácticas

Teniendo como base la arquitectura de referencia anteriormente mencionada, a continuación presentaremos algunas de las mejores prácticas a seguir en el diseño de una solución de comercio electrónico.

En este sentido es importante indicar que los principales insumos para la definición de la arquitectura y del diseño detallado de cualquier sistema de información o aplicación, son los requerimientos funcionales y no funcionales.

Observando las características anteriores y las necesidades de negocio identificadas en la sección previa, veamos algunos principios y mejores prácticas a tener en cuenta.

Diseño de soluciones de comercio electrónico

Diseño detallado

Teniendo en cuenta los principios y mejores prácticas planteadas en la sección anterior y dado que la mayoría de aplicaciones de comercio electrónico corresponden a aplicaciones web o aplicaciones móviles, en esta sección profundizaremos en una arquitectura de referencia más detallada para este tipo de aplicaciones, resaltando sus principales componentes, y que puede ser aplicada en soluciones de corto y mediano alcance.

Una manera de abordar la arquitectura de cualquier aplicación es separarla en dos partes: front-end y back-end, estos pueden integrarse a través de servicios web REST o SOAP, que a su vez incluso pueden ser utilizados por componentes terceros, como lo indicábamos al inicio de esta sección.

Generalmente, las soluciones de comercio electrónico, cuentan con dos canales, aplicación web y aplicación móvil, dentro de una arquitectura orientada a servicios, estos dos componentes pueden consumir los mismos servicios publicados por el back-end.

En la solución de comercio electrónico se deben contemplar principios y patrones de diseño, como los principios de diseño S.O.L.I.D., los cuales están basados en el paradigma de Programación Orientada a Objetos y los patrones de diseño GOF – Gang of Four (Pandilla de los cuatro), los cuales se clasifican en patrones de creación, estructurales y de comportamiento.

Herramientas y tecnologías

Teniendo en cuenta lo presentado en la sección anterior respecto a los lineamientos, principios y mejores prácticas de diseño de soluciones de comercio electrónico, veamos ahora qué herramientas y tecnologías existentes permiten construir este tipo de soluciones, siguiendo el diseño planteado.

De acuerdo con lo mencionado previamente, las soluciones de comercio electrónico tienen como principal característica su acceso virtual desde cualquier parte del planeta, por lo que actualmente lo más común es que los usuarios accedan a este tipo de soluciones a través de una aplicación web y/o una aplicación móvil. Esto implica que se deben contemplar diferente tecnologías para dar cumplimiento a esta necesidad y lograr llegar a la mayor cantidad de usuarios posibles.

En el gráfico de esta pantalla, se puede observar cuál sería la estructura de este tipo de soluciones.

Herramientas y tecnologías

Stack de tecnologías

En cuanto a aplicaciones web se refiere, existen diferentes lenguajes de programación, herramientas, y frameworks para su implementación, a estos componentes comúnmente se les llama Stack de Tecnologías; y es clave conocer sus principales características para evaluar cuál de estos se ajusta mejor a nuestras necesidades. En la anterior interactividad se explican los stack de tecnologías para el back-end y front-end.

Actividad de aprendizaje

Actividad de Aprendizaje

Pon a prueba lo aprendido sobre las herramientas y tecnologías, aplicando los conocimientos en la siguiente actividad de agrupación.

Herramientas y tecnologías

Pagos en línea

El pago en línea es una característica primordial del comercio electrónico. Como lo mencionamos en la Unidad 1, dentro del proceso de pago interactúan varios sistemas, servicios y entidades con roles específicos que permiten realizar las transacciones de manera fácil y segura, tal como se presenta en la siguiente interactividad.

Inicialmente pensemos en un establecimiento de comercio tradicional que ofrece la posibilidad de pagar con tarjetas de crédito o débito. Para esto el establecimiento debe contar primero con el servicio de acceso a internet y luego con el servicio de una red procesadora de pago, la cual dispondrá de unos equipos y sistemas para validar las tarjetas y asegurar la transmisión de la información correspondiente a las transacciones.

Actividad de aprendizaje

Actividad de Aprendizaje

Completa el siguiente crucigrama con base en lo aprendido en esta sección.

Resumen

Esta unidad aborda las soluciones de comercio electrónico desde la perspectiva del desarrollo de aplicaciones web, siguiendo las bases y lineamientos de la ingeniería de software.

Inicialmente se explicó el proceso de identificación de necesidades resaltando la importancia de conocer los objetivos estratégicos de la organización, los procesos de negocio, la operación diaria y las leyes, para luego establecer claramente los requerimientos funcionales y no funcionales. Se realizó una contextualización que permite definir el alcance de una solución de comercio electrónico, sus componentes y las interacciones con los diferentes actores internos y externos.

Posteriormente se presentó una breve revisión a las leyes de la república de Colombia relacionadas con el comercio electrónico, tecnologías de la información, protección de datos personales, la neutralidad en internet, entre otras. Se mencionaron los estándares más relevantes relacionados a temas de seguridad de la información, pago con tarjetas de crédito y atributos de calidad del software.

La siguiente sección se enfocó en el diseño de soluciones de comercio electrónico, se presenta una arquitectura de referencia orientada a servicios - SOA con diferentes capas y componentes que interactúan soportándose en la infraestructura tecnológica de las organizaciones. Así mismo, se describieron las mejores prácticas a seguir en el proceso de diseño de una solución de comercio electrónico, desde el punto de vista Back-end y Front-end, para luego abordar el proceso de diseño detallado explicando cada componente.

La sección cerró con la definición de las herramientas tecnológicas, aplicaciones y procesos disponibles relacionados con los pagos en línea. Se describió con mayor detalle las funciones de las redes procesadoras de pago y las pasarelas.

Caso de estudio

Actividad de Aprendizaje

Una vez definidos los requerimientos de la aplicación a realizar, diseña y detalla la aplicación a ejecutar, continuando la actividad que comenzó en la unidad 1.

Bibliografía ()

  • Decreto 2242 de 2015. Diario Oficial, Bogotá, Colombia, 24 de noviembre de 2015.
  • Fowler, M. (2002). Patterns of Enterprise Application Architecture. Estados Unidos: Addison-Wesley Professional.
  • Ley 527 de 1999. Diario Oficial No. 43.673, Bogotá, Colombia, 21 de agosto de 1999.
  • Ley 633 de 2000. Diario Oficial No 44.275, Bogotá, Colombia, 29 de diciembre de 2000.
  • Ley 1341 de 2009. Diario Oficial No. 47.426, Bogotá, Colombia, 30 de julio de 2009.
  • Ley 1450 de 2011. Diario Oficial No. 48.102, Bogotá, Colombia, 16 de junio de 2011.
  • Ley 1480 de 2011. Diario Oficial No 48.220, Bogotá, Colombia, 12 de octubre de 2011.
  • Ley 1735 de 2014. Diario Oficial No. 49.311, Bogotá, Colombia, 21 de octubre de 2014.
  • Singhal, B., Dhameja, G., y Sekhar, P. (2018). Beginning Blockchain: A beginner's Guide to Building Blockchain Solutions. Aprees.

Referencias Web