02 – Lab – Desarrollar una aplicación desde objetos POJO’s

02 – Lab – Desarrollar una aplicación desde objetos POJO’s

  1. Introducción
    Los laboratorios del curso Core Spring enseñan Spring en el contexto del dominio de un problema. El dominio proporciona un contexto real para aplicar Spring para desarrollar aplicaciones empresariales útiles. Este documento proporciona una visión general del dominio y las aplicaciones en las que va a trabajar.
  2. Descripción general del dominio
    El dominio se llama Reward dining . La idea detrás es que los clientes pueden ahorrar dinero cada vez que comen en uno de los restaurantes que participan en la red. Por ejemplo, Keith desea ahorrar dinero para la educación de sus hijos. Cada vez que cena en un restaurante participando en la red, se le hará una aportación a su cuenta que va a su hija Annabelle para la Universidad. Vea el visual ilustrando este proceso de negocio abajo:
  3. Aplicaciones de dominio de Reward Dining
    En esta sección siguiente se proporciona una descripción general de las aplicaciones en el dominio de restauración de recompensas en el que se va a trabajar en este curso.
  4. Lla aplicación de recompensas. La aplicación «rewards» recompensa una cuenta para comer en un restaurante que participa en la red de recompensas. Una recompensa adopta la forma de una contribución monetaria a una cuenta que se distribuye entre los beneficiarios de la cuenta. Aquí es cómo se utiliza esta aplicación:
    1. Cuando tienen hambre, los miembros comen en los restaurantes participantes utilizando sus tarjetas de crédito regulares.
    2. Cada dos semanas, se genera un archivo que contiene las transacciones de tarjetas de crédito de los miembros durante ese período. A continuación se muestra una muestra de uno de estos archivos:
    3. Una aplicación DiningBatchProcessor independiente Lee este archivo y envía cada registro de comedor a la aplicación de recompensas para su procesamiento.
  1. interfaz de aplicación pública.El RewardNetwork es los clientes de interfaz central como el uso de DiningBatchProcessor para invocar la aplicación:

Un RewardNetwork recompensa una cuenta para comer al hacer una contribución monetaria a la cuenta que se distribuye entre los beneficiarios de la cuenta. El siguiente diagrama de secuencia muestra la interacción de un cliente con la aplicación ilustrando este proceso:

En este ejemplo, la cuenta con tarjeta de crédito 1234123412341234 es recompensada por una cena de $100,00 en el restaurante 1234567890 que tuvo lugar en 12/29/2010. La recompensa confirmada 9831 adopta la forma de una contribución de cuenta de $8,00 distribuida uniformemente entre los beneficiarios Annabelle y su hermano Corgan.

3.1.2. implementación de la aplicación interna
Internamente, la implementación de RewardNetwork delega en objetos de dominio para llevar a cabo una transacción de rewardAccountFor (comedor). Existen clases para los dos conceptos de dominio central de la aplicación: cuenta y restaurante. Un restaurante es responsable de calcular el beneficio elegible para una cuenta para un comedor. Una cuenta es responsable de distribuir el beneficio entre sus beneficiarios como «contribución «.

Este flujo se muestra a continuación:

Figura 4: objetos que trabajan juntos para llevar a cabo el caso de uso de rewardAccountFor (comedor).

La RewardNetwork le pide al restaurante que calcule cuánto beneficio otorgar, y luego contribuye esa cantidad a la cuenta.

3.1.3. apoyo a RewardNetworkImpl Services
La información de la cuenta y del restaurante se almacena en forma persistente dentro de una base de datos relacional. La implementación de RewardNetwork delega en admitir servicios de acceso a datos denominados «repositorios» para cargar objetos de cuenta y restaurante desde sus representaciones relacionales. Un AccountRepository se utiliza para encontrar una cuenta por su número de tarjeta de crédito. Un RestaurantRepository se utiliza para encontrar un restaurante por su número de comerciante. Un RewardRepository se utiliza para realizar un seguimiento de las transacciones de recompensa confirmadas para fines contables.

La secuencia completa de rewardAccountFor (comedor) que incorpora estos repositorios se muestra a continuación:

  1. esquema de base de datos de restaurantes recompensa
    Las aplicaciones de restauración de recompensas comparten una base de datos con este esquema:
adminSegurisoft

Comentarios cerrados.