• No se han encontrado resultados

Las conclusiones a las que se llegó durante la investigación para la propuesta de la metodología y la implementación del caso de estudio son las siguientes:

 Fue posible crear una propuesta de metodología para el desarrollo de aplicaciones basadas en una arquitectura orientada a servicios y enfocada en la integración de aplicaciones, que cumpla los aspectos de SOC y que esté integrada por conceptos, prácticas y criterios para guiar el proceso completo del desarrollo, para crear e integrar aplicaciones.

 La metodología propuesta es factible de implementar, como quedó demostrado con el caso de estudio realizado. Incluye todas las fases del desarrollo de una aplicación, y permite diseñar e implementar de forma efectiva los servicios.

 Se describieron una serie de pasos para guiar la descripción de los casos de uso que necesiten comunicación entre varias aplicaciones, para facilitar la identificación de las aplicaciones involucradas y los mensajes necesarios.

 Se modificaron los diagramas de comunicación para poder representar el paso de mensajes entre aplicaciones, lo cual permite modelar el análisis y diseño basado en servicios.

 Se creó un diagrama para modelar las dependencias entre los servicios y representar a qué aplicación pertenece la lógica que publican.

 Se modificó el modelo 4+1 de la vista de la arquitectura para poder documentar adecuadamente la arquitectura de aplicaciones basadas en SOA.

 La metodología propuesta permite modelar el ambiente de negocio y los flujos de información, traducir el modelo en diseño de servicios, desarrollar los servicios,

94

realizarles pruebas y administrar su liberación, con la ayuda de los casos de uso, los diagramas de comunicación, el diagrama de servicios y los modelos que componen las vistas de la arquitectura de la aplicación. Esto cubre las necesidades de una metodología para el desarrollo de aplicaciones basadas en SOA, enfocada en la integración de aplicaciones.

 La metodología también vuelve más flexibles las aplicaciones, al generar procesos y flujos de información más flexibles.

5.2 Trabajos Futuros

Como continuación a este trabajo en el aspecto metodológico asociado con el desarrollo de aplicaciones basadas en SOA, se pueden seguir, entre otras, las siguientes líneas de investigación:

 Extender la metodología con la creación de indicadores de desempeño y formas de evaluar los indicadores.

 Extender la metodología con procesos para la creación y negociación de los aspectos de la calidad de los servicios y de seguridad.

 Analizar si efectivamente y en qué medida se facilita el mantenimiento de las aplicaciones desarrolladas.

95 Bibliografía

Ambler, S. W. (2000). Enhancing the Unified Process: Software Process for the Post-2000 (P2K) World. Ronin International Inc, www.ronin-intl.com.

Arlow, J. & Neustadt, I. (2001). UML and the Unified Process: practical object-oriented analysis and design. Addison-Wesley.

Arsanjani, A. (2004). Service-oriented modeling and architecture. IBM developerWorks.

Braude, E. J. (2000). Software Engineering, An Object Oriented Perspective. Jhon Wiley & Sons.

Bruegge, B. & Dutoit, A. H. (2009). Object-Oriented Software Engineering Using UML, Patterns, and Java. Prentice Hall.

Centers for Medicare & Medicaid Services (2008). Selecting a Development Approach. USA:

Department of Health & Human Services.

Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., et al. (2010). Documenting Software Architectures: Views and Beyond (2da. Edición). Boston: Addison-Wesley.

Cummins, F. A. (2002). Enterprise Integration: An Architecture for Enterprise Application and Systems Integration. John Wiley & Sons.

Dos Santos, M. & Vrancken, J. (2009). Including SysML in the 4+1 View Model of

Architecture for Software-Intensive Systems. 7th Annual Conference on Systems Engineering

Research, Loughborough University.

D'Souza, D. F. & Willis, A. C. (1998). Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley.

Dustdar, S., Papazoglou, M. P., Traverso, P. & Leymann, F. (2006). Service- oriented computing: Research roadmap. IEEE Computer Society.

Dustdar, S., Papazoglou, M. P., Traverso, P. & Leymann, F. (2007). Service- oriented computing: State of the art and research challenges. IEEE Computer Society.

Erl, T. (2004). Service Oriented Architecture: A Field Guide to Integrating XML and Web Services. Prentice Hall.

