Se han utilizado diferentes patrones de diseño para diferentes necesidades, tal como, de arquitectura de componentes a nivel de servicios y de patrones de construcción OOP.
A continuación es la lista de los patrones de diseños usados:
- Descomposición de servicios para poder tener un buen limite de dominios (DDD, separation of concerns)
- @Domains: usado en la capa Rest donde está la implementación de POJOs
- Repository: donde está desacoplado la implementación de varios repositorios, dejando expuesta el mismo contrato a los cliente.
- @Service: capa Rest, tiene Patrón: Service-layer, en donde implementamos diferentes servicios para llamar, sean base datos pertenecientes a CDN o directamente como cliente al bus de servicios.
- @Controller: Rest, es el controller de springmvc, que es parte del patrón de diseño MVC, el cual dejamos claro el manejo del flujo del servicio rest
- Factory: todos los datasources utilizados vienen del contenedor de aplicaciones (Weblogic), y es una factoría de la cual nos abstraemos de la implementación (Oracle) y usamos la conexión entregada, la cual es reutilizada en las siguientes interacciones.
- DAO: pl-generator, librería que genera DAO automático desde la metadata de oracle y tenemos la interfaz (Façade) de los stored procedures de la base de datos, por directriz (generalmente en bancos) siempre accedemos a través de esos SP, y la librería gracias a esta encapsulación entregada por DAO podemos abstraernos de todo lo necesario de conexiones JDBC.
- SAL: Service Access Layer: Rest, patrón que viene desde la arquitectura SOA y tenemos implementada los diferentes servicios en un solo package.
- MVC: angular/rest. Usamos el patrón Model-View-Controller en nuestra solución. View es AngularJS, Controller y Model está implementado en Rest en las clases con anotaciones @Controller y Pojos, aprovechando la separación entregada por Spring
- API-Proxy: Usamos servicios Rest para todos los accesos desde front hacia OSB/DB. nunca se puede acceder directo desde Front, asi se usa api-proxy como interfaz.
- Aggregator: se utiliza en message-aggregator-rest para encapsular la implementación de del motor de envio de emails. De esta manera le damos más valor al request del envío del correo (Decorator) y tenemos un fachada (facade) para la implementación final.
- Connection Factory: JMS, todos los JMS utilizan un Connection Factory implementada por WLS. de esta manera se reutilizan las conexiones JMS.
- Prototype: en javascript para extender funciones y hacer honor al límite de 100 líneas por función (modular), se utiliza el patrón prototype.
- Database per service: notificaciones utiliza 1 schema por su solución, y no compartimos la base de datos con otros servicios, si alguien más necesita insertar datos estos deben hacerse a través un el api-proxy expuesto por notificaciones.
- Shared database (base datos compartida), existen schemas que son utilizados por varios servicios, tal como, session_cn.
- Log aggregation, se logea las transacciones y funcionalidades importantes de cada uno de los servicios en un log de aplicación que está configurado en cada uno de los dominios de WLS.
- Client-side UI composition. Cada aplicación puede tener componentes propios que están encapsulados en directivas angular. Estas directivas pueden ser reutilizadas por otras aplicaciones. El equipo de Diseño se preocupa de generar el esqueleto de las páginas, componiendo diferentes componentes UI.
- además utilizamos de varios patrones de diseño de más bajo nivel GoF: iterator, façade, singleton, Factory method pattern, Decorator, Builder, etc.
30 November 2017
Subscribe to:
Post Comments
(
Atom
)
Labels
- Algorithm
- Architecture
- AWS
- Aymara
- Books
- C
- Certification
- Cheat
- Chess
- Cloud
- Concurrency
- Contest
- Deep Learning
- Design Patterns
- Dijkstra
- Eclipse
- Errata
- Functional
- Gaming
- Haskell
- Java
- Julia
- Knuth
- Kubernetes
- Latex
- Linguistics
- Linux
- Log4j
- Mac OSX
- Magazines
- Math
- Maven
- Memories
- Microservices
- Miscellaneous
- Networking
- OCI
- Performance
- Programming
- Puzzle
- Python
- Quotes
- RegExp
- Retro
- Security
- Software
- Software Engineering
- Spring
- Tech Review
- Tomcat
- Unsolved
- Web Services
- Weblogic
My Blog List
Books & Reading
Blog Archive
-
►
2025
(
14
)
- ► Jul 6 - Jul 13 ( 2 )
- ► Jun 22 - Jun 29 ( 1 )
- ► Jun 1 - Jun 8 ( 1 )
- ► May 25 - Jun 1 ( 2 )
- ► May 11 - May 18 ( 1 )
- ► Apr 27 - May 4 ( 1 )
- ► Apr 6 - Apr 13 ( 1 )
- ► Mar 16 - Mar 23 ( 2 )
- ► Feb 16 - Feb 23 ( 1 )
- ► Feb 9 - Feb 16 ( 1 )
- ► Feb 2 - Feb 9 ( 1 )
-
►
2024
(
10
)
- ► Dec 15 - Dec 22 ( 1 )
- ► Dec 1 - Dec 8 ( 1 )
- ► Nov 17 - Nov 24 ( 1 )
- ► Oct 20 - Oct 27 ( 1 )
- ► Oct 13 - Oct 20 ( 1 )
- ► Apr 21 - Apr 28 ( 1 )
- ► Mar 24 - Mar 31 ( 3 )
- ► Jan 7 - Jan 14 ( 1 )
-
►
2023
(
15
)
- ► Dec 10 - Dec 17 ( 1 )
- ► Sep 10 - Sep 17 ( 1 )
- ► Aug 13 - Aug 20 ( 1 )
- ► Jul 9 - Jul 16 ( 1 )
- ► Jun 18 - Jun 25 ( 2 )
- ► Jun 4 - Jun 11 ( 1 )
- ► May 28 - Jun 4 ( 2 )
- ► May 21 - May 28 ( 1 )
- ► Mar 12 - Mar 19 ( 1 )
- ► Feb 19 - Feb 26 ( 1 )
- ► Jan 15 - Jan 22 ( 3 )
-
►
2022
(
22
)
- ► Nov 27 - Dec 4 ( 1 )
- ► Oct 16 - Oct 23 ( 1 )
- ► Aug 21 - Aug 28 ( 1 )
- ► Jul 17 - Jul 24 ( 1 )
- ► Jun 5 - Jun 12 ( 1 )
- ► May 22 - May 29 ( 1 )
- ► May 15 - May 22 ( 1 )
- ► Apr 24 - May 1 ( 2 )
- ► Apr 10 - Apr 17 ( 1 )
- ► Apr 3 - Apr 10 ( 1 )
- ► Mar 20 - Mar 27 ( 2 )
- ► Mar 6 - Mar 13 ( 1 )
- ► Feb 27 - Mar 6 ( 2 )
- ► Jan 30 - Feb 6 ( 1 )
- ► Jan 23 - Jan 30 ( 1 )
- ► Jan 9 - Jan 16 ( 2 )
- ► Jan 2 - Jan 9 ( 2 )
-
►
2021
(
26
)
- ► Dec 19 - Dec 26 ( 1 )
- ► Dec 12 - Dec 19 ( 1 )
- ► Nov 7 - Nov 14 ( 1 )
- ► Sep 12 - Sep 19 ( 1 )
- ► Sep 5 - Sep 12 ( 1 )
- ► Aug 8 - Aug 15 ( 1 )
- ► Aug 1 - Aug 8 ( 2 )
- ► Jul 25 - Aug 1 ( 1 )
- ► Jul 18 - Jul 25 ( 2 )
- ► Jul 11 - Jul 18 ( 1 )
- ► Jul 4 - Jul 11 ( 1 )
- ► Jun 27 - Jul 4 ( 2 )
- ► Jun 6 - Jun 13 ( 1 )
- ► May 30 - Jun 6 ( 1 )
- ► May 9 - May 16 ( 1 )
- ► May 2 - May 9 ( 1 )
- ► Apr 4 - Apr 11 ( 1 )
- ► Feb 14 - Feb 21 ( 1 )
- ► Feb 7 - Feb 14 ( 1 )
- ► Jan 24 - Jan 31 ( 3 )
- ► Jan 10 - Jan 17 ( 1 )
-
►
2020
(
47
)
- ► Dec 20 - Dec 27 ( 1 )
- ► Dec 6 - Dec 13 ( 2 )
- ► Nov 29 - Dec 6 ( 3 )
- ► Nov 1 - Nov 8 ( 1 )
- ► Oct 25 - Nov 1 ( 1 )
- ► Oct 18 - Oct 25 ( 2 )
- ► Oct 11 - Oct 18 ( 1 )
- ► Sep 27 - Oct 4 ( 1 )
- ► Sep 20 - Sep 27 ( 1 )
- ► Sep 13 - Sep 20 ( 1 )
- ► Sep 6 - Sep 13 ( 1 )
- ► Aug 30 - Sep 6 ( 2 )
- ► Aug 16 - Aug 23 ( 2 )
- ► Aug 2 - Aug 9 ( 1 )
- ► Jul 26 - Aug 2 ( 1 )
- ► Jul 19 - Jul 26 ( 2 )
- ► Jul 5 - Jul 12 ( 1 )
- ► Jun 14 - Jun 21 ( 1 )
- ► May 31 - Jun 7 ( 3 )
- ► May 17 - May 24 ( 2 )
- ► May 10 - May 17 ( 1 )
- ► Apr 19 - Apr 26 ( 2 )
- ► Mar 29 - Apr 5 ( 2 )
- ► Mar 15 - Mar 22 ( 2 )
- ► Mar 8 - Mar 15 ( 1 )
- ► Mar 1 - Mar 8 ( 1 )
- ► Feb 23 - Mar 1 ( 1 )
- ► Feb 16 - Feb 23 ( 2 )
- ► Feb 9 - Feb 16 ( 1 )
- ► Feb 2 - Feb 9 ( 1 )
- ► Jan 26 - Feb 2 ( 1 )
- ► Jan 19 - Jan 26 ( 1 )
- ► Jan 12 - Jan 19 ( 1 )
-
►
2019
(
57
)
- ► Dec 29 - Jan 5 ( 1 )
- ► Dec 15 - Dec 22 ( 1 )
- ► Dec 1 - Dec 8 ( 2 )
- ► Nov 24 - Dec 1 ( 1 )
- ► Nov 17 - Nov 24 ( 1 )
- ► Nov 10 - Nov 17 ( 1 )
- ► Nov 3 - Nov 10 ( 1 )
- ► Oct 20 - Oct 27 ( 1 )
- ► Oct 6 - Oct 13 ( 1 )
- ► Sep 29 - Oct 6 ( 1 )
- ► Sep 22 - Sep 29 ( 2 )
- ► Sep 15 - Sep 22 ( 1 )
- ► Sep 8 - Sep 15 ( 7 )
- ► Sep 1 - Sep 8 ( 6 )
- ► Aug 25 - Sep 1 ( 4 )
- ► Aug 18 - Aug 25 ( 2 )
- ► Aug 4 - Aug 11 ( 1 )
- ► Jul 14 - Jul 21 ( 1 )
- ► Jun 30 - Jul 7 ( 1 )
- ► Jun 16 - Jun 23 ( 2 )
- ► Jun 2 - Jun 9 ( 1 )
- ► May 26 - Jun 2 ( 1 )
- ► May 5 - May 12 ( 3 )
- ► Apr 28 - May 5 ( 1 )
- ► Apr 21 - Apr 28 ( 1 )
- ► Apr 7 - Apr 14 ( 1 )
- ► Mar 24 - Mar 31 ( 2 )
- ► Mar 17 - Mar 24 ( 1 )
- ► Mar 10 - Mar 17 ( 1 )
- ► Mar 3 - Mar 10 ( 1 )
- ► Feb 24 - Mar 3 ( 2 )
- ► Feb 10 - Feb 17 ( 2 )
- ► Jan 13 - Jan 20 ( 2 )
-
►
2018
(
75
)
- ► Dec 30 - Jan 6 ( 2 )
- ► Dec 23 - Dec 30 ( 1 )
- ► Dec 16 - Dec 23 ( 2 )
- ► Dec 9 - Dec 16 ( 3 )
- ► Dec 2 - Dec 9 ( 3 )
- ► Nov 25 - Dec 2 ( 3 )
- ► Nov 18 - Nov 25 ( 3 )
- ► Nov 11 - Nov 18 ( 4 )
- ► Nov 4 - Nov 11 ( 2 )
- ► Oct 28 - Nov 4 ( 2 )
- ► Oct 14 - Oct 21 ( 2 )
- ► Sep 30 - Oct 7 ( 2 )
- ► Sep 23 - Sep 30 ( 1 )
- ► Sep 16 - Sep 23 ( 1 )
- ► Aug 26 - Sep 2 ( 1 )
- ► Aug 12 - Aug 19 ( 2 )
- ► Aug 5 - Aug 12 ( 1 )
- ► Jul 29 - Aug 5 ( 1 )
- ► Jul 22 - Jul 29 ( 1 )
- ► Jul 8 - Jul 15 ( 3 )
- ► Jul 1 - Jul 8 ( 2 )
- ► Jun 24 - Jul 1 ( 3 )
- ► Jun 17 - Jun 24 ( 2 )
- ► Jun 10 - Jun 17 ( 8 )
- ► Jun 3 - Jun 10 ( 4 )
- ► May 27 - Jun 3 ( 2 )
- ► May 6 - May 13 ( 1 )
- ► Apr 29 - May 6 ( 1 )
- ► Apr 8 - Apr 15 ( 2 )
- ► Apr 1 - Apr 8 ( 2 )
- ► Mar 25 - Apr 1 ( 1 )
- ► Mar 11 - Mar 18 ( 1 )
- ► Mar 4 - Mar 11 ( 1 )
- ► Feb 18 - Feb 25 ( 2 )
- ► Jan 28 - Feb 4 ( 1 )
- ► Jan 21 - Jan 28 ( 1 )
- ► Jan 7 - Jan 14 ( 1 )
-
▼
2017
(
33
)
- ► Dec 31 - Jan 7 ( 1 )
- ► Dec 24 - Dec 31 ( 2 )
- ► Dec 17 - Dec 24 ( 1 )
- ► Dec 10 - Dec 17 ( 1 )
- ► Dec 3 - Dec 10 ( 1 )
- ► Nov 19 - Nov 26 ( 1 )
- ► Nov 5 - Nov 12 ( 1 )
- ► Oct 29 - Nov 5 ( 4 )
- ► Oct 15 - Oct 22 ( 1 )
- ► Oct 8 - Oct 15 ( 2 )
- ► Oct 1 - Oct 8 ( 1 )
- ► Aug 20 - Aug 27 ( 2 )
- ► Jul 9 - Jul 16 ( 1 )
- ► May 7 - May 14 ( 3 )
- ► Apr 30 - May 7 ( 1 )
- ► Mar 19 - Mar 26 ( 1 )
- ► Mar 12 - Mar 19 ( 2 )
- ► Feb 26 - Mar 5 ( 1 )
- ► Feb 12 - Feb 19 ( 2 )
- ► Jan 8 - Jan 15 ( 1 )
-
►
2016
(
32
)
- ► Dec 25 - Jan 1 ( 1 )
- ► Nov 27 - Dec 4 ( 2 )
- ► Nov 20 - Nov 27 ( 1 )
- ► Nov 6 - Nov 13 ( 1 )
- ► Oct 30 - Nov 6 ( 1 )
- ► Oct 23 - Oct 30 ( 1 )
- ► Oct 16 - Oct 23 ( 3 )
- ► Sep 4 - Sep 11 ( 1 )
- ► Aug 7 - Aug 14 ( 2 )
- ► Jul 24 - Jul 31 ( 1 )
- ► Jun 26 - Jul 3 ( 1 )
- ► May 22 - May 29 ( 1 )
- ► May 15 - May 22 ( 1 )
- ► May 1 - May 8 ( 1 )
- ► Apr 3 - Apr 10 ( 1 )
- ► Mar 20 - Mar 27 ( 1 )
- ► Mar 13 - Mar 20 ( 2 )
- ► Mar 6 - Mar 13 ( 1 )
- ► Feb 28 - Mar 6 ( 3 )
- ► Feb 21 - Feb 28 ( 2 )
- ► Jan 24 - Jan 31 ( 1 )
- ► Jan 10 - Jan 17 ( 2 )
- ► Jan 3 - Jan 10 ( 1 )
-
►
2015
(
18
)
- ► Dec 27 - Jan 3 ( 1 )
- ► Nov 29 - Dec 6 ( 1 )
- ► Nov 1 - Nov 8 ( 2 )
- ► Oct 18 - Oct 25 ( 1 )
- ► Oct 11 - Oct 18 ( 2 )
- ► Sep 13 - Sep 20 ( 3 )
- ► Jul 5 - Jul 12 ( 1 )
- ► Jun 21 - Jun 28 ( 1 )
- ► May 31 - Jun 7 ( 1 )
- ► Mar 15 - Mar 22 ( 1 )
- ► Mar 8 - Mar 15 ( 3 )
- ► Mar 1 - Mar 8 ( 1 )
-
►
2014
(
18
)
- ► Dec 28 - Jan 4 ( 1 )
- ► Dec 7 - Dec 14 ( 1 )
- ► Nov 16 - Nov 23 ( 1 )
- ► Nov 2 - Nov 9 ( 1 )
- ► Oct 5 - Oct 12 ( 1 )
- ► Sep 14 - Sep 21 ( 3 )
- ► Sep 7 - Sep 14 ( 1 )
- ► Aug 31 - Sep 7 ( 1 )
- ► Aug 17 - Aug 24 ( 1 )
- ► Jul 27 - Aug 3 ( 1 )
- ► Jun 29 - Jul 6 ( 1 )
- ► Jun 15 - Jun 22 ( 1 )
- ► Jun 8 - Jun 15 ( 1 )
- ► May 25 - Jun 1 ( 1 )
- ► Feb 9 - Feb 16 ( 1 )
- ► Jan 5 - Jan 12 ( 1 )
-
►
2013
(
22
)
- ► Dec 29 - Jan 5 ( 2 )
- ► Dec 22 - Dec 29 ( 1 )
- ► Nov 17 - Nov 24 ( 1 )
- ► Nov 10 - Nov 17 ( 2 )
- ► Oct 27 - Nov 3 ( 1 )
- ► Sep 22 - Sep 29 ( 1 )
- ► Sep 15 - Sep 22 ( 1 )
- ► Sep 8 - Sep 15 ( 1 )
- ► Aug 25 - Sep 1 ( 1 )
- ► Jul 28 - Aug 4 ( 1 )
- ► May 5 - May 12 ( 2 )
- ► Apr 7 - Apr 14 ( 3 )
- ► Mar 31 - Apr 7 ( 2 )
- ► Mar 3 - Mar 10 ( 1 )
- ► Jan 20 - Jan 27 ( 1 )
- ► Jan 13 - Jan 20 ( 1 )
-
►
2012
(
24
)
- ► Dec 16 - Dec 23 ( 1 )
- ► Oct 28 - Nov 4 ( 1 )
- ► Oct 21 - Oct 28 ( 1 )
- ► Sep 23 - Sep 30 ( 2 )
- ► Sep 9 - Sep 16 ( 1 )
- ► Sep 2 - Sep 9 ( 1 )
- ► Aug 26 - Sep 2 ( 2 )
- ► Jun 24 - Jul 1 ( 2 )
- ► Jun 17 - Jun 24 ( 1 )
- ► May 13 - May 20 ( 1 )
- ► May 6 - May 13 ( 2 )
- ► Apr 22 - Apr 29 ( 2 )
- ► Apr 15 - Apr 22 ( 4 )
- ► Mar 25 - Apr 1 ( 1 )
- ► Feb 26 - Mar 4 ( 1 )
- ► Jan 29 - Feb 5 ( 1 )
-
►
2011
(
14
)
- ► Nov 20 - Nov 27 ( 1 )
- ► Nov 6 - Nov 13 ( 1 )
- ► Oct 30 - Nov 6 ( 1 )
- ► Oct 23 - Oct 30 ( 3 )
- ► Sep 25 - Oct 2 ( 1 )
- ► Sep 4 - Sep 11 ( 1 )
- ► Aug 28 - Sep 4 ( 1 )
- ► Jul 3 - Jul 10 ( 1 )
- ► May 15 - May 22 ( 1 )
- ► May 8 - May 15 ( 1 )
- ► May 1 - May 8 ( 1 )
- ► Feb 20 - Feb 27 ( 1 )
-
►
2010
(
19
)
- ► Dec 26 - Jan 2 ( 1 )
- ► Dec 12 - Dec 19 ( 2 )
- ► Dec 5 - Dec 12 ( 2 )
- ► Nov 21 - Nov 28 ( 1 )
- ► Sep 19 - Sep 26 ( 1 )
- ► Aug 22 - Aug 29 ( 1 )
- ► Aug 1 - Aug 8 ( 2 )
- ► Jun 27 - Jul 4 ( 1 )
- ► Jun 6 - Jun 13 ( 1 )
- ► May 23 - May 30 ( 1 )
- ► May 16 - May 23 ( 4 )
- ► Feb 28 - Mar 7 ( 1 )
- ► Jan 31 - Feb 7 ( 1 )
-
►
2009
(
16
)
- ► Dec 13 - Dec 20 ( 1 )
- ► Oct 4 - Oct 11 ( 1 )
- ► Sep 27 - Oct 4 ( 1 )
- ► Aug 23 - Aug 30 ( 4 )
- ► Aug 16 - Aug 23 ( 1 )
- ► Aug 2 - Aug 9 ( 1 )
- ► Jul 19 - Jul 26 ( 1 )
- ► Jul 12 - Jul 19 ( 1 )
- ► Jun 21 - Jun 28 ( 1 )
- ► Jun 14 - Jun 21 ( 1 )
- ► Jun 7 - Jun 14 ( 1 )
- ► Apr 19 - Apr 26 ( 1 )
- ► Feb 8 - Feb 15 ( 1 )
-
►
2008
(
10
)
- ► Dec 28 - Jan 4 ( 1 )
- ► Nov 30 - Dec 7 ( 1 )
- ► Nov 23 - Nov 30 ( 1 )
- ► Oct 26 - Nov 2 ( 2 )
- ► Sep 28 - Oct 5 ( 1 )
- ► Sep 21 - Sep 28 ( 1 )
- ► Sep 7 - Sep 14 ( 1 )
- ► Jun 8 - Jun 15 ( 1 )
- ► Jan 20 - Jan 27 ( 1 )
-
►
2007
(
8
)
- ► Sep 23 - Sep 30 ( 1 )
- ► Jul 29 - Aug 5 ( 2 )
- ► Jun 17 - Jun 24 ( 1 )
- ► Apr 8 - Apr 15 ( 1 )
- ► Mar 18 - Mar 25 ( 2 )
- ► Mar 11 - Mar 18 ( 1 )
-
►
2006
(
10
)
- ► Dec 17 - Dec 24 ( 1 )
- ► Dec 3 - Dec 10 ( 1 )
- ► Nov 19 - Nov 26 ( 1 )
- ► Oct 15 - Oct 22 ( 1 )
- ► Sep 3 - Sep 10 ( 1 )
- ► Jul 30 - Aug 6 ( 1 )
- ► Jun 25 - Jul 2 ( 1 )
- ► Jun 18 - Jun 25 ( 1 )
- ► May 28 - Jun 4 ( 1 )
- ► Mar 26 - Apr 2 ( 1 )
About Me
Disclaimer
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
No comments :
Post a Comment