PDF de programación - Desarrollo de plugins distribuidos como servicios web REST

Imágen de pdf Desarrollo de plugins distribuidos como servicios web REST

Desarrollo de plugins distribuidos como servicios web RESTgráfica de visualizaciones

Publicado el 11 de Noviembre del 2019
96 visualizaciones desde el 11 de Noviembre del 2019
481,9 KB
57 paginas
Creado hace 2a (22/02/2017)
PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE
ESCUELA DE INGENIERÍA
Departamento de Ciencia de la Computación

DESARROLLO DE PLUGINS DISTRIBUIDOS

COMO SERVICIOS WEB REST

JUAN IGNACIO PUMARINO RODRÍGUEZ

Memoria para optar al título de
Ingeniero Civil de Industrias,
con Diploma en Ingeniería de Computación

Profesor Supervisor:
JAIME NAVÓN COHEN

Santiago de Chile, marzo de 2010
©MMX JUAN IGNACIO PUMARINO RODRÍGUEZ

PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE
ESCUELA DE INGENIERÍA
Departamento de Ciencia de la Computación

DESARROLLO DE PLUGINS DISTRIBUIDOS

COMO SERVICIOS WEB REST

JUAN IGNACIO PUMARINO RODRÍGUEZ

Memoria presentada a la Comisión integrada por los profesores:

JAIME NAVÓN COHEN

CRISTIÁN TEJOS NÚÑEZ

ANDRÉS NEYEM

Para completar las exigencias del título de
Ingeniero Civil de Industrias,
con Diploma en Ingeniería de Computación

Santiago de Chile, marzo de 2010

RIAAGRADECIMIENTOS

Este trabajo no podría haber llegado a buen término de no ser por la importante
colaboración de muchas personas. Quiero agradecer a algunas de ellas en particular.

Gracias a mi papás, Jaime y María Antonieta. Ustedes me enseñaron a ser un hombre
de bien y a hacer de mi vocación un instrumento para mejorar el mundo y ser feliz. Sigo
inténtadolo día a día. Gracias por el apoyo y la comprensión permanente en mis
aventuras profesionales y académicas; en los aciertos y desaciertos.

Gracias a mis hermanos, Felipe, Carolina y Javiera; por mostrarme que en la familia
hay un refugio permanente desde donde salir a enfrentar el mundo y que en ella las cosas
sencillas de la vida son las que más valen. Gracias por enseñarme a aprender y discutir,
a hacerme preguntas y buscar respuestas, e incluso a leer, escribir, sumar y nadar.

Gracias a mis amigos de la Escuela de Ingeniería, en especial a Pablo, Carlos,
Cristóbal, Fernando, Francoise y Sebastián. Ustedes han sabido acompañarme en un
camino lleno de oscilaciones, vaivenes y bytes. Forjé mi vocación junto a ustedes y
desde la distancia hoy me ayudan no perder de vista el horizonte.

Gracias, Gabriela, por tu paciencia y la cuota precisa de impaciencia. Por hacerme
descubrir la profunda fortaleza del amor que nos tenemos y la familia que estamos
construyendo. Gracias en especial por ayudarme a encontrarle el gusto a la vida, tanto en
las grandes decisiones que la marcan, como en los detalles que la van tejiendo.

Gracias a José Tomás. Desde antes de nacer ya me pedías terminar pronto este
trabajo. Eres lo más maravilloso del mundo; contigo he vuelto a ser un niño para quien
cada paso es un mundo nuevo. Con la ayuda de todas estas personas, te seguiré
acompañando y ayudándote siempre a crecer.

Gracias a mi profesor Jaime Navón; durante este trabajo juntos la vida nos cambió por
diferentes razones. Usted confió siempre en mis capacidades y en el buen destino al que
finalmente hemos llegado. Gracias en especial por ver a la persona detrás del estudiante.

iii

Le agradezco a Eduardo Santander, quien desde la Fundación Educacional Loyola me
solicitó en primer lugar el desarrollo de la aplicación original, actuó como fiel cliente
para refinar el producto y, finalmente, me dio su apoyo para realizar esta investigación.

