Você está na página 1de 30

GUIA DE LABORATORIO

DESARROLLO DE APLICACIONES
ANDROID QUE CONSUMEN
SERVICIOS WEB (SOAP-XML) EN
JAVA


ING.IVAN PETRLIK AZABACHE
SERVICIOS WEB
Un servicio web es una tecnologa que utiliza un conjunto de protocolos y estndares que sirven
para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en
lenguajes de programacin diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los
servicios web para intercambiar datos en redes de ordenadores como Internet.
La interoperabilidad se consigue mediante la adopcin de estndares abiertos Las
organizaciones OASIS y W3C son los comits responsables de la arquitectura y reglamentacin
de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de
servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para
definir de manera ms exhaustiva estos estndares. Es una mquina que atiende las peticiones de
los clientes web y les enva los recursos solicitados.

Estndares Empleados
Web Services Protocol Stack: As se denomina al conjunto de servicios y protocolos de los
servicios Web.
XML (Extensible Markup Language): Es el formato estndar para los datos que se vayan a
intercambiar.
SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call):
Protocolos sobre los que se establece el intercambio.
Otros protocolos: los datos en XML tambin pueden enviarse de una aplicacin a otra
mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer
Protocol), o SMTP (Simple Mail Transfer Protocol).
WSDL (Web Services Description Language): Es el lenguaje de la interfaz pblica para los
servicios Web. Es una descripcin basada en XML de los requisitos funcionales necesarios
para establecer una comunicacin con los servicios Web.
UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la
informacin de los servicios Web. Permite comprobar qu servicios web estn disponibles.
WS-Security (Web Service Security): Protocolo de seguridad aceptado como estndar
por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza
la autenticacin de los actores y la confidencialidad de los mensajes enviados.

Ventajas de los Servicios Web
Aportan interoperabilidad entre aplicaciones de software independientemente de sus
propiedades o de las plataformas sobre las que se instalen.
Los servicios Web fomentan los estndares y protocolos basados en texto, que hacen ms
fcil acceder a su contenido y entender su funcionamiento.
Permiten que servicios y software de diferentes compaas ubicadas en diferentes lugares
geogrficos puedan ser combinados fcilmente para proveer servicios integrados.

