Está en la página 1de 5

Contenido

Propuesta de trabajo de proyecto SOA ....................................................................................... 2 Resultados obtenidos ................................................................................................................. 2 Referencias ................................................................................................................................ 5

Propuesta de trabajo de proyecto SOA


Se pretende construir una misma aplicacin tanto en .Net como en Java, en otras palabras; una aplicacin que haga lo mismo mediante algoritmos lo ms similares posible, desarrolladas en .Net y Java. Se quiere utilizar para ambas aplicaciones los mismos conjuntos de datos, de tal manera que puedan ser enviados de una capa a otra (del modelo a la lgica de negocio) utilizando tecnologas de Web Services REST o SOAP. Dichos conjuntos de datos sern desde variables primitivas (Ejm: int, boolean, etc), hasta datos complejos compuestos por otros datos complejos (Ejm: Una lista de personas que contenga la lista de compras de productos que necesitan para ir al supermercado). Lo que se pretende es comparar el rendimiento dado por las dos tecnologas de Web Services (REST y SOAP) tanto en .Net como en Java. Al final determinar en cul plataforma trabajan mejor y cul de las 2 tecnologas lo hace mejor. Se pretende entregar una serie de resultados que respalden nuestras investigaciones. Dichas investigaciones se harn mediante la ejecucin constante de nuestras aplicaciones. Tipos de datos a mandar: La comparacin se har bajo 3 grupos de datos los cuales se detallan a continuacin: 1. Conjunto de datos primitivos (int, boolean, etc). 2. Conjuntos de datos de conjuntos/listas (List, ArrayList, etc). 3. Conjuntos de datos de objetos y listas de objetos (lista Persona que puede contener listas de otros objetos asociados a cada persona). Adems, se harn varias repeticiones de los envos de los datos (mandar el 3er grupo de datos 1 vez 100 veces 500 veces 1000 veces y 2000 veces), esto con el fin de ver si cual tecnologa (REST o SOAP) y en cual plataforma se da un mejor rendimiento o si por el contrario todos tienden a dar un resultado muy parecido.

Resultados obtenidos
Una vez realizadas las pruebas se logr concluir que, tal y como se aprecia de las Figuras 1, 2 y 3, para el paso de objetos utilizando el servicio web de tipo REST, Java es superior a .NET por un amplio margen para una gran cantidad de llamados simultneos. Los resultados son contundentes para todos los tipos de objetos probados, tanto los simples como los complejos. En contraste con los resultados anteriores, al realizar las pruebas utilizando el servicio web de tipo SOAP, .NET tendi a ser levemente ms eficiente que Java para las pruebas con grandes cantidades de llamados, sin embargo la diferencia no resulta ser tan marcada como en REST con Java. Estos resultados se evidencian en las figuras 4, 5 y 6

16 14 12 10 Segundos 8 6 4 2 0

Objeto Simple con REST


14.634

.Net 5.140 2.700 0.564 0.644 100 1.552 2.610 4.596 Java

500 Iteraciones

1000

2000

Figura No.1: Resultados de los objetos simples con REST

12 10 8 Segundos 6 4 2 0

Objeto Persona con REST


10.121

4.839 2.243 0.778 0.647 100 500 1000 2.593 1.542

.Net 4.566 Java

Iteraciones

2000

Figura No.2: Resultados de los objetos persona con REST

14 12 10 8 Segundos 6 4 2 0

Objeto Complejo con REST


11.878

6.115 3.768 2.083 0.604 0.741 100 500 1000 3.431

6.019

.Net Java

Iteraciones

2000

Figura No.3: Resultados de los objetos complejos con REST

16 14 12 10 Segundos 8 6 4 2 0 0.694

Objeto Simple con SOAP

14.240 14.615

7.564 7.639 5.381 3.458 2.716

.Net Java

100

500 Iteraciones

1000

2000

Figura No.4: Resultados de los objetos simples con SOAP

18 16 14 12 10 Segundos 8 6 4 2 0

Objeto Persona con SOAP


15.635 9.250 7.093 5.448 2.320 0.701 100 500 1000 3.488

15.849

.Net Java

Iteraciones

2000

Figura No.5: Resultados de los objetos persona con SOAP

25 20 15 Segundos 10 5 0.911 0

Objeto Complejo con SOAP


18.580 19.815

11.152 6.626 4.343 2.667 8.515

.Net Java

100

500 Iteraciones

1000

2000

Figura No.6: Resultados de los objetos complejos con SOAP

Se present una serie de problemas en .NET a la hora de realizar las pruebas debido a problemas con la cantidad de conexiones simultneas. Al realizar una gran cantidad de llamados, el servidor retornaba un error WSAENOBUFS [1] ya que era incapaz de resolver las peticiones ya que se quedaba sin sockets en Windows XP. Para resolver el problema se debi modificar una serie de valores en el registro del sistema. Adicionalmente, se hallaron grandes diferencias al ejecutar las pruebas utilizando una aplicacin de escritorio (utilizando Windows Forms) y una aplicacin de consola. Los tiempos de la primera excedan en ms de diez ocasiones a la implementacin creada en consola, por lo que se decidi ejecutar todas las pruebas utilizando la implementacin de consola para .NET.

Referencias
[1] Soporte Microsoft. (2009, 12) de octubre. Microsoft. Fecha de consulta: junio 29, 2011 desde http://support.microsoft.com/default.aspx?scid=kb;en-us;196271.

También podría gustarte