PDF de programación - Servicios Web - .NET & Android

Imágen de pdf Servicios Web - .NET & Android

Servicios Web - .NET & Androidgráfica de visualizaciones

Publicado el 7 de Mayo del 2020
586 visualizaciones desde el 7 de Mayo del 2020
5,4 MB
65 paginas
Creado hace 12a (05/03/2012)
La interoperabilidad en un enfoque práctico.

Alfonso Felipe Lima Cortés
Desarrollo de aplicaciones III
http://www.afelipelc.mx

http://www.afelipelc.mx

creadas

en lenguajes

"¿Alguna vez pensaste de qué forma poder integrar
aplicaciones
y plataformas
diferentes, a través de Internet o bien en tu propia
Intranet basándote en estándares? Bien, si lo pensaste o
si no lo has hecho, la respuesta más apropiada a este
paradigma son los llamados Web Services".
(Tedeschi,
Nicolás, http://msdn.microsoft.com/es-es/library/bb972248.aspx)

http://www.afelipelc.mx

¿Qué es un web Service?

"Un servicio web (en inglés, Web Service) es una pieza
de software que utiliza un conjunto de protocolos y
estándares que sirven para intercambiar datos entre
aplicaciones". (http://es.wikipedia.org/wiki/Servicio_web ).

¿La comunicación e intercambio de datos entre aplicaciones
de software se le conoce como? R:

http://www.afelipelc.mx

¿Qué es un web Service?

Son componentes de aplicaciones (y son reutilizables).
Se comunican a través de protocolos abiertos.
Son autónomos y autodescriptivos.
Pueden ser utilizados o consumidos por otras

aplicaciones (conectividad con software existente).

http://www.afelipelc.mx

¿Cómo trabajan los WS?

La plataforma básica de los WS es XML y HTML,
actualmente pueden utilizarse otros
formatos de
estructuración de datos, uno de los más utilizados es
JSON.

XML y JSON son lenguajes que pueden ser utilizados en
distintas plataformas y lenguajes de programación para
la representación de datos.

http://www.afelipelc.mx

¿Cómo trabajan los WS?

Los Web Services son elementos de las plataformas:

SOAP (Simple Object Access Protocol – Protocólo

simple de acceso a objetos)

UDDI

(Universal

Description,

Discovery

and

Integration)

WSDL (Web Services Description Language)

http://www.afelipelc.mx

Crear un WS en .NET

Un Ws como tal en sí es un conjunto de métodos que
son invocados remotamente, un ejemplo similar para
comprenderlos es un controlador en MVC.

http://www.afelipelc.mx

Crear un WS en .NET

Nuestro primer WS lo crearemos en un proyecto ya
existente con su modelo de datos y base de datos
integrados.

Descargar el proyecto Agencia2012.zip de la

carpeta compartida.

http://bit.ly/arch-aflc

http://www.afelipelc.mx

Crear un WS en .NET

Agreguemos una nueva carpeta en el proyecto donde
se alojarán los Web Services.

http://www.afelipelc.mx

Crear un WS en .NET

En WebServices,
Servicio Web con el nombre Clientes.asmx

agregar un nuevo elemento

http://www.afelipelc.mx

Crear un WS en .NET

http://www.afelipelc.mx

Crear un WS en .NET

http://www.afelipelc.mx

Crear un WS en .NET

Al ejecutar la aplicación y acceder al WS Clientes:
http://localhost:####/webservices/clientes.asmx

http://www.afelipelc.mx

Crear un WS en .NET

Agregar descripción al WS que pueda ser visible al
acceder al WS se agrega el parámetro Description al
atributo WebService y WebMethod.

http://www.afelipelc.mx

Crear un WS en .NET

http://www.afelipelc.mx

Crear un WS en .NET

http://www.afelipelc.mx

Implementando la lista de clientes.

Nuestra lista de clientes puede incluir TODOS los
datos de cada cliente, pero si se pretende que
nuestros WS sean accedidos desde una aplicación
móvil donde en su lista de clientes solo mostrará el
entonces
nombre
necesitamos pensar en optimizar los datos devueltos
por nuestros métodos que retornan listas completas.

completo de

cada

cliente,

http://www.afelipelc.mx

Implementando la lista de clientes.

Podemos crear una clase que pueda ser utilizada
para devolver múltiples listas como Clientes, Socios,
Promotores, en las cuales solo se pretende devolver
un ID y un Nombre.

Agregamos la clase
ElementoSimple en la
carpeta Models.

http://www.afelipelc.mx

Implementando la lista de clientes.

Agregamos el using de nuestro espacio de nombres
también
Agencia2012.Models
crearemos una instancia de nuestro modelo de
entidades Agencia2012Entities para acceder a los
datos.

al WS

donde

http://www.afelipelc.mx

Implementando la lista de clientes.

Agreguemos
ListaClientes al WS Clientes, en este método:

nuevo método

un

llamado

Pasará la lista de objetos clientes provenientes de la BD a
la lista de objetos clientes utilizando nuestra clase
ElementoSimple.

Devolverá el resultado en formato JSON.

http://www.afelipelc.mx

Implementando la lista de clientes.

http://www.afelipelc.mx

Serialización
Para wikipedia.org:

En ciencias de la computación,
la serialización (o
marshalling en inglés) consiste en un proceso de
codificación de un Objeto (POO) en un medio de
almacenamiento (…) con el fin de transmitirlo a través de
una conexión en red como una serie de bytes o en un
formato humanamente más legible como XML o JSON,
entre otros.
La serialización es un mecanismo ampliamente usado
para transportar objetos a través de una red, para hacer
persistente un objeto en un archivo o base de datos, o para
idénticos a varias aplicaciones o
distribuir objetos
localizaciones.

http://es.wikipedia.org/wiki/Serializaci%C3%B3n

http://www.afelipelc.mx

Serialización

Para Microsoft:

La serialización es el proceso de convertir el estado de un
objeto en un formato que se pueda almacenar o
serialización es
transportar. El
deserialización, que convierte una secuencia en un objeto.
Juntos, estos procesos permiten almacenar los datos y
transferirlos con facilidad.

complemento de

http://msdn.microsoft.com/es-es/library/7ay27kt9(v=vs.100).aspx

http://www.afelipelc.mx

Implementando la lista de clientes.

http://www.afelipelc.mx

Implementando la lista de clientes.

El resultado de la llamada al método ListaClientes (en
formato JSON) del WS Clientes.

http://www.afelipelc.mx

El formato JSON

http://www.afelipelc.mx

El formato JSON

"JSON (JavaScript Object Notation - Notación de
Objetos de JavaScript) es un formato ligero de
intercambio de datos. Leerlo y escribirlo es simple para
humanos, mientras que para las máquinas es simple
interpretarlo y generarlo". (http://json.org )

