UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el...

103
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE CONOCIMIENTOS DE CIENCIAS DEL MAR DEPARTAMENTO ACADÉMICO SISTEMAS COMPUTACIONALES TESIS ACTUALIZACIÓN Y MEJORA DE RENDIMIENTO EN SISTEMAS DE INTEGRACIÓN DE DATOS QUE COMO REQUISITO PARA OBTENER EL TÍTULO DE: LICENCIADO EN COMPUTACIÓN PRESENTA: RODOLFO GUTIÉRREZ ROJAS DIRECTOR: MSC. JESÚS ANDRÉS SANDOVAL BRINGAS LA PAZ, B.C.S., OCTUBRE 2014

Transcript of UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el...

Page 1: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

UNIVERSIDAD AUTÓNOMA DE BAJA

CALIFORNIA SUR

ÁREA DE CONOCIMIENTOS DE

CIENCIAS DEL MAR

DEPARTAMENTO ACADÉMICO

SISTEMAS COMPUTACIONALES

TESIS

ACTUALIZACIÓN Y MEJORA DE RENDIMIENTO EN

SISTEMAS DE INTEGRACIÓN DE DATOS

QUE COMO REQUISITO PARA OBTENER EL TÍTULO DE:

LICENCIADO EN COMPUTACIÓN

PRESENTA:

RODOLFO GUTIÉRREZ ROJAS

DIRECTOR:

MSC. JESÚS ANDRÉS SANDOVAL BRINGAS

LA PAZ, B.C.S., OCTUBRE 2014

Page 2: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 1 -

Page 3: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 2 -

Dedicatoria

Dedico el presente trabajo a mis padres Rodolfo Gutiérrez Avedoy y María

Rojas Cuesta, que son las personas que hicieron todo en la vida para que yo pudiera

lograr mis sueños, por motivarme y darme la mano cuando sentía que el camino se

terminaba, gracias a su sabiduría influyeron en mi la madurez para lograr los

objetivos en mi vida, que siempre estuvieron listas para brindarme toda su ayuda,

ahora me toca regresar un poco de todo lo inmenso que me han otorgado.

Con todo mi cariño esta tesis se las dedico Papá y Mamá, y a quienes siempre

estuvieron conmigo como padres también amados abuelos, es para ustedes esta

tesis en agradecimiento por todo su apoyo y amor.

Page 4: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 3 -

Agradecimientos

Un agradecimiento singular debo al profesor Jesús Andrés Sandoval Bringas

que, como Director de esta tesis, por su apoyo y amistad desde los inicios de la

carrera me ha orientado, apoyado y corregido durante todo mi ciclo de formación

con un interés y una entrega que han sobrepasado, por mucho, todas las

expectativas que, como alumno, deposité en su persona.

Agradezco también a mis amigos José Beltrán, Sergio García, Antonio Aguilar,

Cristian Almaraz, Héctor Aguilar, Alfredo Guzmán, Efraín Moreno, Francisco Medina,

Wendy Zavala, Daniela Gonzalez que han sido por mucho parte de mi crecimiento

profesional y personal y me han acompañado en las etapas más importantes y

cruciales de mi vida.

En especial agradezco a Rosalina Torres por su apoyo constante y haber sido

mi inspiración y motivación en el desarrollo de este trabajo.

Ya por último sin ser menos importantes quiero agradecer a todas las

personas que me ayudaron en la elaboración de este trabajo, desde la capacitación

en las tecnologías y metodologías utilizadas, en las cuales se basa la tesis, así como

al extenso grupo de grandes maestros que han formado parte de mi educación

desde el inicio de la carrera hasta la fecha que sigo aprendiendo de ellos, han sido

una guía fundamental para la elaboración del presente documento.

Page 5: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 4 -

CONTENIDO

1. INFORMACIÓN DE LA EMPRESA .................................................................... - 8 -

2. ANTECEDENTES ............................................................................................. - 12 -

3. DESCRIPCIÓN DEL PROBLEMA ACTUAL. ................................................... - 15 -

4. SOLUCIÓN DEL PROBLEMA. ......................................................................... - 17 -

5. CALENDARIO DE ACTIVIDADES PARA LA ACTUALIZACIÓN A WEBMETHODS .................................................................................................... - 21 -

5.1 ALCANCE ........................................................................................................- 22 - 5.2 ANÁLISIS/PLANEACIÓN .....................................................................................- 22 - 5.3 CONFIGURACIÓN .............................................................................................- 23 - 5.4 DESARROLLO ..................................................................................................- 24 - 5.5 UNIT TESTING .................................................................................................- 24 - 5.6 USER ACCEPTANCE TESTING (UAT) .................................................................- 24 - 5.7 RESOLUCIÓN DE ERRORES ...............................................................................- 25 - 5.8 ENTREGA E IMPLEMENTACIÓN ...........................................................................- 25 - 5.9 POST-PROJECT REVIEW ..................................................................................- 25 -

6. DETERMINACIÓN DE REQUERIMIENTOS. .................................................... - 26 -

6.1 FUNCIONAMIENTO DE LA INTEGRACIÓN POR CONNECT:DIRECT ............................- 28 - 6.1.1 Flujo de información del AS400 al SQLServer por medio de Connect:Direct ....................................................................................................................... - 29 - 6.1.2 Flujo de información del SQLServer al AS400 por Connect:Direct ....... - 32 -

6.2 FUNCIONAMIENTO DE LA INTEGRACIÓN POR WEBMETHODS .................................- 35 - 6.2.1 Flujo de información de AS400 a SQLServer por webMethods ............ - 39 - 6.2.2 Flujo de información de SQLServer a AS400 por webMethods ............ - 41 -

7. JUSTIFICACIÓN DEL PROYECTO. ................................................................. - 43 -

7.1 OBJETIVOS DEL NEGOCIO A ALTO NIVEL Y CRITERIOS DE ÉXITO ............................- 45 - 7.2 ENTREGABLES DEL PROYECTO A ALTO NIVEL .....................................................- 46 - 7.3 ALCANCE DEL PROYECTO .................................................................................- 47 - 7.4 SUPOSICIONES DEL PROYECTO ........................................................................- 48 - 7.5 RIESGOS INICIALES DEL PROYECTO Y ALTERNATIVAS DE SOLUCIÓN ......................- 49 -

8. ESTÁNDARES DE NOMENCLATURA PARA EL DESARROLLO EN WEBMETHODS. ................................................................................................... - 50 -

8.1 TERRITORIO ....................................................................................................- 51 - 8.2 BROKERS ........................................................................................................- 51 - 8.3 ADAPTADORES ................................................................................................- 52 - 8.4 PAQUETES ......................................................................................................- 53 - 8.5 CARPETAS Y SUBCARPETAS .............................................................................- 55 - 8.6 SERVICIOS ......................................................................................................- 58 - 8.7 VARIABLES ......................................................................................................- 59 -

Page 6: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 5 -

9. GUÍAS GENERALES DE DESARROLLO Y MEJORES PRÁCTICAS PARA EL DESARROLLO EN WEBMETHODS. ................................................................... - 60 -

10. ESTÁNDARES DE NOMENCLATURA PARA EL DESARROLLO EN SQL SERVER................................................................................................................ - 62 -

10.1 TABLAS .........................................................................................................- 62 - 10.2 CAMPOS .......................................................................................................- 65 - 10.3 RUTINAS DE OBJETOS ....................................................................................- 66 - 10.4 PARÁMETROS ................................................................................................- 71 - 10.4 VARIABLES ....................................................................................................- 71 -

11. GUÍAS GENERALES DE DESARROLLO Y MEJORES PRÁCTICAS PARA EL DESARROLLO SQL SERVER. ............................................................................ - 74 -

12.1 FASE 1 – FASE INICIAL ...................................................................................- 84 - 12.2 FASE 2 – FASE DE PLANEACIÓN ......................................................................- 86 - 12.3 FASE 3 – EJECUCIÓN .....................................................................................- 90 - 12.4 FASE 4 – CONTROL .......................................................................................- 91 - 12.5 FASE 5 – FASE DE ENTREGA O CIERRE DEL PROYECTO ....................................- 93 -

13. GLOSARIO ..................................................................................................... - 97 -

14. BIBLIOGRAFÍA ............................................................................................ - 101 -

Page 7: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 6 -

INDICE DE ILUSTRACIONES ILUSTRACIÓN 1: VISTA GENERAL DE LOS AMBIENTES ............................................................. - 20 - ILUSTRACIÓN 2: ESCALA DE TIEMPO PARA EL PROYECTO ....................................................... - 21 - ILUSTRACIÓN 3 : VISTA GENERAL DEL PROYECTO .................................................................. - 21 - ILUSTRACIÓN 4 : ALCANCE DEL PROYECTO ........................................................................... - 22 - ILUSTRACIÓN 5 : ANÁLISIS/PLANEACIÓN ............................................................................... - 22 - ILUSTRACIÓN 6 : CONFIGURACIÓN ....................................................................................... - 23 - ILUSTRACIÓN 7 : DESARROLLO ............................................................................................ - 24 - ILUSTRACIÓN 8 : UNIT TESTING ........................................................................................... - 24 - ILUSTRACIÓN 9 : USER ACCEPTANCE TESTING (UAT) ........................................................... - 24 - ILUSTRACIÓN 10 : RESOLUCIÓN DE ERRORES ....................................................................... - 25 - ILUSTRACIÓN 11 : ENTREGA E IMPLEMENTACIÓN .................................................................. - 25 - ILUSTRACIÓN 12 : POST-PROJECT REVIEW ........................................................................... - 25 - ILUSTRACIÓN 13 : FLUJO DE ENVÍO DE INFORMACIÓN POR CONNECT:DIRECT ......................... - 28 - ILUSTRACIÓN 14 : CARPETA DE PASO DEL UPLOADER (STAGE). ........................................ - 30 - ILUSTRACIÓN 15 : CARPETA DE FINALIZADO DEL UPLOADER. .............................................. - 31 - ILUSTRACIÓN 16 : CARPETA DEL DOWNLOADER. .............................................................. - 33 - ILUSTRACIÓN 17 : CARPETA DE FINALIZADO DEL DOWNLOADER ............................................. - 34 - ILUSTRACIÓN 18 : FLUJO DEL ENVÍO DE INFORMACIÓN POR WEBMETHODS ............................. - 38 - ILUSTRACIÓN 19 : EJEMPLO DE UN PAQUETE ........................................................................ - 54 - ILUSTRACIÓN 20 : EJEMPLO DE NOMENCLATURA DE CARPETA PARA SERVICIOS PUBSUB ......... - 56 - ILUSTRACIÓN 21 : EJEMPLO DE NOMENCLATURA DE CARPETA PARA UTILIDADES GENERALES ... - 57 - ILUSTRACIÓN 22 : EJEMPLO DE NOMENCLATURA EN WEBMETHODS........................................ - 58 - ILUSTRACIÓN 23 : EJEMPLO DE CODIFICACIÓN DE UN SERVICIO DE WEBMETHODS .................. - 61 - ILUSTRACIÓN 24 : EJEMPLO DE NOMENCLATURA DE TABLAS EN SQL SERVER ........................ - 64 - ILUSTRACIÓN 25 : EJEMPLO DE NOMENCLATURA PARA CAMPOS EN SQL SERVER ................... - 65 - ILUSTRACIÓN 26 : APROBACIÓN DE PROYECTO ..................................................................... - 89 -

Page 8: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 7 -

INDICE DE TABLAS

TABLA 1 : NOMBRES DE VARIABLES EN WEBMETHODS ..................................................- 59 - TABLA 2 : ACRÓNIMOS DE DOMINIOS EN AMWAY PARA DATOS .......................................- 64 - TABLA 3 : ACRÓNIMOS DE PROCESOS PARA NOMBRAR OBJETOS ...................................- 70 - TABLA 4 : NOMENCLATURA DE ACCIONES DE OBJETOS .................................................- 70 - TABLA 5 : NOMENCLATURA DE VARIABLES EN SQL SERVER .........................................- 73 -

Page 9: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 8 -

1. INFORMACIÓN DE LA EMPRESA

Amway es una compañía de marketing multinivel fundada en 1959 en Estados

Unidos por Jay Van Andel y Rich DeVos. [1] El marketing multinivel (venta directa por

redes interactivas) es una modalidad que permite organizar un negocio en el cual los

productos y servicios son ofrecidos para consumo final mediante una red de

empresarios Amway. Este enfoque elimina o descarta la típica cadena de

comercialización, es decir, a los intermediarios y los gastos relacionados, lo cual

hace posible abaratar el proceso que va desde la elaboración del producto (o

servicios) hasta la puesta en manos del consumidor final, permitiendo que quede

dinero en la llamada red de comercialización, o distribuido entre los empresarios (o

los distribuidores y contacto directo del cliente). Así se generan ingresos

directamente proporcionales al volumen de ventas de los ABOs y sus redes. El

precio final es, en la mayoría de los casos mucho más económico que los productos

de la competencia al eliminar intermediarios y gastos varios como son: los gastos

publicitarios que lo único que hacen es aumentar drásticamente el importe final de

los productos distribuidos por canales tradicionales y que son inútiles en los tiempos

que corren pudiendo utilizar las nuevas tecnologías para poder ofrecer y distribuir

eficazmente los productos y servicios que los consumidores demandan. [2]

Amway abrió su primera filial en América Latina en 1985 en Panamá, seguido por

Guatemala en 1987, México en 1990, Brasil en 1991, Argentina en 1993, Honduras,

El Salvador, Chile y Uruguay en 1995. Para el año de 1996 se abrieron los

mercados de Costa Rica y Colombia, y finalmente Venezuela en 1998, desde ese

año no se ha realizado más aperturas en América Latina. Amway tiene en el mundo

3 millones de empresarios independientes, y que lleva un 7% de crecimiento

promedio anual en los últimos años. [1]

El CLOS es un modelo de negocios que facilita la posibilidad de crecimiento y

desarrollo del negocio Amway en los doce mercados de América Latina en los que

Amway tiene presencia.

Page 10: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 9 -

El modelo de Negocio Amway consiste en 4 pasos: [3]

1. Consumir

Este paso consiste en probar personalmente los productos para

certificar su calidad, conocerlos. Se pueden comprar en inicio con hasta

el 30% de descuento al iniciar siendo un ABO.

2. Recomendar

Al conocer los productos se pueden recomendar y comercializar entre

conocidos, se puede ganar hasta un 43% en la comercialización.

3. Duplicar

Incrementar las ventas enseñando a otros a consumir, recomendar y

duplicar sus ventas instruyéndolos a hacer lo mismo que uno: consumir

y formar redes de negocio.

4. Capacitarse

En el Instituto de Negocios Amway se recibe apoyo a través de

entrenamientos presenciales y en línea, además se tiene acceso a

libros, audios, videos y folletos que ayudan a crecer el Negocio Amway.

Estos empresarios reciben ingresos de Amway de varias formas siendo cuatro las

básicas:

1. Pueden comprar los productos a precio de distribuidor y venderlos al

consumidor final por un precio mayor.

2. El proveedor de los productos ofrece compensaciones al empresario con base

a la venta de productos y servicios al consumidor.

3. El proveedor ofrece compensaciones por las ventas realizadas a través de la

red de empresarios Amway que éste haya registrado e instruido en el negocio.

4. Amway proporciona incentivos adicionales por metas logradas en

determinados periodos de tiempo.

Page 11: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 10 -

Principios

Los co-fundadores, Jay Van Andel y Rich DeVos, delinearon los estándares éticos y

operacionales que continúan guiando a la compañía y a sus empresarios en todas

sus actividades. Estos principios fundamentales están literalmente tallados en piedra

afuera del Centro Mundial de Operaciones: Libertad, Familia, Esperanza y

Recompensa

Amway siempre apoyará la libertad fundamental de las personas en determinar su

propio futuro, brindándoles el tiempo y recursos para proteger y nutrir a su familia.

Adicionalmente, siempre ofrecerá esperanza para los individuos y la oportunidad de

recibir recompensas en proporción con sus esfuerzos.

Visión

La visión es simple, trabajar todos los días para ayudar a la gente a vivir mejor. Esto

se logra al ayudar a las personas a descubrir su potencial y alcanzar sus metas al

ofrecer mejores productos y oportunidades para el futuro y a compartir

generosamente mostrando solidaridad con las personas y sus comunidades, además

de la preocupación por el medio ambiente.

Valores

Sociedad. Amway está construida sobre este concepto, comenzando con la sociedad

entre los fundadores. Siempre se trata de hacer lo que al final sea lo más importante

para los asociados, de forma que aumente la confianza.

Integridad. El éxito no se mide simplemente a base de términos económicos, sino a

base del respeto, la confianza y la credibilidad que se gana.

Page 12: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 11 -

Valor personal. Cada persona merece respeto y merece un trato justo y la

oportunidad de tener tanto éxito como le sea posible.

Logro. El enfoque que se tiene está en las mejoras, el progreso y los logros

continuos de las metas de cada individuo y grupo. Se fomenta la creatividad y la

innovación.

Responsabilidad Personal. Cada individuo es responsable de alcanzar sus metas

personales, al igual que dar el 100 por ciento de su esfuerzo para ayudar a alcanzar

