Transferencia de Estado Representacional (Representational State Transfer) o REST
Originado en el año 2000 por el doctor Roy Fielding en la Universidad de California en su tesis doctoral
Tesis “Estilos de Arquitectura y el Diseño de Arquitecturas de Software basadas en Redes”
Principios arquitectónicos de software para usar a la Web como una plataforma de Procesamiento Distribuido
Programación orientada a objetos (POO, u OOP
Conceptualización de Tecnología Orientada a Objetos
Características de la POO
Algunos lenguajes orientados a objetos
Video: http://goo.gl/acVK2t
Slideshare: http://goo.gl/2OChM4
Github: http://goo.gl/29ldtQ
La Web se está orientando a componentes. El objetivo es alcanzar una Web cada vez más madura, dirigida a fomentar la sencillez en las tareas de diseño y construcción, aumentar la rapidez y agilidad de desarrollo y mejorar la productividad general de las soluciones Web. Todo esto se consigue en parte debido al carácter declarativo que confiere la tecnología de componentes Web que, además, permite encapsular un comportamiento complejo, absorber la gestión adaptativa de los contenidos y, a la postre, generar un vocabulario propio de etiquetas de autor que fomenta la reutilización de código desde el front end.
Sin embargo, la comunidad demanda de manera creciente la definición de directrices y buenas prácticas en relación con las actividades de diseño y desarrollo vinculadas a la construcción de soluciones basadas en componentes Web. En esta charla ofreceremos una colección de principios que tienen por objetivo orientar a los equipos implicados en este tipo de proyectos.
UDABOL ISI311
Integrantes:
Claudia Andrea Leaños Gonzales
Edwin Condori Gonzales
Carlos Eduardo ramos Cáceres
carrera:
Ingeniería de sistemas
Facultad:
Análisis y diseño de sistemas
Docente:
Ing. David Enrique Mendoza Gutiérrez
En estas transparencias se hace un repaso a las ventajas de la computación distribuida y a las distintas iniciativas de Servicios Web, para terminar en los servicios de tipo REST.
Estas transparencias son la introducción a las transparencias sobre consumo de Servicios Web REST en PHP (http://www.slideshare.net/brenes/rest-en-php).
Usado en el Curso de Extensión Universitaria "Desarrollo de aplicaciones web mediante servicios web y APIs abiertas" de la Universidad de Oviedo: http://directo.uniovi.es/postgrado/cabecera_ep.asp?Curso=2008&IdPrograma=5187
Programación orientada a objetos (POO, u OOP
Conceptualización de Tecnología Orientada a Objetos
Características de la POO
Algunos lenguajes orientados a objetos
Video: http://goo.gl/acVK2t
Slideshare: http://goo.gl/2OChM4
Github: http://goo.gl/29ldtQ
La Web se está orientando a componentes. El objetivo es alcanzar una Web cada vez más madura, dirigida a fomentar la sencillez en las tareas de diseño y construcción, aumentar la rapidez y agilidad de desarrollo y mejorar la productividad general de las soluciones Web. Todo esto se consigue en parte debido al carácter declarativo que confiere la tecnología de componentes Web que, además, permite encapsular un comportamiento complejo, absorber la gestión adaptativa de los contenidos y, a la postre, generar un vocabulario propio de etiquetas de autor que fomenta la reutilización de código desde el front end.
Sin embargo, la comunidad demanda de manera creciente la definición de directrices y buenas prácticas en relación con las actividades de diseño y desarrollo vinculadas a la construcción de soluciones basadas en componentes Web. En esta charla ofreceremos una colección de principios que tienen por objetivo orientar a los equipos implicados en este tipo de proyectos.
UDABOL ISI311
Integrantes:
Claudia Andrea Leaños Gonzales
Edwin Condori Gonzales
Carlos Eduardo ramos Cáceres
carrera:
Ingeniería de sistemas
Facultad:
Análisis y diseño de sistemas
Docente:
Ing. David Enrique Mendoza Gutiérrez
En estas transparencias se hace un repaso a las ventajas de la computación distribuida y a las distintas iniciativas de Servicios Web, para terminar en los servicios de tipo REST.
Estas transparencias son la introducción a las transparencias sobre consumo de Servicios Web REST en PHP (http://www.slideshare.net/brenes/rest-en-php).
Usado en el Curso de Extensión Universitaria "Desarrollo de aplicaciones web mediante servicios web y APIs abiertas" de la Universidad de Oviedo: http://directo.uniovi.es/postgrado/cabecera_ep.asp?Curso=2008&IdPrograma=5187
Cómo consumir un web service SOAP usando jsp sobre un servidor web GlasFish. El ejemplo es un servicio que genera la CURP (DNI) de una persona y un formulario web cliente que lo consume.
Un WebService es una pieza de software identificada por un URI (Uniform Resource Identifier).
Su medio de comunicación se fundamenta en el uso de XML, TEXT, JSON
XML
XML Namespace, XML Schema, Xpath, XSLT.
HTTP, JSON
vortexbird
Los servicios web son una herramienta fantástica para los desarrolladores de páginas web. Tenemos a nuestra disposición una ingente cantidad de información incorporada a nuestras páginas actualizada y en tiempo real.
Workshop sobre APIs realizado el 27 de abril en el Centro de Innovación de BBVA. En este evento hemos visto los detalles del funcionamiento, gestión de errores y conceptos de seguridad aplicados a APIs.
Jquery para principianes
JQUERY
AJAX ENVIAR FORMULARIOS SIN RECARGAR
ACTUALIZAR UN ELEMENTO SIN RECARGAR
COMBOS DEPENDIENTES AJAX BASE DE DATOS
STAR RATING JQUERY SIN BASE DE DATOS
STAR RATING JQUERY PLUGIN
DROPDOWN MENU DESPLEGABLE
ENVIA CORREOS SIN RECARGAR
PANEL DE IMAGENES CAROUSEL
INTERCAMBIO DE ELEMENTOS ENTRE 2 LISTAS
RECARGAR TEXTO AUTOMATICAMENTE
AGREGAR GRAFICOS ESTADISTICOS PIE
VALIDAR FORMULARIOS
INCLUIR TOOLTIP EN MAPA DE IMÁGENES
SUBIR MULTIPLES ARCHIVOS
WEB MODULAR PHP
SLIDER CONTENIDO DESTACADO
VENTANA MODAL
AGREGAR BORRAR CAMPOS
MODIFICANDO ATRIBUTOS
JQUERY MUSIC PLAYER
OCULTAR /MOSTRAR SECCIONES DE NUESTRO SITIO
Que es Spring Security
Arquitectura de Spring Security
Configuraciones:
Modulos de spring security en maven
web.xml
securityContext.xml
applicationContext.xml
AuthenticationProvider.java
Login.xhtml
ManageBean login
Que es Spring
Arquitectura de Spring
Principales módulos de Spring
Inyección de dependencias
Programación orientada aspectos.
Configurando aplicación usando Spring
Instalar el contenedor de Inversión de Control de Spring (IoC)
Crear y configurar un Bean en el contenedor de Inversión de Control .
Usando el Auto-Writing Bean con XML
Usando el Auto-Writing Bean con Anotaciones.
Especificación desarrollador por el Java Community Process.
Su función es validar Java Beans se basa en el uso de anotaciones.
Bean Validation 1.0 JSR 303
Bean Validation 1.1 JSR 349
Bean Validation 2.0 JSR 380
Estándar para mapeo objeto relacional y persistencia de datos.
Provee un API estándar.
Se basa en Plain Old Java Object (POJO).
Uso extensivo de anotaciones.
JSR 220: JavaTM Persistence 1.0
JSR 317: JavaTM Persistence 2.0
JSR 338: JavaTM Persistence 2.1
Primefaces es una implementación de JSF de código libre.
En el 2015 es la implementación de JSF mas popular.
Soporta AJAX basado en la especificación JSF2.0
Fácil de configurar.
Cuenta con Mobil UI Kit
Diego Armando Gomez
Computación distribuida.
Sistemas integrados.
Aplicaciones en diferentes lenguaje de programación y plataformas.
Nuevos términos XML, WSDL, SOAP, XML-RPC, ebXML, JAXB, JAX-WS, JAX-RPC, JAX-RS
Para que todo esto?
Instrucciones del procedimiento para la oferta y la gestión conjunta del proceso de admisión a los centros públicos de primer ciclo de educación infantil de Pamplona para el curso 2024-2025.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
1. Servicios
Web
RestFul
Diego
Armando
Gómez
M.
dgomez@vortexbird.com
Sun
Cer:fied
Java
Associated.
Sun
Cer:fied
Java
Programmer.
Sun
Cer:fied
Web
Component
Developer.
Sun
Cer:fied
Business
Component
Developer
5
Derechos
reservados
2014
2. Que
es
un
WebService?
S Un
WebService
es
una
pieza
de
soLware
iden:ficada
por
un
URI
(Uniform
Resource
Iden:fier).
S Su
medio
de
comunicación
se
fundamenta
en
el
uso
de
XML,
TEXT,
JSON
S XML
S XML
Namespace,
XML
Schema,
Xpath,
XSLT.
S HTTP,
JSON
4. Tradicional
C/S
vs.
Servicios
Web
Traditional C/S
"
"
Within enterprise
Tied to a set of
programming languages
" Procedural
" Usually bound to a
particular transport
" Tightly-coupled
" Efficient processing
(space/time)
Web Service
" Between enterprises
" Program language
independent
" Message-driven
" Easily bound to different
transports
" Loosely-coupled
" Relatively not efficient
processing
5. Web
Applica:on
vs.
Web
Services
Web Application
" User-to-program
interaction
" Static integration of
components
" Monolithic service
Web Service
" Program-to-program
interaction
" Possibility of dynamic
integration of
components (in the
future)
" Possibility of service
aggregation (in the
future)
7. Historia
S Transferencia
de
Estado
Representacional
(Representa:onal
State
Transfer)
o
REST
S Originado
en
el
año
2000
por
el
doctor
Roy
Fielding
en
la
Universidad
de
California
en
su
tesis
doctoral
S Tesis
“Es:los
de
Arquitectura
y
el
Diseño
de
Arquitecturas
de
SoLware
basadas
en
Redes”
S Principios
arquitectónicos
de
soLware
para
usar
a
la
Web
como
una
plataforma
de
Procesamiento
Distribuido
8. Historia
S U:liza
XML
y
HTTP,
sin
las
abstracciones
adicionales
de
los
protocolos
basados
en
patrones
de
intercambio
de
mensajes
como
el
protocolo
de
servicios
web
SOAP.
S Se
hizo
popular
muchos
años
después
con
la
creación
de
varios
framework
que
hacen
fácil
el
desarrollo
de
servicios
RestFul
9. Historia
S Muchas
empresas
con
amplios
servicios
en
internet
están
migrando
sus
servicios
a
Rest.
S
S
S
S
Amazon
Facebook
Yahoo
Twiter
10. Los
4
principios
de
Rest
S U:liza
los
métodos
HTTP
de
manera
explícita
S No
man:ene
estado
S Expone
URIs
con
forma
de
directorios
S Transfiere
XML,
JavaScript
Object
Nota:on
(JSON),
o
ambos
11. Uso
de
métodos
HTTP
de
manera
explícita
S RestFul
usa
de
forma
explicita
los
métodos
HTTP
para
ejecutar
acciones
de
CRUD
Verbo
REST
Acción
POST
Create
GET
Read
PUT
Update
DELETE
Delete
12. No
man:ene
estado
S Basado
en
el
protocolo
HTTP
sin
estado.
S Servicios
mas
simples
de
diseñar,
escribir
y
reu:lizar.
S El
manejo
de
los
estados
debe
ser
hecho
por
el
cliente
de
los
servicios.
13. Expone
URIs
con
forma
de
directorios
S Las
URI
de
los
servicios
Rest
deben
ser
intui:vas.
S Se
deben
poder
deducir
de
forma
fácil.
S Las
URI
se
definen
como
una
estructura
de
carpetas
o
directorios.
14. Expone
URIs
con
forma
de
directorios
S Direcciones
de
un
blog
– hip://www.vortexbird.org/discusion/temas/{tema}
– hip://www.vortexbird.org/discusion/{año}/{mes}/{dia}/{tema}
– hip://www.vortexbird.org/discusion/2008/12/23/javaEE
15. Expone
URIs
con
forma
de
directorios
S Buenas
prac:cas
para
crear
URIs
para
servicios
Rest
S Ocultar
la
tecnología
usada
en
el
servidor
que
aparecería
como
S
S
S
S
S
extensión
de
archivos
(.jsp,
.php,
.asp),
de
manera
de
poder
portar
la
solución
a
otra
tecnología
sin
cambiar
las
URI.
Mantener
todo
el
uri
en
minúsculas.
Sus:tuir
los
espacios
con
guiones
o
guiones
bajos
(uno
u
otro).
Evitar
el
uso
de
strings
de
consulta.
En
vez
de
usar
un
404
Not
Found
si
la
pe:ción
es
una
URI
parcial,
devolver
una
página
o
un
recurso
predeterminado
como
respuesta.
URI
está:co
deforma
que
los
usuarios
puedan
crear
favoritos"
o
bookmarks.
18. Transfiere
XML,
JSON
o
ambos
S Tipos
MIME
más
usados
para
los
servicios
web
REST
son:
MIME-‐Type
Content-‐Type
JSON
applica:on/json
XML
applica:on/xml
XHTML
applica:on/xhtml+xml
TEXT
text/plain
20. Web
Applica:on
Descrip:on
Language
(WADL)
S Formato
XML
usado
para
la
descripción
de
aplicaciones
Web
basadas
en
HTTP.
S El
propósito
de
WADL
es
describir
los
servicios
Rest
o
cualquier
si:o
web.
S Cumple
un
papel
similar
a
WSDL
para
servicios
SOAP.
S Estándar
administrado
por
W3C.
23. JAX-‐RS
S Especificación
para
desarrollo
de
servicios
Rest
en
la
plataforma
JavaEE
S Versión
actual
JAX-‐RS
1.1
S JSR
311
S Integrada
a
JavaEE6
S Anotaciones
para
exposición
de
servicios.
S Es
el
equivalente
de
JAX-‐WS
para
SOAP
25. JAX-‐RS
S Basados
en
el
concepto
de
POJO
(Plain
Old
Java
Object)
S Clases
sin
extends
ni
implements
(Mar:n
Fowler)
S Término
heredado
de
C/C++:
Plain
Old
Data
(POD)
S Tiene
sen:do,
son
clases
de
datos
26. Anotaciones
JAX-‐RS
Anotación
Descripción
@GET
Marca
el
método
como
accesible
a
través
del
método
GET
de
HTTP
@POST
Marca
el
método
como
accesible
a
través
del
método
POST
de
HTTP
@PUT
Marca
el
método
como
accesible
a
través
del
método
PUT
de
HTTP
@DELETE
Marca
el
método
como
accesible
a
través
del
método
DELETE
de
HTTP
@HEAD
Marca
el
método
como
accesible
a
través
del
método
HEAD
de
HTTP
27. Anotaciones
JAX-‐RS
Anotación
Descripción
@Path
Indica
donde
queda
alojada
la
clase
o
el
método.
Por
ejemplo
/holaMundo/
@PathParam
Se
usa
para
asignar
a
los
parámetros
de
los
métodos
el
nombre
del
path
usado.
@Consumes
Se
usa
para
iden:ficar
el
:po
de
mime
que
consume
el
método
u
operación
del
servicios.
Ejemplos
"applica:on/
xml",
"applica:on/json"
@Produces
Se
usa
para
iden:ficar
el
:po
de
mime
que
produce
el
método
u
operación
del
servicios.
Ejemplos
"applica:on/
xml",
"applica:on/json“
@Provider
Se
usa
para
crear
una
clase
especializada
que
representan
en:ty
body.
Estas
clases
implementan
MessageBodyReader
or
MessageBodyWrite
28. Tipos
de
datos
soportados
Tipo
de
dato
Java
Mime
Type
byte[]
All
media
types
(*/*)
ava.lang.String
All
text
media
types
(text/*)
java.io.InputStream
All
media
types
(*/*)
java.io.Reader
All
media
types
(*/*)
java.io.File
All
media
types
(*/*)
javax.ac:va:on.DataSource
All
media
types
(*/*)
javax.xml.transform.Source
XML
media
types
(text/xml,
applica:on/xml,
and
applica:on/*+xml)
javax.xml.bind.JAXBElement
and
applica:on-‐
supplied
JAXB
classes
XML
media
types
(text/xml,
applica:on/xml,
and
applica:on/*+xml)
Mul:valuedMap<String,
String>
Form
content
(applica:on/x-‐www-‐form-‐
urlencoded)
StreamingOutput
All
media
types
(*/*),
MessageBodyWriter
only
29. Código
de
ejemplo
hip://127.0.0.1:8080/demoRest/services/operacionesMatema:cas/sumar/52/6
package
com.vortexbir.rest.services;
import
javax.ws.rs.Consumes;
import
javax.ws.rs.GET;
import
javax.ws.rs.Path;
import
javax.ws.rs.PathParam;
import
javax.ws.rs.Produces;
@Consumes({"applica:on/xml",
"applica:on/json","text/plain"})
@Produces({"applica:on/xml",
"applica:on/json","text/plain"})
@Path("operacionesMatema:cas")
public
class
OperacionesMatemaLcas
{
@GET
@Path("sumar/{numero_uno}/{numero_dos}")
public
String
sumar(@PathParam("numero_uno")Integer
n1,@PathParam("numero_dos")Integer
n2){
int
res=n1+n2;
return
""+res;
}
}
32. Taller
desarrollo
de
servicios
Rest
S Servicio
Operaciones
Matemá:cas
S Sumar
S Restar
S Mul:plicar
S Dividir
S Cliente
del
servicio
33. Taller
desarrollo
de
servicios
Rest
S Servicio
Cliente
S Crear
S Modificar
S Borrar
S Consultar
por
ID
S Consultar
Todos
S Cliente
del
servicio