Está en la página 1de 14

Bolsa Pblica de Valores Bicentenaria

Arquitectura Tecnolgica
Sistema de Gestin de Operaciones y Custodia de la BPVB
Versin <1.0>

Agosto 2014

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

Historia de Revisiones

Fecha

Versin

Descripcin

Autor

25/08/2014

<1.0>

Versin Inicial

Mario Castro

Pgina 2

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

Tabla de Contenido

1 INTRODUCCIN............................................................................................. 4
1.1 - PROPSITO...................................................................................................................... 4
1.2 ALCANCE........................................................................................................................ 5
2 - REQUISITOS.................................................................................................. 5
2.1 - ASPECTOS

DE

CALIDAD...................................................................................................... 5

3 - ARQUITECTURA............................................................................................. 6
3.1 - INTRODUCCIN................................................................................................................. 6
3.2 - CARACTERSTICAS............................................................................................................. 7
4 - TECNOLOGAS............................................................................................... 8
4.1
4.2
4.3
4.4

- ANGULARJS..................................................................................................................... 8
- BOOTSTRAP................................................................................................................... 10
- PLAY FRAMEWORK.......................................................................................................... 11
POSTGRESQL................................................................................................................. 12

5- CMO INTERACTAN LAS TECNOLOGAS?.....................................................14

Pgina 3

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

1 Introduccin
La Arquitectura de Software es la estructura lgica y fsica del sistema, formada por
todas las decisiones de diseo estratgico y tctico, que se aplicaran durante el
desarrollo. Esta representa la estructura o estructuras del sistema, la cual involucra
todos los componentes de software que lo conforman, tambin describe la estrategia
a seguir para implementar la solucin tecnolgica.
La necesidad del manejo de la arquitectura de un sistema de software nace con los
sistemas de mediana o gran envergadura, que se proponen como solucin para un
problema determinado. En la medida que los sistemas de software crecen en
complejidad, bien sea por nmero de requerimientos o por el impacto de los mismos,
se hace necesario establecer medios para el manejo de esta complejidad.
El diseo de la arquitectura consiste en una actividad inicial de la fase de diseo de
un sistema software cuyo objetivo es identificar los subsistemas y establecer un
marco de trabajo para gestionar correctamente el control y la comunicacin entre los
mismos.
En este documento explica la arquitectura utilizada para el desarrollo del sistema de
gestin de operaciones y custodia de valores de la BPVB, se describir las
tecnologas en las que nos apoyaremos, los patrones de diseo y marcos de trabajo
que permitirn organizar la estructura de desarrollo de la solucin de software. Se
propondr el desarrollo de una arquitectura definida en tres capas, Frontend,
Middleware y Backend.
1.1 - Propsito
El propsito de este documento es proveer una visin arquitectnica sobre la
organizacin e implementacin del conjunto de competentes a desarrollar para la
solucin de software SIGOC.

Pgina 4

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

1.2 Alcance
El documento se centra en el desarrollo de la vista de implementacin y despliegue
de la solucin. En este Se incluyen las tecnologas y herramientas que estarn siendo
usadas para el desarrollo de las tres capas que darn soporte a la solucin de
software, el frontend, middleware y backend. Enfocndonos principalmente en
construir un sistema robusto, as como tambin permitir que la arquitectura logre ser
extensible a futuros desarrollos.

2 - Requisitos
El estilo de arquitectura seleccionado debe poder satisfacer la implementacin de los
requerimientos funcionales como no-funcionales: rendimiento, seguridad, fiabilidad,
disponibilidad y mantenibilidad.

2.1 - Aspectos de Calidad

La calidad de la solucin a implementar debe garantizar las siguientes caractersticas:

Caractersticas

Mantenibilidad

Eficiencia

Descripcin

1.
2.

Facilidad de cambio
Facilidad de anlisis

1.

Tiempo de respuesta.

2.

Uso de recursos.

Pgina 5

Atributo

1.

Reusabilidad

2.

Modificabilidad

3.

Encapsulamiento

4.

Extensibilidad

5.

Flexibilidad

6.

Acoplamiento

7.

Dinamismo

1.

Desempeo.

2.

Rendimiento.

3.

Control.

1.

Disponibilidad.

SIGOC
Error: No se encuentra la fuente de referencia
Fiabilidad

Versin:
<1.0>
Date: 25/08/2014

1.

Tolerancia a fallas.

2.

Madurez.

Esto nos exige considerar

2.

Estabilidad.