las metas corporativas o del equipo, además se tiene la responsabilidad de ser

buenos ciudadanos en las comunidades donde vivimos y trabajamos.

Libre Empresa. Se ha probado claramente que el avance económico humano se

alcanza de mejor forma en una economía de libre mercado.

Page 13: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 12 -

2. ANTECEDENTES

Las grandes empresas hoy en día suelen hacer frente a dos retos. El primero es la

incapacidad de alinear a sus organizaciones para actuar rápidamente. El segundo es

la incapacidad de aplicar los cambios lo suficientemente rápido para satisfacer las

constantes variaciones en las condiciones del mercado. Ambas de estas limitaciones

son a menudo el resultado de restricciones en procesos y tecnología que se han

acumulado a lo largo de años de reaccionar ante el mercado y los competidores.

Los líderes empresariales se encuentran a menudo lidiando entre si al tratar de

compartir una estrategia de negocio sin un lenguaje común para impulsar la

implementación. Eso es una oportunidad donde los servicios de IT son de gran

ayuda. Por ejemplo, pensar en “servicios” permite un enfoque único - con la

capacidad de actualizarse y perfeccionarse dinámicamente con la demanda del

mercado, o con los cambios en la estrategia del negocio.

Al pensar en “servicios”, los líderes de negocios y los equipos de tecnología

colaboran para eliminar las barreras que se presentan en el camino de la innovación.

En lugar de comenzar con procesos pre-definidos y con tecnologías pre-

configuradas, se debe empezar con el pensamiento centrado en las necesidades de

capacidades del negocio - tanto de hoy y de mañana. [4]

En la actualidad las demandas de los negocios siguen desafiando las capacidades

de IT con una presión creciente por hacer “más, mejor y rápido”, con una velocidad

acorde a las presiones del mercado. Se requiere además coherencia en varios

canales e integración de procesos. Los accionistas exigen mejorar los retornos sobre

la inversión (ROI), la competencia presiona y se buscan reducir costos y aumentar la

eficiencia y eficacia. Hacia adelante el camino no sólo exige soluciones, también

requiere agilidad en tiempos de respuesta ante los cambios.

Page 14: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 13 -

Con la velocidad de cambios que ocurren con IT y las tendencias que se encuentran

a nivel mundial en las que se exigen más y mejores niveles de servicio, se ha

tornado crítico dentro de todo tipo de empresas (comercialización, entretenimiento,

entidades financieras, sitios de comercio electrónico) el poder contar con servicios de

IT más robustos, eficientes, rápidos y confiables que ofrezcan el entregar soluciones

a tiempo y cumpliendo con las exigencias que demandan los mercados. En Amway

Latinoamérica, la mayor parte de la información es gestionada a través de dos

plataformas de Bases de Datos, el núcleo de dicha información se encuentra

almacenada en servidores AS400 de IBM; y para el manejo o administración en

general del sitio web se hace por medio de SQL Server de Microsoft.

El AS400 está además compuesto por numerosos sistemas y subsistemas que

administran los módulos con los que se rige el negocio. A través de estos sistemas y

subsistemas se alimentan de información:

Distintos módulos dentro del mismo AS400.

El Global Data Warehouse (GDW).

La Base de Datos del eCommerce (SQL Server).

El módulo de premios, crecimiento y compensaciones (MAGIC)

El eCommerce utiliza bases de datos en SQL Server 2012; y para que pueda operar

correctamente requiere además de la información que se genera a través del sitio

alimentarse de la que se encuentra contenida en el AS400, por ejemplo la

actualización en inventarios, de precios e impuestos en los productos, los puntos

generados por los empresarios (cálculo de volumen de ventas del negocio), etc.

Además es necesario actualizar al AS400 con la información que es generada a

través del sitio web, como por ejemplo los nuevos clientes y empresarios que son

dados de alta o sufren alguna modificación en sus datos, como direcciones,

información personal, las órdenes que estos generan en línea, por mencionar solo

algunos.

Page 15: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 14 -

Dicha actualización de información entre ambos ambientes se hace por medio de

Connect:Direct y las distintas formas en que se integra actualmente la información

son las siguientes:

1. Del AS400 al SQL Server (por medio de Connect:Direct).

2. Del SQL Server al AS400 (por medio de Connect:Direct).

3. Del AS400 al AS400 (por medio de webMethods y WebSphere MQ).

4. Del AS400 a GDW (por medio de webMethods).

5. Del AS400 a MAGIC (por medio de webMethods).

6. Del SQL Server a proveedores de servicios externos (por medio de web

services).

Page 16: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 15 -

3. DESCRIPCIÓN DEL PROBLEMA ACTUAL.

Como ocurre en un gran número de organizaciones se cae en una zona de confort,

ya que mientras los procesos existentes devuelven un resultado esperado no importa

nada más mientras estos procesos cumplan con esa función, con lo que no se

contempla la oportunidad de actualizar dichos procesos, así como el atender un tema

importante existente en todo sistema de información que puede llegar a afectar con

el transcurso del tiempo cuando no se ejecuta un plan de acción apropiado, que es el

rendimiento de los sistemas. [5]

El resultado que trae un bajo rendimiento se refleja en la latencia disfuncional de la

integración de información, o que la información no se presente en los sistemas

destino a como es requerido por los procesos del negocio en un tiempo determinado,

que no se genere con un formato correcto para su operación, o lo que es más

común, que los procesos que manipulan esa información les tome más tiempo del

esperado y con esto se ven afectados otros sistemas y/o usuarios.

Un punto importante en el tema específico de Amway, es que es necesario que la

mayor parte de la información recolectada por cualquiera de los dos sistemas sea

sincronizada con el otro para mantener la integridad de datos entre ambos sistemas

para la correcta operación del negocio, con lo que es indispensable establecer un

canal de comunicación que permita tener la información actualizada de forma casi

inmediata entre ambas plataformas.

Esto se ejecuta con Connect:Direct, que al ser una herramienta considerada y

desarrollada para transmitir enormes paquetes de información por lotes y no para

realizar transacciones en línea (online), no es posible tener los datos actualizados de

forma inmediata (existe un retraso de al menos 5 minutos y hasta de 3 horas

dependiendo del tamaño del archivo generado), y esto también genera una carga

Page 17: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 16 -

excesiva de trabajo con los procesos en el sistema del AS400 al generar la

información afectando con esto al rendimiento del sistema.

El no tener la información en línea representa un enorme problema debido a que

existe información que es crítico sea actualizada casi de inmediato, por ejemplo el

continuo movimiento de cambios en el inventario de los productos, las órdenes que

son generadas en cualquiera de los sistemas, información fiscal actualizada de

clientes, por mencionar algunas. Por lo que la función principal de trabajar con lotes

de información no es la adecuada para el objetivo que persigue el negocio.

Con esto también brotan un par de problemas extras relacionados a la integración de

datos que no se habían contemplado. Primeramente son los problemas en el

rendimiento de los procesos que manejan las integraciones, provocados por un

crecimiento inmenso no planeado y en segundo, los que son originados debido a que

se realizó un mal diseño en la arquitectura del manejo de la información.

El inmenso crecimiento de información en los sistemas de origen y/o destino

ocasionan actualmente problemas en el rendimiento de los procesos existentes y en

el sistema de integración de datos cuando necesitan navegar entre los datos

almacenados, ya sea para consultar o para realizar operaciones sobre ellos.

Es decir, si por ejemplo cuando solamente se consta de 10,000 registros y no existe

un problema con el rendimiento, al llegar a incrementarse a 1, 000,000 de registros,

las consultas y operaciones alcanzan mayores tiempos si no existe una arquitectura

apropiada en los procesos así como en la estructura del sistema. Por lo que no se

obtiene la información requerida oportunamente y no es transmitida a tiempo, o el

que ya se tiene la información integrada pero los procesos que hacen uso de ella

requieren demasiado tiempo en entregar el resultado deseado.

Page 18: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 17 -

4. SOLUCIÓN DEL PROBLEMA.

La solución propuesta consta de dos puntos, sin seguir un orden en particular

(debido a que se realizarán de manera paralela), es el implementar una herramienta

que nos permita integrar la información de una forma más eficaz, efectiva, rápida y

segura; y mejorar el rendimiento de los procesos existentes que se ejecutan sobre la

base de datos del eCommerce.

Para la herramienta de integración se debe contemplar la que permita manejar las

transacciones en línea, que no tenga inconvenientes de compatibilidad entre las

plataformas de AS400 y SQL Server, que se ajuste a los lineamientos de la

organización, que sea eficaz y efectiva, además de confiable y que otorgue un

soporte técnico robusto en cualquier momento.

Para esto se seleccionó webMethods de Software AG, la cual se especializa en la

integración de procesos de negocios, es una herramienta que ya es utilizada

actualmente por otras filiales de Amway en el mundo, por lo que ya hay gente

capacitada en su manejo en el corporativo de Amway en Michigan.

Esta herramienta proporciona una plataforma integrada que incluye ambos servicios

de arquitectura orientada a servicios (SOA) y administración de procesos de

negocios (BPM); y actualmente existen diversos casos de éxito al haber sido

implementada en otras grandes organizaciones como por ejemplo Dell, Coca-Cola,

MAPFRE, FedEx, Citi Bank, FEMSA, por mencionar solamente algunas de ellas. [6]

Para poder implementarla en Amway Latinoamérica se generarán ambientes de

desarrollo y pruebas en AS400, SQL Server y webMethods.

De los lados de AS400 y SQL Server se va a crear una réplica de estructura y datos

de los ambientes actuales de Producción (PD). Esta se promoverá a los nuevos

servidores de desarrollo (DEV) y pruebas (QA) de SQL Server, el AS400 utilizará el

Page 19: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 18 -

mismo server global que maneja actualmente, pero se crearán nuevos ambientes de

DEV y QA dentro del servidor; en el caso de webMethods se comprarán servidores

UNIX para todos los ambientes (DEV, QA y PD).

Como primer etapa se elaborará el plan del proyecto que detallará cada una de las

fases, esto nos permitirá establecer el tiempo, la capacidad y los recursos necesarios

que deberán ser asignados en cada una de las fases que componen el proyecto final.

[7]

La programación de código de los servicios/interfaces en webMethods, de

Tablas/Stored Procedures en SQL Server y de Programas/Triggers en AS400 se

desarrollará primero en el ambiente de DEV de cada uno de ellos, y se efectuarán

pruebas por cada uno de los involucrados que trabajaron el desarrollo en cada parte.

La etapa de documentación comprenderá la creación de manuales (estándares,

mejores prácticas a seguir en el desarrollo, convenciones, nomenclaturas, políticas,

protocolos), los requerimientos de la integraciones (documentos IDEA, formatos de

solicitud de integraciones, información general de archivos origen, destino, servicios

de integración), definición de objetos en Base de Datos (definición de estructuras de

tablas, sinónimos, vistas, Stored Procedures y Jobs, arquitectura en cada uno de los

ambientes), pruebas (documentos UAT, TAT, regresión, cartas de salida, cadencia y

defectos) y por último la inscripción al reléase (evidencias, aprobaciones y PCR de

ser necesario).

En la etapa de desarrollo se crearán ambientes exclusivos para este tipo de actividad

en los nuevos servidores; y existirán para los 3 sistemas (SQL Server, AS/400 y

webMethods). Los desarrolladores de cada sistema utilizarán sus equipos locales,

con ellos se conectarán a los servidores por medio de clientes proporcionados por

cada aplicativo en los que tendrán permisos generales para poder trabajar con los

objetos.

Page 20: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 19 -

Cuando se realice un cambio, cada desarrollador será responsable de efectuar

pruebas unitarias de sus cambios. Todo cambio deberá ser registrado en el TFS, el

cual nos permitirá llevar una bitácora de los cambios y tener un control de las

versiones que existan de cada objeto.

Al confirmar que funciona correctamente se procederá a registrar el cambio creando

un incidente (INC) en REMEDY, con esto se solicita que sean revisados y aprobados

los cambios por gente de corporativo, ya aprobados se migran los cambios al

ambiente de QA. Únicamente el administrador de cada sistema puede promover los

cambios; no deberán ser aprobados y en consecuencia migrados cuando no cuenten

con la debida documentación y no se le haya asignado un INC.

Una vez que los cambios se muevan al ambiente de QA, la gente encargada del

desarrollo en conjunto con los usuarios del negocio tendrá un periodo de realización

de pruebas en el que deberán validar que la información se encuentre sincronizada

entre ambas plataformas y los cambios funcionen correctamente.

Esta fase también contiene la generación de la documentación en los resultados de

pruebas de rendimiento, técnicas y de usuario, esto se realiza con toda interfaz

desarrollada y se deberán colocar comentarios con todos los escenarios que se

tomaron en cuenta para llevar a cabo las pruebas (exitosos y fallidos).

Con esta documentación se podrán conseguir las aprobaciones necesarias por parte

del negocio que serán presentadas en el Comité de Cambios (CAB). Con ellos se

certificará que los cambios fueron exitosos y se mostrarán en el CAB para que se

pueda dar la aprobación final del proyecto y a continuación establecer una fecha en

la que puedan ser liberados en el ambiente de Producción.

Además de la implementación de nuevos desarrollos y de la actualización o mejora

de los procesos existentes, se establecerán dinámicas y actividades de monitoreo

constantes. [8] Esto nos permitirá analizar la actividad de los procesos en ejecución

Page 21: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 20 -

para efecto de realizar una mejora continua como parte final del ciclo de vida del

proyecto, esto nos dará la pauta para la toma de decisiones, a trabajar de una

manera proactiva y no reactiva al reaccionar con mayor tiempo de anticipación ante

cualquier eventualidad que se pudiera presentar relacionada a estos temas.

Ilustración 1: Vista general de los ambientes

Page 22: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 21 -

5. CALENDARIO DE ACTIVIDADES PARA LA ACTUALIZACIÓN A WEBMETHODS

Ilustración 2: Escala de tiempo para el proyecto

Ilustración 3 : Vista general del proyecto

Page 23: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 22 -

5.1 Alcance

Ilustración 4 : Alcance del proyecto

5.2 Análisis/Planeación

Ilustración 5 : Análisis/Planeación

Page 24: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 23 -

5.3 Configuración

Ilustración 6 : Configuración

Page 25: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 24 -

5.4 Desarrollo

Ilustración 7 : Desarrollo

5.5 Unit Testing

Ilustración 8 : Unit Testing

5.6 User Acceptance Testing (UAT)

Ilustración 9 : User Acceptance Testing (UAT)

Page 26: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 25 -

5.7 Resolución de Errores

Ilustración 10 : Resolución de errores

5.8 Entrega e Implementación

Ilustración 11 : Entrega e implementación

5.9 Post-Project Review

Ilustración 12 : Post-project Review

Page 27: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 26 -

6. DETERMINACIÓN DE REQUERIMIENTOS.

En los sistemas de AS/400 y Web hay información almacenada que es similar, pero

difiere la manera en que es generada y de la fuente de la que proviene. Por citar un

ejemplo, en el AS/400 se genera información cuando es capturada desde una

terminal de usuario en los AEC (tiendas y centros de atención abiertos al público),

por usuarios del negocio o cuando el empresario habla directamente al Centro de

Atención Telefónica.

Mientras que en Web se genera la información exclusivamente por medio de las

operaciones realizadas en el sitio, como el registro de nuevos empresarios, órdenes

capturadas en línea o cambios en los datos personales.

La información de Amway está contenida en módulos que administran los siguientes

sistemas:

DMS – Distributor Management System

En este sistema se almacenan los datos personales de clientes y empresarios

tales como nombres, números telefónicos de casa, oficina y celular, correos

electrónicos, direcciones para entrega de pedidos, datos fiscales e información

crediticia, puntos personales, puntos grupales del negocio, volumen de ventas

en el negocio, balance en su saldo, etc.

OMS – Order Management System

Todo lo relacionado a las Órdenes que fueron generadas sin importar el medio

de captura es almacenado en este sistema, como órdenes de Internet,

telefónicas, las realizadas en las tiendas, las de empleados. Además

almacena detalles de paquetes y promociones, información de pago de las

órdenes, los métodos de pago disponibles en cada región, financiamientos,

eventos, etc.

Page 28: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 27 -

IMS – Inventory Management System

La información correspondiente a los productos está almacenada en este

sistema. Aquí se tiene el inventario en existencia de las distintas bodegas, el

detalle de los productos, su descripción, el inventario total disponible en el

AS400 y que es enviado a web para ser mostrado (en web solo se muestra el

70% del inventario que hay disponible, esto para no ocupar todo el inventario

en caso que se realicen órdenes telefónicas), su precio, información referente

a impuestos, peso, clase, etc.

LMS – Learning Management System

Este sistema tiene almacenada la información de los materiales de

aprendizaje, así como el progreso que tiene cada uno de los usuarios en esos

cursos. Contiene datos de los cursos que han tomado los empresarios para

aprender sobre el negocio, calificaciones de los cursos o materiales de apoyo

solo, los cursos que toman los empleados que pueden aplicar para su plan de

desarrollo individual (PDI), por mencionar algunos ejemplos.

RMS – Remittance Management System

