Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y Python
John Sanabria
Agenda
● Introducción
● Evolución de WWW
● SOA - Service Oriented Architecture
● Arquitectura RESTful (REpresentational State Transfer)
Web services
Source: https://es.stackoverflow.com/questions/221288/cuando-utilizar-una-api-y-cuando-un-web-service
Restful Web Services
Source: https://gocoding.org/what-are-restful-web-services/
Web services - Evolución WWW
Web Services - SOA
● El SOA se puede entender
como una mezcla de RPC
sobre HTTP/TCP/IP
● Otras iniciativas para
comunicarse remotamente:
CORBA, DCOM, Java RMI.
Estas iniciativas estaban
muy atadas a los
proveedores
Web Services - SOA
● SOA brinda una forma de construir y
componer servicios de forma modular
● SOA provee
○ Descripción, publicación y descubrimiento de
interfaces
○ Componentes o servicios accedidos de forma
estandarizada
Características de SOA
● Escalable
● Debilmente acoplado
● Interoperable
● Descubrible
● Abstracto
● Estandarizado
Web Services - SOAP
● Son aplicaciones auto-describibles, auto-contenidas
accesible a través de Internet
● Inicialmente los web services se accedían a través de
XML usando el estándar SOAP
● Siglas
○ SOAP - Simple Object Access Protocol
○ WSDL - Web Service Description Language
○ UDDI - Universidad Description, Discovery and
Integration
Web Services - Protocolos SOAP
La pila de programación de los web
services
● Esta pila es un conjunto de protocolos
estandarizados y APIs que permiten
localizar y actualizar Web Services
● La estandarización permite el uso ubicuo
de la tecnología
○ La comunicación es a través del
protocolo HTTP
○ SOAP, basado en XML, es quien
permite la publicación, búsqueda,
enlace e invocación de operaciones
○ La parte de la publicación y capas
superiores se pueden considerar
opcionales
○ Existen otras características
deseable y transversales como:
seguridad, gestión y calidad del
servicio
Web Services - Interacción fundamental
SOA
app = Flask(__name__)
@app.route('/')
def index():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
Nuestro primer web service in Flask
● Guarde las líneas anteriores en un archivo
llamado flask-app.py
● Cambie sus permisos
chmod a+x flask-app.py
● Ejecute su aplicación
python flask-app.py
● Abra su navegador y vaya a la dirección
http://127.0.0.1:5000
Implementado servicios RESTful en Python
y Flask
curl -i http://localhost:5000/todo/api/v1.0/tasks
Métodos HTTP aplicados a la aplicación
Los métodos finales, actualizar y borrar