Erl, T. (2005). Service Oriented Architecture (SOA) Concepts, Technology, and Design. Prentice

Hall.

He, X., Li, H., Ding, Q. & Wu, Z. (2009). The SOA Based Solution for Distributed Enterprise Application Integration. International Forum on Computer Science Technology and Applications,

96

Heineman, G. T. & Councill, W. T. (2001). Component Based Software Engineering: Putting the Pieces Together. Adison-Wesley.

Huns M. N. & Singh M. P. (2005). Service Oriented Computing: Key Concepts and Principles.

IEEE Computer Society.

Jacobson, I., Booch, G. & Rumbaugh J. (1999). The Unified Software Development Process.

Addison-Wesley.

Jones, S. & Morris, M. (2005). A methodology for service architectures. OASIS.

Kruchten, P. (1995). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50, IEEE Computer Society.

Linthicum, D. S. (2003). Next Generation Application Integration: From Simple Information to Web Services. Addison-Wesley.

Linthicum, D. S. (2009). Cloud computing and SOA convergence in your enterprise : a step-by- step guide. Addison-Wesley.

Maurizio, A., Sager, J., Jones, P., Corbitt, G. & Girolami, L. (2008). Service Oriented Architecture: Challenges for Business and Academia. Proceedings of the 41st Hawaii

International Conference on System Sciences.

Mercier, S., Lavoie, M. & Champagne, R. (2006). Unified Software Method: an Engineering Approach to Software Engineering. Proceedings of the 30th Annual IEEE/NASA Software

Engineering Workshop, IEEE Computer Society.

Newcomer, E. & Lomow, G. (2005). Understanding SOA with Web Services. Addison Wesley.

Papazoglou M. P. (2003). Service Oriented Computing: Concepts, Characteristics and Directions. Proceedings of the Fourth International Conference on Web Information Systems

Engineering, IEEE Computer Society.

Papazoglou, M. P. (2007). Web Services: Principles and Technology. Prentice Hall.

Papazoglou, M. P. & Georgakopoulo, D. (2003). “Service-oriented computing”. Communications of the ACM. 46, No. 10, ACM.

Papazoglou, M. P., Traverso, P., Dustdar, S. & Leymann, F. (2008). “Service-oriented computing: a research roadmap”. International Journal of Cooperative Information Systems, 223–255.

Papazoglou, M. P. & Van Den Heuvel, W. J. (2006). “Service-oriented design and development methodology”. International Journal of Web Engineering and Technology.

97

Papazoglou, M. P. & Van Den Heuvel, W. J. (2007). “Service oriented architectures: approaches, technologies and research issues”. The VLDB Journal, 16:389–415.

Rognerud, H. J. & Hannay, J. E. (2009). Challenges in Enterprise Software Integration: An Industrial Study using Repertory Grids. Third International Symposium on Empirical Software

Engineering and Measurement, IEEE Computer Society.

Szyperski, C., Gruntz, D. & Murer, S. (2002). Component Software: Beyond Object Oriented Programing. Gran Bretaña: Adison-Wesley.

Tan, S. (2009). SOA Adoption and Benefit Trends in Tough Times. Gartner.

Tsai, W. T. (2005). Service-oriented system engineering: A new paradigm. Proceedings of the

2005 IEEE International Workshop on Service-Oriented System Engineering, IEEE Computer Society.

Weerawarana, S. et al (2005). Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More. Prentice Hall.

98

Anexo A.- Primera Iteración de la Fase de Concepción

A continuación se presentan todos los documentos y diagramas generados durante la primera iteración de la fase de concepción.

A.1 Requerimientos.

A.1.1 Requer imientos funcionales expr esados como casos de uso

Caso de uso: Compra de paquete de alojamiento

Meta: Dar de alta la cuenta del cliente en el sistema WSP, asignarle los paquetes que compro y generarle su factura en el sistema ERP.

Resumen: Cuando un cliente compre un paquete de alojamiento, a través del sistema NPC, se debe de enviar la información necesaria al sistema ERP para hacer el registro contable y realizarle la factura al cliente, también se debe avisar al sistema WSP para dar de alta la cuenta del cliente y asignarle el espacio en el servidor que compro.

Prioridad: 1