Aquí se llevan a cabo los cálculos que se realizan por la actividad del negocio

de los empresarios. Son los bonos que han ganado, niveles a los que han

calificado, cálculo de los puntos personales y grupales del negocio obtenidos

por compras/ventas propias (venta directa o venta al por menor [retail]) o las

operaciones hechas por sus líneas de patrocinio (multinivel).

TMS – Transportation Management System

Almacena la información de los transportistas, empresas de mensajería y

paquetería de toda la región de Latinoamérica, lo que permite establecer

tiempos de entrega y ofrecer el servicio de rastreo de órdenes.

Page 29: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 28 -

6.1 Funcionamiento de la integración por Connect:Direct

Connect:Direct es una herramienta punto-a-punto y su principal función es transferir

archivos entre computadoras centrales (HUB) y sistemas de rango medio (en este

caso el servidor del AS400 y el SQL Server para web) y opera utilizando el protocolo

FTP. [9]

En Amway es utilizado para mover volúmenes de información de tamaño variable

entre el AS400 y el SQL Server mediante archivos de texto.

Ilustración 13 : Flujo de envío de información por Connect:Direct

Page 30: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 29 -

6.1.1 Flujo de información del AS400 al SQLServer por medio de Connect:Direct

La forma en que fluye la información del AS400 al SQL Server a través del Connect:

Direct se ejecuta del siguiente modo:

1. Un proceso se crea y se corre en el AS400 (JOB), el cual genera un archivo

con la información requerida. Hay 2 tipos de archivos pueden generarse, un

Maestro (p. ej. EBUINFM.txt), el cual contiene toda la información del archivo

o un Detalle (p. ej. EBUINFD.txt), que almacena únicamente los registros que

fueron modificados o insertados en el archivo. Se diferencian por la letra que

llevan al final (M por Maestro y D por Detalle).

2. El Connect: Direct mantiene corriendo procesos que revisan si es generado un

nuevo archivo en el AS400 cada 5 minutos.

3. El Connect: Direct lo(s) toma e inserta en un Servidor de Paso de Archivos

(STAGE), colocándolo(s) en la carpeta del país que le corresponde y existe

una carpeta extra además la cual administra la información consolidada de

todos los mercados. En este paso son insertados los archivos que se corren

en los procesos de cada 3 horas en ese servidor.

4. Cada 3 horas se corre un JOB sobre el servidor que ejecuta el proceso del

UPLOADER, este es un proceso que trabaja con la información que es

enviada desde el AS400 para ser insertada en web y fue creado por el

negocio, se encuentra desarrollado en VB.NET y corre sobre cada una de las

carpetas principales de cada mercado revisando si existen archivos

pendientes de procesarse.

Page 31: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 30 -

5. En caso de existir archivos pendientes de procesar se mueven a una carpeta

de paso (STAGGING) y se eliminan de la carpeta principal, en este paso el

UPLOADER determina por medio de un diccionario de datos si es un tipo de

archivo maestro o detalle.

Ilustración 14 : Carpeta de paso del UPLOADER (STAGE).

o Para los Maestro, se corre un DTS que limpia la tabla destino y por

medio de un diccionario de datos se efectúa un mapeo que inserta la

información del archivo de texto en la tabla de SQL.

o En el caso para los Detalle, se ejecuta un Procedimiento Almacenado

generado por el UPLOADER en la Base de Datos, y realiza la

operación de insertar el registro en caso de no existir el en la tabla o

modificarlo en caso que exista.

6. Se llenan 2 archivos que almacenan la actividad (LOGs) del UPLOADER.

o Si ocurre un error al momento de querer procesar la información en el

destino, el sistema captura el detalle en un Log de Errores, con la

fecha, hora, nombre del archivo, descripción detallada del error y es

enviado un correo electrónico junto con una alerta al celular de las

personas que están encargadas del monitoreo y de darle

mantenimiento al sistema.

Page 32: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 31 -

o Si la transacción es exitosa, el sistema captura el detalle en un Log de

Actividades, guardando fecha, hora y nombre del archivo; y mueve los

archivos de texto de la carpeta de paso a la de finalizado con un prefijo

con fecha y hora de procesamiento. (p. ej.

20120404_121518_EBUINFM.txt).

Ilustración 15 : Carpeta de finalizado del UPLOADER.

Page 33: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 32 -

6.1.2 Flujo de información del SQLServer al AS400 por Connect:Direct

Para el flujo del SQL Server al AS400 los pasos son:

1. Las tablas de trabajo del SQL Server en las que se quiere enviar la

información al AS400 contienen desencadenadores (TRIGGERS), que

insertan la información en las tablas de paso (IDDT – Internet Data

Downloader Transfer) una vez que la aplicación inserta la información sobre

las tablas de trabajo (por ejemplo al momento de finalizar el registro de un

nuevo empresario se dispara el desencadenador una vez que es confirmado

ese registro y está listo para enviarse al AS400).

2. Estas tablas de paso también están especificadas en el diccionario de datos, y

se registra información como nombre de la tabla de paso, nombre del archivo

de texto a generarse, procedimiento almacenado que mueve la información

entre la tabla de trabajo y la de paso, número del contador de la última

transacción enviada (para control interno del sistema), mapeo entre campos,

longitud y tipo de dato de cada campo, las posiciones en las que se debe

insertar la información de cada campo en el archivo de texto, etc.

3. El Connect: Direct mantiene corriendo cada 5 minutos un proceso que manda

llamar al DOWNLOADER examinando las tablas de paso, se compara el

último número de transacción (tabla de diccionario de datos) y con el último

número de transacción generado (tabla de paso), si este último es mayor al

que existe en el diccionario de datos, el DOWNLOADER selecciona los

registros del el último número de transacción del diccionario de datos al último

número de transacción existente en la tabla de paso.

4. El DOWNLOADER después se encarga de generar el(los) archivo(s) de texto

colocando el prefijo MEG (p. ej. MEGREGIS.txt) que se va(n) a enviar al

AS400, y lo(s) genera en el Servidor de Archivos de Paso, insertándolo(s) en

la carpeta del país que le corresponde(n).

Page 34: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 33 -

Ilustración 16 : Carpeta del DOWNLOADER.

5. Cuando se genera el archivo en esta carpeta por default se indica que está

como pendiente de procesarse. El Connect: Direct mantiene corriendo un

proceso cada 5 minutos en busca de nuevos archivos que estén pendientes

de procesarse.

6. Posteriormente se van tomando de forma secuencial cada uno de estos

archivos e intenta insertarlos directamente en el AS400. Cuando se van

procesando cada uno de ellos, sus correspondientes archivos se van

moviendo a la carpeta de finalizado, y se le coloca a cada uno de ellos un

prefijo que contiene la fecha y hora de procesamiento (p. ej.

20120405_091624_MEGREGIS.txt).

7. El AS400 crea y corre un JOB que procesa la información contenida en el o

los archivo(s) de texto y la inserta en un archivo de paso en su lado, esto para

validar primero la información recibida desde web antes de poder insertarla en

el archivo final o de trabajo del AS400.

8. Se llenan 2 archivos que almacenan la actividad (LOGs) del DOWNLOADER.

o Si ocurre algún error, se llena el archivo de Log de Errores, y se

especifica la fecha, la hora, nombre del archivo con el error, una

pequeña descripción que mencione el detalle del error que ocurrió, se

envían un correo electrónico y una alerta al celular de las personas

Page 35: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 34 -

encargadas de monitorear y darle mantenimiento al sistema para que

puedan darle seguimiento.

o Si es exitosa, se llena el log de actividades indicando que se realizó

correctamente la carga y se agrega la fecha, hora y nombre del archivo.

Ilustración 17 : Carpeta de finalizado del Downloader

Page 36: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 35 -

6.2 Funcionamiento de la integración por webMethods

WebMethods es un software empresarial enfocado a la integración

de aplicaciones, de procesos de negocios y de reglas B2B (Business to Business) y

que proporciona una plataforma integrada que incluye tanto una arquitectura

orientada a servicios (SOA) como un administrador de procesos de negocios (BPM)

e integración con la nube. [6]

Este sistema se centra en los problemas que confrontan los negocios con respecto al

manejo de la información almacenada en los distintos módulos, sistemas y

subsistemas por los que están conformados; permitiéndoles aprovechar sus

existentes recursos de IT, lo cual lleva a una mayor velocidad, seguridad y eficiencia

en la implementación.

El poder optimizar la eficiencia en los procesos de negocios internos y externos lleva

a logar una mayor productividad y eficacia en dichos procesos de negocios y obtener

un ROI (Return On Investment – Retornos de la Inversión) más considerable para la

organización.

WebMethods soporta la creación e integración de distintos servicios, el mapeo de

datos en una gran variedad de formatos así como canales de comunicación entre

diversos sistemas. Es un servidor de integraciones (IS – Integration Server)

multiplataforma basado en Java por lo que soporta Java, C/C++ como lenguajes de

programación para desarrollar servicios, además se cuenta con un lenguaje gráfico

de programación llamado FLOW.

Page 37: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 36 -

Lo que nos permite hacer esta herramienta: [10]

Integra lo que sea con todo

o Conecta cualquier sistema o repositorio de aplicaciones con una

facilidad similar a plug and play.

o Compartir información entre sistemas

o Enlaza dispositivos móviles y aplicaciones SaaS (Software as a

Service) de forma segura entre los sistemas empresariales

o Utiliza una única puerta de enlace B2B (Business To Business) para

enlazar a todos los socios comerciales

o Amplifica la información y las aplicaciones a los empleados, clientes y

socios en cualquier lugar

Innovar más rápidamente

o Re-utiliza servicios y sistemas existentes para acelerar los tiempos para

su comercialización

o Se adapta rápidamente a las nuevas y cambiantes necesidades del

negocio (como las nuevas regulaciones, fusiones, aplicaciones móviles

e integración con la nube)

o Aprovecha las oportunidades móviles que se ofrecen a través de la

infraestructura existente

Reduce costos y riesgos

o Re-utiliza los activos existentes a menor costo total de propiedad

o No más costos y complejidad de integraciones punto a punto

o Se pueden eliminar los sistemas redundantes o innecesarios de las

empresas adquiridas

o Mejora la gestión de riesgos y cumplimiento normativo con una versión

de datos compartidos

Page 38: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 37 -

Algunos de los beneficios clave que se obtienen son: [10]

Conectividad con el repositorio de aplicaciones; las aplicaciones personalizadas,

empaquetadas, centralizadas y bases de datos pueden interactuar e intercambiar

información fácilmente.

Reduce los costos de mantenimiento; reduce el tiempo y costo de integrar

nuevas aplicaciones eliminando complejas conexiones punto a punto.

Mejora los tiempos para comercialización de las aplicaciones; re-utiliza los activos

existentes y construye nuevas aplicaciones más rápidamente sin comprometer la

calidad.

Mueve datos grandes; mantiene una base de datos en memoria autorizada que

combina información de distintos puntos de origen al tiempo que garantiza su

fidelidad.

Habilita aplicaciones móviles empresariales; aporta información del motor y

capacidades para alimentar las aplicaciones móviles empresariales de una

manera segura y bien administrada.

Mejora las relaciones con los socios; aborda socios más rápidamente y reduce los

errores.

Desbloquea el valor de negocio de información única; revela las APIs a terceros

desarrolladores para construir nuevas aplicaciones y con esto llegar a nuevos

clientes.

Garantiza la calidad de los datos de la empresa; asegura una versión única y de

referencia de datos consumidos por las aplicaciones del negocio.

Se alinean las operaciones de IT con los imperativos del negocio, gracias a la

interoperabilidad del modelo de procesos.

Se simplifican los procesos de distribución.

Maneja la Arquitectura orientada a web (WOA) y utiliza los servicios de estilo

REST que permiten crear rápidamente aplicaciones web híbridas (Mashups), web

y móviles.

Page 39: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 38 -

Maneja una infraestructura ESB (Bus de Servicios de Negocios) que permite una

completa integración empresarial, y al estar basado en estándares es compatible

con todas las tecnologías.

Se garantiza que sea cual sea el volumen de mensajes, estos serán distribuidos

correctamente por el ESB y permitirá el intercambio de mensajes en tiempo real

entre las aplicaciones.

Ilustración 18 : Flujo del envío de información por webMethods

Page 40: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 39 -

6.2.1 Flujo de información de AS400 a SQLServer por webMethods

El proceso para enviar información del AS400 al SQL Server utilizando webMethods

es el siguiente:

1. Para los archivos del AS400 contemplados a enviarse a través de

webMethods les son programados desencadenadores (TRIGGERS), con ellos

al detectar un cambio en la información del archivo se inserta el registro

modificado o creado en un archivo que se denomina tabla de paso o buffer.

2. En el caso exclusivo de Latinoamérica se desarrollaron solo 3 tipos de

archivos para buffer, uno que alberga información sobre OMS, otro para DMS

y el último para IMS, dependiendo de la biblioteca en la que se encuentra el

archivo modificado es donde se inserta la información en el buffer, cada

registro enviado al buffer se inserta con un valor de status 1, que indica que

está pendiente de procesarse.

3. webMethods mantiene servicios (SCHEDULED TASKS) ejecutándose cada

10, 15 y 30 segundos (son 3 servicios) sobre cada archivo de buffer en el

AS400 que buscan registros con un valor de status 1.

4. Cada uno de esos servicios obtiene 75 de los registros e inserta en el

BROKER de webMethods (esta acción de inserción se le denomina

PUBLISHED) como un documento UDM (nombredelarchivoUDM, por ejemplo

promotionsUDM, que almacena la información relacionada a las promociones

del sitio).

5. En el broker se crea un trigger definido para cada UDM, el cual desencadena

un nuevo servicio encargado de insertar la información en la tabla de paso

correspondiente en el SQL Server (a esta acción de inserción se le denomina

SUBSCRIBED) por medio de un ADAPTER SERVICE usando un controlador

JDBC que debe actualizarse con cada versión nueva que salga de SQL

Server (actualmente está siendo utilizada la versión 2008).

Page 41: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 40 -

6. Durante este proceso de inserción se pueden especificar transformaciones de

datos en el mapeo de la información (p. ej. Convertir fecha de AS400 a

formato de SQL Server 1110527 -> 2011-05-27).

Page 42: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 41 -

6.2.2 Flujo de información de SQLServer a AS400 por webMethods

El proceso inverso de enviar información de Web al AS400 se detalla a continuación:

En las tablas de paso de SQL Server que almacenan la información a enviarse

a AS400, webMethods crea en ellas un trigger que copia los datos recién

insertados en otra tabla que también es creada por webMethods al momento

de darse de alta el trigger denominada tabla de notificaciones, que es en sí

solamente una tabla de paso de datos temporal y sirve de control para la

transferencia de información entre los dos sistemas.

webMethods mantiene ejecutando un servicio cada minuto en busca de nueva

información en las tablas de notificaciones, en caso de existir datos en la tabla

el servicio adquieres esa información y la inserta en el BROKER mapeando

los campos en el documento UDM que le corresponde al tiempo que va

eliminando esos registros de las tablas de notificaciones (así se detecta si hay

información pendiente de enviarse, ya que si existe información en la tabla de

notificaciones indica que está pendiente por tomarse y lista para ser enviada).

En el BROKER se dan de alta Triggers para cada tipo de documento UDM

que contienen filtros que indican condiciones a ser consideradas para su

procesamiento (por ejemplo que solo procese información relacionada a un

mercado, o que no contemple datos de pruebas), y cada uno de ellos dispara

un nuevo servicio encargado de mandar llamar un programa del AS400 (API),

en el cual se inserta la información mapeando los campos necesarios entre el

UDM y la API.

Ya que la información es insertada en la API se corren procesos propios del

AS400, para validarla y realizar las transformaciones de datos

correspondientes en caso de ser necesario para que pueda ser insertada en el

archivo final o de trabajo la información recibida.

Page 43: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 42 -

Ya sea que la información haya sido insertada correctamente en la API o que

haya ocurrido algún problema durante ese proceso, la API regresa un valor a

webMethods para indicarle si fue exitosa o no la operación (1 si se insertó

correctamente y 0 si ocurrió algún error).

Page 44: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 43 -

7. JUSTIFICACIÓN DEL PROYECTO.

Toda organización debe mantenerse a la vanguardia en sus diferentes campos de

acción, y para poder realizar esto deben contar con lo último en sistemas de

información que puedan cubrir las necesidades tanto de su entorno interior como el

exterior. [11]

El rediseño de la organización basado en la adquisición de nuevas tecnologías que

den paso a un nuevo sistema de información no es tarea fácil, ya que se deben

tomar en cuenta muchos aspectos de la organización (recursos humanos,

económicos y operativos) y se debe seguir un proceso previamente definido para

poder hacer que este rediseño logre ser un éxito. [12]

Para realizar el rediseño de los sistemas de información en la organización se hizo

un análisis de las necesidades, se utilizaron dos metodologías importantes para

determinar las necesidades de información esenciales en la totalidad de la

organización:

El análisis de la empresa, que examina a toda la organización en términos de

sus unidades, funciones, procesos y elementos de información.

El análisis de los factores críticos para el éxito, este se basa en la premisa de

que las necesidades de información de la organización están determinadas