Razones para crear Servicios Web
La principal razn para usar servicios Web es que se pueden utilizar con HTTP sobre TCP
(Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes
mediante firewalls -que filtran y bloquean gran parte del trfico de Internet-, cierran casi todos los
puertos TCP salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web
utilizan este puerto, por la simple razn de que no resultan bloqueados. Es importante sealar que
los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo, TCP es el ms comn.
Otra razn es que, antes de que existiera SOAP, no haba buenas interfaces para acceder a las
funcionalidades de otros ordenadores en red. Las que haba eran ad hoc y poco conocidas, tales
como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs
Una tercera razn por la que los servicios Web son muy prcticos es que pueden aportar gran
independencia entre la aplicacin que usa el servicio Web y el propio servicio. De esta forma, los
cambios a lo largo del tiempo en uno no deben afectar al otro. Esta flexibilidad ser cada vez ms
importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes
distribuidos ms pequeos es cada da ms utilizada.
Se espera que para los prximos aos mejoren la calidad y cantidad de servicios ofrecidos
basados en los nuevos estndares.

Implementando un Servicio Web (Soap) XML en Java
Para empezar a desarrollar un servicio web en Java primero tenemos que tener implementado
el Eclipse (Kepler).
A continuacin el respectivo IDE.








Aqu observamos el IDE Eclipse








La finalidad es implementar un Servicio Web y por lo tanto tenemos que descargarnos una
librera de nombre AXIS a travs de la siguientes direcciones electrnicas
https://www.dropbox.com/s/840wlim6lt8v743/axis2-1.6.2-bin.zip
o
http://axis.apache.org/axis2/java/core/download.cgi
Dar clic en el link zip y se
lograra descargar un zipeado de
nombre axis2-1.6.2-bin.zip
Tenemos descargado el archivo de nombre axis2-1.6.2-bin.zip
Empaquetado (comprimido) desempaquetado




Luego el archivo desempaquetado tenemos que copiarlo dentro de la carpeta workspace que
genera el IDE Eclipse, en este caso supongamos que la ruta de la carpeta Workspace es :
c:\worspace







Configurando el IDE Eclipse con el archivo AXIS (axis2-1.6.2.bin) de la siguiente manera:

El archivo es
copiado en esta
ruta















En la siguiente figura observamos la ruta donde se ha configurado el componente AXIS (axis-
1.6.2)







Despus que hemos configurado el Axis con el IDE Eclipse , ahora vamos a crear el Servicio
Web de la siguiente manera :
Desde el IDE Eclipse elegimos el men File/New/Dinamic Web Project






Aparece una ventana en la cual tenemos que colocar el nombre del Servicio Web.









Ahora a continuacin tenemos que elegir el servidor de aplicaciones (New Runtime) de la
siguiente manera:







Aparece una ventana que me permite escoger la versin del servidor de aplicaciones que vamos
a trabajar y adems presionar el botn Next.







En la siguiente ventana nos solicita configurar la ruta donde se encuentra el servidor de
aplicaciones (apache Toncat 7.0), presionando el botn Browse.








Luego presionamos el botn Finish


Aparece la respectiva Ventana
Continuamos con la respectiva ventana y ahora elegimos la versin 2.5 del modulo Web
Dinmico.












Ahora a continuacin sobre la misma ventana tenemos que modificar la siguiente
configuracin respectiva.










Aparece la respectiva Ventana
Ahora presionar el botn Next








En la siguiente pantalla nos muestra la carpeta src , aqu no hacemos ninguna configuracin
respectiva solamente nos dedicaremos a presionar el botn Next.








En esta siguiente pantalla nos muestra el modulo web ya dems generamos automticamente
el web.xml para que finalmente presionemos el botn Finish.
Proyecto Web generado satisfactoriamente









Dentro del proyecto web creado tenemos que ir a la carpeta Java Resource / src y dar clic
derecho en la cual aparece un men contextual con la opcin New/package









Luego aparece esta ventana en la cual tenemos que colocar el nombre del respectivo paquete:

A continuacin se ha logrado crear el respectivo paquete









Ahora sobre el paquete dar clic derecho y aparece un men contextual en la cual tenemos que
elegir la opcin Class.







Aparece una ventana solicitndote colocar el nombre de la clase a crear
Aqu observamos que la respectiva clase de nombre ServidorWeb ha sido creado
satisfactoriamente.












Ahora dentro de la clase respectiva, tenemos que implementar un mtodo de nombre
calcularProducto de la siguiente manera:


Terminado el mtodo remoto de nombre calcularProducto, ahora vamos a crear el ServicioWeb
dentro del proyecto Web.










En la siguiente pantalla tenemos nos muestra el servicio implementado EMPRESA



Dar clic en el
siguiente enlace
En la siguiente ventana se tendr que sealar la opcin Apache Axis2 y Tomcat v.7.0 Server at
localhost.









Ahora debemos de seleccionar la opcin publish the Web Service y presionar el boton Next
En la siguiente pantalla nos permite generar automticamente el archivo services.xml y
presionar el botn Next.











Ahora finalmente presionamos el botn Finish
Cuando ya hemos terminado de implementar el servicio web en nuestro proyecto , ahora
vamos a ejecutar dicho servicio de la siguiente manera :










Aparece esta ventana que me permite mostrar el servidor de aplicaciones que se ha
configurado y adems tenemos que presionar el boton Finish.
A continuacin en el IDE nos muestra una ventana incorporada de la ejecucin del proyecto web,
tenemos que elegir la opcin services

En la siguiente pantalla nos muestra el nombre del Servicio Web y su respectivo mtodo al ser
consumido.
Seleccionar esta opcin
de nombre Services
Dar clic en el
siguiente elace
A continuacin aparecer el cdigo XML del Servicio Web.
http://localhost:8080/SERVICIOSWEB000001/services/ServidorWeb?wsdl













Dejamos el servicio Web ejecutndose para pasar al desarrollar la aplicacin Mvil en Android
que me permita consumir dicho Servicio.
Ahora vamos a abrir el Eclipse Indigo para el respectivo desarrollo de nuestra aplicacin Mvil
en Android.
A continuacin vamos a empezar a desarrollar nuestro proyecto Mvil en Android
seleccionando las opciones File/New/Android Application Project








Luego aparece una ventana solicitndote el nombre del proyecto y del respectivo paquete y
adems presionamos el botn Next.

Presionar el botn Next













Presionar el botn Next






Presionar el botn Next














Presionar el botn Finish

A continuacin en el archivo clientews.xml que se encuentra dentro de la carpeta res/layout, se
tiene que realizar el respectivo diseo que observamos en la siguiente figura:
















Aqu mostramos el respectivo diseo al detalle.
TextView : LBLN1
EditText : TXTNUMERO1
TextView : LBLN2

EditText : TXTNUMERO2

Button : BTNCALCULAR
EditText : TXTRESULTADO

Despus que hemos especificado los tipos de controles del diseo correspondiente , ahora
vamos a empezar a mapear todos los controles del respectivo diseo a taves de la clase
Activity : ClienteWS.









Dentro de la clase ClienteWS tenemos que declarar las respectivas referencias.









A continuacin vamos a empezar a instanciar los respectivos controles haciendo que las
referencias apunten a estos mismos(Mapear).


Ahora dentro de la clase ClienteWS tenemos que implementar un mtodo de nombre calcular().









A continuacin vamos a dar el evento del botn a travs de la implementacin de la interfaz .
OnClickListener













Agregando el siguiente cdigo:














A continuacin vamos a declarar una constante que almacene la ruta namespace:






Ahora implementamos una segunda constante representado por el URL

A continuacin implementamos una tercera constante representando por SOAPACTION







Finalmente implementamos la constante METODO que contiene el nombre de la funcin
remota , la cual se tiene que utilizar.








Para que nuestro Aplicativo Mvil pueda consumir un Servicio Web, nosotros primeramente
tenemos que descargarnos un archivo con extensin jar de nombre: ksoap2-android-assembly-
2.6.0-jar-with- dependencies
El lugar donde podemos descargar esta librera: ksoap2-android-assembly-2.6.0-jar-with-
dependencies se encuentra en la siguiente direccin electrnica:
https://www.dropbox.com/s/h0eig2ni339opqq/ksoap2-android-assembly-2.6.0-jar-with-
dependencies.jar
Cuando terminemos de descargar, automticamente se tiene que crear una carpeta de nombre
libs o en algunos caso ya se tiene creado esa carpeta en el proyecto Android y copiar la
librera descargada dentro de ella.


Despus de haber descargado el respectivo jar ksoap2-android-assembly-2.6.0-jar-with-
dependencies y copiado en la carpeta libs del proyecto , ahora a este lo seleccionamos y le
dame clic derecho, lo cual aparece un men contextual donde elegimos la opcin Build
Path/Add Build Path.










Seleccionar el jar ksoap-android-
assembly-2.6.0 y darle clic derecho,
la cual aparecer un men contextual .
El respectivo jar ksoap2-android-assembly-
2.6.0-jar-with-dependencies se logro aadir al
Path de Referencia
Ahora si ya estamos en la condiciones de utilizar los mtodos y las propiedades de esta Liberia
jar ksoap2-android-assembly-2.6.0-jar-with-dependencies .
Empezamos desarrollando el mtodo calcular ( ) de la clase ClienteWS.











En el archivo AndroidManifest.xml vamos a implementar un permiso de internet y una serie
de modificaciones que a continuacin realizaremos.
Se modifica aqu
Se implementa el respectivo permiso de Internet
Ahora vamos a ejecutar nuestro respectivo proyecto Movil.











CLIENTE SERVIDOR



INTERNET

Você também pode gostar