3.

Bloqueo.

dentro de la estructura de desarrollo las siguientes

propiedades:
1.

Diseo basado en componentes de propsito claro y concreto y con alto grado


de cohesin.

2.

Desacoplamiento entre componentes que permita el fcil reemplazo de los


mismos.

3.

Componentes altamente reutilizables.

4.

Las tecnologas a integrar en la contruccin de la solucin de software, deben


permitir al producto final tener la capacidad de interoperar con sistemas
externos.

3 - Arquitectura
3.1 - Introduccin
La arquitectura a implementar se describe a continuacin como un conjuntos de
tecnologas y herramientas que se integraran para apoyar el desarrollo de la solucin
tecnolgica SIGOC. Se detallara cada componente tecnologico utilizado, esto permitira
reconocer la importancia de la seleccin de las tecnologias involucradas.
Se considera prudente repasar los siguientes puntos para entender el resto del
desarrollo de la seccin:

a)

Desarrollo de aplicaciones Web.

b)

Patron de diseo CRUD.

c)

Patron de desarrollo MVC (Modelo, Vista y Controlador).

Pgina 6

SIGOC
Error: No se encuentra la fuente de referencia
d)

Versin:
<1.0>
Date: 25/08/2014

La Transferencia de Estado Representacional (Representational State Transfer)


o REST.

e)

Balance de carga.

f)

Cluster de alta disponibilidad.

g)

Programacin declarativa e imperativa.

h)

Programacin Orientada a Objetos (POO)

3.2 - Caractersticas
La arquitectura tecnolgica y de despliegue que se diseara para implementar la
solucin de

software

SIGOC,

busca

satisfacer los requerimientos

observados

anteriormente, por tal motivo, luego de evaluar varios enfoques de desarrollo


existentes en la actualidad, la seleccin de la arquitectura tecnolgica se decanta por
el desarrollo de componentes, donde se integran tecnologas que apoyen la siguiente
estructura:

Pgina 7

SIGOC
Error: No se encuentra la fuente de referencia
a)

Versin:
<1.0>
Date: 25/08/2014

Capa de presentacin (Frontend)


En esta capa se encuentra las tecnologas que seran responsable en aplicacin
Web de los aspectos necesarios para la implementacin de las pantallas con las
que el usuario final tendra interaccin.

b) Capa de Negocio (Middleware)


Esta capa es la que posee las tecnologas requeridas para implementar todas las
funciones que realizara el sistema, ac se definen las reglas de negocio, con sus
respectivas validaciones.
c)

Capa de Persistencia (Base de datos,Backend)


Esta capa encontramos el motor de base de datos seleccionado (entindase
como Mysql, Postgresql, Oracle entre otros), con el respectivo esquema de base
de datos que representa las relaciones entre las tablas que almacenaran la
informacin relacionada con el modelo de negocio. Tambin contendr los
procedimientos y funciones necesarias para apoyar el manejo de la informacin.

4 - Tecnologas
Las tecnologas involucradas en la arquitectura de implementacin de la solucin
tecnolgica se detallaran cada una de estas, destacando su importancia y su aporte en
la construccin del producto final.

4.1 - AngularJS
Es

un

impresionante

framework

javascript

desarrollado

por

Google.

Sus

caractersticas apoyan la construccin de los componentes en la capa de


presentacin, los recursos que ofrece el framework permite crear para el
cliente(Navegador) en el lenguaje de Javascript ejecutndose con el conocido patrn
de diseo single-page applications (aplicacin de una sla pgina) que extiende el
tradicional HTML con etiquetas propias (directivas). Esta separa muy bien la
responsabilidad de cada tecnologa en su mbito: CSS, HTML y Javascript, y las
comunica cuando lo considera necesario.
4.1.1 - Por qu AngularJS?

Pgina 8

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

Como los frameworks Javascript en general, AngularJS en concreto nos sirven para
satisfacer las necesidades actuales en el desarrollo de soluciones de software
robustas, en cuanto a desarrollo multiplataforma de aplicaciones grandes o
enormes que se asemejan a las de escritorio. Ademas permite sacar mayor
provecho de las caractersticas existente en HTML5, facilitando el desarrollo de
aplicaciones, dado que sus bondades mejoran la implementacin de la capa de
presentacin integrando fcilmente el modelo y la vista.
4.1.2 - Estructura de un proyecto con AngularJS

Figura 1:Estructura de directorios

Pgina 9

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

Como se observa en la anterior figura, los componentes tecnologicos requeridos


