Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información...

68
UNIVERSIDAD POLITÉCNICA DE SINALOA PROGRAMA ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Tesina Web Services en ERP Joyería CLGPara obtener la acreditación de las estadías Profesionales y contar con los créditos para el grado De Ingeniero en Informática. Autor: Vazquez Muñoz Jesús Fernando. Asesor: M.C Roberto Antonio Martínez Thompson Asesor OR: Ing. Daniel Omar Cuellar Álvarez Mazatlán, Sinaloa 29 de septiembre del 2018.

Transcript of Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información...

Page 1: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

UNIVERSIDAD POLITÉCNICA DE SINALOA

PROGRAMA ACADÉMICO DE

INGENIERÍA EN INFORMÁTICA

Tesina

“Web Services en ERP Joyería CLG”

Para obtener la acreditación de las estadías

Profesionales y contar con los créditos para el grado

De Ingeniero en Informática.

Autor:

Vazquez Muñoz Jesús Fernando.

Asesor:

M.C Roberto Antonio Martínez Thompson

Asesor OR:

Ing. Daniel Omar Cuellar Álvarez

Mazatlán, Sinaloa 29 de septiembre del 2018.

Page 2: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

Mazatlán, Sinaloa a 3 de septiembre del 2018

LIC. EDUARDO CRESPO CAMPA.

DIRECTOR DE VINCULACIÓN, DIFUSIÓN Y EXT. UNIVERSITARIA.

UNIVERSIDAD POLITÉCNICA DE SINALOA.

PRESENTE

Por este medio, hago de su conocimiento que el alumno(a) el C. Jesús Fernando

Vazquez Muñoz, con número de matrícula 2015030283, de la carrera de

Ingeniería en Informática, ha sido acepado para realizar su estadía práctica, en

esta empresa, durante el período que comprende del 3 de septiembre del 2018 al

7 de diciembre del 2018, para cubrir un total de 600 horas.

Dicho alumno realizará actividades dentro del área, programación, bajo la

supervisión del Ing. Daniel Omar Cuellar Álvarez, Gerente General de Alba

Soluciones.

Sin otro particular, le envío un cordial saludo.

Atte.

_______________________

Ing. Daniel Omar Cuellar Álvarez

Page 3: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

Mazatlán, Sinaloa a 7 de diciembre del 2018

LIC. EDUARDO CRESPO CAMPA.

DIRECTOR DE VINCULACIÓN, DIFUSIÓN Y EXT. UNIVERSITARIA.

UNIVERSIDAD POLITÉCNICA DE SINALOA.

PRESENTE

Por este medio, hago de su conocimiento que el alumno(a) el C. Jesús Fernando

Vazquez Muñoz, con número de matrícula 2015030283, de la carrera de Ingeniería

en Informática, ha cumplido con 600 horas correspondientes a estadía final, en

esta empresa, durante el período que comprende del 3 de septiembre del 2018 al

7 de diciembre del 2018.

Dicho alumno realizó actividades dentro del área, Programación, bajo la

supervisión del Ing. Daniel Omar Cuellar Álvarez, Gerente General de Alba

Soluciones.

Sin otro particular, le envío un cordial saludo.

Atte.

_______________________

Ing. Daniel Omar Cuellar Álvarez

Page 4: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de
Page 5: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de
Page 6: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

AGRADECIMIENTOS

Agradezco a mi padre Fernando Vazquez Luna y a mi madre Sandra

Elizabeth Muñoz por el apoyo moral que me brindaban día a día, tanto así como en

lo económico; por preocuparse por que tuviera todo lo necesario para poder realizar

mis trabajos de manera cómoda y de mejor calidad posible, al igual en proyectos

en la Universidad Politécnica de Sinaloa. También una gratitud a miembros de mi

familia que me apoyaron en mi carrera, dando apoyos y brindando con su ayuda en

esos momentos que lo necesitaba durante mi carrera.

Agradezco a mis compañeros de clases que me apoyaron, guiaron,

aconsejaron en esos momentos que lo necesitaba. Al igual un agradecimiento

especial para mi equipo de trabajo dentro de la universidad que me apoyaron tanto

moralmente como en equipo en todos los proyectos y trabajos de nuestra carrera.

A mi asesor de tesina M.C Roberto Antonio Martínez Thompson que me

compartió la información necesaria y me guio en el desarrollo como también en el

contenido y estructura de esta tesina, para que cumpliera con todo los puntos

necesarios para acreditar y mantener una calidad buena en mi tesina universitaria.

A la Universidad Politécnica de Sinaloa que me brindo muchas oportunidades

para desarrollarme profesionalmente en mi carrera de ingeniería en informática; a

mi director de carrera el Dr. Rodolfo Ostos por la atención, preocupación,

amabilidad, honestidad y por todos esos consejos que brindo no solamente a mi si

no a cada alumno de mis compañeros de mi generación. Sin olvidar a todos los

maestro que influenciaron en mi carrera en brindarme todos los conocimientos,

apoyos, consejos y experiencias personales que me ofrecieron día a día en la

universidad.

Por último y menos importante agradezco a la organización ALBA Soluciones

que me abrió las puertas de su empresa para poder realizar mis estadías

universitarias y por la confianza que me entrego al involucrarme en varios de sus

Page 7: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

proyectos como también por la atención que me dedico en esos momentos donde

no comprendía sobre tema y ellos me guiaron, por la toma de decisiones que logre

al estar allí y por todo lo que aprendí estando allí, toda esa experiencia conseguida

en ALBA Soluciones.

Page 8: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

ÍNDICE TEMÁTICO

ÍNDICE DE IMÁGENES ...................................................................................... 1

ÍNDICE DE FOTOGRAFÍAS ............................................................................... 2

ÍNDICE DE TABLAS .......................................................................................... 2

RESUMEN .......................................................................................................... 3

ABSTRACT ........................................................................................................ 4

INTRODUCCIÓN ................................................................................................ 5

CAPÍTULO-I ......................................................................................................... 6

ANTECEDENTES Y PLANTEAMIENTO DEL PROBLEMA .............................. 6

1.1 Antecedentes ............................................................................................... 7

1.1.1 Localización .......................................................................................... 8

1.1.2 Objetivos de la institución ................................................................... 9

1.1.3 Organigrama ......................................................................................... 9

1.1.4 Misión .................................................................................................. 10

1.1.5 Visión ................................................................................................... 10

1.2 Planteamiento del problema ................................................................. 11

1.2.1 Propuesta de la investigación ........................................................... 11

1.2.2 Objetivos de la investigación ................................................................ 12

1.2.3 Preguntas de la investigación ........................................................... 14

1.2.4 Hipótesis ............................................................................................. 14

1.2.5 Limitaciones y supuestos .................................................................. 14

1.2.5 Relevancia ........................................................................................... 15

CAPÍTULO II ........................................................................................................ 16

Page 9: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

2.1 Marco conceptual. ..................................................................................... 17

2.1.1 ¿Qué son los web service? .............................................................. 17

2.1.1 ¿Para qué sirven los Web Services? ............................................... 19

2.1.2 Protocolos de los Web Services. ...................................................... 20

2.1.2.1 Componentes de los Web Services. .............................................. 22

2.1.2.2 Arquitectura de los Web Services. ................................................. 23

2.1.2.3 Como funciona un Web Service. .................................................... 24

2.1.2.3 Que es XML. ..................................................................................... 24

2.1.3 Angular ................................................................................................ 25

2.1.6 MongoDB ............................................................................................. 28

2.1.7 Visual Studios ..................................................................................... 30

2.1.8 Inspección de elementos del navegador Google Chrome .............. 31

2.2 El estado del arte ...................................................................................... 32

CAPÍTULO-III ..................................................................................................... 34

3.1 – Diseño .................................................................................................... 35

3.2 – Desarrollo ............................................................................................... 40

3.2.1 – Herramientas de desarrollo ............................................................ 41

3.2.3 – Diseño de interfaces ........................................................................ 45

3.2.4 – Primeros pasos del desarrollo de los métodos web services ..... 48

CONCLUSIONES ............................................................................................. 54

BIBLIOGRAFÍA ................................................................................................ 56

GLOSARIO ....................................................................................................... 58

Page 10: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

1

ÍNDICE DE IMÁGENES

Imagen 2.1: mapa de estandarización con web services……………………… 30

Imagen 2.2: estructura de los componentes de un Web Service…….……… 31

Imagen 3.1: Ciclo de desarrollo ágil ……………………………………………… 46

Imagen 3.2: ciclo principal de Scrum……………………………………..……… 46

Imagen 3.3: fases de la metodología XP…………………………………………. 47

Imagen 3.7: conceptualización de la metodología SMART……..……………. 48

Imagen 3.8: isologotipo de Angular……………………………………………….. 50

Imagen 3.9: Isotipo de Frameworks PrimeNG…………………………………… 51

Imagen 3.10: Isologitipo de Angular………………………………………………. 51

Imagen 3.11: Isotipo de mongoDB………………………………………………… 52

Imagen 3.12: Isotipo de Visual Studio con C#……………………...…………… 53

Imagen 3.13: logo del navegador Google Chrome ……………..……………… 54

imagen 3.14- Diseño de la pantalla grupo componente….……………………. 55

Imagen 3.15: Diseño de la pantalla pureza………………..….………………….. 55

Imagen 3.16: Diseño de la pantalla usuario……………….…………………….. 56

Imagen 3.17: Diseño de la pantalla Almacén……………………………………. 56

Imagen 3.18: Diseño de la pantalla artículos……..…………………………….. 56

Imagen 3.19: creación de web service en consulta…….……………………... 57

Imagen 3.20: conexión de Web Service a la BD……..…………………………. 58