por un número reducido de factores críticos para el éxito.

Los sistemas que actualmente administran esa información deben considerar ciertos

puntos necesarios para el correcto funcionamiento, disponibilidad, confiabilidad y

seguridad con los servicios que se brindan para la oportunidad de negocio que se les

ofrece a los empresarios.

Page 45: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 44 -

Existen cuatro clases de cambio estructural en las organizaciones que se pueden

presentar en el rediseño de los sistemas de información: [11]

1. Automatización; la forma más común de cambio en la organización que la

tecnología de información hace posible, que consiste en el uso de sistemas de

información con el fin de acelerar el desempeño con las tareas existentes.

2. Racionalización; consiste en la agilización de los procedimientos operativos

estándar eliminando cuellos de botella obvios, de modo que la automatización

haga más eficientes dichos procedimientos.

3. Reingeniería; que implica rediseñar radicalmente el flujo de trabajo y los

procesos de negocio que se siguen para brindar productos y servicios, con el

objeto de reducir radicalmente los costos del negocio.

4. Cambios de paradigma; que es la forma más radical de cambio en los

negocios e implica una re-conceptualización de la naturaleza del negocio y la

organización misma.

Teniendo en mente esas cuatro clases de cambio los puntos que se consideran para

este proyecto es mantener la consistencia de los datos que se manejan entre ambos

sistemas, que esos datos sean entregados en un periodo de tiempo establecido que

permita trabajar de forma inmediata con esa información y continuar con la operación

necesaria en el negocio.

Además de establecer políticas de desarrollo y seguridad, que aparte de ser

establecidas en la creación de nuevos procesos servirán para mejorar procesos

existentes, con esto se tendrán sistemas más eficaces y eficientes sin poner en

riesgo la funcionalidad y operación de los sistemas que manejan la información.

Page 46: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 45 -

7.1 Objetivos del negocio a alto nivel y criterios de éxito

Los objetivos a alto nivel para este proyecto son:

Instalar y configurar una infraestructura de webMethods 8 en paralelo a

nuevos ambientes de bases de datos para poder lograr la mejora, al final

retirar los demás ambientes de integración que usan Connect:Direct.

Efectuar pruebas unitarias, de regresión, de usuario y de rendimiento para las

integraciones realizadas con webMethods 8 y en los procesos que serán

utilizados en las bases de datos.

Establecer políticas y documentación que marcan la pauta a desarrollar con la

base de datos y webMethods 8 para entregar sistemas más robustos y

eficientes.

Realizar mejoras a los procesos existentes en las Bases de Datos de SQL

Server y aplicar tales mejoras a los procesos que vayan a desarrollarse en la

implementación de este proyecto.

Dar un entrenamiento al resto del equipo de desarrollo y soporte con el

establecimiento de los nuevos lineamientos de desarrollo que serán creados

como manuales de desarrollo y mejores prácticas.

Establecer equipos que se harán responsables en los procesos de monitoreo

y manejo de incidentes que serán adicionados.

Page 47: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 46 -

7.2 Entregables del proyecto a Alto Nivel

Los entregables específicos incluyen:

Un extenso y detallado plan de análisis, desarrollo e implementación que

deberá cumplirse en las fechas establecidas para poder asegurar una entrega

a tiempo que no impacte con las necesidades del negocio y con proyectos que

estén actualmente en ejecución.

Creación de ambientes de Desarrollo, Pruebas y Producción para la

implementación de webMethods 8 y las modificaciones necesarias que tienen

la finalidad de mejorar el rendimiento de los procesos actuales y nuevos que

son manipulados por el SQL Server.

Infraestructura necesaria para poder trabajar en paralelo con la

implementación de la nueva plataforma de webMethods 8 y la eliminación de

la actual plataforma de Connect:Direct.

Un BROKER y un grupo de servicios de transformación y manejo de datos de

webMethods 8 optimizados que manejen el flujo de grandes paquetes de

información al mismo tiempo y que serán implementado para todos los

mercados en los sitios de la región.

Procesos de monitoreo en el funcionamiento de todos los ambientes en los

que será implementada esta mejora, que permitirán obtener estadísticas del

uso y el rendimiento de cada uno de los sistemas, con eso podremos detectar

donde hay áreas de oportunidad de mejora continua, poder anticipar posibles

errores reduciendo los posibles riesgos que se presenten en el futuro, lo que

será un sistema proactivo y no reactivo.

Documentación detallada con las nuevas prácticas de desarrollo a ser

utilizadas que permiten tener sistemas más seguros, eficientes y eficaces.

Page 48: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 47 -

7.3 Alcance del Proyecto

Lo que incluirá la implementación de este proyecto:

Construir y configurar ambientes físicos de Desarrollo, QA y Producción para

webMethods 8 y de SQL Server 2008.

Instalación de los productos y servicios (Broker, webMethods 8, Nimbus,

Database Engine Tuning Advisor, etc).

Incrementar el rendimiento en los procesos clave que son manejados en el

sitio, priorizando cada uno de estos de acuerdo a su funcionalidad y uso,

además del impacto que se puede generar al aplicar estos cambios.

Unidades de prueba del código para los ambientes de desarrollo y QA.

Pruebas de regresión de código en el ambiente de QA.

Pruebas de usuario.

Pruebas de rendimiento para webMethods y SQL Server 2008.

Soporte post implementación.

Entrenamiento para el desarrollo con los nuevos lineamientos, soporte en

producción y en todos los ambientes en cada una de las afiliadas,

coordinadores de integración y contactos clave en cada uno de los mercados.

Lo que excluye este proyecto:

Todo cambio de funcionalidad en base de datos o en integración que no haya

sido específicamente requerido y determinado para la transición de

webMethods 8 y el mejoramiento del rendimiento de los procesos de base de

datos, así como del resto de los componentes.

Page 49: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 48 -

7.4 Suposiciones del Proyecto

No será necesaria la compra de nuevas licencias de SQL Server 2008, ni de

Windows Server, solamente las necesarias para webMethods 8.

No serán implementados cambios de funcionalidad en los actuales procesos

de negocio por lo que no será impactado la forma en que opera el negocio ya

que son cambios que únicamente afectan a la tecnología que está siendo

utilizada.

Los recursos para el proyecto contarán con el ancho de banda necesario para

poder desempeñar correctamente sus actividades.

Dichos recursos contarán con los accesos necesarios para revisión y

desempeño de actividades correctamente.

El tiempo estimado para otros proyectos grandes no se verá afectado por el

tiempo que será dedicado a este proyecto.

La infraestructura física y licencias necesarias estarás disponible de acuerdo

al tiempo programado en el proyecto.

El rendimiento de la infraestructura física será tan bueno o aún mejor que los

sistemas que se encuentran operando actualmente.

Los coordinadores de cada mercado dictados por el plan de proyecto estarán

completamente comprometidos durante la duración de la implementación en el

mercado.

Se dará seguimiento con juntas semanales de cadencia para llevar un control

adecuado del desarrollo del proyecto y estarán todos los involucrados

presentes.

Page 50: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 49 -

7.5 Riesgos iniciales del proyecto y alternativas de solución

Disponibilidad de los recursos desconocida – Infraestructura, contacto clave

en cada mercado, usuarios.

Se debe establecer comunicación con tiempo con los gerentes de los recursos tan

pronto como los requerimientos de los recursos hayan sido identificados.

No hay un compromiso de tiempo para la implementación de cada ambiente.

Se debe comenzar la comunicación con cada uno de los dueños de los ambientes y

establecer un tiempo específico para el desarrollo de este proyecto.

Correr en ambientes paralelos – El mantenimiento de dos versiones de

código, el congelamiento de código, y unir código.

Se debe limitar el tiempo entre realizar la actualización y el despliegue de los

cambios, además se debe documentar el proceso que se realizará para unir el

código y deberán comunicarse los tiempos en el que se mantendrá un congelamiento

de desarrollo de nuevo código.

Continuar trabajando con Connect:Direct

Esta alternativa es la que supondría un menor costo, pero sería de un mayor riesgo a

tomar para el negocio al seguir operando en una plataforma que eventualmente

dejará de recibir soporte además de los detalles anteriormente descritos.

Page 51: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 50 -

8. ESTÁNDARES DE NOMENCLATURA PARA EL DESARROLLO EN WEBMETHODS.

El estándar de nomenclatura para soluciones individuales debe proveer nombres

concisos y fácilmente reconocibles para todas las entidades y debe permitir una fácil

categorización.

Las siguientes reglas aplican para todas las nomenclaturas de la organización, a

menos que se indique lo contrario:

Cada parte de un nombre debe comenzar con una letra en mayúsculas

seguida de letras minúsculas, a menos que toda la parte sea una abreviatura

en mayúsculas.

El Origen siempre es abreviado como Src y el Destino como Tgt.

Todos los nombres deben contener solo caracteres alfanuméricos y guion

bajo.

Todos los nombres deben empezar con un tipo de dato alfabético.

El guion bajo (“_”) debe ser utilizado para separar segmentos de un nombre,

excepto a un nivel de atributo (los campos en un documento).

Page 52: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 51 -

8.1 Territorio

El nombre de un territorio es utilizado para agrupar lógicamente los brokers. El

territorio agrupa los brokers basado en las aplicaciones y en la geografía. Brokers en

un territorio común comparten todos los tipos de documentos y grupos de clientes.

Sintaxis:

AMWAY_<Filial>_TERR<NúmeroDeSecuencia>

<Filial> Está compuesto por una abreviación de 2 o 3 caracteres de una filial de

Amway, por ejemplo México (MEX), Japón (JPN), etc.

<Número de secuencia> Un número de secuencia consecutivo para identificar cada

territorio en la filial.

Por ejemplo:

AMWAY_MEX_TERR01 (Usado para broker en México)

8.2 Brokers

Los brokers son nombrados con respecto a la filial y al ambiente en el que corren,

cada broker une el territorio basado en la aplicación o la geografía.

Sintaxis:

AMWAY_<Filial>_BROKER<NúmeroDeSecuencia>_<Ambiente>

<Filial> Está compuesto por una abreviación de 3 caracteres de una filial de Amway,

por ejemplo México (MEX), Japón (JPN), etc.

<Número de secuencia> Número consecutivo para identificar cada broker de la filial.

<Ambiente> Tipo de ambiente en el que el broker está corriendo (Desarrollo, QA,

Producción).

Por ejemplo:

AMWAY_MEX_BROKER01_PROD

Page 53: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 52 -

8.3 Adaptadores

El nombre de un adaptador (que además es el id del cliente) es utilizado para

identificar el adaptador al Enterprise Server y a otros clientes del broker. Los

adaptadores son las únicas entidades que utilizan el nombre de la integración en su

estándar de nomenclatura, lo cual es para propósitos de desarrollo – por ejemplo

durante las pruebas, cada integración debe ser apagada independientemente.

Sintaxis:

AMWAY_<Filial>_<TipoDeBaseDeDatosDeLaAplicación>_<TipoDeTransacción>

Por ejemplo:

AMWAY_MEX_SQL_NOTX

AMWAY_MEX_SQL_LT

<Filial> Está compuesto por una abreviación de 2 o 3 caracteres de una filial de

Amway, por ejemplo México (MEX), Japón (JPN), etc.

<TipoDeBaseDeDatosDeLaAplicación > Especifica el nombre corto para el sistema o

la aplicación que integra (que se conecta a) webMethods a través del adaptador (por

ejemplo, SQL, ONYX, RMDM, etc).

<TipoDeTransacción> Tipo de transacción que se procesa (NOTX – Proceso de no

transacción, LT – Proceso de transacción local).

Page 54: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 53 -

8.4 Paquetes

Algunas consideraciones a tomar en cuenta para nombrar los paquetes son las

siguientes:

Los nombres de los paquetes siempre deberán estar en modo mixto,

empezando con una mayúscula. Si el nombre está compuesto por varias

palabras, se debe colocar la primera letra de cada palabra en mayúsculas. Un

guion bajo es opcional para separar palabras clave; sin embargo, por defecto

esto no debe ser utilizado.

Los nombres de los paquetes no deben contener ningún símbolo que cause

problemas en cualquier sistema operativo. Para llevar esto a cabo, se debe

evitar utilizar todo tipo de dato que no sea alfanumérico.

El nombre del paquete necesita reflejar su propósito, o función del servicio que

contiene. Hay que evitar utilizar nombres genéricos, como “Desarrollo”, eso

indica una estructura de un ambiente o de procedimiento pero no su propósito.

Se debe crear una carpeta global en cada paquete. Esta debe igualar el

nombre del paquete, por lo que se debe escoger cuidadosamente que sea

apropiado tanto para el paquete como para la carpeta global. Este esquema

de nombres permite al desarrollador localizar fácilmente los paquetes

contenidos en la carpeta. Además ayuda a evitar conflictos con los nombres.

Es importante separar el código en unidades lógicas por paquete. La

portabilidad del código es prevista al nivel del paquete, es donde las tareas de

migraciones y administración de la configuración deben ser llevadas a cabo.

Hay que mantener los nombres cortos como wM en vez de webMethods.

No se deben crear nombres con mayúsculas y minúsculas aleatoriamente o

que no indiquen su función. Por ejemplo cOOlPkgTST.

No se deben utilizar artículos en el nombre. Por ejemplo ProbarLaConexion.

La clave del diseño a considerar para nombrar paquetes es que los paquetes juegan

un enorme rol en la portabilidad de los activos de integración desarrollados

(servicios, registros, etc.).

Page 55: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 54 -

Debe haber un número considerable de paquetes como los activos de integraciones

que están divididos en trozos manejables que pueden ser promovidos entre

ambientes independientemente del trabajo que se está desarrollando por otras

integraciones en la organización. Sin embargo, demasiados paquetes puede causar

complicaciones, debido a que la dependencia que existe entre los paquetes puede

ser tan significante que controlar y promover los desarrollos se convierte incómodo

en administrar. La actividad principal para determinar su nomenclatura es desarrollar

una estructura de una carpeta global deseada para el activo de la integración. La

estructura del folder inevitablemente llevará a la estructura del paquete.

Sintaxis:

[AM]<Filial><Aplicación><TipoDeIntegración><InfoAdicional>

Por ejemplo:

AmLaOrderPubSub

AmGlDocs

[Am] – Especifica la organización a la que pertenece (Amway)

<Filial> Compuesto por una abreviación de 2 o 3 caracteres de una filial de Amway,

por ejemplo México (MEX), Japón (JPN), etc.

<TipoDeIntegración> Agrupa las integraciones de un tipo (Pub/Sub, Req/Rep o B2B).

<InfoAdicional> Es información adicional al nombre del paquete que indica el uso o

características generales del paquete – esto puede ser utilizado en vez de Aplicación

o TipoDeIntegración. Por ejemplo, un paquete de utilidades para Latinoamérica

puede ser llamado como AmLaUtil.

Ilustración 19 : Ejemplo de un Paquete

Page 56: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 55 -

8.5 Carpetas y Subcarpetas

Algunas consideraciones a tomar en cuenta para nombrar las carpetas y subcarpetas

son las siguientes:

Una carpeta debe contener sub-carpetas o servicios, pero no combinación de

ambos. Una excepción es cuando una interface contiene un servicio de alto

nivel y sub-interfaces que contienen servicios de bajo nivel llamados por el

servicio de alto nivel y son específicos para ese servicio. La carpeta de mayor

nivel debe ser además una excepción para esto.

Los servicios que son rutinas genéricas no específicos a la estructura y/o

procesamiento de un paquete en particular deben ser almacenados en su

propio paquete. En general, son servicios considerados como utilidades si son

invocados por otros servicios que ejecutan tareas de mayor nivel. Por ejemplo:

servicios de fechas como addDaysToDate.

Mantener los nombres cortos. Por ejemplo wM en vez de webMethods.

No se debe repetir el nombre de la carpeta en el nombre del servicio.

No se deben crear nombres con mayúsculas aleatorias o que sean

misteriosos. Cómo cOOLSVcTST.

No utilizar artículos en el nombre. Cómo probarLaConexion.

La estructura de una carpeta debe ser como se muestra a continuación:

carpeta.subcarpeta.subcarpeta … nombreServicio

Donde la carpeta representa el más alto nivel en el espacio de los nombres (no en el

paquete), seguido por la jerarquía de subcarpetas, separados por puntos, y

finalmente por el nombre de los componentes (un registro, una especificación, un

servicio, etc.).

Page 57: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 56 -

Un ejemplo de estructura de las carpetas es como se muestra a continuación:

Para integraciones PubSub

AmLAInventoryPubSub (nombre del paquete)

AmLAInventoryPubSub (nombre de carpeta de mayor nivel)

DocTypes (Para documentos de la sección)

Source (Para aplicaciones del origen)

IMS (Inventory Management System)

Target (Para aplicaciones del destino)

Database (Base de datos destino)

Mexico (Region de la base de datos)

Trigger (Para los desencadenadores de los archivos)

Ilustración 20 : Ejemplo de nomenclatura de carpeta para servicios PubSub

Page 58: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 57 -

Para paquetes generales como Util

AmLAUtil (nombre del paquete)

AmLAUtil (nombre de carpeta de mayor nivel)