Actores: Sistemas NPC, WSP y ERP, el cliente y el administrador del sistema. Precondiciones: El cliente ha hecho una compra en el sistema NPC.

Inicio: Se confirma el pago del cliente por el sistema NPC. Pasos:

1. Una vez que el sistema NPC confirme el pago debe enviar la información del cliente y de los paquetes comprados al sistema ERP.

2. Con la información del cliente y de los paquetes comprados el sistema ERP debe dar de alta al cliente y generarle su factura.

3. El sistema NPC también debe enviarle la información del cliente y de los paquetes comprados al sistema WSP.

4. El sistema WSP debe dar de alta la cuenta del cliente y asignarle los paquetes que haya comprado.

Postcondiciones: el cliente ha sido dado de alta en el sistema WSP y se le asignaron los servicios que contrato, también fue dado de alta en el sistema ERP y se le genero su factura. Caso de uso: Renovación de un paquete de alojamiento

Meta: Renovar el paquete del cliente en el sistema WSP y generarle su factura en el sistema ERP.

Resumen: Cuando el vence el tiempo del servicio de alojamiento que contrató el cliente el sistema WSP debe avisar al sistema ERP para que genere una cuenta por cobrar, y cuando el cliente pague la cuenta se debe de generar la factura en el sistema ERP y este le debe de avisar al sistema WSP para que le renueve el servicio.

Prioridad: 2

Actores: Sistemas WSP y ERP, y el cliente.

Precondiciones: Va a vencer el paquete de alojamiento del cliente en el sistema WSP. Inicio: Falta un mes para que venza el paquete del cliente.

99

1. El sistema WSP debe enviarle al sistema ERP sobre el servicio del cliente que va a vencer.

2. El sistema ERP debe generar una orden por cobrar del cliente con la información del servicio.

3. El cliente paga la orden por cobrar.

4. El sistema ERP da por pagada la orden por cobrar. 5. El sistema ERP genera la factura del cliente.

6. El sistema ERP avisa al sistema WSP que el servicio a sido renovado. 7. El sistema WSP renueva el servicio al cliente.

Pasos Alternativos.

Si en el paso 3 el cliente no paga, cuando llegue la fecha de vencimiento el sistema WSP debe suspender los servicios del cliente y si después de un mes de la fecha de vencimiento se debe de dar de baja la cuenta del cliente del los sistemas WSP y ERP.

Postcondiciones: se ha renovado el servicio del cliente en el sistema WSP y se le genero su factura en el sistema ERP.

Caso de uso: Información de los paquetes de alojamiento

Meta: Obtener un reporte de la información de un paquete de alojamiento ofrecidos.

Resumen: Se debe generar un sistema que reúna la información de los paquetes de alojamiento, se debe de obtener del sistema NPC los precios y del sistema WSP las características de los paquetes y se deben cotejar con las del sistema ERP.

Prioridad: 4

Actores: Sistemas NPC, WSP y ERP, y el usuario.

Precondiciones: Se ha dado de alta la cuenta del usuario en el sistema. Inicio: El usuario entra al sistema.

Pasos:

1. El usuario accede exitosamente al sistema.

2. El usuario selecciona el modulo de información de paquetes. 3. El sistema solicita al sistema NPC la lista de paquetes. 4. El sistema NPC le envía al sistema la información requerida. 5. El sistema muestra una lista con los paquetes.

6. El usuario selecciona un paquete de las lista.

7. El sistema solicita al sistema NPC la información de los precios del paquete. 8. El sistema NPC le envía al sistema la información requerida.

9. El sistema solicita al sistema ERP la información de los precios del paquete. 10.El sistema ERP le envía al sistema la información requerida.

11.El sistema solicita al sistema WSP la información de las características del paquete. 12.El sistema WSP le envía al sistema la información requerida.

13.El sistema coteja que la información recibida del sistema NPC y ERP coincida. 14.El sistema despliega la información al usuario.

Pasos Alternativos.

Si en el paso 11 la información no coincide se debe mostrar un mensaje de alerta al usuario. Postcondiciones: Se ha desplegado al usuario un reporte del paquete que solicitó.

Notas: Debe cumplir el requerimiento no funcional 1. Caso de uso: Información de los clientes

100

Meta: Obtener un reporte de la información de un cliente.

