Sunteți pe pagina 1din 20

GUIA DE LABORATORIO

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


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 PHP
Para empezar a desarrollar un servicio web en PHP primero tenemos que tener instalado el
Netbeans 7.2 (IDE), el WampServer que proporciona un servidor de aplicaciones Apache y el
mismo PHP.
Primeramente tenemos que levantar el servicio del Apache a travs del programa WampServer
que en nuestra pc se encuentra el icono de ejecucin dentro de
Inicio/Programas/WampServer/start WampServer , que a continuacin vamos a mostrar:






Ejecutando el programa
WampServer que por
defecto levanta todos los
servicios
Para poder verificar que los servicio estn activos (Apache,Mysql) el WampServer tiene un panel
de control , este se puede encontrar sin ningn tipo de problema en la parte de abajo del escritorio
, al costado del reloj.




Ahora que hemos conocido el entorno del programa WampServer que me permite administrar los
servicios del Apache, Mysql y el Php para la respectiva configuracin, entonces ya estamos en la
condiciones necesarias para empezar a programar en php y para esto tenemos que estar seguros
que el servidor apache este levantado .
A continuacin vamos a abrir el netbeans 7.2 para empezar a programar en php.


1) Cliquear el icono
correspondiente
Dar clic en el
correspondiente icono
3)se muestra este men que
proporciona todas las opciones de
configuracin y servicios
Cuando el IDE Netbeans ha sido abierto a continuacin vamos a crear un proyecto en Php, de la
siguiente manera:









Aparece una ventana en la cual tenemos que seleccionar en categoras la opcin PHP y el Projects
la opcin PHP Application.












Seleccionar la opcin
File
Elegir la opcin New Project
Elegir la opcin PHP
Seleccionar la opcin PHP
Application
Presionar el botn Next
Cuando ya hemos presionado el botn Next, nos muestra otra pantalla que solicita que coloque
el nombre del proyecto y adems se debe de ubicar este mismo en la carpeta de instalacin
wamp /www .










Cuando hemos presionado el botn Browse entonces aparece una ventana que me permite la
ubicacin del proyecto en PHP.











El nombre de la carpeta que estamos creando tiene que tener el mismo nombre del proyecto.
1) Colocar el nombre
del proyecto
2) Presionar el botn
Browse para la respectiva
ubicacin del proyecto
1) Seleccionamos y
lo ubicamos en la
siguiente ruta :
C:/wamp/www/
2) Luego Presionamos este icono
de carpeta nueva
3) aqu la carpeta se est creando
y colocando el mismo nombre del
proyecto .










Cuando ya hemos definido la ruta donde se encontrara el proyecto y adems hemos
presionado el boton Next










Cuando hemos presionado el botn Finish entonces ya hemos terminado con el proceso de
creacin del proyecto.


1) Este sera la ruta donde se va a
encontrar el proyecto en PHP
2) Presionamos el botn Next
Esta es la ruta en la cual vamos
a cargar la pgina de nuestro
proyecto.
Presionar el botn Finist
Aqu mostramos el proyecto en PHP debidamente creado.







Creamos un PHP File de nombre Servidor.php









Cuando ya hemos seleccionado la opcin PHP File Ahora aparece una ventana solicitando que
coloque el nombre de la pgina.






Proyecto creado
satisfactoriamente
Seleccionamos la carpeta de nombre
Source Files y le damos clic derecho,
aparece un men contextual
Seleccionamos la opcin New
Seleccionamos la opcin PHP File
Colocando el nombre de la
pgina
Presionar el botn Finish
A continuacin mostramos el proyecto con la pgina Servidor.php debidamente creado.











A continuacin vamos a descargar una librera de nombre nusoap.php que me permite la
creacin de Servicios Web (Soap-XML) en PHP, la ruta para la respectiva descarga es:
https://www.dropbox.com/s/ewd8f9ogdy4i002/nusoap.php
Cuando ya hemos descargado la pgina nusoap.php entonces debemos de copiar para que luego
pegarlo en la carpeta Source Files de nuestro proyecto en PHP.









Pgina creada
satisfactoriamente
Seleccionamos la carpeta
Source Files y le damos clic
derecho
Pegar el archivo
nusoap.php que se copi
en el momento que
termino de descargar
Aqu ya tenemos el archivo nusoap.php implementado en el respectivo proyecto.








Ahora vamos a empezar a codificar en la pgina Servidor.php
















Aqu tenemos el archivo
nusoap.php debidamente
implementado
Aqu
Este es el cdigo fuente que tenemos que implementar
Aqu vamos a mostrar a mayor amplitud el cdigo que permite implementar el mtodo a la cual
se va a consumir a travs de una aplicacin que se ejecuta en el lado del cliente, en nuestro caso
la aplicacin que utilizara este mtodo ser una aplicacin en Android.












Ahora vamos a ejecutar el Servicio Web (Soap)









El Servicio Web al ser ejecutado nos muestra la siguiente pgina
Mtodo del Servicio Web que se va a
consumir a travs de una aplicacin mvil
en Android.
Elegir y darle clic
derecho, aparece
un men
contextual
Seleccionar la opcin
run











Cuando elegimos la opcin WSDL, aparece una pgina en formato XML.










Este formato que estamos viendo contiene todas las reglas de cmo esta implementado el
mtodo remoto y las entradas y salidas de los datos y algunas otras cosas ms.


Elegir esta opcin
Implementando una Aplicacin Mvil en Android que
consuma el Servicio Web.

Para empezar a implementar la aplicacin mvil en Android , tenemos primeramente tener
instalado el IDE Eclipse y el SDk android debidamente configurado, A continuacin vamos a
crear un proyecto Android en el IDE Eclipse.






























Cuando el proyecto ha sido creado satisfactoriamente , ahora vamos a empezar a realizar el
diseo bsico respectivo , para eso tenemos que seleccionar el archivo main.xml dndole doble
clic , aparece el rea de diseo que se ubica ella parte derecha.










Proyecto creado
satisfactoriamente

















Este es el detalle del diseo que se est haciendo.
main.xml












Hemos logrado
realizar el
siguiente diseo.
LBLETIQUETA ( TextViev )
BTNINVOCAR
(Button)
TXTAREA ( EditText )


Cuando hemos logrado acabar el diseo, entonces vamos a descargar una librera (jar) de nombre
ksoap2-android-assembly-2.6.0-jar-with-dependencies que me permite utilizar clases para la
invocacin del mtodo remoto y lo cual podamos consumirlo.
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 lib
en el proyecto Android y copiar la librera descargada dentro de esta carpeta.











A continuacin vamos a configurar el Build Path para que la librera sea reconocida en el
proyecto, simplemente seleccionamos la librera, le damos clic derecho y aparece un men
contextual en la cual debemos de seleccionar la opcin: Build Path / configure Build Path

Creamos la carpeta lib y copiamos
la librera (jar) que se ha descargado
de una pgina proporcionada
Seleccionar la librera y
darle clic derecho,
aparece un men
contextual
Seleccionar
Build Path
Seleccionar y
ejecutar esta opcion
Cuando ya hemos configurado el build path, la librera ya est en la condiciones de ser
reconocido por el proyecto.
Ahora vamos a empezar a implementar cdigo java a travs de la clase activity(ClienteWS).











Ahora empezamos a mapear el control TextView que me permita el resultado del mtodo
remoto implementado en el archivo main.xml.


Ir a la clase
clienteWS
Este es la clase Activity
que vamos a
implementar cdigo
java
Declarando una referencia
de EditText
La etiqueta de la clase Textview
est siendo mapeado
Mtodo implementado para ser invocado por el
respectivo botn
Ahora vamos a implementar el evento del botn a travs de los siguientes pasos:








Cuando ya ha suido copiado el nombre del mtodo a continuacin vamos al diseo a travs del
archivo main.xml de la siguiente manera.















Seleccionamos nombre del
mtodo
En el men contextual
seleccionamos la opcin
Copy
Seleccionar el botn y dar clic
derecho, aparece un men
contextual.
Seleccionar la opcin Other
Properties
Seleccionar la opcin All By Name
Seleccionar la opcin
All By Name

Seleccionamos
la opcin
Onclick
Cuando hemos seleccionado la opcin Onclick, aparece una ventana en la cual debemos de
pegar el nombre del mtodo que hemos copiado.







Ahora vamos a implementar dentro de la clase ClienteWS(Activity) las siguientes variables que
me permiten apuntar al Servicio Web (Soap) XML.








Vamos a explicar al detalle estas rutas respectivas para la debida conectividad del cliente
consumidor al Servicio Web (Soap) XML en la tecnologa PHP





Pegamos el nombre que
inicialmente hemos copiado
Presionamos el botn Ok
Aqu estamos declarando una seria de variables que me permiten
almacenar una serie de rutas para apuntar al Servicio Web que hemos
logrado desarrollar anteriormente.
Nombre del espacio que alberga al
Servicio web
La ruta principal en XML
La ruta donde est
el mtodo remoto
Simplemente el nombre del
mtodo Remoto

Cuando hemos terminado de dar el evento del botn y de declarar las rutas que apuntan al
Servicio Web (Soap) XML, a continuacin vamos a desarrollar el mtodo
InvocarMetodoRemoto().








Ahora tenemos que agregarle un permiso para que pueda salir por Internet dicha aplicacin en el
momento que se haga la conectividad con el Servicio Web a travs del archivo
AndroidManifest.xml.
Aqu tenemos que
agregar el permiso
Agregando el siguiente permiso para
la salida respectiva a Internet
Ejecutando el proyecto



Servicio Web (Soap) XML






Cliente

Servidor
Cuando ejecutamos el proyecto Mvil en android se debe de haber levantado el emulador pero
para ese entonces, el Servicio Web (Soap) XML ya debe de estar levantando, en el lado del
cliente que en es en este cabo la aplicacin que consume , de debe de presionar el botn
Mtodo Remoto y automticamente debe de invocar remotamente al mtodo HelloWorld() que
automticamente devolver en el lado del cliente un mensaje de la siguiente manera : Hola a
todos






Presionar el botn Mtodo
Remoto
Aqu aparece el mensaje
que devuelve el mtodo
remoto

S-ar putea să vă placă și