Jerarquía de carpetas (niveles múltiples de subcarpetas)

LAUtil (Funciones generales para LA de este paquete)

Ilustración 21 : Ejemplo de nomenclatura de carpeta para utilidades generales

Page 59: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 58 -

8.6 Servicios

Los nombres de los servicios deben comenzar con un verbo en inglés, en

minúsculas, y todo objeto subsecuente en el nombre del servicio escrito con

mayúscula su primer letra (ejemplo: gerOrderDetails, processReturnUDM).

Los nombres de los servicios deben ser lo más descriptivos posible pero

utilizando abreviaciones reconocidas y más corto posibles (ejemplo wM para

webMethods)

Servicios de alto nivel o servicios de FLOW complejos deben contener a su

vez los paquetes que contienen los registros a los que hacen referencia.

Variables, nombres de servicios, etc. Deben ser utilizando la nomenclatura

general reconocida por Java, la cual dicta que la primera letra de cada variable

debe ir minúsculas, con cada palabra subsecuente en mayúsculas.

Ilustración 22 : Ejemplo de nomenclatura en webMethods

Page 60: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 59 -

8.7 Variables

Para nombrar variables se debe seguir la nomenclatura reconocida generalmente por

Java, que indica que la primera letra de cada variable es en minúsculas, con cada

palabra subsecuente comenzando con mayúsculas.

Los nombres de las variables deben utilizar los siguientes sufijos: Sufijo Descripción

Qty Cantidad, por ejemplo orderQty

Date Fecha

Wt Peso (Weight)

Amt Monto (Amount)

Name Nombre de una entidad (persona, compañía, de negocio,

división, etc)

Id Identificador

Number Valor numérico solamente que indica un identificador o

valor de código (opuesto a la propiedad numérica como

una medida física, contador, cantidad, etc.)

Text Indica una expresión libre de información que incluye

caracteres alfanuméricos

Code Indica que es un valor de código y que implica que sea

restringido por un conjunto definido y limitado de valores

Pct Porcentaje (Percent)

Tabla 1 : Nombres de variables en webMethods

Page 61: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 60 -

9. GUÍAS GENERALES DE DESARROLLO Y MEJORES PRÁCTICAS PARA EL DESARROLLO EN WEBMETHODS.

Al trabajar con un conjunto asociado de entradas (como información de

direcciones), es benéfico combinarlos en un solo registro y referenciar el

registro desde el pipeline. Esto promueve la modularidad, el mantenimiento y

lo más importante, permite una mayor validación.

Cuando múltiples servicios tengan el mismo uso (como 4 diferentes servicios

que se ocupan con órdenes de compra) es beneficioso el crear una

especificación de servicio y reverenciarlo desde el servicio (en vez de recrear

los elementos en cada uno de los 4 servicios). Esto promueve la seguridad,

modularidad y lo más importante, el mantenimiento.

Eliminar los valores del pipeline que ya no se necesiten. Esta destrucción

explícita de valores aumenta el rendimiento y la eficiencia.

Cuando se crea explícitamente una variable que es utilizada en el ámbito

únicamente dentro de un constructor en particular para un servicio (ejemplo un

contador de un ciclo, o una condición de decisión branch), esta variable es

considerada temporal. El desarrollador deberá denotar tal variable con el

prefijo “t_”, el cual indica una variable temporal. Todas las variables

temporales deberán ser destruidas explícitamente en el pipeline al concluir el

ámbito de su flujo (por ejemplo, al final del ciclo, al final de la condición

branch).

Al construir servicios codificados, se deberán destruir explícitamente el

pipeline así como su cursor. De esta forma se obtiene un incremento de

rendimiento y eficiencia.

Codificar servicios personalizados deben ser como última opción. En lo

posible se debe intentar reutilizar los servicios proporcionados por

webMethods. Esos servicios se encuentran en los paquetes WmPublic y

WmDB.

Page 62: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 61 -

Si se necesita escribir mensajes personalizados al log del servidor, se puede

utilizar el servicio pub.flow:debugLog o utilizar el siguiente código en el

servicio de Java:

Debug.log(logLevel, logMessage) donde logLevel es el nivel de 0 a 10 y logMessage es la cadena que se desea imprimir.

[13]

Ilustración 23 : Ejemplo de codificación de un servicio de webMethods

Page 63: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 62 -

10. ESTÁNDARES DE NOMENCLATURA PARA EL DESARROLLO EN SQL SERVER.

El estándar de nomenclatura para soluciones individuales debe proveer nombres

concisos y fácilmente reconocibles para todas las entidades y debe permitir una fácil

categorización. Se debe seguir firmemente ya que permitirá simplificar las tareas de

revisión y de realizar cambios futuros en los procesos que ya la integren. [14]

Las siguientes reglas aplican para todas las nomenclaturas de la organización, a

menos que se indique lo contrario:

10.1 Tablas

La estructura de nomenclatura para una tabla debe seguir las siguientes reglas:

Una letra (minúscula) indicando si la información es originada o mantenida en

su mayor parte por el sistema del AS400 o a través del sitio de Internet. Se

debe usar “a” para cuando sea el caso de AS400 e “i” para el caso de Internet.

Tres letras (minúsculas) que indiquen el dominio de la información para la

tabla.

Seguido por un guion bajo.

Cinco letras (mayúsculas) con un pequeño nombre descriptivo para la tabla.

En algunos casos llevarán el sufijo wm después del nombre para indicar que

es una tabla integrada por webMethods.

En algunos casos llevarán el sufijo s01 después del nombre para indicar que

es una tabla de paso de webMethods.

Por ejemplo:

iibo_TYPES Catálogo de tipos de ABOs

aamw_PERIO Catálogo de Periodos activos

aibo_ADDRE_wm Catálogo de direcciones de los ABOs

astg_POINT_s01 Tabla de paso de puntos de los ABOs

Page 64: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 63 -

Algunos dominios que son utilizados actualmente son los siguientes:

Dominio Descripción

amw Uso general para aplicaciones de Amway

car Carriers (Transportistas)

cec Calidad En Casa

crm Reports (Reportes)

fin Financing (Financiamiento)

ibo Internet Business Owner (Información del ABO)

nlt Newsletter (Boletín de noticias)

ord Order data (Información de órdenes)

prd Products data (Información de productos)

prm Promotions (Promociones)

stg Staging tables (Tablas de paso para integraciones)

tms Order Tracking (Transportation Management System)

acc Content Administrator (Administrador de contenido)

atv AmwayTV

awc Awards (Premios)

blg AmwayOn

bok Business Kit (Kit de negocios)

con Constructor

ddt Downloader (Integraciones a AS400)

dit Ditto Orders (Órdenes de resurtido)

exa Examples (Ejemplos)

gri Grids (Cuadriculado)

ina INA (Instituto de Negocios Amway)

ire ABO Registration (Registro de ABOs)

log Log data (Información de registro de actividad)

lrn eLearn

mis Miscellaneous (Miscelánea)

myp My Amway Page

nws News (Noticias)

Page 65: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 64 -

pri Principal

reg Registration Data (Información de registro)

sim Growth Simulator (Simulador de crecimiento)

src Source (Origen de datos)

sty Styles (Hojas de estilo)

tag Tags (Etiquetas)

xpr Amway Xpress

cnt Content (Contenido)

lms Learn Management System

lat Latinoamérica

sso Single Sign On (Inicio de sesión único)

Tabla 2 : Acrónimos de dominios en Amway para datos

Ilustración 24 : Ejemplo de nomenclatura de Tablas en SQL Server

Page 66: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 65 -

10.2 Campos

Las reglas para nombrar los campos deben ser:

Una letra (minúscula) de la definición de su tabla, que indique si la información

es originada o mantenida en su mayor parte por el AS400 o por usuarios de

Internet. Se debe usar “a” para AS400 e “i” para Internet.

Tres letras (minúsculas) de la definición de su tabla, indicando el dominio de la

tabla seguido de un guion bajo.

Tres letras (minúsculas) de la descripción de su tabla (las tres letras más

significativas o se puede utilizar el dominio de la tabla).

Una descripción para el campo, distinguiendo entre palabras iniciándolas con

mayúsculas. Los acrónimos siempre deben ir en mayúsculas.

Por ejemplo:

aibo_typDescr Descripción para el tipo de IBO.

Iibo_iboName Nombre del IBO

Se deberá dar de alta en lo posible una Llave Primaria cuando se cree una tabla, de

no ser posible crearle una PK por su funcionalidad si deberá darse de alta un índice

CLUSTERED. Nunca se debe agregar el grupo de trabajo (FILEGROUP) a la

definición de la tabla, para que cuando el script sea ejecutado la tabla pueda tomar el

que se encuentra por default en la base de datos que se está corriendo.

Ilustración 25 : Ejemplo de nomenclatura para campos en SQL Server

Page 67: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 66 -

10.3 Rutinas de Objetos

Para los Stored Procedures se deben tomar en cuenta los siguientes prefijos y

consideraciones:

dbo. – Todo objeto deberá llevar indicado al principio el esquema (SCHEMA)

al cual pertenece el objeto, por lo general se deberá utilizar el esquema dbo,

en caso que se utilice otro esquema para ese objeto en particular deberá

colocarse al principio.

awlasp_ - Deben iniciar con el prefijo awlasp que indica que es un Stored

Procedure de Amway Latinoamérica seguido por un guion bajo.

XXX_ - Seguido por tres letras en mayúsculas que indican el propósito o

proceso para el Stored Procedure en código de .NET seguido por un guion

bajo.

xxx_ - Seguido por tres letras en minúsculas que indiquen el dominio que el

Stored Procedure usa, en caso de que haya más de uno se debe utilizar el

que sea más relevante seguido por guion bajo.

NombreStoredProcedure - Al final se especifica un nombre utilizando una

mayúscula para la primera letra de cada palabra que vaya conformando el

nombre del Stored Procedure (en notación camelCase). El nombre debería

iniciar utilizando la acción que el Stored Procedure se supone debe realizar

(Select, Insert, Validate, etc.).

No utilizar números ni caracteres especiales para nombrarlos.

Sintaxis:

[Esquema].[awlasp]_[XXX]_[xxx]_[NombreStoredProcedure]

Por ejemplo:

dbo.awlasp_MAP_ibo_GenerateNormalMap

dbo.awlasp_GRA_ire_FinishRegistration

dbo.awlasp_ORD_shc_OrderCheckout

Page 68: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 67 -

Para los Funciones Definidas por el Usuario se deben tomar en cuenta los siguientes

prefijos y consideraciones:

dbo. – Todo objeto deberá llevar indicado al principio el esquema al cual

pertenece el objeto, por lo general se deberá utilizar el esquema dbo, en caso

que se utilice otro esquema para ese objeto en particular deberá colocarse al

principio.

awlafn_ - Deben iniciar con el prefijo awlafn que indica que es una función de

Amway Latinoamérica seguido por un guion bajo.

XXX_ - Tres letras en mayúsculas que indican el propósito o proceso para la

función en código de .NET seguido por un guion bajo.

xxx_ - Tres letras en minúsculas que indiquen el dominio que la función utiliza,

si hay más de uno debe utilizar el que sea más relevante seguido por guion

bajo.

NombreFuncion - Al final se especifica un nombre utilizando una mayúscula

para la primera letra de cada palabra que forme el nombre de la función

(notación camelCase). Se debe comenzar el nombre utilizando la acción que

la función se supone debe realizar (Select, Insert, Validate, etc.).

No utilizar números ni caracteres especiales para nombrarlos.

Sintaxis:

[Esquema].[awlafn]_[XXX]_[xxx]_[NombreFuncion]

Por ejemplo:

dbo.awlafn_MAP_ibo_ValidateMapData

dbo.awlafn_GRA_ire_InsertRegistration

Hay que evitar el uso de funciones escalares. Ya que mientras pueden ser muy

útiles, también pueden ser un obstáculo para lograr un buen rendimiento del sistema

cuando operan ante grandes conjuntos de registros o cuando se ejecutan en

procesos iterativos.

Page 69: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 68 -

Para los desencadenadores (TRIGGER) se deben tomar en cuenta los siguientes

prefijos y consideraciones:

dbo. – Todo objeto deberá llevar indicado al principio el esquema al cual

pertenece el objeto, por lo general se deberá utilizar el esquema dbo, en caso

que se utilice otro esquema para ese objeto en particular deberá colocarse al

principio.

awlatr_ - Deben iniciar con el prefijo awlatr que indica que es un trigger de

Amway Latinoamérica seguido por un guion bajo.

XXX_ - Tres letras en mayúsculas que indican el propósito o proceso para el

trigger en código de .NET seguido por un guion bajo.

xxx_ - Tres letras en minúsculas que indiquen el dominio que el trigger utiliza,

si hay más de uno debe utilizar el que sea más relevante seguido por guion

bajo.

NombreTrigger - Al final se especifica un nombre utilizando una mayúscula

para la primera letra de cada palabra que forme el nombre del trigger

(notación camelCase). Se debe comenzar el nombre utilizando la acción que

el trigger se supone debe realizar. Si realiza más de una operación se deben

incluir todas las abreviaturas de las operaciones en el nombre (Select, Insert,

Validate, etc. O en su caso Sel, Ins, Val, etc.).

No utilizar números ni caracteres especiales para nombrarlos.

Sintaxis:

[Esquema].[awlatr]_[XXX]_[xxx]_[NombreTrigger]

Por ejemplo:

dbo.awlatr_MAP_ibo_InsertData

dbo.awlatr_GRA_ire_RefreshCreditLimit

dbo.awlatr_IRE_ire_InsertUpdateData

Page 70: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 69 -

Algunos de los propósitos o procesos utilizados actualmente para la nomenclatura de

objetos son los siguientes:

Proceso Descripción

GRA Aplicación General

CRM Aplicación de Mi Cliente

IRE Actualización y Registro de ABOs

ORD Órdenes

ACC Control de Acceso

LGN Proceso de Loggeo

MAP Mapas y Análisis de Líneas

NLT Newsletter

NWS Noticias

PRM Promociones

REG Registro al Newsletter

SHC Carrito de Compras

SIM Simulador de Crecimiento

STG Tablas de paso (Integraciones)

STY Estilos

TAG Etiquetas

UPL Proceso del Uploader (Integraciones)

LMS Learning Management System

SRH Controles de búsqueda

CTB Constructor del catálogo

CON Páginas de contenido

CAT Catálogo

AOR Textos largos en procesos de órdenes

AMI Procesos misceláneos

AIR Administración para registro

ACO Administrador de contenido para estereotipos

APR Parámetros de la aplicación

Page 71: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 70 -

GAT Proceso relacionado al Gateway

MNU Constructor del Menú

IOR Registro durante compra

PWS Sitio Personalizado

CNT Cuenta de ABO (plan de ventas)

STS Librería de clases

NIP Aplicación para recordar el NIP

SAH Stock At Home

MYP My Amway Page (nueva implementación, antes conocida como

PWS)

Tabla 3 : Acrónimos de procesos para nombrar objetos

Nomenclatura de acciones u operaciones realizadas por los objetos:

Acción Descripción

Get Regresa 1 solo registro

Select Regresa múltiples registros

Validate Solo valida la información

Refresh Múltiples operaciones (Exclusivo de integraciones)

Insert Solo realiza inserciones (Insert(s))

Update Solo realiza actualizaciones (Update(s))

Delete Solo realiza borrados (Delete(s))

Process Múltiples operaciones (Exclusivo de Web)

Tabla 4 : Nomenclatura de acciones de objetos

Una regla importante es al utilizar las palabras reservadas escribiéndolas en

mayúsculas; como por ejemplo: SELECT, UPDATE, AND, JOIN, CREATE, INSERT,

BEGIN, CASE, ORDER, DECLARE, etc.

Page 72: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 71 -

10.4 Parámetros

Solo definir parámetros que serán utilizados en la consulta

De ser posible, nombrar los parámetros con el nombre de la columna

relacionada usando el prefijo @p_

Definir los tipos de datos en los parámetros que sean iguales al tipo de dato

del campo a comparar. Esto permite al optimizador escoger el mejor plan de

ejecución para la consulta

Cuando se agreguen nuevos parámetros a un Stored Procedure existente, si

se agregan como NULLABLE o con un valor default no será necesario una

personalización del Stored Procedure

Los parámetros permiten valores default, lo que hace que el parámetro sea

opcional al momento de ejecutarlo. Declarar todos los parámetros como

opcionales no es recomendado debido a que errores potenciales nunca son

identificados, ya que en su lugar se procesan 0 registros - que es un posible

resultado, pero se espera que algo pueda ocurrir.

10.4 Variables

Usar el prefijo @ con las variables locales a diferencia de las variables de

entrada parametrizadas en un proceso que comienzan con @p_, de esta

forma se identificarán dentro del código cuales son las variables

pertenecientes a los parámetros que se reciben de la aplicación.

Solo declarar variables que sean utilizadas en la consulta

De ser posible, nombrar las variables de la misma forma que la columna

Definir tipos de datos en variables que sean igual al tipo de dato de la columna

de la tabla. Esto permite al optimizador escoger el mejor plan de ejecución

para la consulta

Page 73: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 72 -

Utilizar la siguiente tabla como referencia para nombrar las variables

Tipo de Dato Prefijo Ejemplo

Bigint bint @bint_aibo_iboNumber

Bit bit @bit_astg_stgValue

Decimal dec @dec_afin_finCreLimit

Int int @int_aibo_poiPerio

Money mon @mon_aprd_evpTotal

Numeric num @num_aibo_iboTaxValue

Smallint sint @sint_astg_stgControl

Smallmoney smon @smon_aprd_evpSubTotal

Tinyint tint @tint_aibo_iboAge

Float flt @flt_aprm_prmPromotion

Real rl @rl_aibo_poiPV

Date dt @dt_astg_stgDate

Datetime dttm @dttm_astg_stgCreationDate

Datetime2 dttm2 @dttm_astg_stgAnotherTime

Datetimeoffset dttmos @ddtmos_Variable

Smalldatetime sdttm @sdttm_Variable

Time tm @tm_astg_stgTime

Char chr @chr_astg_stgAction

Varchar vchr @vchr_aamw_marCode

Text txt @txt_itag_lanCode

Nchar nchr @nchr_astg_stgAction

Nvarchar nvchr @nvchr_aamw_marCode

Ntext ntxt @ntxt_itag_lanCode

Binary bin @bin_aibo_iboPin2

Varbinary vbin @vbin_aibo_iboPin

Image img @img_iacc_accImage

Cursor crs @crs_Cursor

Hierarchyd hrc @hrc_iacc_accHierarchy

Page 74: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 73 -

Sql_variant vnt @vnt_astg_stgVariant

Table tbl @tbl_aibo_DISTR

Timestamp tmst @tmst_Variable

Uniqueidentifier ui @ui_aibo_myId

Xml xml @xml_Variable

Tabla 5 : Nomenclatura de variables en SQL Server

Page 75: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 74 -

11. GUÍAS GENERALES DE DESARROLLO Y MEJORES PRÁCTICAS

PARA EL DESARROLLO SQL SERVER.

Toda tabla debe tener un índice Clustered (usualmente es la llave primaria)

Se debe mantener todo el código en un sistema de control de versiones (TFS)

para llevar un historial de los cambios que se realicen.

Mantener las transacciones tan cortas como sea posible. Esto reduce los

bloqueos e incrementa la concurrencia de la aplicación, lo cual ayuda a

incrementar el rendimiento.

Utilizar mayúsculas para palabras reservadas y funciones del sistema.

El código deberá estar alineado y utilizar sangrías apropiadamente para una

mejor lectura y mantenimiento.

o Usar tabuladores en vez de espacios

o Utilizar espacios entre los operadores

Evitar el uso de sugerencias de consultas (HINTS)

o Solo usarlas en el caso de que se haya verificado que el hint realmente

incremente el rendimiento de la consulta

Usar la transacción de nivel de aislamiento menos restrictiva para la conexión

del usuario, en lugar de utilizar siempre el comando por default de READ

COMMITED.

Siempre que una aplicación de cliente necesite enviar código T-SQL al SQL

Server, se tiene que hacer a través de un Stored Procedure en vez de un

script o T-SQL embebido. Ya que los Stored Procedures ofrecen muchos

beneficios como:

o Reducen el tráfico en la red y la latencia, incrementando el rendimiento

y respuesta de la aplicación

o El plan de ejecución puede ser reutilizado, quedando en caché en

memoria del SQL disminuyendo la sobrecarga en el servidor.

o La ejecución de las solicitudes del cliente son más eficientes. Por

ejemplo, si una aplicación necesita insertar un enorme valor binario en

una columna de tipo de imagen sin hacerlo por medio de un Stored

Page 76: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 75 -

Procedure, debe convertir el valor vinario en una cadena de caracteres

(que duplica su tamaño), y enviarlo al servidor. Cuando el server lo

recibe debe convertir el valor nuevamente a un formato binario. Esta es

una sobrecarga inútil, ya que por medio de un Stored Procedure se

evita este detalle declarando parámetros en formato binario, así no se

realiza la conversión y se reduce la sobrecarga e incrementando el

rendimiento.

o Ayudan a promover la reutilización de código. Aunque esto no

incrementa directamente el rendimiento de una aplicación, si

incrementa la productividad en desarrolladores al reducir la cantidad de

código requerido junto con reducir el tiempo de depuración.

o Encapsulan lógica. Ya que se puede modificar un Stored Procedure sin

afectar las aplicaciones cliente (asumiendo que se mantienen sin

cambios los parámetros y no cambia la forma de regresar los

resultados). Esto le ahorra tiempo al desarrollador.

o Proveen de mayor seguridad a la información que se maneja.

o Facilitan la afinación de rendimiento.

Utilizar la instrucción SET NOCOUNT ON al principio de cada Stored

Procedure, esto reduce la cantidad de información interactiva que es enviada

al cliente:

o Esta instrucción deberá incluirse en CASI todo Stored Procedure

o Al final se tiene que colocar la sentencia SET NOCOUNT OFF

o La única razón por la que se deberá evitar hacer el uso de la instrucción

en ON es cuando se tiene la necesidad de conocer la cantidad de

registros que se regresan para mostrarse

Encapsular todas las transacciones dentro de los Stored Procedures,

incluyendo las sentencias BEGIN TRANSACTION y COMMIT TRANSACTION

Evitar la necesidad de utilizar la sentencia NOLOCK en todas las tablas

estableciendo el nivel de aislamiento.

o Se debe colocar al principio del código la instrucción SET

TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

Page 77: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 76 -

o Esto previene excesivos e innecesarios bloqueos mientras no existan

actualizaciones o inserciones simultáneas en la aplicación que requiere

un mayor nivel de aislamiento.

o Solo se debe utilizar en procedimientos que realicen consultas, no se

debe utilizar en procesos que realicen inserciones, borrados y

actualizaciones.

Declarar variables en una sola sección

o Utilizar una sola sentencia DECLARE y agrupar las declaraciones ahí

en cada subregión

o La declaración de variables tipo tabla deberán estar en declaraciones

DECLARE separadas

Tratar de llenar las variables con datos en una sola sentencia SELECT en vez

de utilizar distintas sentencias SET

Evitar el uso de tablas temporales. Es mejor utilizar variables tipo tabla. Si es

imperativo el uso de tablas temporales deberán ser utilizadas tablas