Imagen 3.21: Base de datos no relaciona…………..………………………….... 58

Imagen 3.22: Sintaxis de programación………………………………………… 59

Page 11: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

2

Imagen 3.23: Petición del web service………………………………………….. 59

ÍNDICE DE FOTOGRAFÍAS

Fotografía 1.1- Fachada del edificio principal..................................................8

Fotografía 1.2- Ubicación ALBA soluciones desde Google Maps………..….9

ÍNDICE DE TABLAS

Tabla 1.1- Estructura organizacional de ALBA Soluciones……………..…….9

Tabla 3.1: Encuesta por la calidad del sistema………………………….…….. 49

Grafica 3.2: Resultado de un sistema de información Web Services……... 50

Grafica 3.3: Estación de tiempo con Web Services y sin Web Services…. 51

Page 12: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

3

RESUMEN

El presente documento ha sido realizado por el estudiante Jesús Fernando

Vazquez Muñoz con la finalidad de concluir con sus estudios de ingeniería en la

Universidad Politécnica de Sinaloa, el tema abordado es del tema “Web Services

en ERP Joyería CLG”, en el cual se habla sobre temas de los web services, tales

como su importancia en los sistemas de información, las ventajas que tienen en

todos los dispositivos, las ventajas en el área informática actual y en las distintas

áreas donde se puede utilizar este tipo de tecnología.

Al igual que se habla sobre el proyecto desarrollado que es un sistema de

información de planeamiento de recursos empresariales (ERP), el cual está

dedicado al Grupo Cielito Lindo (CLG). Con la finalidad de que el grupo de cielito

lindo lleve su punto de venta, inventarios y sucursales de joyerías unificadas en un

mismo sistema general.

Se habla sobre la importancia que se tiene al utilizar la tecnología de los web

services como el núcleo del sistema de información, para la importancia de los

dispositivos que se puede adaptar utilizando los mismos métodos generales al igual

que la misma base de datos y las mismas peticiones hacia el web services.

Web Services en ERP Joyería CLG.

Page 13: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

4

ABSTRACT

The present document has been made for the student Jesus Fernando

Vázquez Muñoz with the purpose of concluding with his studies of engineering in

the Polytechnic University of Sinaloa, the topic of "Web services in ERP Jewelry

CLG", in which the themes of Web services, stories as their importance in

information systems, the advantages we have in all devices, the advantages in the

current IT area and the different areas where this type of technology can be used.

As we talk about the project, we have developed an information system for business

resource planning (ERP), which is dedicated to the Cielito Lindo Group (GLC). With

the purpose that the Grupo Cielito Lindo carry out a point of sale, inventories and

branches of unified jewelries in the same general system.

There is talk about the importance of the use of web services technology as the core

of the information system, for the importance of the devices that can be used in the

general media, as well as the same database and databases. Same requests for

web services.

Web Services at ERP Joyería CLG.

Page 14: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

5

INTRODUCCIÓN

En la actualidad los sistemas de información son clave para los negocios,

organizaciones, empresas, día con día evolucionan desde su manera de trabajo

hasta las funciones que realiza cada uno de ellos. Los sistema de información como

de planeamiento de recursos empresariales (ERP) facilitan los recursos digitales de

una organización y actualmente la gran mayoría de las empresas utilizan un sistema

de información el cual optimiza todo su sistema.

En los sistemas de información de Planeamiento de Recursos Empresariales

(ERP) al utilizar web services como base, simplifica y unifica a todo en el sistema

de información sobresaliendo el uso de todas sus funciones realizadas desde su

web service hacia todo el sistema, al igual que el acceso a una sola base de datos

para cualquier tipo de dispositivo, tal como en otros sistemas de información sin

web services no se logra hacer la unificación de la misma base de datos. El alto

rendimiento y la calidad que brinda un web service, optimaliza aún más el

funcionamiento sobre los catálogos en cual contendrá todo el sistema de

información. Una sobresaliente de un web service, es el uso dinámico que se le

puede realizar en sus funciones generales, que todo el cuerpo de informática utiliza

los mismo métodos de programación evitando y reduciendo el margen de error, al

igual de la dependencia de un catálogo a otro ya que cada miembro del cuerpo de

informática tendrá la capacidad de poder realizar cualquier tipo de catálogo

utilizando los mismos parámetros.

Los web services, son construidos de manera personal o con ayuda de

Frameworks, que ayudan al soporte dentro del área de programación, esto

framework pueden ser tales como (node.js, NET framework, Java WS, Zend

Framework, Apache Axis, entre punto).

Page 15: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

6

CAPÍTULO I

ANTECEDENTES Y PLANTEAMIENTO DEL PROBLEMA

Page 16: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

7

1.1 Antecedentes

La empresa ALBA Soluciones es una empresa fundada en el año 2017, por

un grupo de 3 amigos de nombre “Daniel Omar Cuellar, José Cruz Paredes,

Eduardo Guerra Bogadillas, tras conocerse durante años y ser del área de

informática decidieron juntar y crear una empresa donde surgió ALBA Soluciones.

ALBA Soluciones al principio no tenían un lugar físico, en el cual podían

juntarse, al igual ya que ellos tenían otros trabajos cada uno, eso no les impidió para

poder trabajar en sus propios proyectos y su nueva empresa. En su tiempo uno de

los obstáculos más difíciles era el tiempo, ya como ellos tenían responsabilidades

en sus otros trabajos, el tiempo de reuniones era muy corto o en ocasiones llego

hacer en horarios muy tarde eso no evito poder trabajar arduamente. Otro de los

factores importantes era el nombre para la empresa, algunos nombres que

proponían no eran buenos o ya existían, hasta que en un momento en una junta de

negocios un cliente pregunto por su nombre empresarial al cual uno de manera

rápida e insegura contesto, ALBA Soluciones, el cual el cliente maravillado contesto

“Una palabra con un excelente significa, un nuevo amanecer” desde ese momento,

ellos desde entonces se estableció a la empresa como ALBA Soluciones.

En ALBA Soluciones se acordó cuáles serían los roles de cada miembro en la

empresa, quedando como Daniel Cuellar como en área de análisis de información y a

José Paredes y Eduardo Bonilla como programadores, entre ellos el cual ante los clientes

se presentaran como otro rol, para la imagen de la empresa, solo que al darse cuenta

que les faltaba alguien que vendiera las ideas fue que llamaron a un amigo de ellos para

integrarse al equipo de trabajo, fue así de que se integró a Iván Peña como el encargo

de marketing y ventas.

Page 17: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

8

1.1.1 Localización

ALBA soluciones se encuentra ubicada en Av. Del Delfín #82128, Colonia

Infonavit playas, en Mazatlán Sinaloa México. .

Fotografía 1.1- Fachada del edificio principal

Page 18: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

9

Fotografía 1.2- Ubicación ALBA soluciones desde Google

Maps

1.1.2 Objetivos de la institución

ALBA Soluciones tiene como objetivo cubrir con la demanda de los clientes,

creando sistemas de información de todo tipo, dando la mejor calidad posible y la mejor

funcionalidad, dando una optimización de trabajo más adecuada para cada cliente,

además de cubrir todas las necesidades del cliente a través del uso de tecnologías.

1.1.3 Organigrama

ALBA Soluciones se encuentra organizada como lo indica el directorio que se

encuentra a continuación.

Page 19: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

10

Directorio de ALBA Soluciones

Tabla 1.1- Estructura organizacional de ALBA Soluciones

1.1.4 Misión

Integradores de soluciones tecnológicas enfocadas a las expectativas de

nuestros clientes, con los que buscamos una sociedad de negocios a largo y que

genere beneficios mutuos.

1.1.5 Visión

Ser una de las mejores empresas consolidadas de soluciones tecnológicas

reconocidas en el mercado informático.

Gerenete GeneralDaniel Omar Cuellar Alvarez

Gerente Comercial

Jose Cruz Paredes Magaña

Gerente Programacion

Eduardo Guerra Bobadilla

Gerente de Ventas

Ivan Peña

Page 20: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

11

1.2 Planteamiento del problema

Con el crecimiento del mercado por internet y plataformas de E-Commerce

actuales ALBA Soluciones decidió desarrollar la creación de un sistema de

información genérico, para negocio de comidas, al igual que una aplicación móvil

para ofrecerla a distintos clientes para la distribución de productos y servicios en

una aplicación móvil, distribuida a los sistemas móviles más populares en la

actualidad.

Actualmente se trabaja sobre un sistema de información para el Grupo Cielito

Lindo (CLG) en cual su objetivo principal es optimizar su servicio de ventas e

inventarios, como también su sistema de cobro a cambio de moneda, la principal

prioridad es darle una importancia al inventario ya que el dueño no tiene en una

cifra exacta cual fue la producción del día ni las perdidas, con eso se crea el ERP

para dicha empresa, con el cual el sistema de información tendrá la capacidad de

arrojar todos esos resultados y cubrir demandas y necesidades del cliente.

1.2.1 Propuesta de la investigación

Por las razones antes mencionadas y para adaptarse a las necesidades

emergentes que van apareciendo y actuales como consecuencias del trabajo al

realizar es mantener el mínimo error en el sistema, para dar un sistema de alta

calidad con una funcionalidad de la mejor preferencia al cliente al igual de una

amigabilidad máxima para una mejor experiencia hacia el usuario.

Éste sistema de información unificara todos los departamentos de la joyería,

como son los departamento de ventas, los departamentos de producción, el

departamento de recursos humanos, así como también tendrá la capacidad de

concentrar toda la información en una base de datos en el cual el web service, podrá

Page 21: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

12

