Sei sulla pagina 1di 10

Sistema e Informtica

Revista de la Facultad de Ingeniera Industrial


Desarrollo
14(2): de un
16-25 servicioUNMSM
(2011) web de verificacin vehicular en centrales de riesgos crediticios

ISSN: 1560-9146 (Impreso) / ISSN: 1810-9993 (Electrnico)

Desarrollo de un servicio web de verificacin


vehicular en centrales de riesgos crediticios

Recibido: 21/03/11 Aceptado: 05/09/11 (1) Flix Melchor Santos Lpez

INTRODUCCIN
RESUMEN
Las centrales de riesgo crediticio en el Per son em- En la actualidad los servicios web o Web Services proporcionan
presas receptoras de informacin de fuentes externas
(AFP, bancos, seguros, municipalidades, etc.) que se
una importante interoperabilidad e integracin entre sistemas de
encargan de brindar diversos servicios a las empre- informacin desarrollados bajo diferentes tecnologas. Por otro
sas, entidades y ciudadanos del pas, por ende sus lado, las centrales de riesgos crediticios son las encargadas de
sistemas informticos estn constantemente actuali-
zados y a la vanguardia de la tecnologa. Debido a
la recepcin de informacin crediticia de diferentes fuentes ex-
esto y la gran cantidad de tecnologas presentes en el ternas (AFP, bancos, seguros, municipalidades, etc.), en el Per
mercado, recientemente se viene optando por brindar estn reguladas por la Superintendencia de Banca, Seguros y
soluciones basados en Servicios Web, ya que permi-
ten una comunicacin, interoperabilidad e intercambio
AFP (SBS).
de informacin independiente del lenguaje de pro-
gramacin en que estn desarrollados los sistemas.
Estas centrales de riesgos a su vez proporcionan una serie de
Esto representa una gran ventaja por ejemplo para el servicios en base al procesamiento y modelamiento de la informa-
sistema de Verificacin Vehicular que brinda infor- cin que acumulan. Uno de estos servicios es el de verificacin
macin de los vehculos registrados en el pas. Adi-
cionalmente, la utilizacin de UML (Unified Modeling
vehicular, consulta que se realiza a los sistemas de informacin
Language) como el lenguaje de modelado del sistema por parte de usuarios externos (clientes). Estos usuarios exter-
y el lenguaje de programacin Java en su versin nos son principalmente las empresas aseguradoras que venden
J2EE (Java Second Enterprise Edition) permiten un
adecuado desarrollo del software, y JMeter contribuye
el Seguro Obligatorio de Accidentes de Trnsito (SOAT). La in-
a realizar las pruebas del sistema logrndose deducir formacin brindada por esta consulta se utiliza para validar los
los parmetros de configuracin para su ptimo des- datos del vehculo proporcionados por un comprador del SOAT.
empeo, que para el presente sistema se concluye
que no deber sobrepasar los 5 000 usuarios concu- Un inconveniente presentado durante varios aos es el proble-
rrentes del servicio web.
ma de comunicacin e incompatibilidad de tecnologas, debido a
Palabras clave: servicio web, verificacin vehicular, que las empresas e instituciones elegan diferentes plataformas
central de riesgo crediticio, J2EE, UML
para el desarrollo de sus sistemas de informacin y esto difi-
Development of a web service of vehi- cultaba la interoperabilidad entre tecnologas diferentes de dos
cle inspection in central credit risk empresas. Sin embargo, en junio del ao 2001 el Gartnet Group,
ABSTRACT un centro de investigacin de tecnologas de informacin y firma
The central credit risk companies in Peru collect much consultora formada por importantes empresas del sector de las
information from different external sources and they Tecnologas de Informacin, document un cronograma para la
offer various services to the others enterprises, enti- adopcin de Web Services desde el 2001 al 2005.
ties and citizens. Therefore, their information systems
are updated constantly. In the world there are many La Web usa HTTP para correr sobre TCP/IP, que se convirti
different technologies developed in different language
programming, thus it was considered a pain in the en el estndar universal. La invencin de XML fue lo que real-
neck for software engineers. Fortunately, nowadays mente permiti el camino para los Web Services. Con SOAP
there is a framework called Web Service that allows y WSDL, las compaas pudieron crear y describir sus propios
communication, interoperability and exchange among
different language programming. The Vehicle Inspec- Web Services. [1] [4] (traducido de la referencia). Estos con-
tion system gives all the information about vehicles ceptos sern explicados en las secciones siguientes. As mismo,
registered in the country. In addition, this system was para el desarrollo de este Web Service se emple el Lenguaje
developed in J2EE (Java Second Enterprise Edition)
and UML (Unified Modeling Language) because are Unificado de Modelo UML, el lenguaje de programacin Java en
reliable and free technologies; also JMeter is a good su versin J2EE, la plataforma SUN JAX-WS (ver definicin en
test tool that helps to establish the accurate measure tabla 1) para le generacin de los artefactos necesarios para la
of the parameters for a good system performance. As
a result, 5 000 concurrent users should not exceed the publicacin del Web Service y JMeter como testeador para las
capacity of this web service. pruebas del sistema.
Keywords: web service, vehicle inspection, central
credit risk, J2EE, UML 1 Ingeniero Informtico, Pontificia Universidad Catlica del Per.
E-mail: fsantos@pucp.edu.pe

16 Ind. data 14(2), 2011


Sistema e Informtica

Flix Melchor Santos Lpez

Los principales objetivos de la investigacin son es- WSDL: Web Services Description Language, es
tablecer si las tecnologas seleccionadas funcionan el lenguaje de la interfaz pblica para los servi-
correctamente, desarrollar los diagramas UML que cios web, es una descripcin basada en XML de
permitirn una diagramacin adecuada y ordenada los requisitos funcionales necesarios para esta-
para futuras modificaciones, y por ltimo determinar blecer una comunicacin con los servicios web.
el valor mximo de usuarios concurrentes para el
correcto funcionamiento del Web Service. UDDI: Universal Description Discovery and In-
tegration, protocolo para publicar la informacin
de los servicios web, permite a las aplicaciones
DEFINICIONES
comprobar qu servicios web estn disponibles.
Web Service o servicio web permite la comunica-
cin negocio a negocio B2B (Business to Business, HTTP: Hipertext Transfer Protocol, es el proto-
que se denomina comercio en la red), permitiendo colo utilizado en cada transaccin de la World
a las empresas compartir e integrar datos y servi- Wide Web.
cios heterogneos en una Arquitectura Orientada a W3C: World Wide Web Consortium, consorcio
Servicios SOA. En los ltimos aos, Web Service internacional que produce recomendaciones
se ha convertido en una tendencia dominante y se para la World Wide Web.
est haciendo la tecnologa omnipresente que
prometa ser en sus orgenes [1]. Para el caso particular de la implementacin del
Web Service de Verificacin Vehicular, se realiza
Los Web Services permiten llamadas a procedi-
mediante el protocolo HTTP por ser un estndar
mientos remotos y la mensajera asncrona, solien-
do implementarse mediante mensajes XML a tra- ampliamente utilizado. Se aprecia en la Figura 1
vs del protocolo de comunicacin HTTP. que los diversos consumidores del Web Service
sern los puntos de venta de los SOAT, por ejem-
Adicionalmente, los Web Services son definidos plo mdulos en los supermercados, retails, grifos,
por W3C que es el comit responsable de su arqui-
universidades, etc. Inclusive BlackBerries u otros
tectura y reglamentacin [2].
dispositivos mviles para vendedores de a pie.
A continuacin la definicin de trminos importan-
La comunicacin con el Web Service no se realiza a
tes para la compresin de los Web Services:
travs de los usuarios humanos, sino los sistemas
XML: Extensible Markup Language, es el forma- informticos de la empresa, porque el consumo del
to estndar para los datos que se intercambian. Web Service se realiza mediante la invocacin de
SOAP: Simple Object Access Protocol, proto- otro sistema informtico, por tanto la Figura 1 es un
colo sobre el que se establece el intercambio, diagrama ilustrativo, siendo los Puntos de Venta
principalmente HTTP. sistemas de informacin.

Figura 1. Comunicacin de los consumidores del Web Service y el protocolo HTTP.

Fuente: Elaboracin propia

Ind. data 14(2), 2011 17


Sistema e Informtica

Desarrollo de un servicio web de verificacin vehicular en centrales de riesgos crediticios

