Integrantes :
• Manuel juarez edeguardo
• Jeanpier Rivera Oviedo
• Jose arevalo villar
¿Qué es Http?
Http es un protocolo de aplicación para transferir recursos a través de
Internet, usa por defecto el puerto 80 , http tiene la arquitectura
cliente –Servidor
Análisis de peticiones HTTP
Una forma más fácil de explicarlo seria que cuando ingresamos a un
Website . El usuario envía una petición de recursos al servidor ,
inmediatamente el servidor responde mandando peticiones que pueden
ser imágenes , estilos o archivos JavaScript , a esto se le denomina
Peticiones HTTP .
Ejemplo de una petición HTTP
Contemos las peticiones http de
una
web
Hay un total de 22 peticiones http
¿Qué es JAX-RS?
JAX-RS se define como Java API for RESTful Web Services y es un
API de Java que permite la creación de servicios web con REST
(Representational State Transfer) Este API dispone de
anotaciones dentro de Java SE 5 que sirve para simplificar el
desarrollo y despliegue de los servicios clientes y servicios
consumidores en la web.
JAX-RS tiene como principales anotaciones las ya conocidas
etiquetas que sirven como el mecanismo para realizar las
operaciones CRUD en las aplicaciones. Los llamados POJOs o
clase java son mapeados como recursos a través de las
siguientes anotaciones:
@Path para la ruta de acceso relativa de una clase recurso o método.
@GET, @PUT, @POST, @DELETE y @HEAD tipo de petición HTTP de un recurso a
ejecutarse.
@Produces para los tipos de medios MIME de respuesta.
@Consumes para los tipos de medios de petición aceptados.
Además, proporciona anotaciones adicionales para los parámetros de método para
extraer información de la solicitud. Todas las anotaciones @*Param toman una clave
de alguna forma que se utiliza para buscar el valor requerido.
Adicionalmente existen anotaciones para extraer información en la petición para
buscar un valor requerido:
@PathParam enlaza el parámetro a un segmento de ruta.
@QueryParam enlaza el parámetro al valor de un parámetro de consulta
HTTP.
@MatrixParam enlaza el parámetro al valor de un parámetro de matriz de
HTTP.
@HeaderParam enlaza el parámetro a un valor de cabecera HTTP.
@CookieParam enlaza el parámetro a un valor de cookie.
@FormParam enlaza el parámetro a un valor de formulario.
@DefaultValue especifica un valor por defecto para los enlaces anteriores
cuando la clave no es encontrada.
@Context devuelve todo el contexto del objeto. (Por ejemplo: @Context
HttpServletRequest request)
El siguiente es un ejemplo de código en java con las anotaciones de JAX-RS:
EJB: Enterprise Java Beans
Un "Java Bean" NO ES LO MISMO que un "Enterprise Java Bean"
Un "Java Bean" es un componente utilizado en Java que permite agrupar
funcionalidades para formar parte de una aplicación, esto puede ser: un
"Java Bean" agrupando información personal, datos sobre un pedimento,
requerimientos de ordenes,etc.
Un "Enterprise Java Bean" también agrupa funcionalidades para una
aplicación, sin embargo, a diferencia de un "Java Bean" un "Enterprise Java
Bean" es un "deployable component", el término "deployable
component" implica que existe un ambiente de ejecución , éste ambiente es
precisamente un "EJB(Enterprise Java Bean) Container" parte de un java
aplicación server .
Ventajas de EJB ("Enterprise Java Beans")
Un EJB a través de un "EJB Container" ofrece varios servicios y funcionalidades
no disponibles en un "Java Bean", algunas son las siguientes:
Servicios ("Middleware")
Esta posiblemente sea la mayor ventaja de un EJB. Cuando se diseña un
componente de Software se deben definir varios servicios para su
funcionamiento, algunos pueden ser:
Si ocurre un error que procedimiento debe ejecutarse ?
Si la base de datos especificada se encuentra desactivada, existe otra
alternativa ?
No fue posible cumplir exitosamente "x" procedimiento, se deben retractar sus
acciones parciales o reinvocar la transacción
Estos Servicios (comúnmente llamados "Middleware") por lo general son
requeridos además de la lógica contenida en los componentes principales,
obviamente estos servicios ("Middleware") aún deben ser diseñados, sin
embargo, mediante un "EJB Container" se ofrecen estos servicios y es a
través de un "Enterprise Java Bean“
Desventajas de EJB ("Enterprise Java Beans")
Tiempo de Desarrollo
El desarrollar un Sistema con EJB's es sumamente
complejo, aunque para ciertas empresas puede
presentar una solución ideal, debido a la complejidad-
tiempo de ( traduciéndose en costo) para muchas
corporaciones EJB's resultan una solución sobrada ,
denominada en Ingles: "overkill"
Composición de un Java Bean
Un EJB esta compuesto de 4 partes (con la excepción de "Messaging EJB's")
las cuales son:
"Enterprise Bean Class"
"Home Interface"
"Remote Interface"
"Deployment Descriptor"
Guia de JBoss : Descripción e Instalación sobre JBoss , una implementación
Open-Source de un "EJB-Container
Creación de un servicio web JAX-WS y clientes con EJB 3.1 Singleton Bean
Creación de cliente
con REST
Creamos un usuario para conectarlo al ser vice
Ingresamos el usuario que creamos para crear la data base con sus
respectivos permisos
En caso de usar tomcat debemos implementar Jax-rs2.0 y jersey 2.5.1
Creamos la clase conexión
Creamos el modelado para los datos
Creamos el controlador del cliente para que los datos establecidos ejecuten y
pasen por ahí
En servicio Cliente usaremos el método creado anteriormente y lo procesamos con protocolos http
Extensión con la aplicación seria parte de la ruta http para el crud
GRACIAS