Introducción al Tutorial
Introducción
Uso de un entorno AWS proporcionado por un ícono
Al utilizar los entornos de AWS suministrados por Icon, la configuración se completa por usted y no hay nada más que hacer. El core El proyecto ha sido descargado en el escritorio para usted en la carpeta 'ipf-tutorial'. En varios momentos, los tutoriales se referirán a '<install-root>' del proyecto tutorial.- para usted, esto es solo su carpeta de escritorio/ipf-tutorial.
Si usted echa un vistazo allí, verá una carpeta de 'soluciones' que contiene las diversas soluciones para cada paso del tutorial. Comenzará utilizando la solución 'inicial'.
Configuración de su propio Entorno
Si está utilizando su propio entorno, debe asegurarse de tener lo siguiente instalado antes de comenzar este tutorial:
También necesitará acceso a los repositorios del proyecto que están almacenados en bitbucket. Le recomendamos que utilice un cliente git para recuperar los proyectos, aunque también pueden ser descargados a través del sitio web. Por favor, tome nota de la ubicación en la que instala el proyecto, ya que esto será necesario en los tutoriales posteriores.
Si no puede acceder al repositorio del tutorial, por favor contacte al soporte de Icon (support@iconsolutions.com) quien podrá asistirle. |
El enfoque preferido para ejecutar la aplicación de muestra es utilizando contenedores:https://www.docker.com/[contenedores de docker]. Sin embargo, el tutorial puede ejecutarse como un estándar Java aplicación proporcionando que el acceso está disponible para MongoDB y Kafka.
Conceptos a tener en cuenta
Tenga en cuenta que este tutorial asume un conocimiento básico de:
-
La aplicación de muestra utiliza el Spring Framework
-
martinfowler.com/eaaDev/EventSourcing.html[Event Aplicaciones de origen-esto significa que por cada cambio realizado en un pago, generaremos un event. Estos events representa una definición del cambio, incluyendo todos los puntos de datos que han sido alterados.
-
Maven como herramienta de construcción
-
En el core de IPF es el DSL - este es el lenguaje de pago Icon que le permite definir payment flows. Se utiliza dentro de Jetbrains MPS para crear flujos y generará un conjunto de Java componentes que forman la base de cualquier implementación. Estos componentes utilizan Arquitectura Hexagonal(aka Puertos y Adaptadores) que separa áreas de preocupación mediante interfaces (Puertos) y luego las implementa utilizando adaptadores.
Introduciendo la Aplicación Básica
Este tutorial comienza construyendo una aplicación simple que utiliza algunos de los componentes principales de IPF. Comencemos definiendo algunas cosas clave:
-
Un Flujo- un flujo es un proceso de pago único.
-
Un Dominio IPF- Un dominio IPF es el contenedor de uno o más flujos. Proporciona la API para acceder y trabajar con esos flujos.
-
An IPF Application- an IPF Application en este caso es un simple spring boot aplicación que proporciona un entorno en el que puede ejecutarse un dominio IPF.
-
Un Evento- el módulo de procesamiento de IPF funciona procesando events.
-
El Journal Data Store- el journal data store es el almacén maestro de datos IPF que contiene todos los events. Para este tutorial, utilizamos Mongo.
Juntando todo esto, nuestra aplicación inicial está configurada de la siguiente manera:
Uso del Código del Tutorial
La aplicación tutorial se divide en cuatro carpetas:
Estos contienen:
-
ipf-tutorial-docker: esto contiene los componentes de soporte de la aplicación en un docker configuración. Esto permite el inicio simple de un docker entorno que contiene los contenedores de soporte necesarios (mongo,kafka, simuladores, etc.)
-
ipf-tutorial-docs: ¡esto contiene esta documentación del tutorial en formato ascii doc!
-
soluciones: aquí se encuentra el código de solución para cada sección de este tutorial.
-
aplicaciones-de-soporte: algunas secciones de este tutorial requieren acceso a aplicaciones de simulador. Las secciones aquí explican cómo utilizar estas.
Para comenzar, abra IntelliJ.<install-root>/solutions/initial/pom.xml. Esto cargará la versión inicial de la aplicación. Puede utilizar esto a lo largo de nuestro trabajo con el tutorial, construyendo sobre ello en cada paso del tutorial para enriquecer nuestra aplicación.
Sin embargo, si en algún momento necesita cambiar al código esperado, puede simplemente saltar a la solución abriendo: install-root>/solutions/<tutorial-name>/pom.xml¡en su lugar!
Navegando a través del Tutorial
Este tutorial se divide en una serie de diferentes rutas de aprendizaje.
Se recomienda comenzar aquí:Revisando la aplicación tutorial inicial
Una vez completado, puede avanzar a través del Camino DSL:
Estos tutoriales de DSL construyen un flujo complejo para demostrar cómo utilizar diferentes características del DSL.
Una vez completado, profundizamos un poco más en la implementación y nos centramos en la interacción con otros sistemas en la ruta del conector:
A continuación, examinamos algunas de las consideraciones en tiempo de ejecución en:
Y finalmente, examinamos cómo iniciar su propia aplicación a través de:
El tutorial está dirigido principalmente a ingenieros; sin embargo, hay muchas secciones-particularmente la ruta DSL en la que gran parte del trabajo se puede realizar sin ningún trabajo de ingeniería, y esas secciones de ingeniería podrían omitirse si es necesario. A lo largo de los tutoriales se deja claro dónde se requiere conocimiento de ingeniería.