ERP, .NET, C#, SQL SERVER 2008, CONTABILIDAD, ACCOUNTING, INVENTORY, INVENTARIO, OPEN SOURCE February 2011 - Artículos - Desarrollando aplicaciones .NET con calidad comercial

February 2011 - Artículos

Durante los últimos 30 meses estaba trabajando para Sage Software North América (http://www.sagenorthamerica.com), en el producto Peachtree (www.peachtree.com).

Razón por la que no podía avanzar en este proyecto sin un conflicto de intereses.

Pero ahora puedo retornar a este proyecto y tomar un camino basado en un modelo de datos de un ERP existente en Open Source.

Para disponer de un sistema ERP funcional se requieren algunos componentes:

Servidor de Datos

- Base de datos: SQL Server Express 2008 R2 with Advanced Tools, se tomarán todas las medidas posibles para facilitar al DBA sus tareas.

- Servidor de Entidades: Puede ser con Entity Framework o NHibernate o IdeaBlade express

Servidor de Aplicaciones

- Servidor y Repositorio de reportes

- Servidor y repositorio documental

- Project Server

- Servidor contable

- Orquestador de procesos y flujo de trabajo

Servidor de Integración y Seguridad (visible publicamente)

- Servidor de Comunicaciones, integración B2B y correo electrónico

- Servidor de identidades

- Servidor de log, trace y monitoreo

- Servidor de sesiones y certificados transaccionales

- Servidor ECM – Enterprise Content Manager – Portal, blogs, foros

En la maquina cliente: Servicio de identidad y el Shell de la aplicación

Para simplificar las comunicaciones se utilizara un ESB (Enterprise Service Bus) simplicado construido con WCF, toda interacción entre los servidores será usando el canal ESB, usando un certificado de identidad, certificado de sesión y certificado de transacción.

Posteriormente se adicionara un servidor OData (http://www.infoq.com/news/2009/11/OData-GData-Microsoft-Google) para acceso transaccional desde móviles tanto Android, iOS, RIM y Windows pone 7.

Si el tiempo lo permite se pondrá un servidor SData en lugar del OData (gracias Sage por hacer público SData http://sdata.sage.com/ ).

bErpDeploymentDiagram

Se mantendrá un diseño por capas manteniendo todos los servicios, servidores y ejecutables con la siguiente organización:

Capa recursos: Enterprise library, servicio de actualización de componentes (updater application block), proveedor de recursos (textos, help, iconos) y conexión al servidor de entidades.

Capa reglas de negocio: reportes en RDL (integración con SQL Reporting Services), Reglas de negocio de configuración, herramienta para exportar o importar datos de archivos texto o XML, motor de ejecución de los flujos de proceso y trabajo, reglas de validación de datos, monitor reglas de negocio y motor de scripting.

Capa de aplicación: 3 capas, 1) para toda la aplicación, 2) para especificar reglas para un mercado vertical y 3) para especificar reglas de la implementación (cliente).

Capa de presentación: replicación de las reglas para reducir al mínimo el tiempo de espera, motor de scripting. En lo posible se tratara de reusar el código tanto para Windows Forms como para WPF y Silverlight.

Todas las capas se conectaráon con motores de trace, log, WMI, excepciones y un monitor.

El motor de trace estara enfocado a llevar un rastreo de las operaciones internas del sistema, tanto por depuración como para auditar al sistema.

El motor de excepciones estara enfocado en apoyar a las correcciones y mejoras de la aplicación

El monitor estara enfocada en la operación, ejecución y apoyo, Permitira monitorear procesos, operaciones, usuarios, documentos y PKI.

bErpFrameworkDiagram

 

Metodologicamente se tratara de hacer todo el sistema basado en plug-ins usando MEF.

Publicado por Ivan Freire | 2 comment(s)
Archivado en: ,