domingo, 8 de enero de 2017

Crear un Web Service en JAVA usando NETBEANS

Para crear un web service usando el lenguaje de programación JAVA debemos tener un IDE, en nuestro caso usaremos NETBEANS 7.2:

Después de abrir el NET BEANS, vamos al menú de herramientas, botón File > New Project, elegimos el categoría de proyecto Java Web, y elegimos el tipo Web Application

En el siguiente cuadro le ponemos un nombre al proyecto, Luego le damos NEXT a todas las ventas a continuación  hasta llegar a esta, cuando lleguemos a esta ventana le damos finalizar.:
Ya creamos el proyecto, lo que haremos a continuación es crear el web services, damos click derecho en el proyecto creado y seleccionamos New > Web Service
Le pones un nombre , en este caso CasaCambioWS y le damos check al combo de Stateless
Ya creado el web service, entramos en el dando doble click, luego vamos a la pestaña diseño y damos click en el boton add operation, le damos nombre al a operacion y le agregamos una variable en este caso monto

Vamos a la carpeta Source y vemos que ya se agrego la operación, igual hacemos para soles a dolares Luego probaremos el dolares a soles, para eso  cambiamos la sentencia retun, ponemos "return monto * 2.6"
Ya estaria el servicio completo, debemos porbarlo, haremos click derecho en el proyecto, damos click en Clean &build, una vez acabado de procesar, damos click derecho en el proyecto y luego en deploy




Ya tenemos nuestro servidor listo, necesitamos un cliente que consuma este servicio. Creamos un nuevo Projecto > Web Application



Le ponemos de nombre CasaCambioClientApp y le damos next y luego finish

Una vez creado el projecto cliente, agregamos un uevo item > Web Service Client,


 en la configuracion del Servicio CLiente debemos agregar la locacion del servicio que vamos a consumir, lo escogemos y damos click en next


Verificamos que en proyecto cliente se creo nuevo codigo, el cual nos indica que ya estan asociados.


Ahora necesitamos un Servlet, lo creamos , le damos de nombre CLientServlet y le damos finish




Ahora debemos de congifurar para que el servicio levante el servlet y no el hola mundo que viene por defecto


Luego Arrastraremos el método al servlet al ultimo para poder usarlo

Como ejemplo simularemos una llamada

Luego ejecutamos el projecto.

REST es un conjunto de principios que definen cómo Estándares Web como HTTP, URI 
deben utilizarse (lo que a menudo difiere un poco de lo que muchas personas actualmente 
hacen). Utilizando estos principios tendrá un sistema que opera la arquitectura Web para su 
beneficio. En resumen, los cinco principios son los siguientes:
• Dar a todas las cosas un identificador
• Vincular las cosas
• Use métodos estándar
• Recursos con múltiples representaciones
• Comunique sin estado

Dar a todas las "cosas" un ID

En la Web, hay un concepto unificado para los números de identificación: La URI. URI
comprende un espacio de nombres global, y utilizando URI's para identificar sus recursos
clave significa tener un ID único y global.
Algunos ejemplos ejemplos de URI :
• http://example.com/customers/1234
• http://example.com/orders/2007/10/776654
• http://example.com/products/4554
• http://example.com/processes/salary-increase-234

Vincular

Signicia Utilizar links para hacer referencia a cosas que puedan ser identificadas (los
recursos) siempre que sea posible. Los hipervínculos son lo que hacen La Web.
Utilice los métodos estándar
HTTP los llama verbos, y además de los dos que todo el mundo conocee (GET y POST), el
conjunto de métodos normalizados incluyen, PUT, DELETE, HEAD y OPTIONS. El significado
 de cada uno de estos métodos está definido en la especificación HTTP. Todos los recursos
en un escenario HTTP RESTful extienden una clase como ésta:
class Resource {
Resource(URI u);
Response get();
Response post(Request r);
Response put(Request r);
Response delete();
}
Para que los clientes puedan interactúan con sus recursos, ellos deberían implementar el 
protocolo de aplicación estandard (HTTP) correctamente, es decir, utilizando los métodos
estándar: GET, PUT, POST y DELETE.

Recursos con múltiples representaciones

Un un cliente que sabe cómo hacer frente a un formato específico de datos pueden interactuar
 con todos los recursos que puede ofrecer una representación en ese formato. Un ejemplo ,un
 cliente puede pedir una representación en un formato específico:
GET /customers/1234 HTTP/1.1
Host: example.com
Accept: application/vnd.mycompany.customer+xml
El resultado puede ser un XML en algun formato específico de una empresa que representa
los datos de un cliente. Si el cliente (HTTP) envía una solicitud diferente, es decir, como esta:
GET /customers/1234 HTTP/1.1
Host: example.com
Accept: text/x-vcard
El resultado podría ser la dirección de un cliente en formato vCard, las representaciones de un
 recurso deben ser en formato estándar -si un cliente "conoce" ambos, los protocolos HTTP y
 un conjunto de formato de datos, puede interactuar con cualquier aplicación HTTP RESTful
del mundo de forma muy significativa. Ademas, un servidor que puede consumir datos en un
 formato específico no se preocupa por el tipo específico de cliente, siempre que cumpla con
 el protocolo de aplicación.
En resumen se basa en Ofrecer diferentes formatos de los recursos para diferentes
necesidades.

Comunicar sin un estado

REST exige que el estado sea transformado en estado del recurso y sea mantenido en el
 cliente. En otras palabras, un servidor no debería guardar el estado de la comunicación de
 cualquiera de los clientes que se comunican con él más allá de una petición única. La razón
 más obvia de esto es la escalabilidad - el número de clientes que pueden interactuar con el
servidor se vería significativamente afectada si fuera necesario mantener el estado del cliente
.

Referencia
http://www.dosideas.com/java/332-principios-de-rest.html
Blogger Widgets