Tabla 1. Cuadro de tecnologas a utilizar y su descripcin

Tipo de Tecnologa Descripcin y sustento

J2EE (Java Second Enterprise Edition), lenguaje de programacin amplia-


Lenguaje de Programacin Java. mente utilizado en las empresas, posee una gran variedad de documen-
Versin: JDK 6. tacin, una madurez en el mercado que lo hacen confiable, soporte de la
corporacin Oracle y es Open Source.

Perteneciente al J2EE, EJB es un API para el desarrollo de aplicaciones


Enterprise Java Bean EJB.
empresariales que permite almacenar y gestionar las clases encargadas
de llevar a cabo la lgica de negocio de un sistema de informacin. Se uti-
Versin: EJB 3.
liza la versin nmero 3 que permite la utilizacin de anotaciones, lo cual
disminuye el tiempo de desarrollo debido a que es ms simple.

SUN JAX-WS.
Permite la construccin de Web Services mediante la utilizacin de anota-
ciones proporcionados por el JDK 6 y genera automticamente el archivo
Versin: 2.2.1.
WSDL, UDDI y las clases necesarias para el despliegue del Web Service.

Servidor de Aplicaciones encargado de almacenar la aplicacin y ponerlo


Servidor de Aplicaciones Jboss. en marcha. Jboss es compatible para la puesta en produccin de aplica-
Versin: Jboss 5.0.1GA. ciones J2EE, su versin EJB3 y Web Services. Adicionalmente, la versin
GA de Jboss es Open Source.

JMeter
JMeter es un software OpenSource desarrollado en java como una aplica-
cin de escritorio que permite realizar pruebas de esfuerzo de aplicaciones
Versin: 2.4.
y servicios Web.

Fuente: Elaboracin propia

As mismo, para el desarrollo del Web Service se En la Figura 3 se muestra un ejemplo de la interac-
seleccionaron las tecnologas que se indican, de cin de un Consumidor (Client Side) y un Produc-
forma sustentada en la Tabla 1. tor (Server Side) desarrollados en Java.
En la Figura 2 se aprecia cmo se desplegar y Todo ello empieza del lado izquierdo, el Consumi-
almacenar el aplicativo que resolver el problema dor establece los valores de los parmetros (pa-
de la implementacin y puesta en marcha del Web ram) necesarios para realizar el consumo del Web
Service de verificacin vehicular. Est compuesto Service y seguido invoca mediante un mensaje
por dos partes: Request: SOAP y el Productor recibe la peticin,
lee los parmetros enviados y procesa. Por ltimo,
Aplicativo Web (Contenedor Web): donde se alma-
genera un retorno mediante el mensaje Response:
cena en s el WSDL, es decir el Web Service que se
SOAP el cual es enviado de regreso al Consumi-
publica para su consumo.
dor, finalizando el ciclo.
Aplicacin Empresarial EJB 3 (Contenedor de Apli-
caciones): donde se almacena en s la clase encar-
2. DESARROLLO DEL SISTEMA DE INFORMACIN
gada de realizar la lgica del negocio. Esta no es
visible por los consumidores, sino que es invocada
2.1. Anlisis del sistema mediante la notacin uml
por el Aplicativo Web.
Siendo Java el lenguaje de programacin a utilizar
La aplicacin de este Web Service permitir su con-
y su principal caracterstica es de ser un lenguaje
sumo por parte de los clientes, en este caso vienen
orientado a objetos; el anlisis del sistema se basa-
a ser los sistemas de informacin de las empresas
r en la notacin UML, es decir el Lenguaje Unifica-
que adquieran el servicio. Estos sistemas no nece-
do de Modelado.
sariamente tienen que estar desarrollados bajo el
lenguaje de programacin Java, debido a que se UML es un lenguaje de modelado visual de prop-
emplea el protocolo de comunicacin HTTP y el es- sito general que se utiliza para especificar, utilizar,
tndar XML. Por ello, se pueden utilizar lenguajes de construir y documentar los artefactos de un sistema
programacin como .NET, Visual Basic, PHP, Ruby, software [7]. Dada esta definicin, se establece que
Cobol, etc. para poder consumir el Web Service. un modelo capta los aspectos importantes de lo que

