Вы находитесь на странице: 1из 21

Iniciando Proyecto

SOA
@joedayz
Setup
Java 7+
STS (http://spring.io/tools/sts)
Tomcat 7 (https://tomcat.apache.org/download-70.cgi)
Sublime o Notepad++
MySQL o PostgreSQL
Proyecto
1. Nos piden que se maneje control de stock
2. Se pide desarrollarlo en Java
3. Luego de varios meses de desarrollo. Gerencia pide
que sea pueda integrar con otras aplicaciones.
Entonces debe ser agnstico en trminos de lenguaje
de programacin. Debe sernos posible integrarnos con
mviles, Java, C#, PHP y con redes sociales.
4. Ud. No estaba acostumbrado a eso. Siempre
desarrollaba sistemas en un nico lenguaje y no
necesitaba integrarse con nada externo. Hoy ya eso es
Formatos de intercambio
CSV

[nombre];[editora];[ano de publicacion];[resumen];
[autores (separados por punto y coma)]

Guia del Programador;Atlas;2012;


ASP NET MVC 5; Mximo Perez; Mnimo Perez;
Ruby on Rails; RubyPeru;2012;Cree rapidamente aplicaciones
Python; Eysenck Gmez
Formatos de intercambio
XML

<libros>
<libro>
<anoDePublicacion>2012</anoDePublicacion>
<autores>
<autor>Maximo Perez</autor>
<autor>Minimo Perez</autor>
</autores>
<editora>Atlas</editora>
<nombre>Gua del Programador</nombre>
<resumen>La bblia del Programador ...</resumen>
</libro>
</libros>
Qu modo de transporte utilizar?
FTP
Sockets.
HTTP
HTTP + SSL
XML/HTTP o XML/HTTP + SSL
Qu tecnologas para integrarme
con otras aplicaciones?
CORBA (Common Object Request Broker)
Marshall y Unmarshall de objetos
Plataformas y Lenguajes
Transporte: HTTP, Socket
RMI
Web Services: clsicos (SOAP) y Restful
AtomPub
WebSockets
Qu es SOA?
Acrnimo de Smart Oriented APIs.
Ser inteligente y reutilizable y mantenible en el tiempo.
Un Buen Ejemplo es Google Maps.
Otras formas de integracin
Cmo controlo un contexto transaccional y hago
rollback entre tecnologas distintas (Java y .NET)? . DSL
BPEL
Cmo construyo diferentes reglas de negocio entre
diferentes APIs (de la empresa y de terceros)?. BRMS
Cmo controlo un proceso de workflow entre APIs
diferentes sin la intervencin humana?. BPM.
Si deseo monitorear el negocio del cliente en tiempo
real con stream de eventos. BAM.
Otras formas de integracin
Cloud Computing
Enterprise Service Bus
Demo soa-01
Basta JDK 6+
En versiones anteriores JAX-WS y JAXB se necesitaban
bajar por separado.
Demo soa-01
http://localhost:8080/libros?wsdl
Navegador o usar http://www.soapui.org/
SOAP
SOAP es una sigla para Simple Object Access Protocol, o
Protocolo Simple de Acceso a Objetos.
Su primer cliente
Wsimport que viene con el JDK

%JAVA_HOME%/bin/wsimport.exe -s generated -keep http://


localhost:8080/libros?wsdl
Cliente
Qu es Orientado a Servicios ?

(...)un paradigma de diseo que busca la creacin de


unidades lgicas de soluciones que son individualmente
modeladas para que puedan ser colectivamente y
repetidamente utilizadas para lograr un conjunto
especifico de objetivos (...)
Principios de este Paradigma

Contrato de servicios estndar


Bajo acoplamiento
Abstraccin
Reutilizacin
Autonoma
No mantener estado
Habilidad de poder ser descubierto
Habilidad de poder ser compuesto

Вам также может понравиться