compartir a cualquier dispositivo conectado a él, todos los datos pedidos por el

dispositivo sin necesidad de otros métodos para la compatibilidad entre los

dispositivos.

De este modo también habrá un mejor control de las operaciones en cada

uno de los departamentos ya mencionados ya que, al estar concentrada toda la

información en una sola base de datos no se podrá filtrar información de otro lado

al igual que no habrá falla en la obtención de la misma.

Otro de los beneficios de la implementación sistema de información ERP es

el control de información y la rápida obtención de información gracias al web service,

para la obtención de un resultado de una buena calidad en respuestas.

1.2.2 Objetivos de la investigación

Con el crecimiento y avances de nuevas tecnologías en la informática en los

últimos años es notable que las empresas día a día se actualizan para las mejoras

de sus sistemas de información, dando así la ventajas tener un buen sistema de

información adaptable a la organizaron.

Los sistemas de información utilizando web services fortalecen un sistema

de información y reducen su margen de error al tener todo unificación en un mismo

servicio, para así cualquier otra actualización nomas se empresa la actualización y

se refleja en todos.

Por lo anteriormente expuesto en ALBA Soluciones se ha decidido mediante

un análisis previo el desarrollo de un sistema de información ERP genérico para

cubrir las necesidades de una organización de ventas.

Con este sistema de información se prenderte que el cliente pueda adaptar

para trabajar de manera más amigable, cómoda y de mejor calidad posible dentro

de su organización y de esa manera poder seguir creciendo como empresa teniendo

Page 22: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

13

diferentes tipos de información genéricos, al igual de crecer la cartera de clientes

tanto nivel, estatal, nacional e internacional.

1.2.2.1 Objetivo general

Desarrollar un sistema de información de Planeamiento de Recursos

Empresariales de alta calidad, cubriendo las demandas y necesidades de los

clientes al igual dando los resultados, generar una aplicación genérica para cubrir

las necesidades generales de empresas con giro empresarial comercial.

1.2.2.2 Objetivos particulares

Los siguientes son los puntos se refieren a las tareas específicas que se

habrán de realizar para cumplir el objetivo general de la investigación.

• Recabar información de los sistemas de información para giros comerciales

más utilizados en la actualidad.

• Realizar entrevistas a empresas comerciales para conocer las necesidades

de cada una y así poder unificarlas en un solo sistema, para cubrir las

necesidades de cualquier tipo de cliente.

• Recibir retroalimentación de los usuarios finales para la mejora futura del

sistema.

• Continuar siempre con actualizaciones y mejoras del sistema.

• Dar como base el sistema de información ERP del Grupo Cielito Lindo,

tomando y así basándose en ese plan de negocios.

Page 23: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

14

1.2.3 Preguntas de la investigación

Se han formulado las siguientes preguntas de investigación.

• ¿En qué medida la implementación del sistema de información beneficia al

cliente actual?

• ¿En qué medida la implementación del sistema de información beneficiara

al futuro cliente?

• ¿Cómo es la respuesta por parte del cliente actual, al cambiar de un sistema

a otro sistema totalmente nuevo?

• ¿Qué tan factible será la venta de un software genérico para los giros

empresariales comerciales?

1.2.4 Hipótesis

Con la creación del sistema de información para el Grupo Cielito Lindo,

puede crearse una base para un sistema genérico para ese giro empresarial que es

de ventas, optimizando cada departamento dentro de la organizaciones e

incrementar el número de clientes en ALBA Soluciones.

1.2.5 Limitaciones y supuestos

ALBA Soluciones se encuentra constantemente con cambios de nuevos

proyectos al solo contar con 4 miembros base es una limitante de gran impacto ya

que entre solo ellos sacan adelante los trabajos, una de las mayores amanezcas al

ser cuatro personas es que en algunas ocasiones es demasiados proyectos y el

Page 24: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

15

tiempo es poco, dando así, jornadas de trabajos largas. En el proyecto para el

Grupo Cielito Lindo una limitante es el tiempo, ya que el cliente quiere un sistema

grande en un tiempo no considerado, haciendo que el equipo de trabajo tenga

largas jornadas de trabajo al igual que requiera de nuevos integrantes para el

desarrollo dentro de este proyecto.

El presupuesto son cantidades estándares establecidas por ALBA Soluciones

mes tras mes dependiendo la cantidad de trabajo en ese mes al igual que la cantidad

de recursos que se necesitan en sus pruebas.

1.2.5 Relevancia

La creación y realización de este proyecto es esencial y una oportunidad

magnífica para ALBA Soluciones porque cumplirá con las necesidades con el

cliente actual y así tener una base solidad dependiendo los resultados con el cliente

de poder generalizar el sistema a un sistema de información genérico el cual valla

dirigido a múltiples organizaciones. Así podrá beneficiar a las partes que contengan

el sistema de información que se podrá utilizar.

Page 25: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

16

CAPÍTULO II

ESTADO DEL ARTE

Page 26: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

17

2.1 Marco conceptual.

En esta sección se podrá observar sobre la investigación aplicada durante la

tesina, en donde la información será solamente de artículos científicos, poster

científicos, libros publicados, todo esto para que la información sea de la mejor

calidad y más que nada sea legitima, por aquellos autores que la interpretaron.

Además que se mostrara la final del documento una sección donde estén la

bibliografías y artículos citados utilizados en esta tesina.

2.1.1 ¿Qué son los web service?

Un web service es un conjunto de protocolos y estándares que sirven para

intercambiar datos entre aplicaciones. Distintas aplicaciones de software

desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre

cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en

redes de ordenadores como servidores Publio o privados, o incluso desde el mismo

internet. [1]

El término Web Services describe una forma estandarizada de integrar

aplicaciones WEB mediante el uso de XML, SOAP, WSDL y UDDI sobre los

protocolos de la Internet. XML es usado para describir los datos, SOAP se ocupa

para la transferencia de los datos, WSDL se emplea para describir los servicios

disponibles y UDDI se ocupa para conocer cuáles son los servicios disponibles. Uno

de los usos principales es permitir la comunicación entre las empresas y entre las

empresas y sus clientes. Los Web Services permiten a las organizaciones

intercambiar datos sin necesidad de conocer los detalles de sus respectivos

Sistemas de Información.

A diferencia de los modelos Cliente/Servidor, tales como un servidor de

páginas Web, los Web Services no proveen al usuario una interfaz gráfica (GUI).

Page 27: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

18

En vez de ello, los Web Services comparten la lógica del negocio, los datos y los

procesos, por medio de una interfaz de programas a través de la red. Es decir

conectan programas, por tanto son programas que no interactúan directamente con

los usuarios. Los desarrolladores pueden por consiguiente agregar a los Web

Services la interfaz para usuarios, por ejemplo mediante una página Web o un

programa ejecutable, tal de entregarles a los usuarios una funcionalidad específica

que provee un determinado Web Service.

Los Web Services permiten a distintas aplicaciones, de diferentes

orígenes, comunicarse entre ellos sin necesidad de escribir programas costosos,

esto porque la comunicación se hace con XML. Los Web Services no están ligados

a ningún Sistema Operativo o Lenguaje de Programación. Por ejemplo, un

programa escrito en Java puede conversar con otro escrito en Pearl; Aplicaciones

Windows puede conversar con aplicaciones Unix. Por otra parte los Web Services

no necesitan usar browsers (Explorer) ni el lenguaje de especificación HTML.

El modelo de computación distribuida de los Web Services permite la

comunicación de aplicación a aplicación. Por ejemplo, la aplicación que procesa las

órdenes de compra se puede comunicar con el sistema de inventarios, tal que este

último le puede informar a la aplicación de compras cuales ítems deben comprarse

por estar bajo su nivel mínimo. Dado el nivel integración que proveen para las

aplicaciones, Los Web Services han crecido en popularidad y han comenzado a

mejorar los procesos de negocios. De hecho, algunos postulan que los Web

Services están generando la próxima evolución de la Web.

Se pretendía ofrecer una alternativa a los procesos de desarrollo de software

tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que

se genera en cada una de las actividades desarrolladas. [2]

Page 28: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

19

2.1.1 ¿Para qué sirven los Web Services?

De una manera más clara se podría decir que un web service es una función que

diferentes servicios o equipos utilizan; es decir, solo se envían parámetros al

servidor (lugar donde está alojado el web service) y éste responderá la petición.

Entre algunas que se manejan de utilizar servicios webs en las aplicaciones

destacan las siguientes:

Aportan interoperabilidad entre aplicaciones de software

independientemente de sus propiedades o de las plataformas sobre las que

se instalen.

Los servicios Web fomentan los estándares y protocolos basados en texto,

que hacen más fácil acceder a su contenido y entender su funcionamiento.

Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los

sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado.

Permiten que servicios y software de diferentes compañías ubicadas en

diferentes lugares geográficos puedan ser combinados fácilmente para

proveer servicios integrados.

Permiten la interoperabilidad entre plataformas de distintos fabricantes por

medio de protocolos estándar y abiertos. [2,3]

2.1.1.1 Que es un servicio.

Un servicio es un programa con el cual se puede interactuar vía cambios de

mensaje bien definidos. Los servicios deben ser diseñados para cumplir con

disponibilidad y estabilidad. Uno de los grandes beneficios de SOA es la agilidad.

Una organización con procesos de negocios, implementados sobre una

infraestructura vagamente conectada, es más abierta al cambio que una

Page 29: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

20

organización forzada con aplicaciones monolíticas que requieren semanas para

implementar un cambio mínimo. [4]

2.1.2 Protocolos de los Web Services.

Los web services estandarizados funcionan con los siguientes componentes:

SOAP - Simple Object Access Protocol.- es un protocolo escrito en XML para