18 Ind. data 14(2), 2011


Sistema e Informtica

Flix Melchor Santos Lpez

Figura 2. Grfico del Servidor Jboss y el aplicativo a desarrollar.

Fuente: Elaboracin propia

Figura 3. Invocacin de un Subsistema (Client Side) a un Subsistema (Server Side) desarrollado en


Java mediante mensajes emitidos por SOAP.

Fuente. Tomado de Mark Hansen [5]

se est modelando y simplifica u omite el resto. Ntese que la caja del actor contiene el smbolo
<<actor>>, denominado estereotipo UML, el cual tra-
Uno de los artefactos ms importantes de la nota-
ta de clasificarlo de un solo modo [3]. Se decide uti-
cin UML son los casos de uso del sistema, los cua-
lizar este estereotipo como buena prctica, ya que el
les modelan la funcionalidad del sistema tal como lo actor que interacta con el sistema no es una perso-
perciben los agentes externos que interactan con na en s, sino un sistema informtico externo. Cabe
este. Su funcionalidad se expresa como una tran- precisar que este caso de uso se debe de especifi-
saccin que se realiza entre un actor y el sistema; car, es decir escribir literalmente cmo acta el ac-
en la Figura 4 se aprecia un ejemplo. tor y el caso de uso en un llamado al Web Service.
Para el Sistema de Verificacin Vehicular se identifica Adicionalmente, en la Figura 6 se presenta el dia-
al actor externo como un Sistema Consumidor Exter- grama de clase de anlisis con las principales en-
no y al proceso de la consulta como el caso de uso tidades a implementar. En este caso Estructura-
Consultar Vehculo, tal como se aprecia en la Fig. 5. VehicularEntrada representa los parmetros de

Ind. data 14(2), 2011 19


Sistema e Informtica

Desarrollo de un servicio web de verificacin vehicular en centrales de riesgos crediticios

Figura 4. Diagrama de caso de uso Figura 5. Diagrama de caso de uso del sistema

Sistema de Verificacin Vehicular

<<actor>>
Consultar
Sistema Consumidor
Caso de uso Vehculo
Externo

Fuente: Elaboracin propia Fuente: Elaboracin propia

Figura 6. Diagrama de clases del sistema

Fuente: Elaboracin propia

entrada a enviar al Web Service y EstructuraVehi- est implementada por el EJB Session Verifica-
cularSalida representa a los parmetros a devolver cionCICS; siendo esta ltima la encargada de rea-
producto de la consulta. lizar la lgica del negocio que implica una llamada
a la funcin conectarCICS de la clase Conexion-
2.2. Diseo del sistema Vehiculo, que obtiene realmente los datos de un
El diseo orientado a objetos transforma el mode- servidor del tipo CICS.
lo de anlisis creado usando anlisis orientado a As mismo, todo el aplicativo estar empaquetado
objetos, en un modelo de diseo que sirve como en un archivo del tipo Enterprise Application Archi-
anteproyecto para la construccin de software [6]. ve (EAR) que es un estndar propio de las aplica-
En el presente diseo, se define en la Figura 7 el ciones J2EE y se utiliza para su despliegue en el
diagrama de clases de diseo que ser el soporte servidor Jboss. En la figura 8 se observa un EAR y
de la implementacin y lgica del negocio, basados sus principales componentes internos que agrupan
en las estructuras definidas en la Figura 6. dentro de s a las clases de las figuras 6 y 7.
Se aprecia que la clase VerificacionVehicularWS
2.3. Implementacin de j2ee
es la entrada del Web Service, seguido se invoca
a la interfaz VerificacionCICSLocal que a su vez La construccin del Web Service se desarrolla con

20 Ind. data 14(2), 2011


Sistema e Informtica

Flix Melchor Santos Lpez

el lenguaje de programacin Java en su versin Despus de implementar y escribir el cdigo fuente