http://www.afelipelc.mx

El formato JSON

JSON está constituído por dos estructuras:

Una colección de pares de nombre/valor. En varios
lenguajes esto es conocido como un objeto, registro,
estructura, diccionario, tabla hash, lista de claves o un
arreglo asociativo.

Una lista ordenada de valores. En la mayoría de los
lenguajes, esto se implementa como arreglos, vectores,
listas o sequencias.

http://www.afelipelc.mx

http://json.org

El formato JSON

Un objeto es un conjunto desordenado de pares
nombre/valor. Un objeto comienza con { (llave de
apertura) y termine con } (llave de cierre). Cada nombre
es seguido por : (dos puntos) y los pares nombre/valor
están separados por , (coma).

http://www.afelipelc.mx

http://json.org

El formato JSON

Un arreglo es una colección de valores. Un arreglo
comienza con [ (corchete izquierdo) y termina con ]
(corchete derecho). Los valores se separan por , (coma).

http://www.afelipelc.mx

http://json.org

El formato JSON

Un valor puede ser una cadena de caracteres con
comillas dobles, o un número, o true o false o null, o un
objeto o un arreglo. Estas estructuras pueden anidarse.

http://www.afelipelc.mx

http://json.org

Implementando DatosCliente().

Ahora se requiere de un nuevo método que devuelva

los datos de un cliente especificado por su ID.
Se utilizará una clase que represente todos los datos del

cliente (el proyecto ya incluye la clase AuxCliente).

Entonces se implementará el método:

public string DatosCliente(int IdCliente)
{
}

http://www.afelipelc.mx

Implementando DatosCliente().

http://www.afelipelc.mx

Implementando DatosCliente().

http://www.afelipelc.mx

Implementando DatosCliente().

http://www.afelipelc.mx

Método para actualizar cliente.

http://www.afelipelc.mx

Método para actualizar cliente.

http://www.afelipelc.mx

Método para actualizar cliente.

http://www.afelipelc.mx

Ahora…

Implementar
los Web
Services en su
aplicación de
proyecto.

http://www.afelipelc.mx

http://www.afelipelc.mx

Conexión a Servicios Web SOAP

Android no incluye bibliotecas de clases que permitan
conectarse a Servicios Web de una manera fácil e
interpretar los datos recibidos, para ello se requiere de
bibliotecas externas:
kSOAP2-Android http://code.google.com/p/ksoap2-

android/

Google-gson http://code.google.com/p/google-gson/

http://www.afelipelc.mx

Agregar bibliotecas externas.

Descargadas los archivos .jar de las bibliotecas externas,
debemos agregarlas al proyecto Android.

(Localizar los archivos .jar)

http://www.afelipelc.mx

Agregar bibliotecas externas.

Ya agregadas las bibliotecas externas.

http://www.afelipelc.mx

El paquete de clases que accederán
a los Servicios Web.

Necesitamos agrupar en un paquete todas las clases que
accederán a los servicios web, esta imagen es un ejemplo
del paquete que contiene las clases para acceder a los WS
del ejemplo Agencia2012.

http://www.afelipelc.mx

El paquete de clases para
representar datos (Modelo).

También necesitamos agrupar en un paquete todas las
clases que representan los datos de la aplicación, esta
imagen es un ejemplo del paquete que contiene las clases
Modelo del ejemplo Agencia2012.

http://www.afelipelc.mx

El paquete de clases para
representar datos (Modelo).

Importante: Las clases Modelo (clases Java en proyecto Android)
deben ser equivalentes a las clases Modelo (utilizadas en los WS)
que contiene el proyecto en la plataforma .NET,
incluidas las
propiedades que utilizan otras clases modelo como tipo, ejemplo:

http://www.afelipelc.mx

Estructura de la llamada a un WS SOAP

http://www.afelipelc.mx

Estructura de la llamada a un WS SOAP

http://www.afelipelc.mx

Estructura de la llamada a un WS SOAP
Los datos que deben incluirse en una solicitud para
cada método del WS se encuentran disponib
  • Links de descarga
http://lwp-l.com/pdf17618

Comentarios de: Servicios Web - .NET & Android (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad