to soa or not to soa

Download To SOA or not to SOA

Post on 17-May-2015

513 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

Apresentação de Hugo Pinto - JavaPT09.

TRANSCRIPT

  • 1. Uma apresentao buzzword compliantHugo Jos Pintohugo.pinto@gmail.com

2. Hugo Jos Pinto Principal responsvel da KnowledgeWorks (consultora especialista em Java e SOA) Profissional Java desde 1996 Core Member do PT JUG http://www.twitter.com/hugojpinto Techie assumido e entusiasta de all things Java e no s: mobilidade, iPhone & Android, etc. 2 3. A empresa onde trabalho implementou recentemente uma arquitectura SOA complexa num cliente de Administrao Pblica com mltiplos fornecedores envolvidos complexidade razovele passmos tempos muito interessantes de dolorosa e salutar aprendizagem Quisemos partilhar este conhecimento convosco 3 4. Arquitecturas Orientadas a Servios (SOA) so uma estratgia em TI que promove organizao das funcionalidades presentes em mltiplas aplicaes de negcio em servios inter-operveis e baseados em standards, que podem ser recombinados e reutilizados de forma fcil para se adaptarem a novas necessidades de negcio! 4 5. Arquitecturas Orientadas a Servios (SOA) so: uma estratgia em TI promove organizao das funcionalidades presentes em mltiplas aplicaes de negcio em: servios inter-operveis baseados em standards que podem: ser recombinados Ser reutilizados de forma fcil para se adaptarem a novas necessidades de negcio! 5 6. Sistema 1Sistema 2Web WebApp App LgicaLgicaNegcio Negcio Acesso Acesso DadosDadosDados de Negcio 6 7. Web Web App App Lgica LgicaNegcioNegcioAcesso AcessoDadosDados Dados de Negcio 7 8. Maior reutilizao Servios so blocos prontos a usar Melhor Interoperabilidade Mais flexibilidade Servios assncronos Facilidade de recombinao (BPM) Mais eficiente em custo Baseado em standards vs. integraes especficas 8 9. 9 10. 10 11. 11 12. Muitos web services juntos no fazem uma arquitectura SOA apenas uma grande confuso SOA , em teoria, compatvel com aproximaes menos cannicas de servios web Nomeadamente, servios RESTful Uma arquitectura SOA requer uma infra-estrutura de suporte ao ciclo de vida dos seus servios 12 13. 13 14. 14 15. 15 16. WARNING: Assunto subjectivo! :) Consideramos as peas mnimas em SOA: Um Bus unificado de Servios Um Service Registry Uma suite de BPM (opcionalmente) um Portal unificado Depois, podemos ainda ter: Servios de Dados Servios de Apresentao 16 17. O Bus um router de mensagens, idealmente transparente para quem o utiliza Esta pea a chave para garantir que os servios tm baixo acoplamento e que a arquitectura resistente mudana O Bus intercepta todas as mensagens num ecossistema SOA, e DECIDE qual o seu destino 17 18. 18 19. O ESB s no faz sentido para projectos MUITO pequenos, e em que o ciclo de vida do sistem a muito controlado e limitado O Bus a pedra basilar das versatilidade e fiabilidade das arquitecturas SOA Se tiverem evoluo de servios em continuidade de negcio, INCLUAM um ESB 19 20. 20 21. 21 22. O Service Registry (muitas vezes, tambm Repository) guarda pginas amarelas sempre fidedignas dos servios existentes Pode ser usado para a descoberta inicial de servios, ou pode ser usado implicitamente pelo Bus Quando novas verses de um servio so disponibilizadas, o registry regista essa nova verso, e o Bus decide como enviar os pedidos22 23. 23 24. No inicio, o Registry parece opcional temos apenas uma release de todos os servios, e temos apenas um conjunto limitado de clientes Com o escalar da complexidade, abre-se a caixa de pandora e comea o esparguete Num projecto complexo, o Registry to essencial como o Bus 24 25. Um motor de BPM acrescenta a uma arquitectura SOA a capacidade de alterar a orquestrao dos seus componentes de lgica de negcio, idealmente sem reprogramao dos mesmos Nice :) em principio, sim Mas aumenta tambm a complexidade Introduz preocupaes de performance Introduz um novo paradigma de desenvolvimento 25 26. 26 27. Um processo BPM passa a ser um Servio Um Web Service reutilizvel, versionvel, etc. Duas verses do mesmo processo podem estar a executar, teoricamente, ao mesmo tempo Existe o apelativo POTENCIAL de passar estas mesmas ferramentas para a mo de no-tcnicos BIG DANGER here h implicaes!27 28. As suites de BPM so teis em projectos complexos, em que faz sentido que a lgica de orquestrao das peas do negcio mude frequentemente E em que o custo de alterao do sistema seja alto Em que no haja acesso ao cdigo dos servios Em que existam multiplos fornecedores envolvidos As suites de BPM no servem para algoritmia aritmtica servem para orquestrao alto-nivel! Managers shoudnt do it they dont want to!28 29. Portal Unificado Servios de Apresentao Servios de Dados29 30. 30 31. 31 32. hugo.pinto@gmail.com hugojpinto on twitterhttp://www.hugojpinto.com