J2EE. As mismo, esta permite el desarrollo de los se procede a utilizar la herramienta de compilacin
servicios web mediante el uso de anotaciones, los JAX-WS en su versin 2.2.1, que proporciona los
cuales son los siguientes: artefactos necesarios para la publicacin y puesta
en marcha del Web Service. Estos artefactos son
@WebService especifica que la clase es un Web principalmente los siguientes: la clase Verificacion-
Service a publicar. VehicularWS compilada, el archivo de extensin
@WebResult especifica el mtodo y el resultado .XSD (contiene las estructuras de entrada y salida
del Web Service a publicar. del Web Service) y el archivo WSLD; siendo este
ltimo el principal y el encargado de publicar el Web
@WeParam especifica el o los parmetro(s) que Service en la Web y proveer la recepcin y emisin
recibe el Web Service. de los mensajes a travs del SOAP. En la figura 10
En la figura 9 se visualiza la clase VerificacionVehi- se aprecia el contenido del archivo WSDL del tipo
cularWS y la utilizacin de las anotaciones para su XML generado.
publicacin como Web Service. Adicionalmente, se En la Figura 11 se visualiza los archivos XML de un
aprecia la utilizacin de las clases de diseo pre- consumo del Web Service de Verificacin Vehicular.
viamente realizadas en el punto 2.2 DISEO DEL En la seccin izquierda de la figura se aprecia el
SISTEMA y Figura 7. archivo de entrada con los campos respectivos a

Figura 7. Diagrama de Clases de Diseo

Fuente: Elaboracin propia

Figura 8. Enterprise Application Archive (EAR) del sistema.

<<EAR>>
VerificacionVehicularEAR

<<WAR>> <<JAR>>
VerificacionVehicular VerificacionEJBClient

<<JAR>>
VerificacionEJB

Fuente: Elaboracin propia

Ind. data 14(2), 2011 21


Sistema e Informtica

Desarrollo de un servicio web de verificacin vehicular en centrales de riesgos crediticios

Figura 9. Visualizacin del cdigo la clase VerificacionVehicularWS.

Fuente: Elaboracin propia

Figura 10. Archivo WSDL generado por el JAX-WS

Fuente: Elaboracin propia

22 Ind. data 14(2), 2011


Sistema e Informtica

Flix Melchor Santos Lpez

Figura 11. Archivos XML de entrada (izquierda) y salida (derecha) de un consumo del WS.

Fuente: Elaboracin propia

enviar. En la seccin derecha se observa el archivo nmero de peticiones por minuto, el cual cuantifica
de respuestas con los campos obtenidos produc- precisamente el rendimiento del aplicativo. Como se
to de la consulta. Los mencionados archivos viajan aprecia en la grfica a mayor nmero de usuarios
por medio de la Web a travs del protocolo HTTP y concurrentes el valor de Rendimiento va en au-
la definicin del WSDL. mento, es decir el Web Service toma un mayor tiem-
po para procesar las solicitudes de consulta.
3. Prueba del servicio web
Todos los valores de la Tabla 2 son extrados de las
El objetivo de las pruebas, expresado de forma
pruebas y reflejan una unidad de medida de JMeter
sencilla, es encontrar el mayor nmero de errores
denominada latencia que se expresa en ms (mili-
con una cantidad razonable de esfuerzo, aplicado
segundos). En la Figura 13 se muestra la grfica
sobre un lapso de tiempo realista [6].
de evolucin del rendimiento, lo cual refleja que a
En el prrafo anterior se defini las pruebas para un
sistema de informacin tradicional y que refleja el
enfoque de las pruebas del tipo funcional. Sin em-
Figura 12. Grfico de las pruebas en la herramienta JMeter.
bargo, la prueba ms crtica e importante para un
Web Service son las denominadas pruebas de es-
trs, las cuales sometern al servicio web a un n-
mero determinado e incremental de invocaciones.
Lo que se busca primordialmente es evaluar la res-
puesta y desempeo del Web Service ante un ma-
yor nmero de consultas concurrentes. Por ello, se
utiliz la herramienta de testeo de software JMeter
especializada en pruebas para sistemas desarrolla-
dos bajo la tecnologa J2EE.
En la Tabla 2 se muestra los datos de la simulacin
del sistema, empezando por 10 usuarios hasta llegar
a los 10 000 con los incrementos como se aprecia
en la tabla. Adems, JMeter arroja un resultado de-
nominado Rendimiento que se establece como el Fuente: The Apache Project [8].

Ind. data 14(2), 2011 23


Sistema e Informtica

Desarrollo de un servicio web de verificacin vehicular en centrales de riesgos crediticios