Resumen: El sistema también reunirá la información de los clientes, se debe de obtener la información fiscal del cliente del sistema ERP y la información de los paquetes de alojamiento que tiene el cliente del sistema WSP.

Prioridad: 3

Actores: Sistemas WSP y ERP, y el usuario.

Precondiciones: Se ha dado de alta la cuenta del usuario en el sistema. Inicio: El usuario entra al sistema.

Pasos:

1. El usuario accede exitosamente al sistema.

2. El usuario selecciona el modulo de información de clientes. 3. El sistema muestra una lista con los clientes.

4. El usuario selecciona un cliente de las lista.

5. El sistema solicita al sistema ERP la información de fiscal del cliente y las facturas que se le han realizado.

6. El sistema ERP le envía al sistema la información requerida.

7. El sistema solicita al sistema WSP la información de los paquetes del cliente. 8. El sistema WSP le envía al sistema la información requerida.

9. El sistema despliega la información al usuario.

Postcondiciones: Se ha desplegado al usuario un reporte del cliente que solicitó. Notas: Debe cumplir el requerimiento no funcional 1.

Caso de uso: Estimación de ingresos futuros

Meta: Obtener un reporte con la estimación de los ingresos que habrá el próximo año por mes.

Resumen: El sistema generará un reporte de ingresos futuros, el cual se basara de la información de las ventas del último año, de los servicios de los clientes que vayan a vencer y de un porcentaje de aumento en las ventas.

Prioridad: 5

Actores: Sistemas WSP y ERP, y el usuario.

Precondiciones: Se ha dado de alta la cuenta del usuario en el sistema. Inicio: El usuario entra al sistema.

Pasos:

1. El usuario accede exitosamente al sistema.

2. El usuario selecciona el modulo de estimación de ventas.

3. El sistema solicita al sistema WSP la información de los paquetes que vencen durante el próximo año.

4. El sistema WSP le envía al sistema la información requerida.

5. El sistema solicita al sistema ERP la información de las ventas del último año. 6. El sistema ERP le envía al sistema la información requerida.

7. El sistema multiplica las ventas del último año por un porcentaje y el resultado lo suma a al monto de los paquetes que vencerán durante el año, este cálculo se realiza por mes.

8. El sistema despliega la información al usuario. Pasos Alternativos.

101

Si en el paso 7 no existe información de las ventas del año pasado o las que vencerán en el futuro, se desplegará un mensaje de alerta al usuario.

Postcondiciones: Se ha desplegado al usuario un reporte con la estimación de los ingresos del próximo año.

Notas: Debe cumplir el requerimiento no funcional 2.

A.1.2 Requer imientos No Funcionales

1. El tiempo de respuesta de los módulos de información de paquetes y dominios debe ser menor a 5 segundos

2. El tiempo de respuesta de los módulos del sistema debe ser menor a 10 segundos

A.2 Análisis

A.2.1 Resumen de los Sistemas

WSP - Website Panel

Es un panel de control para servidores de alojamiento de sitios web para Windows. Permite manejar múltiples servidores, controlar los sitios web, cuentas FTP, bases de datos y otros recursos del servidor.

Está dividido en tres componentes:  WSP Portal

 WSP Enterprise Server  WSP Server

WSP Portal es la interfaz del usuario, es una aplicación echa en ASP.NET la cual no contiene la lógica del negocio, si no que se comunica vía Servicios Web a WSP Enterprise Server para que este realice las operaciones requeridas.

WSP Enterprise Server es el componente principal de WSP ya que contiene toda la lógica de la aplicación. Usa un servidor de base de datos SQL Server para almacenar la información interna que maneja como: usuarios, paquetes de alojamiento, recursos, etc. Todas las operaciones de WSP están accesibles a través de los Servicios Web, lo que facilita su integración con otras aplicaciones.

La comunicación con WSP Server para controlar los servidores es por medio de Servicios Web.

WSP Enterprise Server es una aplicación web que no tiene una interfaz de usuario, ya que únicamente se compone de los Servicios Web que integran la lógica de la aplicación.

WSP Server es una aplicación web que no tiene una interfaz de usuario y que realiza la administración a bajo nivel del servidor, por ejemplo: controla los permisos de las carpetas

102