temporales locales (se declaran # en vez de ##)

Evitar el uso de funciones escalares

Antes de cerrar la codificación del Stored Procedure, revisar si no quedan

pedazos de código, parámetros o variables que no se utilicen y se hayan

utilizado solamente mientras se realizaban cambios, y removerlas.

Para un mejor rendimiento, todos los objetos que son llamados dentro del

Stored Procedure deben pertenecer al mismo Owner o esquema.

Una forma de asegurarse que los planes de ejecución de los Stored

Procedures son reutilizados en cada ejecución del mismo Stored Procedure es

cerciorarse que cualquier información de conexión del usuario, opciones SET,

opciones de la Base de Datos, o las opciones de la configuración del SQL

Server no cambian entre cada ejecución.

o En caso de que cambien, entonces el SQL Server considerará ese

Stored Procedure en cada ocasión como uno diferente y no será capaz

de reutilizar el plan de ejecución actual almacenado en memoria.

Page 78: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 77 -

Se puede hacer un uso liberal de los comentarios por línea y por bloques

dentro del código T-SQL, ya que no afectan al rendimiento de la aplicación y

mejoran la productividad cuando se requiera regresar al código e intentar

modificarlo.

Evitar el uso de Sub-Consultas, en especial en la sentencia SELECT.

o Para esto usualmente se puede resolver por medio de un JOIN.

Utilizar EXCEPT en vez de IN

o En donde se pueda utilizar es mejor decidirse por EXCEPT ya que se

obtiene un mejor rendimiento.

En lo posible, evitar el uso de cursores

o Generalmente utilizan demasiados recursos del SQL Server y reducen

el rendimiento y la escalabilidad de las aplicaciones.

o Si es necesario realizar operaciones registro-por-registro existen otros

métodos para llevar a cabo esa actividad.

o En la mayoría de los casos no es necesario hacerlo registro-por-registro

y cuando sea posible hay que encontrar una manera de realizarlo como

“una operación agrupada”

o Evitar el uso de tablas temporales también.

Cuando se utilice la sentencia UNION, hay que mantener en mente que por

defecto, realiza lo equivalente a un SELECT DISTINCT en el conjunto final de

resultados.

o En otras palabras, UNION toma los resultados de dos conjuntos de

registros parecidos, los combina, y entonces realiza un SELECT

DISTINCT para eliminar los registros duplicados.

o Este proceso ocurre aun cuando no existen registros duplicados en el

conjunto de registros final.

o En caso de conocer la existencia de registros duplicados, y eso

presenta un problema para la aplicación, se debe utilizar la sentencia

UNION para eliminar esos duplicados.

o En caso de que no sea un problema, es mejor utilizar UNION ALL, lo

cual consume menos recursos.

Page 79: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 78 -

Se debe evaluar cuidadosamente si la consulta SELECT necesita una

cláusula DISTINCT o no.

o Algunos desarrolladores automáticamente agregan esa cláusula a cada

una de sus sentencias SELECT, aun cuando no es necesario.

o Utilizar GROUP BY en vez de DISTINCT en lo posible.

En las consultas que se generen, no hay que regresar información de las

columnas que no son necesarias.

o Por ejemplo, no se debe utilizar SELECT * para regresar todas las

columnas de una tabla si no se necesita la información de todos los

campos.

o Adicionalmente el usar SELECT * previene el uso de índices cubiertos,

lo que potencialmente afecta al rendimiento de la consulta.

o En general hay que evitar el uso de cualquier sentencia *, como

COUNT (*), es mejor utilizar SELECT <Listado de los campos>,

COUNT (1), etc.

Siempre se debe incluir la cláusula WHERE en la sentencia SELECT para

reducir el número de registros a regresar.

o Solo se deben regresar los registros que sean necesarios.

Usar Alias para las tablas

o Asegurarse que el Alias es descriptivo para la tabla que representa,

como utilizar la abreviación de la tabla o el proceso.

o Utilizar ese Alias cuando se pongan referencias de las columnas a

través de la consulta.

o Asegurarse de que no se utilizan Alias distintos en cada consulta.

Asegurarse de regresar solamente la información que el procedimiento

necesite.

Si es necesario escribir una sentencia SELECT que obtenga información de

una sola tabla, no se debe realizar el SELECT sobre la información que

regresa una vista (VIEW) que apunta a múltiples tablas.

Page 80: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 79 -

o En vez de eso, realizar el SELECT de la información sobre la tabla

directamente, o por medio de una vista que solo contenga la tabla en la

que se está interesado.

o Si se hace un SELECT sobre la información de la vista multi-tabla, la

consulta genera una sobrecarga innecesaria y el rendimiento se verá

entorpecido.

Cuando se escoja utilizar las cláusulas IN o BETWEEN en el T-SQL,

generalmente se deberá utilizar la cláusula BETWEEN, debido a que es más

eficiente.

o Aunque es preferible no utilizar ninguna de las 2 ya que afectan al

rendimiento del sistema.

o Buscar una forma de obtener los resultados usando GROUP BY,

JOINS, etc.

o En caso de que no se pueda obtener esos resultados por medio de

esas sentencias usar IN o BETWEEN.

Si la aplicación permite a usuarios el correr consultas, pero no es posible que

por medio de la aplicación prevenga a los usuarios de regresar cientos o

incluso miles de registros de información, es mejor considerar utilizar el

operador TOP en la sentencia SELECT

o De esta forma, se pueden limitar la cantidad de registros a regresar,

aun si el usuario no utiliza ningún criterio de selección para reducir el

número de registros que se regresan al cliente.

o Hay que utilizar la sentencia ORDER BY en lo posible al final de la

consulta.

Utilizar la sentencia ORDER BY moderadamente – por ejemplo DISTINCT,

ORDER BY y GROUP BY todos realizan operaciones de ordenamiento.

Evitar que las cláusulas WHERE no sean capaces de hacer que el motor de

Base de Datos optimice el plan de ejecución cuando se realice la consulta

(NON-SARGABLE)

Page 81: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 80 -

o Una cláusula WHERE que no cumple con eso (SARGABLE) significa

que no puede tomar ventaja en el uso de un índice (asumiendo que hay

uno disponible) para acelerar la finalización de la consulta.

o Si una cláusula WHERE es NON-SARGABLE, significa que la cláusula

(o al menos parte de ella) al no tomar ventaja de un índice, realiza a su

vez un TABLE/INDEX SCAN, lo cual puede causar que el rendimiento

de la consulta se vea afectado.

o Argumentos de búsqueda NON-SARGABLE en la cláusula WHERE, tal

como “IS NULL”, “<>”, “!=”, “!>”, “!<”, “NOT”, “NOT EXISTS”, “NOT IN”,

“NOT LIKE”, “LIKE ‘%50’” generalmente previenen (pero no siempre) a

que el optimizador de la consulta utilice un índice para realizar la

búsqueda.

o Expresiones que incluyen una función en una columna, expresiones

con la misma columna en ambos lados del operador, o comparaciones

contra una columna, son NON-SARGABLE.

Evitar el uso de Stored Procedures anidados, ya que esto hace que las

liberaciones y depuraciones de código se tornen difíciles.

Evitar valores fijos que pueden ser parametrizados en el código.

Al utilizar la cláusula JOIN asegurarse que todos los campos de la llave

primaria de cada una de las tablas son utilizados.

o Si se usa un JOIN nunca se debe colocar un campo que haga

comparación a un valor constante, por ejemplo a.campo = ‘A’, excepto

en LEFT JOINs que implícitamente se convierte el LEFT JOIN por un

INNER JOIN.

o En vez de colocar esas restricciones en la sección del JOIN hay que

colocarlas en la sección del WHERE y siempre se deben utilizar JOINs

de estándar ANSI.

o Las columnas de los JOINs deberán estar en el mismo orden que en

los índices para ayudar a mejorar el rendimiento.

Utilizar comillas sencillas en vez de comillas dobles

Page 82: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 81 -

o Nótese que una comilla sencilla es el correcto identificador de ‘texto’ y

las “comillas dobles” no lo son – las “comillas dobles” tienen el mismo

funcionamiento que los [corchetes], que sirven para identificar a un

objeto.

o Aunque las “comillas dobles” pueden identificar texto, tienen una

longitud fija de caracteres, lo cual puede causar que la información se

trunque.

Considerar el uso de expresiones comunes de tabla (COMMON TABLE

EXPRESSIONS – CTE) en vez de sub consultas cuando sea apropiado, esto

basado en el plan de ejecución.

o Las CTE son excelentes cuando se utilizan para consultas recursivas o

consultas repetibles.

Asegurarse que todas las consultas manejan índices.

Manejar una nomenclatura fija.

Llevar un historial de la actividad del servidor para un apropiado análisis en

busca de mejoras continuas.

Cuidar los espacios de memoria que vayan a ser reservados para los valores

que se manejen, por ejemplo hay mucha diferencia entre un CHAR (50) a un

VARCHAR (50) o de un BIGINT a un TINYINT o en ocasiones hasta un BIT

sirve para lo mismo.

Utilizar tablas normalizadas en las bases de datos.

o Múltiples tablas pequeñas son usualmente mejores que una sola tabla

grande.

Utilizar la cláusula LIKE apropiadamente, si se busca un resultado exacto es

mejor utilizar “=”, o si es un grupo de datos es mejor utilizar la cláusula IN o

BETWEEN (o en su defecto EXCEPT).

Para revisar la existencia de un registro es mejor utilizar IF EXISTS (SELECT

1) en lugar de IF (SELECT *…) > 1 o SELECT COUNT (*) > 1.

Usar libremente BEGIN y END, así como la sangría, que permiten identificar

correctamente los ámbitos dentro del código.

Page 83: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 82 -

Solo crear índices basados en el uso y considerarlos en las columnas

utilizadas en cláusulas WHERE, ORDER BY, GROUP BY, DISTINCT, TOP.

Evitar la ejecución dinámica de código, ya que lleva a un pobre rendimiento al

generar un plan de ejecución cada vez que es ejecutado el código. En caso de

ser utilizado es mejor manejar la instrucción SP_EXECUTESQL en vez de la

instrucción EXECUTE ya que la primera incrementa la reusabilidad del código.

Por ejemplo:

CREATE PROCEDURE dbo.Procedimiento

En vez de:

CREATE PROCEDURE Procedimiento

Utilizar el nombre del esquema con el nombre del objeto, esto ayuda en

encontrar directamente el plan de compilación creado por el SQL en vez de

buscar los objetos en otro posible esquema antes de decidir utilizar un plan de

ejecución en caso de estar disponible. Este proceso de buscar y decidir un

esquema para un objeto lleva a un bloqueo (LOCK) de COMPILE en el Stored

Procedure y con esto se ve afectado su rendimiento, por eso se debe

referenciar a los objetos dentro del proceso al esquema al que pertenecen.

Por ejemplo: SELECT campo1, campo2, campo3 FROM dbo.tabla

En vez de: SELECT campo1, campo2, campo3 FROM tabla

Y mandar llamar al Stored Procedure como: EXECUTE dbo.Procedimiento

En vez de: EXECUTE Procedimiento

Utilizar TRY – CATCH para manejar apropiadamente los errores que puedan

ocurrir durante la ejecución.

Utilizar NOT EXISTS en vez de NOT IN, o en todo caso utilizar un OUTER

JOIN y revisar por valores NULL en la otra tabla.

Page 84: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 83 -

Evitar el uso de los tipos de datos DATETIME, FLOAT y REAL en las llaves

primarias ya que generan un gasto innecesario de recursos que afecta al

rendimiento.

No nombrar los Stored Procedures con el prefijo SP_.

o El prefijo SP_ está reservado para Stored Procedures del Sistema.

o Cuando el manejador del SQL encuentra un Stored Procedure que lleva

el prefijo SP_ intenta localizarlo primero en la base de datos master,

después lo busca en cualquier calificador descrito (por Base de Datos,

Owner), y al final intenta con dbo como el OWNER.

[14] [15] [16] [17] [18]

Page 85: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 84 -

12. PROCEDIMIENTO.

Para la realización de este proyecto se siguieron 5 fases de la administración de

proyectos utilizadas en Amway para proyectos grandes.

12.1 Fase 1 – Fase Inicial

En esta fase se definen los objetivos del proyecto y de los recursos necesarios para

la ejecución de las tareas. Las características del proyecto implican la necesidad de

una fase o etapa previa destinada a la preparación del mismo, fase que tiene una

gran trascendencia para la buena marcha del proyecto y que deberá ser

especialmente cuidada. Por lo que se realizó la tarea del reconocimiento para

determinar que el proyecto pudiera llevarse a cabo. Se incluye la formulación del

proyecto, el estudio de factibilidad, el diseño general y su aprobación. Al final de esta

etapa se decidirá por la continuidad o no del proyecto. [19]

El objetivo primordial fue obtener el suficiente fundamento para proceder con

ejercicios serios de planeación y alcance, en definir el alcance del proyecto:

Lo que el proyecto debe lograr.

Definir la meta global del proyecto.

Definir las expectativas generales del cliente final (en este caso el mismo

departamento de Sistemas al considerarse un proyecto interno y no del

negocio como tal) o de los interesados.

Precisar el alcance general del proyecto.

Seleccionar o determinar los miembros iniciales de los equipos que se

conformarán para llevarlo a cabo.

La visión, los casos de negocio y la lista de riesgos fueron creados y revisados

por distintos responsables.

Para esta fase se generaron dos documentos que deben ser avalados por los

auspiciantes de cada área para poder seguir adelante. [20]

Page 86: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 85 -

Un documento (Estimate Worksheet) que contiene los estimados de:

Cada uno de los productos, servicios o proyectos a los que se les da un

mantenimiento actualmente en la organización y que pudieran formar parte de

este nuevo proyecto.

Del tiempo de esfuerzo en general que tomará el llevar a cabo el proyecto.

El tiempo en forma más detallada de lo que tomará cada una de las fases que

conforman el proyecto.

Los recursos internos y externos que deberán planificar el tiempo necesario

que les llevará el realizar las actividades.

El presupuesto que es necesario para cubrir todas las necesidades del

proyecto.

Otro documento (<nombre del proyecto> - Project Charter) que servirá como un acta

de constitución del proyecto, el cual autorizará formalmente el proyecto.

Este documento confiere al director o dueño del proyecto la autoridad para aplicar

recursos internos o externos de la organización a las actividades del proyecto.

En resumidas cuentas en esta fase se deberá armar un equipo, preparar un marco

preliminar y establecer la fecha de terminación. Los gerentes de nivel inferior pueden

saltarse este paso, ya que generalmente se reserva para los altos directivos o los

que van a financiar el proyecto, aunque los directivos de nivel inferior a veces tienen

la oportunidad de asistir. De cualquier forma, el resultado final de esta fase genera un

documento que es conocido como la carta del proyecto o Project Charter.

Page 87: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 86 -

12.2 Fase 2 – Fase de Planeación

En esta fase se incluye el diseño específico, evaluación de costos y tiempos,

definición de términos y condiciones contractuales. Se trata de establecer cómo el

equipo de trabajo deberá satisfacer las restricciones de prestaciones, planificación

temporal y costo. Es una planificación detallada de consistencia al proyecto y evitará

sorpresas que nunca son bien recibidas. Al finalizar esta fase se habilita la firma del

contrato marco o general.

Aquí se implica el enumerar cada una de las tareas necesarias para completar el

proyecto y proporcionar fechas de terminación realistas para cada tarea. Dado que

los proyectos tienden a cambiar y a adaptarse constantemente, la planificación es

una fase iterativa que tiene lugar varias veces durante el ciclo de vida del proyecto.

El plan que se determine en esta fase debe responder preguntas básicas sobre el

proyecto:

¿Por qué? - ¿Cuál es el problema o el valor agregado al que va dirigido el

proyecto? ¿Por qué se está auspiciando?

¿Qué? - ¿Cuál es el trabajo que será desarrollado en el proyecto? ¿Cuáles

son los productos finales/entregables?

¿Quién? - ¿Quién estará involucrado y cuáles serán sus responsabilidades

dentro del proyecto? ¿Cómo estarán organizados?

¿Cuándo? - ¿Cuál será la línea de tiempo del proyecto y cuando los puntos

particularmente importantes, determinados como hitos (MILESTONES)

estarán completados?

Será muy importante el establecer los hitos clave dentro del proyecto, ya que nos

permitirán resaltar los momentos cruciales dentro del proyecto y de esta manera,

ayudarán a mejorar el control del proyecto. Ya que cualquier proyecto, sin importar el

tamaño que sea, debe ser dividido en pequeñas partes o sub-tareas.

Page 88: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 87 -

Estos hitos nos brindarán distintas ventajas ya que:

Dan claridad al progreso del proyecto, esto es que al dividir el plan del

proyecto en tareas más pequeñas ayuda a establecer hitos claros que

facilitarán hacer un mejor progreso del mismo. Ya que permite al líder del

proyecto tener la oportunidad de poder siempre dar un paso atrás para

analizar el estado del proyecto y considerar cualquier decisión que requiera

ser tomada.

Mejora y facilita la actividad de toma de decisiones, porque la incorporación de

ellos en el plan del proyecto ayudarán al líder del proyecto a revisar los

estados del mismo, estado de los entregables, tiempos, riesgos y por ende la

toma de decisiones.

Como punto de motivación para el equipo; ya que dependiendo la naturaleza

del proyecto, su duración y su tamaño, en algunas ocasiones cuando un

proyecto de gran envergadura se alcanzan ciertos hitos es motivo para

celebrar por parte del equipo por el trabajo realizado hasta ese momento. Es

importante reconocer públicamente el buen trabajo realizado, lo cual motiva al

equipo de trabajo.

Más sencillo de gestionar para personas y departamentos; es evidente que la

división del proyecto en tareas más pequeñas ayudarán a cualquier líder de

proyecto a gestionar el proyecto y a que las personas y departamentos

involucrados puedan realizarlas con éxito.

Mejor control del presupuesto; es más sencilla la gestión y control del gasto

del presupuesto del proyecto. La estimación de duraciones, personas

involucradas y el equipo técnico necesario es más fácil de predecir cuando el

espacio de tiempo es más corto.

Identificación de entregables; la entrega a tiempo de entregables es evidencia

que indica el éxito de un hito. Estos deben ser acordados, documentados y

guardados como referencia para un futuro proyecto.

Page 89: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 88 -

Se llenarán documentos que avalen el listado de tareas y actividades que guiarán al

logro de las metas o hitos del proyecto:

Diseño conceptual y de requerimientos

Condiciones del alcance detallados

Requerimientos funcionales

Un plan de pruebas a alto nivel

Un plan de implementación

Un plan de obtención

Un programa de especificaciones

Una vista técnica general

Requerimientos técnicos

Un plan de entrenamiento

Se trabajará además en la secuencia que deben seguir las actividades con el fin de

identificar posibles dependencias y principalmente conseguir que el plan sea

aprobado por los terceros apropiados.

Algo importante es que igualmente se debe trabajar en un plan de comunicación, que

mantendrá informada a la gente necesaria del desarrollo del proyecto.

Se determinará deberán estar siendo informados constantemente, comunicándoles

en qué etapa del proyecto se encuentra actualmente, el tipo de comunicado que se

debe hacer, cada cuanto tiempo, quién será el responsable de recibir y retransmitir

esa información, así como las metas y objetivos de esta comunicación.

Para planear y subsecuentemente reportar el progreso dentro del ambiente del

proyecto se va a hacer uso de fechas apoyadas con Diagramas de Gantt. En un

inicio el alcance del proyecto es definido y los métodos apropiados para completar el

proyecto son determinados.

Page 90: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 89 -

Después de este paso, se lista la duración para las distintas tareas necesarias para

completar el trabajo y es agrupada en una estructura de división de trabajo. Las

dependencias lógicas entre las tareas son definidas utilizando una red de diagrama

de trabajo que permite identificar el camino crítico.

Los recursos necesarios son estimados así como el costo para cada actividad puede

ser asignado a cada recurso, con esto se obtiene el costo total del proyecto. En esta

etapa, el plan se pudo optimizar para alcanzar un balance apropiado entre el uso de

los recursos así como la duración del proyecto para cumplir con los objetivos de este

proyecto.

Una vez que fue establecido y acordado, el plan se convirtió en la línea base por lo

que el progreso será medido contra la línea base establecida a través de la vida del

proyecto. Las entradas para la fase de planeación del proyecto incluyen las gráficas

del proyecto y la propuesta conceptual, las salidas incluirán los requerimientos del

proyecto, la fecha del proyecto y el plan de la administración del proyecto.

Al presentarse el documento que contenga el listado de las tareas con los

responsables y tiempos, se colectarán las firmas de las personas a cargo del

proyecto (sponsors, gerentes, directores), el cual avalará que este fue autorizado

como se muestra en la siguiente imagen:

Ilustración 26 : Aprobación de proyecto

Page 91: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 90 -

12.3 Fase 3 – Ejecución

La ejecución de este proyecto consistirá en reunir recursos y utilizarlos para crear las

entregas planeadas previamente. Esta será la fase más larga y más complicada del

ciclo de vida del proyecto y puede estar llena de problemas. Por lo tanto, es

responsabilidad del gerente del proyecto asegurar que todas las partes mantengan la

comunicación y que todos los recursos necesarios se distribuyan adecuadamente. El

gerente también debe asegurar de que los miembros del equipo sepan lo que tienen

que hacer. Esta es también una fase iterativa. [21]

Se representarán el conjunto de tareas y actividades que suponen la realización

propiamente dicha del proyecto, la ejecución de la obra de que se trate. Responderá,

ante todo, a las características técnicas específicas y supone pondrá en juego y

gestionará los recursos en la forma adecuada para desarrollar la labor en cuestión.

Ya que cada tipo de proyecto responde en este punto a su tecnología propia, que es

generalmente bien conocida por los técnicos en la materia.

Al ejecutarse el plan fue necesario:

Registrar el avance del proyecto, comparando la información que se tiene

actualmente con los datos que fueron estimados originalmente.

Revisar los recursos, el alcance y los factores de tiempo para balancear las

prioridades.

Identificar los problemas que puedan presentarse y lleven a un desfase en el

proyecto, vigilando posibles desviaciones del plan original.

Analizar la distribución de los recursos a través del proyecto, evitando

sobrecargas de trabajo para algún miembro del equipo.

Utilizar un tablero que mostró gráficamente los estados de las fases así como

los resultados de cada una de ellas, lo que permitió que el líder del proyecto

pudiera arbitrar en caso de variaciones.

Page 92: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 91 -

12.4 Fase 4 – Control

Esta fase se produjo en conjunto con la fase de ejecución. Durante esta fase, se hizo

un seguimiento del trabajo. Esto garantizó que la calidad de las tareas siguiera

siendo elevada y mantuvo al proyecto en marcha. Esta fase además implicó la

realización de pruebas y corrección de los defectos que saltaron durante la

implementación. Fue imperativo que el equipo se mantuviera enfocado y comunicara

el estado del proyecto y de los hitos regularmente.

Esta fue la última fase iterativa. Requirió que se fuera mostrando el avance de los

desarrollos al cliente para su aprobación. Si el cliente no aprobaba o solicitaba un

cambio específico, el equipo debía entonces volver a la fase de planificación del

proyecto y ajustar el alcance para que coincidiera con los nuevos requerimientos aun

cuando se establecieran muy bien las necesidades del negocio dentro del BRS que

se llenó en un inicio del proyecto. En caso de ocurrir un cambio de alcance se

llenaría un documento con control de cambios que implicaba un costo extra y un

riesgo de no poder entregar el producto final en los tiempos establecidos.

Se requirió de una muy buena comunicación por parte del líder del proyecto, ya que

era responsable de la comunicación entre el equipo y el cliente. Para esto se

organizaron regularmente (una vez por semana) reuniones (juntas de cadencia) para

administrar al equipo del proyecto, y se pudiera discutir el progreso del mismo, con lo

que se fueron determinando prioridades para las siguientes semanas. De esas juntas

se generaron informes de progreso (minutas) que permitía a todas las personas

involucradas en el proyecto estar informadas sobre las acciones en progreso y

aquellas terminadas, con lo que se determinaba quienes tenían actividades

pendientes de realizar y se establecían responsables de ellas.

Esta vigilancia de tiempo de gestión fue ejecutada por el director del proyecto para

asegurarse de que los plazos se estuvieran cumpliendo a medida que el proyecto

avanzaba.

Page 93: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 92 -

Las hojas de tiempo se utilizaron para controlar el tiempo que los miembros

individuales del equipo dedicaban a las tareas dentro del proyecto. El líder del equipo

pudo identificar y resolver los problemas de gestión del tiempo que surgieron.

Esto permitía una monitorización del trabajo realizado analizando cómo el progreso

difería de lo planificado e iniciando las acciones correctivas que fueran necesarias.

Incluyó también el liderazgo, proporcionando con ellos directrices a los recursos

humanos, subordinados (incluso personal externo) para que hicieran su trabajo de

forma efectiva y a tiempo.

De dicho liderazgo viene la tarea de vigilancia y control del proyecto que son

actividades cuya responsabilidad recaen en el gerente o líder del proyecto. Se pudo

llegar a delegar algunos aspectos, ya que si bien se debe tener claro que para

controlar el proyecto se debe disponer de una información elaborada y además

resulta imprescindible el tener una visión general, algo que sólo el gerente conoce.

El controlar no fue vigilar, fue conocer y tener capacidad de anticipación, corrección y

evaluación para identificar desviaciones y mejorar la implementación. Lo cual iba

más allá del día a día de las tareas operativas.

Para controlar la calidad efectivamente a medida que avanzó el proyecto, el equipo y

el líder de proyecto establecieron las directrices de calidad antes de la fase de

ejecución. Una vez que el líder del equipo supo cómo se iba a medir la calidad, pudo

tomar medidas para medir la calidad de la salida del equipo, identificar los problemas

de calidad y hacer las mejoras necesarias.

Page 94: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 93 -

12.5 Fase 5 – Fase de Entrega o Cierre del Proyecto

Esta fase establece el cierre formal del proyecto, revisa los éxitos y los fracasos con

miras a mejorar el próximo, así como establecer planes de mejora continua para el

proyecto recién entregado. También consiste en comunicar el archivo del proyecto,

en capturar lecciones aprendidas y evaluar la ejecución contra el plan del proyecto.

Se culminó al poner en marcha el proyecto desarrollado, se comprobó que funciona

adecuadamente y responde a las especificaciones en su momento aprobadas.

Después de que el cliente finalmente aprobó la entrega, el equipo preparó un informe

posterior al cierre y se presentó a los altos directivos.

Esta fase es también muy importante no sólo por representar la culminación de la

operación sino por las dificultades que suele presentar en la práctica, alargándose

excesivamente y provocando retrasos y costos imprevistos.

Unos meses más tarde, después de que se hayan o no demostrado los beneficios

del proyecto, el equipo debe escribir una reseña de cierre del proyecto en el que

califiquen la tasa de éxito global del proyecto.

Aunque al cerrar el proyecto, en el mejor de los casos, significa el logro de los

objetivos previstos y la satisfacción de la necesidad que dio origen a la intervención,

la conclusión del proyecto suele crear algunos problemas y cierto stress y angustia

en el equipo de trabajo, como bien explica Luis Enrique Palacios en su libro La

Gerencia de Proyectos Un Enfoque Latino. [22]

Según este autor el cierre del proyecto suele crear, entre otras cosas, inseguridad

laboral ya que las personas que conforman el equipo del proyecto o desarrollan

cualquiera de las actividades de este, se quedarán sin empleo una vez que se haya

concluido con la intervención.

Page 95: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 94 -

Este hecho puede generar incentivos para que los trabajadores retrasen las obras

con la finalidad de alargar el proyecto y no quedarse desempleados, por lo que es

importante prever este riesgo en la etapa de planificación y establecer mecanismos

que permitan mitigarlo.

Tales mecanismos fueron el que la gente especializada en las distintas áreas que

tuvieron participación en el proyecto liderara cada una de las actividades críticas

debido al conocimiento de la tecnología existente y de las reglas de negocio de la

organización; y las actividades comunes o genéricas fueran tomadas por el personal

externo.

De esta forma los líderes de cada actividad conocían en todo nivel la cantidad de

personas y tiempo necesario para poder cumplirlas en los tiempos que fueron

establecidos durante la fase de análisis y planeación, además de compartir el

conocimiento que tienen.

Esa transmisión de conocimiento logra evitar otro problema que puede presentarse

en algún momento determinado durante esta etapa, que es la deficiencia en la

transferencia del conocimiento a las personas que realizarán las actividades

operativas una vez que el proyecto haya culminado, ya que el equipo por lo general

se encuentra muy ocupado en la terminación de las actividades como para

encargarse de realizar los entrenamientos y capacitaciones al personal operativo,

error que es muy com

Y por último el problema a la resistencia que existe en el documentar y mantener un

registro de todos los acontecimientos ocurridos durante el proyecto, de manera tal

que la información pueda ser utilizada como guía para futuros proyectos con el fin de

evitar cometer los mismos errores u optimizar los procesos que se realizaron para

lograr resultados en menor tiempo y de mayor calidad.

Page 96: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 95 -

Lo cual se manejó al documentar cada una de las fases desde el inicio con el llenado

del BRS y el documento IDEA.

El cierre del proyecto consiste principalmente en dos procesos, según lo refleja el

Project Management Body of Knowledge (PMBOK): [23]

La administración y cierre de contratos: que consiste, como su nombre lo

indica, en llevar a cabo todas las acciones que conduzcan a finalizar las

relaciones contractuales establecidas durante el desarrollo del proyecto.

Evaluando el proceso y extrayendo de este las posibles lecciones aprendidas.

El cierre administrativo del proyecto: este proceso consiste en la revisión de

todos los reportes de avance generados durante el proyecto, para garantizar

que se haya cumplido con todas las actividades y se han obtenido los

entregables esperados.

El cierre del proyecto, nos permitió constatar qué hicimos bien durante el desarrollo

de la intervención, identificar los errores en la gestión y aprender de estos para no

cometerlos en el futuro. De esta manera las lecciones aprendidas nos permiten

mejorar nuestro trabajo y se convierten en una fuente de información valiosa para

quienes decidan en un momento dado realizar un proyecto similar al que finalizamos.

Por lo que se puede decir que la mayor importancia de esta fase es el que extraemos

las lecciones aprendidas.

Mientras que lo oportuno es sistematizar la información a medida que se va

avanzando sobre el ciclo de vida, es al final en donde se tiene la oportunidad como

equipo de proyecto a sentarse en analizar que pasó durante cada una de las fases y

extraer información valiosa tanto para el equipo como para la organización.

Page 97: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 96 -

Este recuento de todos los acontecimientos del proyecto, tanto de aquellos que

marcharon de manera eficiente como los que no, permitieron aprender y mejorar

nuestro desempeño en futuros proyectos.

Siguiendo a Luis Enrique Palacios, la evaluación de estas lecciones nos puede llevar

a tomar acciones como:

Incorporar a próximos proyectos actividades que no se habían visualizado en

la determinación del alcance y que fueron algunas críticas pero al final todas

importantes para realizar un mejor trabajo

Reconsiderar estimados en la duración o en el costo de una actividad en

particular

Identificar riesgos, previamente no considerados como la capacidad del

personal (tanto conocimiento técnico como de tiempos)

Incorporar nuevas cláusulas o quitar situaciones legales, para potenciar una

contratación más transparente, disminuir la burocracia que siempre aparece

en este tipo de actividades

Determinar mejores especificaciones y estándares de calidad

Introducir novedosos incentivos al personal

Concientizar en lo referente a la necesidad de subcontratar algunas

actividades, en las que no se tiene un know – how de primer nivel

Page 98: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 97 -

13. GLOSARIO

A

ABO Acrónimo de Amway Business Owner -

Es el nombre corto con el que se le identifica a los Empresarios Amway, - 59 -, - 66 -

AEC Acrónimo de Amway Experience

Center, - 21 - Amway

American Way, en inglés la manera americana, - 3 -, - 4 -, - 5 -, - 6 -, - 8 -, - 10 -, - 12 -, - 21 -, - 23 -, - 46 -, - 47 -, - 50 -, - 59 -, - 60 -, - 62 -, - 63 -, - 64 -, - 66 -, - 80 -

API Acrónimo de Application Programming

Interface - Es un componente de software que su propósito principal es el definir un conjunto de funcionalidades que son independientes de su respectiva implementación, permitiendo tanto a la definición como a la implementación variar sin comprometer a la otra., - 36 -, - 37 -

AS400 Plataforma de IBM de gama media y

alta, utilizada para empresas y grandes departamentos. Es un sistema multiusuario, con una interfaz controlada mediante menús y comandos CL intuitivos que utiliza terminales y un sistema operativo basado en objetos y bibliotecas., - 8 -, - 9 -, - 11 -, - 12 -, - 13 -, - 22 -, - 23 -, - 24 -, - 27 -, - 28 -, - 34 -, - 35 -, - 36 -, - 37 -, - 58 -, - 59 -, - 61 -

B

B2B

Acrónimo de Business to Business - Es la transmisión de información referente a transacciones comerciales electrónicamente, normalmente utilizando tecnologías como EDI. En términos generales la expresión business to business no se encuentra limitada al entorno electrónico, sino que hace referencia de exclusión para destacar el origen y destino de una actividad, como puede ser la relación entre un fabricante y el distribuidor de un producto., - 30 -, - 31 -, - 50 -

BPM Acrónimo de Business Process

Management - Es un enfoque sistemático para mejorar el proceso de negocios de las organizaciones, a través de la colaboración entre las áreas de Administración y Tecnologías de Información., - 12 -, - 30 -

broker Broker - Es una estructura de alto

rendimiento, confiable que se utiliza para mensajear entre aplicaciones. En una arquitectura orientada a eventos es posible ejecutar en tiempo real, las interacciones entre distintas aplicaciones claves., - 35 -, - 46 -, - 47 -

C

CAB Change Advisory Board - Es un comité

que apoya al equipo de administración de cambios al otorgar aprobaciones de cambios solicitudes y asistiendo en la evluación y priorización de los

Page 99: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 98 -

cambios. Generalmente está conformado por represtantes de IT y del Negocio, - 15 -

CLOS Consolidated Line Of Sponsorship,

Línea de Auspicio Consolidada, - 4 - Connect

Direct Es un software utilizado para

transferir archivos entre computadoras Mainframe y computadoras Midrange. Llamado originalmente Network Data Mover (NDM)., - 9 -

D

DEV Desarrollo - Es el ambiente donde

software, aplicaciones o servicios se encuentran aun en etapas alfa o beta de desarrollo., - 13 -

Desarrollo - Es el ambiente donde software, aplicaciones o servicios se encuentran aún en etapas alfa o beta de desarrollo., - 13 -

DOWNLOADER Aplicación personalizada desarrollada

por Amway, su principal función es copiar la información proveniente de web en el sistema de AS400., - 2 -, - 27 -, - 28 -, - 29 -

E

eCommerce Comercio Electrónico - Consiste en la

distribución, venta, compra, marketing y suministro de información de productos o servicios a través de internet., - 8 -, - 12 -

F

FLOW Lenguaje de Programación Gráfico que

corre dentro del servidor de integración de webMethods., - 30 -, - 54 -

G

GDW Sistema utilizado para generar

reportes y analizar datos. Es un almacén que colecciona datos orientado a un determinado ámbito (empresa, organización, etc.), integrado, no volátil y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se utiliza., - 8 -, - 9 -

I

IDEA Documento que contiene la

concepción a un alto nivel de un proyecto, contiene una breve descripción de lo que se desea lograr y estimados generales de tiempo, recursos, costos, etc., - 13 -, - 91 -

Integration Server Es una de las aplicaciones de núcleo en

la plataforma de webMethods. Es un servidor de integración empresarial multiplataforma basado en Java. Soporta la integración de distintos servicios, tales como el mapeo de datos entre formatos y la comunicación entre distintos sistemas. También puede ser conocido como el núcleo de WebMethods Enterprise Service Bus., - 30 -

IT

Page 100: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 99 -

Information Technology - Tecnologías de Información, - 7 -, - 8 -, - 30 -, - 32 -

J

JOB Es una serie de operaciones ejecutadas

secuencialmente por el Agent de la Base de Datos., - 24 -, - 28 -

M

MAGIC Acrónimo para Managing Awards,

Growth, Incentives and Compensation (Administrar Premios, Crecimiento, Incentivos y Compensaciones), es un proyecto o solución global para los pagos de bonos a los empresarios., - 8 -, - 9 -

P

PCR Acrónimo de Project Change Request -

Es un documento que contiene la solicitud a ajustes en un sistema en desarrollo, - 13 -

PD El ambiente de Producción es un

término utilizado para describir la configuración donde el software y otros productos son puestos en marcha, en operación para ser utilizados por los usarios finalez., - 13 -

PMBOK Acrónimo de Project Management

Body of Knowledge - Es el conjunto de conocimientos en Dirección/Gestión/Administración de Proyectos generalmente reconocidos como buenas prácticas y que se constituye como estándar

de Administración de Proyectos., - 92 -

Q

QA Acrónimo de Quality Assurance - Es un

ambiente creado para prevenir errores o defectos de los productos y evitar problemas cuando dichas soluciones o servicios sean entregados a los usuarios finales., - 13 -, - 14 -, - 42 -, - 46 -

R

REMEDY Herramienta de BMC Software que por

medio de administración de procesos basados en ITIL permite administrar las etapas y servicios de aplicaciones y productos., - 14 -

ROI Return On Investment - Es una razón

financiera que compara el beneficio o la utilidad obtenida en relación a la inversión realizada, es decir, representa una herramienta para analizar el rendimiento que la empresa tiene desde el punto de vista financiero., - 7 -, - 30 -

S

SOA Es un software de diseño y una

arquitectura de diseño de patrones de software basada en distintas piezas de software que proporcionan una funcionalidad de aplicaciones como servicios a otras aplicaciones. Esto es conocido como orientado a servicios. Es independiente de cualquier

Page 101: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 100 -

proveedor, producto o tecnología., - 12 -, - 30 -

STAGGING Objeto de paso, aquí se almacena la

información temporalmente antes de ser insertada en el objeto final o de trabajo., - 25 -

Stored Procedure Subrutina disponible para las

aplicaciones que accesan a un Sistema Relacional de Base de Datos., - 13 -, - 62 -, - 73 -, - 77 -, - 79 -

T

TAT Acrónimo de Technical Acceptance

Testing - Es la fase de pruebas en la cual el sistema se prueba para determinar si es aceptable acorde a las especificaciones técnicas establecidas., - 13 -

TFS Acrónimo de Team Foundation Server

- Herramienta de Microsoft que cubre completamente la administración del ciclo de vida de una aplicación, almacena el control de versiones del código, reporteos, administración de requerimientos, administración de proyectos, constructores automatizados, capacidades de pruebas y de liberaciones., - 14 -, - 70 -

Trigger Es un código de procedimientos que se

ejecuta automáticamente en respuesta a determinados eventos

sobre una tabla o vista en particular en una Base de Datos., - 13 -

U

UAT Acrónimo de User Acceptance Testing

- Consiste en los procesos de verificar que la solución funcione correctamente para el usuario. No es una prueba del sistema como tal, está más bien para asegurar que la solución funcione para el usuario, también llamado Beta Testing., - 2 -, - 13 -, - 19 -

UPLOADER Aplicación personalizada desarrollada

por Amway que su función es cargar información en web proveniente del sistema de AS400., - 2 -, - 24 -, - 25 -, - 26 -

W

webMethods Es un software enfocado en la

integración de aplicaciones, integración de procesos de negocios e integraciones entre socios B2B., - 2 -, - 9 -, - 12 -, - 13 -, - 14 -, - 33 -, - 34 -, - 36 -, - 37 -, - 40 -, - 41 -, - 42 -, - 43 -, - 47 -, - 48 -, - 49 -, - 51 -, - 54 -, - 56 -, - 57 -, - 58 -

WebSphere En un Software para entornos SOA que

permite procesos de negocio interconectados y dinámicos, además de proporcionar infraestructuras de aplicaciones altamente eficientes para todas las situaciones de negocio., - 9 -

Page 102: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 101 -

14. BIBLIOGRAFÍA

[1] Wikipedia, «Amway,» [En línea]. Available: http://es.wikipedia.org/wiki/Amway.

[2] World Federation of Direct Selling Associations, «Venta Directa y Multinivel,» [En línea]. Available: http://www.wfdsa.org/legal_reg/index.cfm?fa=sp_ppaper2.

[3] Amway, «Inicia tu propio negocio,» [En línea]. Available: http://www.amway.com.mx/conozcaamway/iniciatupropionegocio.html.

[4] T. A. Adikesavan, Information Technology : Best practices and applications in business, PHI Publishing, 2012.

[5] J. C. Barnes y P. J. Rothstein, A guide to Business Continuity Planning, John Wiley & Sons, 2001.

[6] Wikipedia, «WebMethods,» [En línea]. Available: http://en.wikipedia.org/wiki/WebMethods.

[7] A. Cassidy y K. Guggenberg, A practical guide to Information System Process Improvement, CRC Press, 2000.

[8] Amway, «Conozca Amway,» [En línea]. Available: http://www.amway.com.mx/conozcaamway/.

[9] E. K. Waldorm, webMethods Developer, Psychopublishing, 2012.

[10] K.-H. Streibich, The Digital Enterprise, Software AG, 2014.

[11] P. Buech, R. Davis, C. Heller, J. Klueckmann y M. Kuppler, Intelligent Guide to Enterprise BPM, Software AG, 2012.

[12] T. Blickle, H. Hess, J. Klueckmann, M. Lees y B. Williams, Process Intelligence, Wiley Publishing, Inc., 2010.

[13] K. Garimella, M. Lees y B. Williams, BPM Basics, Wiley Publishing, Inc., 2008.

[14] M. Matsumura, B. Brauel y J. Shah, SOA Adoption, Wiley Publishing, Inc., 2009.

[15] W. R. Vaughn, Hitchhiker's Guide to Visual Studio and SQL Server: Best Practice Architectures and Examples, 7th Edition, Addison-Wesley Professional, 2006.

[16] S. Dam, SQL Server 2008 Query Performance Tuning Distilled, Apress, 2009.

[17] Microsoft Developer Network, «Improving SQL Server Performance,» [En línea]. Available: http://msdn.microsoft.com/en-us/library/ff647793.aspx.

[18] Microsoft Developer Network, «Monitor and Tune for Performance,» [En línea]. Available: http://msdn.microsoft.com/en-us/library/ms189081.aspx.

[19] MS SQL Tips, «DBA Best Practices,» [En línea]. Available: http://www.mssqltips.com/sql-server-tip-category/53/dba-best-practices/.

[20] Microsoft Technet, «SQL Server Best Practices,» [En línea]. Available: http://technet.microsoft.com/en-us/sqlserver/bb671430.aspx.

[21] Steve Jones, «SQL Server Central,» [En línea]. Available:

Page 103: UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE ...biblio.uabcs.mx/tesis/te3221.pdf · En el Instituto de Negocios Amway se recibe apoyo a través de entrenamientos presenciales

- 102 -

http://www.sqlservercentral.com/.

[22] ILX Group, «ITIL Training,» [En línea]. Available: http://www.itiltraining.com/.

[23] Wikipedia, «Information Technology Infrastructure Library,» [En línea]. Available: http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library.

[24] Wikipedia, «Biblioteca de Infraestructura de Tecnologías de Información,» [En línea]. Available: http://es.wikipedia.org/wiki/Information_Technology_Infrastructure_Library.

[25] B. Orand, Foundations of IT Service Management, ITILYaBrady, 2011.

[26] A. T. Orr, Introduction To The ITIL Service Lifecycle, The Stationery Office, 2011.

[27] C. Agutter, ITIL Foundation Handbook, TSO, 2012.

[28] M. E. Bays, Software Release Methodology, Prentice Hall, 1999.

[29] J. A. Fitzsimmons y M. J. Fitzsimmons, Service Management : Operations, Strategy and Information Technology, McGraw-Hill, 2001.

[30] A. Hiles, Complete Guide to IT Service Level Agreements : Matching Service Quality to Business Needs, Rothstein Associates, 2002.

[31] A. Hiles, The Complete Guide to IT Service Level Agreements : Aligning IT Services to Business, Rothstein Associates, 2002.

[32] R. J. Latino y K. C. Latino, Root Cause Analysis : Improving Performance for Bottom Line Results, CRC Press, 2002.

[33] J. W. Toigo y M. R. Toigo, Disaster Recovery Planning : Strategies for Protecting Critical Information Assets, Prentice Hall, 2002.

[34] J. Van Bon, World Class IT Service Management Guide, Addison-Wesley, 2002.

[35] J. Van Bon, IT Service Management : An introduction based on ITIL, Van Haren Publishing, 2005.

[36] J. Van Bon, ITIL, Volume 3, Van Haren Publishing, 2007.