para elaborar un proyecto con AngulasJS, esta relacionado con las tecnologas
frecuentemente usadas para llevar acabo un desarrollo de una aplicacin de
caracter WEB. Se debe tener conocimiento en este desarrollo de HTML5, CSS3,
JAVASCRIPTS y JQUERY, el framework ademas exige tener conocimiento en
desarrollo de aplicaciones bajo el enfoque MVC.

4.2 - Bootstrap
Bootstrap, es un framework originalmente creado por Twitter, que permite crear
interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz
del sitio web al tamao del dispositivo en que se visualice. Es decir, el sitio web se
adapta automticamente al tamao de una PC, una Tablet u otro dispositivo. Esta
tcnica de diseo y desarrollo se conoce como responsive design o diseo
adaptativo.
4.2.1 Por que Bootstrap?
Al implementar el frontend con twitter bootstrap se obtiene una diseo
fundamentado en buenas practicas, estandarizas y organizas de manera correcta
la elaboracin de componentes que conforman la capa de presentacin. El
framework es

es fcil e intuitivo, es extensible, y unas de las principales

bondades es que lo que se implemente con bootstrap se interpreta bastante bien


en todos los navegadores.
4.2.2 Integrar Bootstrap en el proyecto

Figura 2: Integrando Bootstrap en el proyecto

Pgina
10

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

4.3 - Play Framework


El framework Play es una alternativa gil y simple a la sobrecargada plataforma para
desarrollo de aplicaciones empresariales de Java. Se concentra en la productividad del
desarrollador y fomenta la elaboracion de aplicaciones sobre arquitecuras de tipo
REST.
4.3.1 Por qu Play?
Play represente una de los mejores framework de estndar abierto que existe en la
actualidad. Est enfocado en la productividad, por lo tanto el mismo facilita la
programacin, es un framework con el que se implementa una arquitectura con
enfoque MVC. Permite detectar errores rpidamente. Apoya el desarrollo con
metodologas agiles.

Figura 3: Esquema de componentes


El

framework

nos permitira

desarrollar

la capa

de

negocio,

implementando

componentes que apliquen las reglas del negocio. Las funcionalidades del sistema se
distribuiran en recursos que podran ser accedidos desde la capa de presentacion por
Pgina
11

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

medio de peticiones HTTP entre el cliente y el servidor. La arquitectura a ser


implementada con la contribucin de Play, se caracteriza principalmente por ser de
tipo REST, donde los recursos disponibles son consumidos via HTTP a traves de los
mtodo (GET, POST, PUT o DELETE).

Figura 4: Peticin REST

4.3.2 Estructura de un proyecto con Play FW

Pgina
12

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

4.4 PostgreSql
PostgreSQL es un gestor de bases de datos objeto-relacional, distribuido bajo licencia
BSD. Es el sistema de gestin de bases de datos de cdigo abierto ms potente en la
actualidad.

4.4.1 Por qu PostgreSql?


a) Ahorro significativo
PostgreSql fue diseado y creado para tener los requisitos de mantenimiento y
ajuste mucho ms bajas que las principales bases de datos propietarias, sin
afectar las caractersticas, la estabilidad y el rendimiento.
b) Fiabilidad y estabilidad
La experiencia de muchas empresas que han migrado exitosamente a postgres
garantiza la flexiilidad del mismo y las estadisticas de la base de datos en
produccion arrogan que no existen incidencias que afecten la estabilidad del
mismo.
c) Extensible

Pgina
13

SIGOC
Error: No se encuentra la fuente de referencia

Versin:
<1.0>
Date: 25/08/2014

El cdigo fuente est disponible para todos sin costo alguno. Si su personal tienen
la necesidad de personalizar o ampliar PostgreSQL de algn modo, son capaces de
hacerlo con un mnimo de esfuerzo, y sin costos asociados.
d) Diseado para entornos de alto volumen
Implementa una estrategia de almacenamiento de datos de varias filas llamada
MVCC para hacer a PostgreSQL extremadamente sensible en entornos de alto
volumen. Esto no es ms que un sistema que se encarga de mantener copias
sobre los datos de forma paralela, para acelerar el sistema de escritura de datos a
disco duro, haciendo un control de concurrencia entre las distintas versiones que
se van escribiendo. Esta estrategia es de igual manera usada por otros sistemas
de manejo de base de datos propietarios.

5- Cmo interactan las tecnologas?

Pgina
14

También podría gustarte