2. Sistemas software diseñados para soportar una
interacción interoperable maquina a maquina sobre
una red
APIs Web que pueden ser accedidas dentro de una
red (principalmente Internet) y son ejecutados en el
sistema que los aloja
Intercambiar datos entre aplicaciones que no
necesariamente estan en el mismo lenguaje,
sistema operativo o geografia
4. Servicio Web XML
meteorológico
Servicio Web XML
tipo de cambio
Base de datos de
precios de pasajes
Servicio Web XML
precio del pasaje
Seleccionar destino:
La previsión
meteorológica es:
El tipo de cambio es:
El pasaje de avión sólo cuesta:
Lluvia
China
$1.56
$1,999.98
Sitio de viajes
AquiNoMeQuedo.com
Internet
6. Es una técnica de arquitectura software para
sistemas hipermedia distribuidos como la
World Wide Web
Se usa en el sentido más amplio para
describir cualquier interfaz web simple que
utiliza XML y HTTP, sin las abstracciones
adicionales de los protocolos basados en
patrones de intercambio de mensajes como
el protocolo de servicios web SOAP
7. Trabajan con HTTP e implementan
operaciones basicas GET POST
Se centra más en interactuar con
recursos con estado, que con
mensajes y operaciones
8. HttpClient httpClient = new DefaultHttpClient();
HttpGet get =new HttpGet(URI);
get.setHeader("content-type", "application/json");
HttpResponse resp = httpClient.execute(get);
String respStr = EntityUtils.toString(resp.getEntity());
JSONArray respJSON = new JSONArray(respStr);
for(int i=0; i<respJSON.length(); i++)
JSONObject obj = respJSON.getJSONObject(i);
int id = obj.getInt("id");
String nombre= obj.getString("nombre");
9. HttpClient httpClient = new DefaultHttpClient();
HttpGet get =new HttpGet(URI);
get.setHeader("content-type", "application/json");
HttpResponse resp = httpClient.execute(get);
String respStr = EntityUtils.toString(resp.getEntity());
JSONObject respJSON = new JSONObject(respStr);
int idd = respJSON.getInt("id");
String nombre = respJSON.getString("nombre");
String apellido = respJSON.getString("apellido");
10. HttpClient httpClient = new DefaultHttpClient();
HttpDelete del = new HttpDelete(“URI);
del.setHeader("content-type", "application/json");
HttpResponse resp = httpClient.execute(del);
String respStr = EntityUtils.toString(resp.getEntity());
11. HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(URI);
post.setHeader("content-type", "application/json");
JSONObject dato = new JSONObject();
dato.put("nombre",””);
StringEntity entity = new StringEntity(dato.toString());
post.setEntity(entity);
HttpResponse resp = httpClient.execute(post);
String respStr = EntityUtils.toString(resp.getEntity());
JSONObject respJSON = new JSONObject(respStr);
12. HttpClient httpClient = new DefaultHttpClient();
HttpPut put = new HttpPut(URI);
put.setHeader("content-type", "application/json");
JSONObject dato = new JSONObject();
dato.put("id", txtId.getText().toString());
dato.put("nombre", txtNombre.getText().toString());
StringEntity entity = new StringEntity(dato.toString());
put.setEntity(entity);
HttpResponse resp = httpClient.execute(put);
String respStr = EntityUtils.toString(resp.getEntity());
13. Esto es típicamente referenciado como servicios orientados a
mensajes
Los Servicios Web pueden también ser implementados
siguiendo los conceptos de la arquitectura SOA, donde la
unidad básica de comunicación es el mensaje, más que la
operación
Es débilmente acoplado
14. SoapObject request = new SoapObject(NAMESPACE,METHOD_NAME);
SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE transporte = new HttpTransportSE(URL);
transporte.call(SOAP_ACTION, envelope);
SoapObject resSoap =(SoapObject)envelope.getResponse();
for (int i = 0; i < resSoap.getPropertyCount(); i++)
SoapObject ic = (SoapObject)resSoap.getProperty(i);
cli.id = Integer.parseInt(ic.getProperty(0).toString());
cli.nombre = ic.getProperty(1).toString();