el intercambio de información entre aplicaciones. Es un formato para enviar

mensajes, diseñado especialmente para servir de comunicación en Internet,

pudiendo extender los HTTP headers. Es una forma de definir qué

información se envía y cómo mediante XML. Básicamente es un protocolo

para acceder a un Web Service.

WSDL - Web Services Description Language.- es un lenguaje basado en

XML para describir los servicios web y cómo acceder a ellos. Es el formato

estándar para describir un web service, y fue diseñado por Microsoft e IBM.

WSDL es una parte integral del estándar UDDI, y es el lenguaje que éste

utiliza.

UDDI - Universal Description, Discovery and Integration.- es un estándar

XML para describir, publicar y encontrar servicios web. Es un directorio

donde las compañías pueden registrar y buscar servicios web. Es un

directorio de interfaces de servicios web descritos en WSDL que se

comunican mediante SOAP.

RPC - Remote Procedure Calls.- presentan una interfaz de llamada a

procedimientos y funciones distribuidas, lo cual es familiar a muchos

desarrolladores. Típicamente, la unidad básica de este tipo de servicios es

la operación WSDL (WSDL es un descriptor del Servicio Web, es decir, el

homólogo del IDL para COM).

REST - Representation State Transfer.- intenta emular al protocolo HTTP o

protocolos similares mediante la estándar (por ejemplo GET, PUT). Por

Page 30: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

21

tanto, este estilo se centra más en interactuar con recursos con estado, que

con mensajes y operaciones. Restricción de establecer la interfaz a un

conjunto conocido de operaciones.

SOA – Service Oriented Architecture.- pueden también ser implementados

siguiendo los conceptos de la arquitectura SOA, donde la unidad básica de

comunicación es el mensaje, más que la operación. Esto es típicamente

referenciado como servicios orientados a mensajes.

Los Servicios Web basados en SOA son soportados por la mayor parte de

desarrolladores de software y analistas. Al contrario que los Servicios Web

basados en RPC, este estilo es débilmente acoplado, lo cual es preferible ya

que se centra en el “contrato” proporcionado por el documento WSDL, más

que en los detalles de implementación subyacentes. [3,4]

Imagen 2.1: mapa de estandarización con web services.

Page 31: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

22

2.1.2.1 Componentes de los Web Services.

Web Service. Es el software o componente que realiza las operaciones. Si está

escrito en Java, estas operaciones se realizarán en lenguaje Java. Los clientes

invocarán estas operaciones enviando mensajes SOAP.

SOAP Engine. El Web Service no sabe interpretar SOAP requests y crear SOAP

responses. Para hacer esto hace falta un SOAP engine, un software que se

encarga del manejo de estos mensajes. Apache Axis es un ejemplo.

Application Server. Para funcionar como un servidor que puede recibir requests

desde diferentes clientes, el SOAP engine normalmente funciona dentro de un

application server. Este es otro software que proporciona un espacio libre para

aplicaciones que han de ser accedidas por múltiples clientes. El SOAP engine

funciona como una aplicación dentro del application server. Ejemplos son Apache

Tomcat server, Java Servlet y JSP container.

HTTP Server. Algunos application servers incluyen funcionalidades HTTP, por lo

que se pueden tener Web Services funcionando instalando simplemente un SOAP

engine y un application server. Sin embargo cuando un application server carece

de funcionalidad HTTP es necesario también un HTTP server, más comúnmente

llamado Web Server. Es un software que sabe cómo manejar mensajes HTTP. Los

dos más populares en la actualidad son Apache HTTP Server y Nginx. [3,4]

Page 32: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

23

Imagen 2.2: estructura de los componentes de un Web Service.

2.1.2.2 Arquitectura de los Web Services.

Service Discovery. Responsable de centralizar servicios web en un directorio

común de registro y proveer una funcionalidad sencilla para publicar y

buscar. UDDI se encarga del Service Discovery.

Service Description. Uno de los aspectos más característicos de los web

services es que se auto describen. Esto significa que una vez que se ha

localizado un Web Service nos proporcionará información sobre que

operaciones soporta y cómo activarlo. Esto se realiza a través del Web

Services Description Language (WSDL).

Service Invocation. Invocar a un Web Service implica pasar mensajes entre

el cliente y el servidor. SOAP (Simple Object Access Protocol) especifica

cómo deberíamos formatear los mensajes request para el servidor, y cómo

el servidor debería formatear sus mensajes de respuesta.

Page 33: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

24

Transport. Todos estos mensajes han de ser transmitidos de alguna forma

entre el servidor y el cliente. El protocolo elegido para ello es HTTP

(HyperText Transfer Protocol). Se pueden utilizar otros protocolos pero

HTTP es actualmente el más usado. [3,4]

2.1.2.3 Como funciona un Web Service.

El Service Provider genera el WSDL describiendo el Web Service y registra

el WSDL en el directorio UDDI o Service Registry.

El Service Requestor o la aplicación del cliente requiere un Web Service y

se pone en contacto con el UDDI para localizar el Web Service.

El cliente, basándose en la descripción descrita por el WSDL, envía un

request para un servicio particular al Web Service Listener, que se encarga

de recibir y enviar los mensajes en formato SOAP. [3,4]

El Web Service analiza el mensaje SOAP del request e invoca una operación

particular en la aplicación para procesar el request. El resultado se escribe

de nuevo en SOAP en forma de respuesta y se envía al cliente.

El cliente analiza el mensaje de respuesta SOAP y lo interpreta o genera un

error si ha habido alguno. [3,4]

2.1.2.3 Que es XML.

XML, es un lenguaje ampliamente utilizado en programación web, que optimiza los

documentos utilizando las normativas de la W3C. Gracias a esta normativa, los

desarrolladores pueden crear sus propias etiquetas, lo que facilita el proceso de

programación orientada a web y a Internet, así como también la interpretación,

transmisión y organización de datos. [5]

Page 34: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

25

2.1.3 Angular

Angular es un Frameworks que se emplea para todo tipo de creaciones y ediciones

de aplicaciones y software que se realiza destinado a aplicaciones web y a JavaScript. A

lo largo de los años, este Frameworks ha ido evolucionando y creciendo hasta

posicionarse de la mejor manera posible y contar con una mayor utilidad para el mercado

y para los desarrolladores profesionales. La nueva versión de Angular se llama AngularJS

y logra mucho más, a la vez que mejora lo ya existente. Permite crear aplicaciones y

desarrollar proyectos tanto para ordenadores y para sistemas operativos de escritorio

como para móvil, Tablet y otro tipo de dispositivos, lo que le da una utilidad mayor y la

hace más recomendable, aconsejable y altamente funcional para los desarrolladores.

Entre los profesionales y entre el público interesado en el desarrollo web y el

desarrollo de aplicaciones, Angular es una muy buena opción a valorar, por todo lo que

supone y todo lo que aporta a un experto de la materia a la hora de realizar una creación

de software empleando esta plataforma y este Framework.

Angular combina las diferentes plantillas declarativas y otras tareas como la

inyección de dependencias y herramientas, para aplicar todos los usos y todas sus

características de extremo a extremo a la hora de ser aplicadas en una creación o un

proyecto y en el desarrollo Front End. Sin embargo, no es el único framework del

mercado, por lo que se enfrenta a un gran número de opciones y competidores que con

los que debe estar a la altura y presentar ventajas destacables, si quiere que opten por

ella y no por otros. A continuación veremos algunas de esas ventajas y las características

que hacen de Angular o AngularJS la herramienta de programación tan útil y

recomendable que es hoy en día para el mercado profesional y para los diferentes

usuarios de su plataforma. [6]

Page 35: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

26

2.1.3.1 Características de Angular en programación.

Entre todas sus características y todos los elementos que conlleva este

framework podemos empezar comentando la gran utilidad y la gran evolución que ha

tenido a lo largo de los años. Sin embargo, lo más importante es el uso que se le puede

dar a nivel práctico, y no tanto su historia o su pasado para con la compañía y los

expertos que la desarrollaron a lo largo de diferentes versiones, implementando

novedades y nuevos usos o características. Hoy en día puede emplearse para crear

aplicaciones mediante el uso y el empleo de los estándares web más modernos y

avanzados. Y es que, como plataforma de desarrollo y como medio para la creación y

el desarrollo, incluye las siguientes características que procedemos a comentar.

En primer lugar, permite ajustar y editar los gestos móviles que podemos realizar

con la aplicación o con la web, es decir, el método de utilización por parte de los

usuarios y por parte de todo aquel que use una app o un elemento digital de software

creado con Angular. También permite editar e incluir animaciones, lo que es un punto

positivo para evitar limitar las creaciones a algo sólido y estático. Comentamos también

el filtrado y la vinculación de los datos que queramos incluir, el enrutamiento y la

internacionalización de esta plataforma para el mercado a nivel global. Los

componentes de la interfaz de usuario también son una característica y la gran

seguridad que demuestra y que aporta a los profesionales que hacen uso de ella y que

confían en su sistema y su plataforma.

2.1.3.1 ¿Qué es un Framework?

El concepto framework se emplea unos muchos ámbitos del desarrollo de

sistemas software, no solo en el ámbito de aplicaciones Web. Podemos encontrar

Frameworks para el desarrollo de aplicaciones médicas, de visión por computador,

Page 36: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

27

para el desarrollo de juegos, y para cualquier ámbito que pueda ocurrírsenos. En

general, con el término framework, nos estamos refiriendo a una estructura software

compuesta de componentes personalizables e intercambiables para el desarrollo

de una aplicación. En otras palabras, un framework se puede considerar como una

aplicación genérica incompleta y configurable a la que podemos añadirle las últimas

piezas para construir una aplicación concreta. Los objetivos principales que

persigue un framework son: acelerar el proceso de desarrollo, reutilizar código ya

existente y promover buenas prácticas de desarrollo como el uso de patrones. Un

framework Web, por tanto, podemos definirlo como un conjunto de componentes

(por ejemplo clases en java y descriptores y archivos de configuración en XML) que

componen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web.

[8]

2.1.4 Prime NG

PrimeNG es una colección de componentes de interfaz de usuario ricos para

Angular. Todos los widgets son de código abierto y de uso gratuito bajo la licencia

MIT. PrimeNG es desarrollado por PrimeTek Informatics, un proveedor con años

de experiencia en el desarrollo de soluciones UI de código abierto. [9]

2.1.5 GitHub

Los repositorios Git. Esta clase de repositorios son una copia local del código

generado con una característica muy importante, y es que podemos hacer varias

versiones para poder recular si nos hemos equivocado y nuestra aplicación ya no

funciona, o para trabajar en funcionalidades nuevas sin necesidad de modificar la

versión funcional y así no romper el proyecto. Esta es la premisa más básica de los

repositorios de código, pero seguimos sin solucionar el tema de que se mantiene

Page 37: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

28

en local. Si nuestra máquina se estropea y deja de funcionar, corrompiendo el disco

duro, no podemos recuperar todo el trabajo realizado. Es por ello que nacen

servicios como GitHub, BitBucked u otros similares que pretenden llenar ese vacío.

[10]

2.1.6 MongoDB

Es una base de datos orientada a documentos. Esto quiere decir que en lugar de

guardar los datos en registros, guarda los datos en documentos. Estos documentos son

almacenados en BSON, que es una representación binaria de JSON.

Una de las diferencias más importantes con respecto a las bases de datos

relacionales, es que no es necesario seguir un esquema. Los documentos de una misma

colección concepto similar a una tabla de una base de datos relacional, pueden tener

esquemas diferentes. [11]

2.1.6.1 Características de MongoDB

Es una base de datos no relacional, es decir, no utiliza SQL. El nombre viene del término

inglés “humongous” (colosal) y puede ser definida como una base de datos documental

sin esquema, escalable y de alto rendimiento. Algunos especialistas la han catalogado

como la “MySQL de las bases de datos NoSQL”, al ver que es una base de datos

rapidísima, sencilla en la funcionalidad ofrecida y que, como hizo MySQL hace años, se

está ganando la atención de mucha gente. [12]

2.1.6.2 JSON

JSON es un formato ligero basado en de texto, con definición de lenguaje

completamente independiente, cuya sintaxis está basada en un subconjunto de

funcionalidades y palabras reservadas del lenguaje de script Web: JavaScript.

Page 38: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

29

Debido a su sencillez es fácil generar y procesar un documento con este formato

[13]

2.1.6.2 Estructura de JSON.

JSON está construido por dos estructuras:

Una colección de pares de nombre/valor. En varios lenguajes esto es conocidos

como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un

arreglo asociativo.

Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa

como arreglos, vectores, listas o secuencias. [13]

2.1.6.4 Base de dato NoSQL.

Se habla sobre amplia clase de sistemas de gestión de datos (mecanismos

para el almacenamiento y recuperación de datos) que difieren, en aspectos

importantes, del modelo clásico de relaciones entre entidades (o tablas) existente

en los sistemas de gestión bases de datos relacionales, siendo el más destacado

el que no usan SQL como lenguaje principal de consulta. [13]

2.1.6.5 Objetos en angular y MongoDB.

Un objeto es un ejemplar concreto de una clase, como por ejemplo el curso de

metodología de la programación es un curso concreto dentro de todos los tipos de cursos

que pueden existir. Un objeto pertenece a una clase, por lo tanto dispondrá de los

Page 39: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

30

atributos (datos) y operaciones (métodos) de la clase a la que pertenece. Un objeto

responde al comportamiento definido por las operaciones de la clase a la que pertenece.

Un objeto se puede ver como una "cápsula" de datos y algoritmos que trabajan

sobre esos datos. Un objeto no puede acceder directamente a sus datos (atributos). Los

atributos son sólo accesibles desde la implementación de los métodos de una clase. Un

objeto no puede "manipular" sus propios datos, para ello están los métodos de la clase

de dicho objeto: el comportamiento (métodos) de un objeto puede variar el valor (estado)

de sus datos (atributos). [14]

2.1.7 Visual Studios

Se trata de un IDE Integrated Development Environment (Entorno de desarrollo

integrado) de Microsoft. En esta nueva etapa que está comenzando la empresa, nos está

ofreciendo las diferentes herramientas de forma gratuita y liberando parte de bien

preciado código. La versión Community viene a sustituir las antiguas versiones Express

del Visual Studio. Aglutina todas las tecnologías y las ofrece en un único paquete.

Además de todo esto, ha añadido funcionalidades que en las versiones Express no tenía,

equiparándola a la versión Professional.

Visual Studio nos ofrece herramientas como diseñadores, editores, depuradores,

nos permite programar en diferentes lenguajes de programación como C++, Python,

HTML5, JavaScript, C#, VisualBasic y F#. También nos permite desarrollar utilizando los

framework de desarrollo web ASP.NET y Node.js y por último nos permite desarrollar

aplicaciones para las plataformas móviles Windows Phone, IOS y Android. [15]

Page 40: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

31

2.1.7.1 Lenguaje de programación C#

C# es el nuevo lenguaje de propósito general orientado a objetos creado por

Microsoft para su nueva plataforma .NET.

Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha

estado trabajando estos últimos años con el objetivo de mejorar tanto su sistema

operativo como su modelo de componentes (COM) para obtener una plataforma

con la que sea sencillo el desarrollo de software en forma de servicios web.

Los servicios web son un novedoso tipo de componentes software que se

caracterizan a la hora de trabajar por su total independencia respecto a su ubicación

física real, la plataforma sobre la que corre, el lenguaje de programación con el que

hayan sido desarrollados o el modelo de componentes utilizado para ello.

Pero la plataforma .NET no son sólo los servicios web, sino que también

ofrece numerosos servicios a las aplicaciones que para ella se escriban, como son

un recolección de basura, independencia de la plataforma, total integración entre

lenguajes (por ejemplo, es posible escribir una clase en C# que derive de otra

escrita en Visual Basic.NET que a su vez derive de otra escrita en Cobol)

C# combina los mejores elementos de múltiples lenguajes de amplia difusión

como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue

también el creador de muchos otros lenguajes. [15]

2.1.8 Inspección de elementos del navegador Google Chrome

Una herramienta que posee algunos de los navegadores web, tales como Google

Chrome y Firefox, los cuales es una herramienta para los desarrolladores de web, el cual

le permite realizar múltiples tareas, como la depuración de los procesos en una página

web, al igual del compartimiento que emite cada acción o método empleado. En

Page 41: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

32

inspeccionar elemento se puede albergar diferentes módulos como la cache que sirve de

memoria dinámica en un sitio web, al igual que almacena los módulos de las bases de

datos internar en dichos sitios, posee la almacenamiento y gestión de los cookies en la

página web. Uno de los apartados más esencial para los programadores es el área de

elementos, ya que en esta área el desarrollo podrá observar sobre el Front End de la

página donde puede interactuar propiedades sin afectar el código real. Existen más áreas

el cual puede trabajar el inspeccionar elementos, aunque no tan importantes como las ya

mencionadas. [15]

2.2 El estado del arte

Para la elaboración de este trabajo de investigación se han realizado múltiples

publicaciones citadas, emblemáticas y relativas sobre al tema abordado del sistema de

información con Web Services. A continuación se presenta la investigación y/o conclusión

redactada personalmente sobre la información que se propuso anteriormente.

Durante todo el capítulo el desarrollar un sistema de información con Web

Services, es algo complejo, ya que no solo es el uso de una tecnología, para crear un

sistema como este es la unificación de varias tecnologías que trabajan entre sí para la

comunicación y el manejo de áreas diferentes entre unas y otras para lleva a cabo una

mejor interpretación entre la comunicación entre los métodos y los softwares como

plataformas y framework utilizados para dicho sistema.

Se puede aclarar que el uso de cada uno de las tecnologías propuestas

anteriormente esta calidad para dar una calidad alta en cualquier tipo de sistema de

información, además pretenden dar un impacto de lo más alto para la adaptabilidad y

comodidad de un equipo de trabajo.

Page 42: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

33

Es importante en Ing. en informática estar actualizado en las tendencias de

tecnologías como son los framework, los cuales te harán un proyecto más como y de

mejor infraestructura, al igual que te ayudara en la disminución del trabajo aplicado.

Es de suma importancia el tener un análisis de requerimiento ante todo, ya que

con la base del análisis puedes considerar todas aquellas tecnologías que puedes

emplear en tu sistema de información.

El uso de nuevas tecnologías es un reto en un proyecto, sim embargo cuando

desarrollas el conocimiento de dicha tecnología y la explotas, en el resultado del proyecto

se puede tener resultado inesperados dado a eso se tendrán mejores objetivos y mejores

resultados en el campo de trabajo.

La investigación aplicado en esta tesina, es de suma importancia el hacer una

investigación cautelosa, ya que al tener una investigación aplicada la condición de la

tesina será buena, sin olvidar que tener información de carácter ayuda al conocimiento,

es decir el obtener información sobre citas, artículos, reportes, poster científicos ayudan

en la calidad de cualquier documento.

Por otra parte es considerable el comprender lo que el autor de cada cita propuesta

anteriormente es fundamental para el lector, para que así disfrute y comprenda sobre

todo esta tesina. Es básico el leer de principio al fin este capítulo, además de no

comprender de todo, consultar la sección bibliográfica al final de este documento.

El documento muestra, por otro lado, los beneficios que se tienen al hacer un

sistema de información usando como base Web Services, se muestra los beneficios que

se obtienen al realizar este tipo de tecnología. Al así el uso de cada tecnología propuesta

anteriormente, tal como es las base de datos no relaciones como la llamada MongoDB

que su método de trabajo es a través de objetos, que es una base esencial en la

informática.

Page 43: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

34

CAPÍTULO III

DISEÑO Y DESARROLLO

Page 44: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

35

3.1 – Diseño

En la estadía en la empresa ALBA Soluciones mi encargado fue el Ing. José

Cruz Paredes Magaña y el Lic. Eduardo Guerra Bogadilla los cuales me

compartieron accesorias, conocimientos y experiencias en el proyecto que

participe, y el cual me propusieron en la participación de un sistema de información

ERP usando Web Services. Todos los procesos de trabajo se describirán a

continuación.

Para el proyecto los ingenieros a cargo, al considerar el tiempo y los recursos

asignados y una análisis previo sobre todo el proyecto, incluyendo etapas del

proyectos, entregables de proyecto, tiempo y asignaciones de módulos, llegaron a

una conclusión general de trabajar con diferentes metodologías para dicho proyecto

las cuales llevan de nombre: metodología, Scrum, metodología XP, metodología

SMART. Con base a la fundamentación de estas metodologías mencionadas

llevándolas a cabo como están marcadas así como siguiendo su fundamentación

de cada una, aumenta la posibilidad de éxito en el proyecto y ayuda con los tiempos

de cada módulo del sistema.

A continuación se presenta cada una de las metodologías aplicadas en este

proyecto:

Metodología Scrum: es un método para trabajar en equipo a partir de

iteraciones o Sprints. Así pues, Scrum es una metodología ágil, por lo que

su objetivo será controlar y planificar proyectos con un gran volumen de

cambios de última hora, en donde la incertidumbre sea elevada.

Se suele planificar por semanas. Al final de cada Sprint o iteración, se va

revisando el trabajo validado de la anterior semana. En función de esto,

se priorizan y planifican las actividades en las que invertiremos nuestros

recursos en el siguiente Sprint.

La metodología Scrum se centra en ajustar sus resultados y responder a

las exigencias reales y exactas del cliente. De ahí, que se vaya revisando

Page 45: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

36

cada entregable, ya que los requerimientos van variando a corto plazo. El

tiempo mínimo para un Sprint es de una semana y el máximo es de cuatro

semanas.

Entre las principales características de la metodología Scrum, desataca

que es un desarrollo incremental en lugar de la clásica planificación del

desarrollo completo de un producto o servicio. Sus equipos de trabajo se

caracterizan por ser auto-organizados. Y se centra en el producto final,

en la calidad del mismo.

Para entender el ciclo de desarrollo de Scrum es necesario conocer las 5

fases que definen el ciclo de desarrollo ágil:

1. Concepto.- Se define de forma general las características del

producto y se asina el equipo que se encargara de su desarrollo.

2. Especulación.- en esta fase se hacen disposiciones con la

información obtenida y se establecen los límites que marcaran el

desarrollo los productos, tales como costos y agendas. Se

construirá el producto a partir de las ideas principales se

comprueban las partes realizadas y su impacto en el entorno.

3. Exploración.- se incrementa el producto en él se añaden las

funcionalidades de la fase de especulación.

4. Revisión.- el quipo revisa todo lo que se ha construido y se

contrasta con el objetivo deseado.

5. Cierre.- se entregara en la fecha acordada una revisión del

producto deseado. Al tratarse de una versión, el cierre no indica

que se ha finalizado el proyecto, sino que seguirá habiendo

cambios, denominados “mantenimientos”, que hará que el

producto final se acerque al producto final deseado [17].

Page 46: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

37

Imagen 3.1: Ciclo de desarrollo ágil.

Imagen 3.2: ciclo principal de Scrum.

Metodología XP: La metodología XP define cuatro variables para

cualquier proyecto de software: costo, tiempo, calidad y alcance. Además,

se especifica que, de estas cuatro variables, sólo tres de ellas podrán ser

fijadas arbitrariamente por actores externos al grupo de desarrolladores

(clientes y jefes de proyecto). El valor de la variable restante podrá ser

establecido por el equipo de desarrollo, en función de los valores de las

otras tres. Este mecanismo indica que, por ejemplo, si el cliente establece

el alcance y la calidad, y el jefe de proyecto el precio, el grupo de

desarrollo tendrá libertad para determinar el tiempo que durará el

proyecto. Este modelo es analizado por Kent Beck, en donde propone las

ventajas de un contrato con alcances opcionales. El ciclo de vida de un

Page 47: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

38

proyecto XP incluye, al igual que las otras metodologías, entender lo que

el cliente necesita, estimar el esfuerzo, crear la solución y entregar el

producto final al cliente. Sin embargo, XP propone un ciclo de vida

dinámico, donde se admite expresamente que, en muchos casos, los

clientes no son capaces de especificar sus requerimientos al comienzo

de un proyecto.

La metodología XP tiene un conjunto importante de reglas y prácticas. En

forma genérica, se pueden agrupar en:

1. Reglas y prácticas para la Planificación.

2. Reglas y prácticas para el Diseño.

3. Reglas y prácticas para el Desarrollo.

4. Reglas y prácticas para las Pruebas [18]

Imagen 3.3: fases de la metodología XP.

Metodología SMART: hace referencia a un acrónimo en inglés que es

muy utilizado por diversas industrias debido a su gran eficiencia y

objetividad, además resulta ser un recurso muy práctico y que

ciertamente, puede ser una salvación para los directores de cualquier

área.

Page 48: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

39

Aunque este concepto no hace precisamente referencia a un objeto

inteligente, estoy completamente segura de que sí lo es porque más allá

de ser simplemente una definición o un método, se convierte en una gran

herramienta para todas las empresas, sin importar la industria.

Muchas veces la definición de los objetivos puede ser el proceso más

difícil de lograr al querer comenzar un proyecto o una nueva estrategia.

Seguramente, todos, en más de una ocasión, nos hemos visto con la

mente en blanco durante este momento.

Por esta razón es que si deseas ponerte a trabajar cuanto antes y

además, darle a tu equipo una excelente guía para conseguir objetivos

muy específicos, debes comenzar por hacer un excelente planteamiento

de los mismos.

Por tanto, tus metas deben ser:

o Específicas: Lo primero que debes hacer es tener claro qué es lo

que quieres. Suena sencillo, pero muchas veces no lo es tanto. Por

eso el método insiste en que, cuanto más específicas sean las

metas, más fácil te será alcanzarlas.

o Medibles: Siguiendo en esta misma línea, es importante que

diseñes un objetivo cuya realización sea medible. Por ejemplo:

"conseguiré trabajo en 6 meses". De esta forma puedes realizar un

monitoreo constante mes a mes de tu progreso.

o Alcanzables: Una característica fundamental que debe tener tu

objetivo es que tiene que ser alcanzable, es decir, tienes que poder

delinear acciones específicas para alcanzarlo: adquirir nuevas

habilidades, dedicarle tiempo de tu semana, pedir ayuda, etc.

o Relevantes: La motivación es fundamental en cualquier ámbito de

la vida. Si no sientes una real motivación por alcanzar tus metas,

lo más probable es que se terminen convirtiendo en proyectos

truncos. Por más insignificante que parezca para el mundo

exterior, para ti tiene que ser relevante e impulsarte a adoptar la

actitud adecuada para conseguirla.

Page 49: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

40

o Temporales: Las metas deben tener un principio y un fin. Los

proyectos sin fecha de caducidad siempre quedan en el olvido.

Esto es lo que diferencia a las metas tangibles de los sueños

imposibles. [19][20]

Imagen 3.7: conceptualización de la metodología SMART

3.2 – Desarrollo

Durante el desarrollo de este proyecto de la Joyería, en su inicio de planifico

un requerimiento de análisis de todo el sistema operativo, haciendo consultas con

los trabajadores, realizando diagrama UML, aplicando las metodologías

anteriormente. El encargado de realizar dicho análisis fue el Ing. Daniel Omar

Cuellar Álvarez que tras al terminar se hizo una junta con todos los miembros

implicados donde explica todos los requisitos y peticiones especiales del cliente,

todo detalladamente explicado.

Primeramente tras ver el análisis de requerimiento se empezaban a ver las

necesidades sobre los catálogos del proyecto al igual de lar fortalezas de cada

integrante, en donde primero se repartió la parte del Back End en donde se repartió

a Ing. José Cruz Paredes Magaña como el encargado, practicante Jesús Fernando

Vazquez Muñoz, practicante Rosario Antonio Plata Martínez como en la parte del

Back End se repartió al Ing. Eduardo Guerra Bogadilla como encargado, Gerardo

Page 50: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

41

Hernández como programador, Ing. José Paredes Cruz programador, practicante

Jesús Fernando Vazquez Muñoz, practicante Rosario Antonio Plata Martínez, en la

creación de la base de datos no relacionada fue creación del Ing. José Cruz

Paredes Mañana también en la elaboración del web services de todo el sistema fue

la elaboración del Ing. José Cruz Paredes Magaña, invención de Ing. Eduardo

Guerra y unas atribuciones de los practicantes: Jesús Fernando Vazquez Muñoz y

Rosario Antonio Plata Martínez y por último y menos importante en el área de

pruebas se utilizara el navegador Google Chrome donde todos harán pruebas