Por último, gracias a Tim Berners-Lee por crear la web y a Roy Fielding por rescatar

su elegante simplicidad.

iv

ÍNDICE GENERAL

PÁG.

AGRADECIMIENTOS....................................................................................................III

ÍNDICE GENERAL..........................................................................................................V

ÍNDICE DE FIGURAS...................................................................................................VII

ÍNDICE DE TABLAS...................................................................................................VIII

RESUMEN.......................................................................................................................IX

ABSTRACT......................................................................................................................X

1.INTRODUCCIÓN...........................................................................................................1

2.REVISIÓN BIBLIOGRÁFICA.......................................................................................3
2.1. Aplicaciones Extensibles........................................................................................3
2.1.1. Desde la programación orientada a objetos....................................................3
2.1.2. Plugins y extensiones......................................................................................4
2.2. REST.......................................................................................................................6
2.2.1. La propuesta original......................................................................................6
2.2.2. REST y la web................................................................................................8
2.2.3. La Arquitectura Orientada a Recursos..........................................................10
2.2.4. REST y Rails.................................................................................................13

3.ANÁLISIS DE LA APLICACIÓN EXISTENTE........................................................16
3.1. El problema...........................................................................................................16
3.1.1. Proceso PAC.................................................................................................16
3.1.2. Proceso PAT.................................................................................................17
3.2. La solución............................................................................................................19
3.2.1. Diseño procedural.........................................................................................19
3.2.2. Diseño estructural.........................................................................................21

v

3.3. Limitaciones.........................................................................................................23

4.REDISEÑO DE LA SOLUCIÓN.................................................................................25
4.1. Correcciones al modelo........................................................................................25
4.2. Simplificación del modelo....................................................................................27
4.3. Separación entre aplicación central y plugins......................................................28
4.3.1. Identificación estructural de la aplicación central.........................................28
4.3.2. Identificación funcional de los plugins.........................................................28
4.4. Construcción de los plugins como servicios web REST siguiendo la ROA........30
4.4.1. URIs y enlaces..............................................................................................31
4.4.2. Métodos HTTP y representaciones...............................................................34
4.4.3. Códigos de respuesta.....................................................................................40
4.5. Uso de plugins desde aplicación anfitriona..........................................................41

5.CONCLUSIONES.........................................................................................................43
5.1. Logros...................................................................................................................43
5.1.1. Factibilidad de la solución............................................................................43
5.1.2. REST.............................................................................................................43
5.1.3. Rails y ActiveResource.................................................................................44
5.1.4. Aplicaciones de escritorio.............................................................................45
5.2. Áreas por mejorar.................................................................................................45
5.2.1. Esquema de usuarios.....................................................................................45
5.2.2. Seguridad de comunicación..........................................................................46
5.2.3. Tolerancia a fallas y eficiencia de comunicación..........................................46

BIBLIOGRAFÍA..............................................................................................................47

vi

ÍNDICE DE FIGURAS

Figura 1: Diagrama de secuencia de proceso PAC manual..............................................17
Figura 2: Diagrama de secuencia de proceso PAT manual..............................................18
Figura 3: Diagrama de secuencia del proceso PAC en la aplicación original.................20
Figura 4: Diagrama de secuencia de proceso PAT en la aplicación original...................21
Figura 5: Modelo de clases de la aplicación original.......................................................22
Figura 6: Modelo de clases corregido..............................................................................26
Figura 7: Modelo de clases corregido y simplificado.......................................................27
Figura 8: Modelo de clases de la aplicación central.........................................................28
Figura 9: Navegación entre recursos comunes entre plugins PAC y PAT.......................33
Figura 10: Navegación entre recursos epecíficos del plugin PAC...................................34
Figura 11: Navegación entre recursos epecíficos del plugin PAT...................................34

vii

ÍNDICE DE TABLAS

Tabla 1: Comparación de categorías de se
  • Links de descarga
http://lwp-l.com/pdf16880

Comentarios de: Desarrollo de plugins distribuidos como servicios web REST (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad