Tecnologias Java para BPM e SOA

Propaganda
Tecnologias Java para
BPM e SOA
Marco Aurélio S. Mendes
Gerente de Inovações Tecnológicas
Squadra Tecnologia em Software
Objetivos
Apresentar os conceitos básicos de BPM e
SOA.
Apresentar sistemas e tecnologias para BPM
(BPM)
Apresentar tecnologias, padrões e
tecnologias Java para suporte à BPMS e SOA
Tópicos
BPM e SOA – Por quê?
BPMS – Suítes BPM/SOA
Tecnologias Java para BPMS e SOA
Como escolher e implementar tecnologias
Java para projetos BPM e SOA
BPM e SOA – Por que o mundo se
tornou plano...
BPM e SOA – Por que o mundo se
tornou plano...
Um complexo barramento de serviços orquestrado em
Java (IBM WebSphere) na SSP-SP para o processo de
atendimento e despacho (190) do cidadão.
BPM e SOA – Por que a TI precisa
ser efetiva...
A TI precisa gerar resultados de negócio!
BPM e SOA – Por que a TI precisa
gerar resultados de negócio...
Um barramento de integração de bancos e secretarias em SP com o
uso de tecnologias Java promove ROI superior a 50 milhões.
BPM e SOA – Por que a TI precisa estar
alinhadas a processos de negócio...
Etapas resumidas de um projeto BPM/SOA.
Tópicos
BPM e SOA – Por quê?
BPMS – Suítes BPM/SOA
Tecnologias Java para BPMS e SOA
Como escolher e implementar tecnologias
Java para projetos BPM e SOA
BPMS – O quê?
BPMS é uma nova categoria de software de gerenciamento que
permite que organizações modelem, implementem e gerenciem
processos de negócio considerados críticos por integrarem
múltiplas aplicações, departamentos e parceiros de negócio.
Um BPMS possui três elementos centrais, de acordo com o BPM
Initiative
1. Motor (engine) para executar modelos de processos de negócio.
2. Um conjunto de ferramentas que suportem o ciclo de vida do
processo de negócio.
3. Conectores que permitem que o BPMS interaja com outros
softwares e programas necessários para a alimentação do motor.
Perifericamente, um BPMS pode possuir dezenas de outros
elementos.
Exemplos BPMS - JBOSS
Exemplos BPMS – IBM/WebSphere
Principais Modalidades de BPMS
Baseado em
Workflows (Integração
de processo)
Baseado em
Documentos
(Integração de
informações)
Baseado em
Integração de
Aplicações (EAI)
A fauna de ferramentas BPMS
Workflows clássicos
Automação de formulários.
Modelagem de processos de Negócio/Simulação de processos.
Portais e mash-ups.
Orquestração de processos de negócio.
Execução de processos (motor).
Controle estatístico e monitoração de processos de negócio.
Integração – Barramentos de serviços/ESB.
Repositório de serviços para governança SOA.
Gerenciamento de regras de negócio
A fauna de ferramentas BPMS
Grande maioria das ferramentas
BPMS de mercado é desenvolvida
em tecnologias Java!
Tópicos
BPM e SOA – Por quê?
BPMS – Suítes BPM/SOA
Tecnologias Java para BPMS e SOA
Como escolher e implementar tecnologias
Java para projetos BPM e SOA
A fauna Java para BPMS
Diversos padrões e tecnologias Java estão
disponíveis no mercado para suporte a
projetos BPMS.
Principais padrões são:
WS-*, SCA/SDO e JBI.
Homem de Java!
A fauna Java para BPMS
WS-*
BPEL4WS: Permite a “orquestração” de processos
de negócio.
WSDL - Linguagem para descrever “serviços” SOA.
WS-RS: Representação de estado.
WS-TX - Coordenação de transações
UDDI: Repositório de serviços.
SOAP – Protocolo para envelopar mensagens.
JAX-WS: Especificação Java para WebServices.
Padrões WS-* são definidos por órgãos diversos
tais como W3C, OASIS, JCP, entre outros.
Pilhas de diversos fornecedores e muitas vezes
incompatibilidades.
Ainda o padrão mais popular para suporte a
integração de sistemas.
A fauna Java para BPMS
WS-*
Exemplo: Eclipse BPEL
A fauna Java para BPMS
JBI: Java Business Integration.
Especificação Java (JCP) para implementar
arquiteturas SOA.
Baseado nos padrões WS-*, mas com
mecanismos de interoperabildade,
componentização, instalação, implantação e
monitoração facilitados e padronizados.
Padrões de troca de mensagens embutidos
(MEP) - Ver livro EAI Patterns.
JSR 208 para JBI 1.0 e JSR 312 para JBI 2.0.
A fauna Java para BPMS
A arquitetura JBI.
A fauna Java para BPMS
Algumas ferramentas que implementam o
padrão JBI.
OpenESB.
Apache ServiceMix
JBOSS ESB.
Fuse ESB.
Mule.
Suporte primário da SUN e ferramentas
open-source.
A fauna Java para BPMS
SCA: Service Component Architecture
Iniciativa do instituto OpenSOA, liderado por
Oracle/BEA, IBM,SAP e TIBCO, entre outros.
Também baseado nos padrões WS-*, com com
mecanismos de interoperabildade, componentização,
instalação, implantação e monitoração facilitados e
padronizados.
Padrões de troca de mensagens embutidos (MEP).
SDO: Padrão para unificar e simplificar a
manipulação de dados por aplicações.
A fauna Java para BPMS
Algumas ferramentas que implementam o padrão
SCA.
Apache Tuscany
BEA AcquaLogic.
IBM WebSphere.
SAP Netweaver.
Mule
Eclipse STP.
TIBCO Active Matrix
SCA possui uma força de mercado corporativo Java
muito maior e também um suporte bem robusto da
comunidade open-source.
BPMS em Java - Eclipse
Eclipse STP - Eclipse SOA Tools Platform
http://eclipse.org/stp
BPMS em Java - Intalio
Talvez a suíte BPMS mais madura dentro do
mundo open-source.
Três produtos centrais:
Intalio Designer.
Intalio Server.
Intalio Workflow
http://intalio.com
Tópicos
BPM e SOA – Por quê?
BPMS – Suítes BPM/SOA
Tecnologias Java para BPMS e SOA
Como escolher e implementar tecnologias
Java para projetos BPM e SOA
O erro básico na escolha de um BPMS é
começar pelas ferramentas!
“A primeira lei de qualquer tecnologia é que a automação de
um processo eficiente irá aumentar a eficiência”, Bill Gates
“A segunda lei de qualquer tecnologia é que a automação de
um processo ineficiente irá aumentar a ineficiência”, Bill
Gates
Aspectos Preliminares à
Ferramentas
Modelo Operacional e Arquitetura Empresarial da
sua organização alvo. Tipo de BPMS depende do
quadrante primário da sua organização.
Ref.: http://www.ies.aust.com/ten/ten38.htm
Aspectos Preliminares à
Ferramentas
Cultura SOA - Ver modelo SIMM - Service Integration Maturity Model http://www.ibm.com/developerworks/webservices/library/ws-soa-simm/.
Aspectos Preliminares à
Ferramentas
Pessoas - 1/3 do orçamento de um projeto BPM é gasto com “people
change management”, Jeston & Nellis (BPM).
Implementação de Ferramentas
Pense grande, Comece Pequeno e mova-se
rapidamente.
Projetos pilotos de pequena duração.
Foco no valor de negócio.
Esqueça a TI pela TI.
Valorize a TI como instrumento de negócio!
Estudo de padrões, tecnologias e ferramentas.
SCA e JBI são tendências fortes para BPMS/SOA no
mundo Java.
Para comparação, WCF é a tendência no mundo Microsoft.
Conclusões
BPMS/SOA é forte tendência para TI e realidade já em
segmentos específicos no Brasil como TELECOM, Bancos e
Governo.
Java tem forte suporte de padrões, tecnologias e fornecedores
para SOA e BPM.
Mais informações...
Apresentação e links usados na palestra
foram disponibilizados em:
http://blog.marcomendes.com/
Download