unitarias en cada catálogo.

3.2.1 – Herramientas de desarrollo

Como se mencionó anteriormente, al tener asignado a los miembros en cada

estación de trabajo y tener seccionando los tiempo para cada estación se planeó y

se llegó a la conclusión al igual que se determinó el uso de las herramientas de

trabajo que se utilizaría en cada una de estas áreas, analizando cada opción que

actualmente en el área de informática se podía obtener, las herramientas utilizadas

para el proyecto de la joyería fueron las siguientes:

Para el área del Front-End, se utilizara la plataforma angular y el

Frameworks de Prime NG.

Imagen 3.8: isologotipo de Angular

Page 51: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

42

Imagen 3.9: Isotipo de Frameworks PrimeNG

Con la plataforma de angular se podrá realizar la codificación del Front-

End y gracias con la ayuda del Frameworks del PrimeNG se podrá realizar

la gran mayoría de las animaciones, componentes, botones, grillas y la

gran mayoría de los componentes que se tendrá el sistema de la joyería.

Para el área del Back-End, se utiliza la plataforma de angular y algunos

plugin de la misma plataforma la cual ayudaran de compiladores y de

snippets durante la programación del sistema

Imagen 3.10: Isologitipo de Angular

Gracias a la plataforma de angular y la unificación de sus plugin tales

como: snippets angular 6, Angular Language Service para la sintaxis del

web service, Angular2-inline para la tabulación correcta, HTML CSS

Support para la sintaxis de etiquetas en CSS, JSHint para la ayudar de

extensiones y Terminal para la depuración del sistema, el conjunto de

Page 52: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

43

todos los plugins junto con la plataforma de angular realiza una labor

excelente para la experiencia durante la programación del proyecto.

En el área de la base de datos se utilizó una base de datos no relacionada

para una mayor calidad en el proyecto en cuando datos:

Imagen 3.11: Isotipo de mongoDB

Se llegó a la conclusión de utilizar una base de datos no relacionada para la

optimización de llamada de datos al igual a la rapidez de la funcione a través

de consulta de información y su principal características es la tendencia de

alta respuesta a través de una consulta realizada por el usuario. Aunque

mongo DB no sea utilizada o no sea muy popular es una herramienta rigorosa

y de gran potencial siempre y cuando se utilice de formar correcta.

En el caso del área del web service se optó por la plataforma de Visual

Studio para la gran comunicación entre todos los sistemas operativos, al

igual por la demanda que recibe y por la garantía de lograr resultados de

peticiones buenas. Al igual que el lenguaje de programación elegido para

la plataforma de Visual Studio fue el lenguaje “C#” por las herramientas y

fácil uso de este mismo.

Page 53: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

44

Imagen 3.12: Isotipo de Visual Studio con C#

Gracias a la tecnología que se puede lograr con la plataforma de Visual

Studios es posible disminuir el trabajo gracias a las garantías que te

ofrece, al igual que Visual Studios es las mejor opciones para la creación

de Web Services para la obtención en peticiones hacia otra plataforma

igual o diferente a esta. Cabe mencionar que la creación de web services

en Visual Studio se puede lograr y compartir gracias a la plataforma de

GitHub el cual permite compartir el proyecto con más de 1 personas para

que así todos trabajen en el mismo proyecto y de igual manera se pueda

sincronizar en tiempo real para que el trabajo se genere una replicación

de maestro a maestro hacia todas las terminales compartidas.

Para el caso de área de pruebas se optó por la herramienta más cómodas

y única entre todas y que actualmente solo posee el mercado, es la

plataforma del navegador Google Chrome

.

Page 54: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

45

Imagen 3.13: logo del navegador Google Chrome.

Gracias a la nobleza que ofrece el navegador Google Chrome es el único

navegador que actualmente tiene una herramienta para desarrolladores el cual se

conoce como inspección de páginas, gracias dicho navegador al momento de

probar cada catalogo o modulo del proyecto se puede observar todos los procesos

por cual puede pasar el proyecto durante la depuración del mismo.

3.2.3 – Diseño de interfaces

En este contenido se mostrara más detallado la interfaz gráfica y el funcionamiento

que se realizó por el equipo de trabajo y principalmente los módulos realizados por mí,

los cuales son utilizados actualmente por usuarios del grupo CLG. Las interfaces graficas

deben de cumplir ciertos parámetros como, estéticamente correcta, uso adecuado de

colores, fácil manejo ante el usuario como altos estándares de diseño moderno.

Las siguientes interfaces graficas son algunos de los módulos que se

encuentran en el sistema ya funcionando de manera correcta, al igual que todas

pasaron por un periodo de pruebas y en constantes actualizaciones para mejorías

de las mismas.

Page 55: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

46

Imagen 3.14- Diseño de la pantalla grupo componente.

En esta pantalla se puede ingresar el tipo de componente en el cual la pieza de la

joyería tendría su categoría.

Imagen 3.15: Diseño de la pantalla pureza.

En esta pantalla se puede agregar el valor en pureza del metal de la joya. Además

marca al grupo el cual pertenece dicha pieza.

Page 56: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

47

Imagen 3.16: Diseño de la pantalla usuario.

En esta pantalla se logra crear a los usuarios, los cuales pueden meterse al

sistema, este sistema cuenta con diferentes tipos de usuario el cual se define en la misma

pantalla.

Imagen 3.17: Diseño de la pantalla Almacén.

En esta pantalla se puede definir el almacén donde estarán las piezas en caso de

ser requeridas por un usuario para disposición de la venta.

Imagen 3.18: Diseño de la pantalla artículos.

Page 57: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

48

En esta pantalla el usuario puede realizar un artículo, describiendo cada uno de

sus atributos para el manejo de todo el sistema.

3.2.4 – Primeros pasos del desarrollo de los métodos web services

Para la creación de los métodos de Web Services, se tomó el requerimiento de

análisis previo, para conocer la manera de trabajo en CLG, partiendo de allí se inició

con la implementación de los Web Services en la plataforma de VS utilizando el

lenguaje de C#, canalizando la información se dio el primer método de Web Service,

haciendo una consulta general sobre un módulo. Al principio el método de búsqueda

fue de manera genera, después con el tiempo se logró realizar una mejoría haciendo un

Web Service dinámico, significando que el método mejorara en su rendimiento en un

40% hacia la producción.

Imagen 3.19: creación de web service en consulta.

3.2.5 – Web Services con conexión a bases de datos.

Una de los mayores retos fue la creación de la base de datos y que esta

extendiera un servicio el cual pudiera ser compartido a cualquier tipo de dispositivo

que contara con un gesto de base de datos de MongoDB, para así poder utilizar la

base de datos. El reto se originó al momento de crear el servicio web y hacer la

conexión de la base datos ya que este tipo de BD es propenso a sistema operativos

Page 58: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

49

LINUX, causaba conflicto, la solución a esto fueron la creaciones de drivers que

trabajaran en paralelo hacia el web Services y el gesto de base de datos.

Imagen 3.20: conexión de Web Service a la BD.

Imagen 3.21: Base de datos no relaciona.

3.2.5.1 Programación de módulos.

Al ser un sistema de información se puede decir que lo principal es la

programación, en este caso al utilizar los métodos del Web Services se ahorró, se

automatizo, se mejorar el sistema, se redujo la programación esto porque al crear el Web

Services, se generalizaban todas las funciones generales o dinámicas de todos el

sistemas tales como son el método de dar de alta, el método de dar de baja, el método

de hacer una consulta ya sea individual o general y el método de modificar una datos

especifico.

Page 59: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

50

La programación en los módulos fue siempre con la misma lógica, cada miembro

del equipo de trabajo utilizo los mismo métodos creados desde el Web Services, dando

así la estandarización en la programación, haciendo que todos utilizaran las mismas

técnicas llevando a cabo que nadie dependiera de nadie, cabe mencionar que cuando no

se utilizaba los métodos del web services, la programación era larga y complicada para

algunos integrantes del equipo ya que la lógica de la programación era diferente a todas.

Imagen 3.22: Sintaxis de programación.

Imagen 3.23: Petición del web service.

Page 60: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

51

RESULTADOS Y DISCUSIÓN

En este punto se hablara sobre los resultados que se obtuvieron durante el

desarrollo del proyecto, ya que cada tiempo se determinaba una junta donde se

presentaba los avances a un grupo de usuarios para que hicieran la aprobación.

Además en este contenido se podrán visualizar algunas graficas donde demuestren

resultados que se obtuvieron y posibles resultado que se creen lograr obtener.

Los resultado sobre este proyecto actualmente han sido de buen ver, es decir

los resultado por parte de los usuarios han sido calificados de una manera positiva,

aunque también hay algunos usuarios donde su respuesta fue negativa al comentar

que los procesos eran algo agresivos y enredosos.

Tabla 3.1: Encuesta por la calidad del sistema.

Como otro resultado obtenido fue la producción al hacer el sistema de

información por medio de Web Services o hacerlo sin estos por lo que resulto lo

siguiente:

0

5

10

15

Encuesta de calidad 1/Noviembre/2018

Page 61: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

52

Tabla 3.2: Resultado de un sistema de información Web Services.

La tabla de arriba los resultados obtenido se realizaron al hacer un método con o

sin Web Services lo cual resulto de la forma anterior (Véase la gráfica x:) donde destaco

en las mayorías de las fases la implicación de los Web Services. En donde el número 10

en la gráfica se dirige a lo “Excelente” y el 0 implica el camino hacia lo “Menos calidad”

Tabla 3.3: Estación de tiempo con Web Services y sin Web Services.

0

2

4

6

8

10

12

Comparación de metodos.

Con Web Services Sin Web Services