y archivos, administra las bases de datos, administra el servidor de mails, se comunica con el IIS, etc.

Se encuentra instalado en cada uno de los servidores de alojamiento y requiere tener los permisos de administrador para poder controlar los servidores.

NPC – nopCommerce

nopCommerce es una solución para el comercio electrónico, es un carrito de compras que contiene un sitio para los clientes con el catalogo de productos y otro sitio para la administración del sistema. Esta desarrollado en ASP.NET y utiliza una base de datos SQL Server.

Tiene una arquitectura modular lo que facilita agregar elementos al sistema y la administración del sitio.

Entre sus principales características están:

 Permite la división de productos por categorías y subcategorias.  Facilita llevar el control del inventario.

 Se pueden dar descuentos por volumen de compra.

 Incluye varios métodos de pago, incluyendo los principales servicios de cobro.  Lleva el control de los usuarios, sus órdenes y los estados de sus órdenes. ERP – Keme Contabilidad

Es una aplicación para llevar contabilidades, permite generar los libros obligatorios, libros del IVA, registros de amortizaciones, planes de cuentas, pagos fijos e informes. Esta desarrollado en C++, Qt4, Latex y MySQL.

Sus principales características son:  Manejo de amortizaciones

 Cuentas anuales normales o abreviadas  Cuadros de vencimiento para cuentas  Contabilidad analítica

 Elaboración de los libros de facturas emitidas/recibidas  Liquidación de IVA por períodos

 Cuadre perfecto entre los mayores de cuentas de IVA y los libros de facturas  Cuadros de vencimientos para cuentas, con procesado de cobros y pagos fijos  Regularización, cierre y apertura de ejercicios de forma automática

103

A.2.3 Análisis de Riesgos

Riesgo Prioridad Importancia Probabilidad Plan de Contingencia Problemas de comunicación entre los sistemas Alta Baja Inconsistencia en los datos Alta Media Perdida de información Alta Baja A.3 Diseño

104

A.3.2 Posibles Ser vicios

NPC ERP WSP

ObtenerListaPaquetes ObtenerFacturas ObtenerPaquetesPorVencer ObtenerPaquete ObtenerCliente ObtenerParqueteDelCliente ObtenerCliente ObtenerClientes ObtenerPaquete

ObtenerCompra ObtenerPreciosPaquete ObtenerInformacionPaquete GenerarCuentaPorCobrar RenovarPaquete

GenerarFactura CrearCuenta GuardarCliente AsignarPaquete

A.4 Desarrollo

No se elaboraron actividades de esta disciplina en esta iteración

105

A.5.1 Bosquejo del Plan de Pr uebas

1. Pruebas Individuales por servicio. 2. Pruebas de Integración de los servicios.

3. Pruebas de funcionalidad con los casos de uso.

4. Pruebas de desempeño con los requerimientos no funcionales.

A.6 Implementación

No se elaboraron actividades de esta disciplina en esta iteración

A.7 Plan de la fase de Elaboración

106

Anexo B.- Segunda Iteración de la Fase de Concepción

A continuación se presentan todos los documentos y diagramas generados durante la segunda iteración de la fase de concepción.

B.1 Requerimientos.

B.1.1 Requer imientos funcionales expr esados como casos de uso

Caso de uso: Compra de paquete de alojamiento

Meta: Dar de alta la cuenta del cliente en el sistema WSP, asignarle los paquetes que compro y generarle su factura en el sistema ERP.

Resumen: Cuando un cliente compre un paquete de alojamiento, a través del sistema NPC, se debe de enviar la información necesaria al sistema ERP para hacer el registro contable y realizarle la factura al cliente, también se debe avisar al sistema WSP para dar de alta la cuenta del cliente y asignarle el espacio en el servidor que compro.

Prioridad: 1

Actores: Sistemas NPC, WSP y ERP, el cliente y el administrador del sistema. Precondiciones: El cliente ha hecho una compra en el sistema NPC.

Inicio: Se confirma el pago del cliente por el sistema NPC. Pasos:

1. Una vez que el sistema NPC confirme el pago debe enviar la información del cliente y de los paquetes comprados al sistema ERP.

2. Con el RFC del cliente el sistema ERP valida que el cliente no se haya dado de alta

Documento similar