Tabla 2. Cuadro de valores arrojados en las pruebas

Nmero de Rendimiento Media Mediana Desviacin


usuarios (peticin/minuto) (ms) (ms) (ms)
10 85.167 3534 2040 2616
50 25.927 3337 3041 2446
100 37.490 3542 3077 2373
500 121.257 3556 3070 2594
1000 224.309 2937 1681 2423
2500 457.948 2245 1158 2169
5000 726.207 2077 1197 1923
7000 19839.271 2324 1432 1821
10000 17336.353 2251 1440 1827

Fuente: Elaboracin propia

Figura 13. Grfico de rendimiento del Web Service.

Fuente: Elaboracin propia

mayor nmero de usuarios se requerir un nmero eleccin correcta y viable al ser Open Source y
mayor de tiempo de procesamiento y se ver re- no tener la limitacin de una licencia comercial.
flejado en la lentitud del sistema. Cabe mencionar, El anlisis y diseo mediante la notacin UML
que un pico de incremento considerable se obtiene permiti un adecuado entendimiento del sistema
al variar de 5 000 a 7 000 usuarios. as como una clara documentacin para modifi-
caciones o mantenimientos en el futuro.

4. CONCLUSIONES Se garantiza la compatibilidad del Web Service


con los llamados de otros aplicativos desarro-
El Web Service funcion correctamente y su de- llados en diferentes lenguajes de programacin,
sarrollo e implementacin con las tecnologas debido a que se utiliz el protocolo SOAP y el
Java J2EE, EJB3, JAX WS y JBoss fue una estndar XML para su implementacin.

24 Ind. data 14(2), 2011


Sistema e Informtica

Flix Melchor Santos Lpez

5. RECOMENDACIONES sociation for Computing Machinery - ACM Digital


Library. Disponible en: http://portal.acm.org/ci-
La aplicacin desarrollada fue puesta en pro-
tation.cfm?id=777335 (Visitado el 03/01/2011).
duccin en una importante central de riesgos
crediticios del pas, del mismo modo se espera [3] Larman C. (2008). UML Y PATRONES Una
que otras centrales lo implementen ya que im- introduccin al anlisis y diseo orientado a ob-
plica un negocio importante para ellos por ser jetos y al proceso unificado. 2.a ed. Pearson
el SOAT un seguro obligatorio, debido a que las Prentice Hall, Espaa.
compaas aseguradoras se ven en la obliga-
[4] Levvit J (2001), From EDI to XML and UDDI:
cin de comprobar la informacin brindada por
A brief history of Web Services, Information
sus clientes.
Week. Disponible en: http://www.information-
Adicionalmente, las centrales de riegos deben week.com/news/development/tools/showArticle.
tener en cuenta los resultados de las pruebas jhtml?articleID=6506480 (Visitado el 03/01/2011).
realizadas en esta investigacin y a modo de
[5] Mark D. Hansen (2007). SOA Using Java Web
recomendacin se debera de configurar el
Services, First Edition, Prentice Hall, U.S.A.
servidor de aplicaciones JBoss para recibir un
mximo de 5000 usuarios concurrentes, ya que [6] Pressman R (2005). Ingeniera del Software
hasta ese valor la aplicacin trabaja con un buen Un enfoque prctico. 6.a ed. Mc Graw Hill, Es-
rendimiento. paa.
[7] Rumbaugh J. Jacobson I. Booch G (2007). El
lenguaje Unificado de Modelado, UML 2.0 Ma-
6. Referencias bibliogrficas
nual de Referencia. 2.a ed. Pearson, Espaa.
[1] Clay W. Avondolio D. Schrager S. Mitchell M.
[8] The Apache Jakarta Project (2010). Building a
Scanlon J. (2007). Profesional Java JDK. 6.a ed.
Web Service Test Plan, Apache JMeter. Dis-
First Edition, Anaya Multimedia - WROX, Spain.
ponible en: http://jakarta.apache.org/jmeter/
[2] Ferris C, Farrell J. IBM Research Triangle usermanual/build-ws-test-plan.html (Visitado el
Park, INC (2003). What are Web Services? As- 03/01/2011).

Ind. data 14(2), 2011 25

Potrebbero piacerti anche