0

100

200

300

Estimación de tiempo.

Con Web Services Sin Web Services

Page 62: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

53

En la gráfica anterior se realiza un gráfico con la estimación en dias donde se

puede realizar el sistema de información con Web Services y sin Web Services, es una

comparación basada en resultados reales en los casos de la comunicaciones como

también de las llamadas y una estimación en programación, aquí podemos ver que al

principio al usar Web Services puede ser un poco más complejo y llevar más tiempo, pero

una vez que se utiliza de la forma correcta al momento de la programación y en el estado

de pruebas ahorra demasiado trabajo y dias de jornadas.

Page 63: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

54

CONCLUSIONES

Tras acabar con mis estadías en la empresa de ALBA Soluciones se logró

hacer un avance de buen impacto en el proyecto del Grupo Cielito Lindo (CLG)

donde la participación mía fue de buena fe, gran aprendizaje y considero

personalmente de buena ayuda en todo el proyecto.

El sistema de información con el uso de web services aún se encuentra en

desarrollo y pruebas, se planea acabar en una fecha de Agosto del 2019. Durante

el otro tiempo se estará estableciendo los demás catálogos o módulos del sistema,

además que se planea la contratación de personas para el área de outsourcing

para pruebas de usuarios comunes. Al igual que algunos avances se le han

presentado algunos usuarios de la empresa y al gerente general del grupo, dando

una respuesta positiva al igual también de cambios y sugerencias de modo de

trabajo de ellos. Todas estas respuestas dadas es por el fácil funcionamiento que

realiza el sistema además de la parte amigable que representa el sistema de

información siendo muy intuitivo en manera de trabajo.

En conclusión, creación, junto con la implementación de un sistema de

información con Web Services logra potencialmente el trabajo gracias a la función

que realiza los web services, estandarizando todo el área de programación y junto

con la base de datos no relacional se puede optimizar aún más las peticiones y

consultas de información por parte de los usuarios.

En cuanto el equipo de trabajo fue excelente desde el principio se sintió el

compañerismos entre todos, además de la confianza que me dieron al solo ser una

practicante de la empresa, con el equipo de trabajo tuve obligaciones las cuales

tenía que cumplir de rigor las tareas que me hacían asignadas. Además que el

compañerismo de los integrantes del equipo de trabajo fue demasiado agradable

porque te compartían su conocimientos además de que cuando no tenía el

conocimiento sobre algo ellos de manera tranquila y organizada te explicaban los

procedimientos que se tenían que llevar a cabo para realizar la tarea.

Page 64: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

55

Además durante el proyecto al trabajar con metodologías es más cómodo y

practico trabajar bajo un estándar de trabajo, ya que te ayuda en basarte en

términos de trabajo, creando una organización de trabajo más ideal para un

proyecto, además de la combinación de estructura que se tiene para cada integrante

que participa en los proyectos. Sin olvidar que el combinar varias metodologías sirve

aún más para aplicar varios métodos de trabajo en uno solo, tomando lo mejor de

cada uno y empleándolo en el proyecto donde se trabaja.

El trabajar con web services comprendí que es un método muy útil de en un

sistema de información ya que al tener este paradigma de trabajo ayuda mucho en

el momento de programar ya que estandariza todos los métodos que se puedan

utilizar, ya que cualquier miembro del proyecto puede hacer la función de otro

integrante utilizando el mismo método llamado, así cualquier integrante utiliza la

misma estandarización para reducción el error, además ayuda en la reducción de

código ya que se podrá utilizar y reutilizar un método en cada módulo que

corresponda, al igual que se puede adaptar a múltiples catálogos. Aunque el realizar

un web service puede ser algo nuevo y también puede ser algo complicado de

momento, pero al tener la información, la técnica y la lógica con la experiencia es

algo rutinario el realizar un servicio web. Una de las razones importante al utilizar la

tecnología de Web Services es utilizar la misma base de datos para cualquier

dispositivo e usuario, esto quiere decir que si el sistema quiere adaptarse a un

dispositivo se toma la misma base de datos de forman normal y se manda a llamar

sin tener que depender de ningún otro puente.

Concluyo que es importante tener una buena participación en el equipo de trabajo tener

participación, cumplir con las responsabilidades, aportar ideas, ofrecer ayuda a quien lo

necesite, tener una buena aptitud el hacer esto implica tener una función dentro del

equipo de trabajo.

Page 65: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

56

BIBLIOGRAFÍA

[1] Curbera, F. Goland, Y., Klein, J., Leymann, F., Roller, D., Thatte, S., and

Weerawarana, S. 2003. Business Process Execution Language for Web Services.

[2] Rao, J. 2004. Semantic Web service composition via logic-based program

synthesis. PhD thesis. Department of Computer and Information Science,

Norwegian University of Science and Technology.

[3] Lifeng Ai , Maolin Tang , Colin Fidge, Partitioning composite web services for

decentralized execution using a genetic algorithm, Future Generation Computer

Systems, v.27 n.2, p.157-172, February, 2011

[4] Cerami E. (2002). Web Services Essencials. Estados Unidos: O. Reilly. ISBN: 0-

596-00224-6.

[5] Nogales Flores, J. Tomás; Martín Galán, Bonifacio; Arellano Pardo, Mª del

Carmen. “Informática, Derecho y Documentación. Experiencias y posibilidades de

aplicación de los lenguajes de marcado de texto (SGML, HTML y XML) a los

documentos jurídicos”. En: Encuentro sobre Informática y Derecho. (16º. Madrid.

2002). Madrid: Instituto de Informática Jurídica, Universidad Pontificia de Comillas,

2003, pp. 355-382.

[6] Vega Lichacz, David, Desarrollo de la capa de presentación de una plataforma

de gestión de formas de pago y cálculo de condiciones en la gestión de créditos al

consumo utilizando Angular 2, Junio 2017

[7] Tacilla Ludeña, Julio Luis, Implemetation programmer with Angular Universidad

Privada Antenor Orrego – UPAO, Junio 2016

[8] Javier J. Gutiérrez, ¿Qué es un framework web?, Universidad del Norte, Febrero

del 2008

[9] Angular IU Development with PrimeNG, July 2017, By Packt Publishing Ltd.

Libery Place

Page 66: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

57

[10] CSCW '12 Proceedings of the ACM 2012 conference on Computer Supported

Cooperative Work

[11] Chodorow, K. (2010), Escaling MongoDB. O’Reilly Media. O’Reilly &

Associates, Inc.

[12] DB-engines-trend. 2015. DB-engines. DB-engines ranking - Trend of MongoDB

Popularity. [En línea] 2015. [Citado el: 06 de abril de 2015.] http://db-

engines.com/en/ranking_trend/system/MongoDB.

[13] [22] JSON, O'Reilly, T: "What is web 2.0: design patterns and business models

for the next generation of software", Disponible: http://www.oreillynet.com/go/web2,

2005.

[14] Joyanes Aguilar, Luis, Programación orientada a objetos. Madrid, McGraw-Hill

Interamericana, c1996, xxvii, 658 p.: 24 cm. Edición; 1ª, ed

[15] Kostadin Damevski, David C. Shepherd; Johannes Schneider, Lori Pollock;

Department of Computer Science, Virginia Commonwealth University, Richmond,

2016

[16] Charles Reis, Carlos Pizano, Communications of the ACM - A Blind Person's

Interaction with Technology, Volume 52 Issue 8, August 2009

[17] Manuel Trigas Gallego, Ana Cristina Domingo Troncho, “Gestores de proyectos

con metodología Scrum” Instituto de México

[18] Optional Scope Contracts Kent Beck, Dave Cleal, 1999. Extreme Programming.

[19] Jovani Alberto Jiménez Builes, Demetrio Arturo Ovalle Carranza, John Fredy

Ochoa Gómez. Escuela de Ingeniería de Sistemas, Facultad de Minas, Universidad

Nacional de Colombia. Aceptado Octubre 23 de 2007.

[20] Ávila Baray, H.L (2006) Introducción a la metodología de la investigación.

Page 67: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

58

GLOSARIO

ERP.- significa planificación de recursos empresariales. Se refiere a los paquetes

de sistemas y software que utilizan las organizaciones para administrar las

actividades diarias del negocio.

CLG.- Grupo Cielito Lindo.

DB.-. Base de Datos es un “almacén” que nos permite guardar grandes cantidades

de información de forma organizada para que luego podamos encontrar y utilizar

fácilmente

WS.-. Escribe una forma estandarizada de integrar aplicaciones web.

XP.- Extreme Programming es una metodología de desarrollo que pertenece a las

conocidas como metodologías ágiles, cuyo objetivo es el desarrollo y gestión de

proyectos con eficacia, flexibilidad y control.

VS.- Visual Studio es un conjunto de herramientas y otras tecnologías de desarrollo

de software basado en componentes para crear aplicaciones eficaces y de alto

rendimiento, permitiendo a los desarrolladores crear sitios y aplicaciones web.

SQL.- (Structured Query Language) es un lenguaje estándar e interactivo de acceso

a bases de datos relacionales que permite especificar diversos tipos de operaciones

en ellas.

SOA. - Simple Object Protocol.

REST. - Representation State Transfer.

WSDL. - Web Services Description Language.

SOAP. - Simple Object Access Protocol.

UDDI. - Universal Description Discovery and Integration.

Page 68: Tesina de muestrarepositorio.upsin.edu.mx/formatos/WebSerivcesJesus...compartió la información necesaria y me guio en el desarrollo como también en el contenido y estructura de

59

RPC. - Remote Procedure Calls.

XML. - Extensible Markup Language.

JSON. – acrónimo de JavaScript Object Notation