Soa Workshop v3

44
 16/04/2012 1 SOA Arquitetura Orientada a Serviços UnB/IBTI O que é (e o que não é) SOA SOA é o resultado da aplicação de um paradigma de projeto (uma disciplina), executada por estratégias baseadas em princípios alinhados à este paradigma. É algo que você faz segundo melhores práti cas, suportado por um middleware aderente .

Transcript of Soa Workshop v3

16/04/2012

SOAArquitetura Orientada a Servios

UnB/IBTI

O que (e o que no ) SOA

SOA o resultado da aplicao de um paradigma de projeto (uma disciplina), executada por estratgias baseadas em princpios alinhados este paradigma. algo que voc faz segundo melhores prticas, suportado por um middleware aderente.

1

16/04/2012

Ento SOA ...- A orientao a servios um paradigma de projeto. - SOA o resultado da aplicao desse paradigma.

Os princpios de orientao a servio estabelecem um paradigma de projeto aceitado, que d forma lgicas classificadas como servios de maneira muito especfica.

Influncias na Orientao a ServiosO paradigma de projeto de orientao a servio foi influenciado por diversas plataformas e inovaes tecnolgicas.

Anlise e Projeto Orientados a Objeto Gerenciamento de Processos de Negcio (BPM) Projeto de Produtos Comerciais Integrao de Aplicaes Corporativas Programao Orientada a Aspectos

2

16/04/2012

SOAObjetivos Estratgicos x Tticos Os objetivos de Computao Orientada a Servio so estratgicos por natureza e, em geral, representam benefcios de longo prazo para a organizao. SOA contrasta com a natureza mais ttica do desenvolvimento tradicional de aplicaes baseadas em silos.

SOAOrientao a Servios, SOA, Servios e Servios Web Orientao a Servios uma abordagem de projeto (paradigma) para construo de solues orientadas a servio. Orientao Servio a METODOLOGIA SOA a arquitetura abrangente para criar aplicaes dentro de uma organizao, segundo os paradigmas da orientao a servios, pela composio de servios. SOA a ARQUITETURA SOA realiza isso posicionando servios como meios primrios de representao da lgica de soluo. Servios so as PARTES DA LGICA de soluo Servios Web so mecanismos-padro de comunicao criados sobre a World Wide Web. Servio Web a TECNOLOGIA para implementao de servios.

3

16/04/2012

SOA Adoo em estgios Silos Integrao Servios Web Servios Composio de Servios Medio

Vocabulrio SOA

4

16/04/2012

Arquitetura Orientada a Servios"Arquitetura Orientada a Servio (SOA) representa um modelo arquitetural que tem por objetivo melhorar a agilidade e a efetividade de custos de uma corporao enquanto reduz a peso global da TI na organizao. SOA realiza isso posicionando servios representao da lgica de soluo. como meios primrios de

SOA suporta Orientao a Servio na realizao de objetivos estratgicos associados com computao orientada a servio." SOA um modelo de arquitetura tecnolgica para aplicaes distribudas com caractersticas prprias para suportar a realizao de orientao a servio. As caractersticas fundamentais de SOA so: ser direcionada pelo negcio ser centrada na corporao ser centrada na composio

Orientao a Servios"Orientao a Servio um paradigma de projeto que tem por objetivo a criao de unidades de lgica de soluo individualmente projetadas de modo a permitir sua utilizao coletiva e reusvel, em suporte realizao de um conjunto especfico de objetivos estratgicos e benefcios associados com SOA e a Computao Orientada a Servio. A lgica de soluo projetada de acordo com os princpios de orientao a servio pode ser qualificada com orientada a servio e unidades de lgica de soluo orientadas a servios so chamadas de servios." Orientao a servio uma abordagem de projeto (ou paradigma de projeto) usado para construir solues orientadas a servio. Orientao a servio composto de uma srie de princpios de projeto que coletivamente estabelecem essas caractersticas. A compreenso acerca de orientao a servio requerida para construir solues orientadas a servio.

5

16/04/2012

Arquitetura Orientada a Servios: Contexto Direcionado pelo NegcioCom o tempo, o escopo e o contexto da arquitetura tecnolgica so suplantados por novos requisitos do negcio, que exige uma evoluo. Eventualmente, a substituio da arquitetura tecnolgica torna-se, necessria, acarretando um completo redesenho das solues.

Aos aplicar um escopo estrategicamente direcionado pelo negcio para a arquitetura tecnolgica, possvel que esta seja mantida, em constante sincronia com o negcio, na medida em que este evolui.

Tipos de Arquitetura Orientada a ServiosUma arquitetura tecnolgica orientada a servio deve ser centrada na corporao e os seus componentes bsicos os servios, que devem ser reutilizados na automao de diferentes processos e tarefas de negcio. Uma arquitetura tecnolgica orientada a servio deve ser centrada na composio de servios, combinado-os em uma variedade de composies de servios. Existem quatro tipos primrios de arquiteturas orientadas a servios, cada um associado com um escopo especfico: Arquitetura de Servios Arquitetura de Composio de Servios Arquitetura de Inventrio de Servios Arquitetura Empresarial Orientada a Servios

6

16/04/2012

Servio (SOA)Servios so os elementos constitutivos bsicos da plataforma de computao orientada a servio. Servios encapsulam capacidades (equivalente aos mtodos) de forma discreta e autnom,a e as expem ao consumidor de servios atravs de uma ou mais interface definidas no Contrato de Servio.Interface

ServioCapacidade

Servios so projetados de uma maneira bastante especfica, aplicando-se a abordagem de projeto orientado a servio, e so disponibilizados atravs de um ciclo de vida especfico (Ciclo de Vida da Entrega de Servios). Cada servio possui seu contexto funcional prprio e distinto que constitudo de um conjunto de funcionalidades relacionadas ao seu contexto.

Essas funcionalidades so referidas como capacidades do servio.

Contrato de ServioUm contrato de servio expressa as meta-informaes sobre um servio e estabelece os termos para seu uso (requisitos para invocar e interagir com o servio). Para um consumidor de servio acessar e interagir com um servio, este deve estar ciente e em conformidade com os requisitos estabelecidos no contrato do servio. A parte fundamental de um contrato de servio sua interface tcnica, que constitui o contrato tcnico do servio (WSDL + Esquemas de Dados + Polticas). Ele pode ser composto ainda de documentao adicional, tal como um Acordo de Nvel de Servio (SLA), que descreve caractersticas de qualidade de servio, seus comportamentos e limitaes. Em orientao a servio, o projeto e padronizao de contratos de servio so de fundamental importncia, de tal maneira que o princpio de projeto de Padronizao de Contrato de Servio dedicado definio padronizada de contratos de servio.

7

16/04/2012

Composio de Servios"Uma composio de servios um agregado de servios coletivamente composto para automatizar uma tarefa ou processo de negcio em particular. Para qualificar uma composio, pelo menos dois servios participantes e um iniciador da composio devem estar presentes, seno a interao de servio representa apenas uma troca ponto a ponto." A composio de servios muito importante para o sucesso de um iniciativa SOA porque os benefcios estratgicos de aumento do ROI e da agilidade organizacional dependem da habilidade de se compor e recompor servios. Para atingir esses objetivos requer-se que os servios sejam projetados com habilidade inerente para serem membros efetivos de composies. (Grande parte de orientao a servio direcionada para a obteno desse objetivo de projeto). A composio de servios depende da habilidade de servios consumirem-se uns aos outros sem a perda da autonomia de seus contratos e ocultando a lgica dos servios subsequentes.

Lgica de Soluo Orientada a Servio"Qualquer poro da lgica de soluo onde orientao a servios foi aplicada em uma extenso significativa considerada orientada a servio. Um servio representa a unidade fundamental da lgica de soluo orientada a servio."

Existem dois tipos bsicos de lgica de soluo orientada a servio: servios e composio de servios. Uma soluo orientada a servio pode englobar uma ou mais composies de servios porque uma parte da lgica capaz de desempenhar uma ou mais tarefas ou processos de negcio. Por outro lado, a soluo orientada a servio mais simples pode ser constituda de um nico servio.

8

16/04/2012

Inventrio de Servios"Um Inventrio de Servios uma coleo de servios complementares independentemente padronizados e governados dentro de uma fronteira que representa uma corporao ou um segmento significativo de uma corporao. Quando uma organizao tem mltiplos inventrios de servios, este termo qualificado adicionalmente como Inventrio de Servios de Domnio." Idealmente, todos os servios so disponibilizados em um mesmo inventrio de servios corporativo. Porm, em ambientes muito grandes ou complexos, a padronizao em nvel corporativo pode ser inalcanvel. Neste caso, a formao de inventrios de servio de domnio pode se tornar necessria. Mltiplos inventrios de servios podem ser criados em uma corporao. O escopo de cada um representa um domnio bem definido dentro da corporao, usualmente associado com um domnio de negcio. Dentro de cada domnio, inventrios de servios podem ser independentemente padronizados e governados. (no aconselho) A dinmica fundamental que um inventrio de servios deve suportar com sucesso a composio e recomposio de servios. Para atingir isso, o prprio inventrio deve ser suportado por tecnologias, plataformas e infraestrutura com capacidade adequada.

Arquitetura de Inventrio de Servios

Exemplo de consideraes para uma Arquitetura de Inventrio de Servios

9

16/04/2012

Arquitetura Corporativa de Servios- A camada estratgica serve para descrever a estrutura meta da organizao. A estrutura consiste objetivo da misso / viso, apoiada por metas estratgicas da organizao, apoiados por objetivos estratgicos e iniciativas. - A camada de negcios fornece o contexto e descrio das funes de negcios, processos de negcio, modelo de negcios e iniciativas que compem o domnio do negcio da organizao. - A camada de dados fornece a viso de integrao e de gerenciamento de dados, estruturada para representar os recursos de dados da organizao e para mostrar as relaes crticas entre estes vitais e as aplicaes e processos de negcios que os usam. - A camada de aplicao facilita a interoperabilidade de aplicaes, fornecendo as informaes-chave sobre as aplicaes, a natureza de interfaces entre as aplicaes, o mapeamento para os processos de negcio que as aplicaes suportam, bem como o grau e a qualidade de atendimento efetivo dessas. - A camada de tecnologia facilita o funcionamento das aplicaes, e permite a interoperabilidade das redes, a implementao de confiabilidade, a capacidade de processamento, e a aderncia a padres para a organizaes; alm de identificar as potencialidades e capacidades de seus recursos de hardware e software (assets). - A camada de segurana representa a linha mestra e as metas da arquitetura de segurana da organizao, e tem por base permitir rastrear e demonstrar a conformidade com os motivadores daquele aspecto de segurana bem como as normas que lhes so aplicveis. .

Atravs da arquitetura corporativa: os servios de processos de negcios devem se alinhar com a camada de negcios da arquitetura, os servios de TI devem se alinhar com o nvel de dados, com o nvel de aplicaes, e com o nvel de tecnologia .

Arquitetura de Referncia Arquitetura Corporativa Arquitetura de Inventrio de Servios Arquitetura de Composio de Servios Arquitetura de Servios

10

16/04/2012

Processos de Negcio e BPMO Gerenciamento de Processos de Negcio (Business Process Management ou BPM) um conceito que une a gesto de negcios e a tecnologia da informao com foco na otimizao dos resultados das organizaes atravs da melhoria dos processos de negcio. So utilizados mtodos, tcnicas e ferramentas (que tem o mesmo acrnimo BPM) para analisar, modelar, publicar, otimizar e controlar processos envolvendo recursos humanos, aplicaes, documentos e outras fontes de informao. A modelagem de processos feita em ferramentas atravs da notao BPMN (Business Process Modeling Notation). Esta notao trata-se de uma srie de cones padres para o desenho de processos, o que facilita o entendimento do usurio. A modelagem uma etapa importante da automao pois nela que os processos so descobertos, desenhados e, possivelmente, otimizados.

Alguns ambiente de SOA apresentam interfaces e repositrios que atuam integrando os recursos das ferramentas de representao BPM com o desenvolvimento de servios de tarefa complexas em plataformas de computao orientadas a servio.

O ambiente Oracle um exemplo desse ambiente.

SOAEstratgia

11

16/04/2012

Objetivos de Computao Orientada a Servios

Os primeiros quatro objetivos levam obteno dos ltimos trs objetivos e benefcios.

Aplicao dos Objetivos nas ArquiteturasA aplicao de Orientao a Servio fundamental para atingir os objetivos estratgicos e benefcios associados com Computao Orientada a Servio. A aplicao de Orientao a Servio impacta todos os quatro tipo de Arquitetura Orientada a Servio.

12

16/04/2012

Aumentar a Interoperabilidade Intrnseca Interoperabilidade representa a habilidade do software para interagir e trocar dados. Integrao representa o esforo requerido para atingir a interoperabilidade entre programas de software. Um objetivo da orientao a servio estabelecer a interoperabilidade nativa ou intrnseca entre servios, de modo a reduzir a necessidade de integrao. Isso significa que servios so projetados para serem compatveis e interoperveis, independentemente de quando ou do que eles entregam. Como resultado, a integrao como um conceito comea a desaparecer quando orientao a servios largamente aplicada, porque a interoperabilidade intrnseca torna-se a norma.

Aumentar a FederalizaoFederalizao a unificao de ambientes dspares permitindo que esses ambientes sejam governados independentemente. SOA objetiva estabelecer uma perspectiva federada da corporao atravs de implantao disseminada de servios padronizados e preparados para composio. Cada servio estabelece uma interface tcnica ou terminal que representa um segmento da corporao em uma maneira consistente. Cada servio encapsula um sistema diferente. E assim, a partir da perspectiva de terminal (endpoint), o contrato de servio expressa uma camada de servio padronizada e federada.

13

16/04/2012

Aumentar a Diversificao das Opes de FornecedoresA diversificao de fornecedores representa uma opo para re-fabricar ou estender partes de uma corporao com tecnologias e produtos de um novo fornecedor. Isso pode ser atendido projetando-se SOA de forma neutra a plataformas proprietrias e posicionando servios como terminais padronizados, de modo que detalhes de implementaes proprietrias possam ser abstrados. "A diversificao de fornecedor no sempre desejvel ou requerida mas importante se ter a opo de diversificar quando necessrio." Mesmo que trs servios tenham sido construdos com tecnologias de fornecedores diferentes, eles podem interoperar.

Aumentar o Alinhamento entre Negcio e Tecnologia"Alinhamento entre Negcio e Tecnologia" representa a extenso de quanto os sistemas automatizados e a TI corporativa podem se espelhar e evoluir com as necessidades do negcio. Uma das maneiras mais fundamentais de habilitar o alinhamento entre negcio e tecnologia consiste na definio e criao de servios de negcio. Seguindo-se a prticas de anlise orientada a servio, a lgica do negcio pode ser particionada em servios de negcio flexveis que podem ser repetidamente incrementados e combinados para responder continuamente a mudanas do negcio. Os processos de anlise e projeto orientados a servio so objetos do Ciclo de Vida de Projetos de SOA. O aumento do alinhamento entre negcio e tecnologia pode ser obtido atravs da colaborao de especialistas de negcio e tecnologia durante as fases de anlise e modelagem.

14

16/04/2012

Aumentar o Retorno do Investimento (ROI)Retorno do Investimento (ROI) representa valores tangveis de ganhos adicionais e/ou de reduo de custo proporcionados por algo quando comparado ao custo de sua produo, operao e gesto. A Computao Orientada a Servio fomenta a criao de lgica de soluo agnstica lgica que agnstica a qualquer propsito unitrio e, portanto, multipropsito. Tcnicas de projeto originrias de projeto de produtos comerciais so aplicadas para tornar lgica agnstica em lgica largamente reutilizvel e completamente capaz de nivelar a interoperabilidade intrnseca para promover aumento do ROI.

Uma nfase sem precedentes colocada em se extrair o mximo de cada servio, mesmo que a entrega dos servios custe mais.

Aumentar a Agilidade OrganizacionalAgilidade melhor comparada a capacidade de resposta. Algo que tenha maior capacidade de resposta pode reagir e adaptar-se a mudanas mais efetiva e eficazmente (time-to-market). Como resultado, uma vez que uma coleo madura de servios est disponvel, o tempo e esforo requeridos para atender a novos requisitos de negcio dramaticamente reduzido. Quando uma coleo de servios federalizados e interoperveis est implantada, o custo e esforo para construir ou modificar solues significativamente reduzido.

15

16/04/2012

Reduzir o Peso da TIA aplicao consistente de orientao a servio resulta em uma TI corporativa com: reduo desperdcio e redundncias reduo de tamanho e custo operacional reduo de overhead associado com sua governana e evoluo

Esse tipo de TI corporativa possibilita benefcios organizacionais atravs do aumento significativo da capacidade de resposta e da efetividade dos custos. O alcance dos objetivos previamente descritos pode criar um departamento de TI ... mais leve e gil; ... que seja menos pesado para a organizao; ... seja habilitador como contribuinte na estratgia organizacional.

RESULTADO DOS DOIS OBJETIVOS ANTERIORES

Benefcios de SOA para o Negcio

Aumentar a agilidade

Reduzir custos

... reduzindo o tempo de soluo (time-to-market)

.. aumentando o ROI

+ Satisfao dos Usurios

+ Capacidade de Investimentos

16

16/04/2012

Porque fazer SOA (I): SOA Survey de 2009Pesquisa de Objetivos de SOA

Suportar novos processos de negcio Suportar mudanas do negcio Aumentar a agilidade do negcio Reusar processos / aplicaes Reduzir o tempo-para-soluo Otimizar o ambiente de TI Reduzir custos Melhorar aplicaes legadas Aumentar a produtividade Outros

A A C A A C C A

No atingiu os objetivos Atingiu alguns, mas no todos os objetivos

Atingiu os objetivos Atingiu os objetivos alm do esperado

Fonte: Gartner - User Survey Analysis: Whats Really Happening With SOA in Tough Times? Susan Tan , Gartner, 2009 (com adaptaes).

Agilidade habilitada por SOA

17

16/04/2012

Reduzir Custos: Rota de Coliso do Portiflio Inchado

Fonte: Andy Kyte, A Framework for the Lifetime Cost of Ownership of an Application. Gartner.30 March 2010.

Alinhamento do Negcio com a TecnologiaINDICADORES

18

16/04/2012

Como se faz SOA Aplicao dos Princpios de SOAOrientao a Servio Separao de Interesses Baixo Acoplamento

Uso de Padres de Projeto e SOA e Modelos de Servios Contratos Explcitos Interaes Mediadas Transaes Desacopladas

Resultam em Caractersticas de SOA Modular Interopervel Compartilhvel

Estratgias para adoo de SOA

Macro SOA (atravessa a organizao)

Muito efetivo quando o foco a infraestrutura de servios. Maior demora para alinhar com o negcio.

Necessita ser altamente coordenado. Requer mudanas na organizao e de apoio da Governana

Micro SOA (projeto a projeto)

Focado em tecnologia ao invs da cultura organizacional. Descoordenado e desgovernado.

Histrias de sucesso encorajam a adoo dessa estratgia. O reuso duvidoso sem uma colaborao atravs da organizao.Direcionado pelo Negcio

Direcionado pela TI

38

19

16/04/2012

Desenvolvendo um Caso de NegcioDescreva os prs e contras do investimento. Tpico Entregveis e Benefcios Custos Riscos Atividades e Prazos Descrio O que iremos realizar com o investimento? Quanto precisa ser investido? O que pode dar errado? O que tem que ser feito e em que prazo?

Iniciao Alternativas Mtricas

Como se inicia? Existe outra opo? Como medir o sucesso da empreitada?

Desenvolvendo um RoadmapFluxo de Trabalho Estratgia Infraestrutura Modelagem de servios Governana Padres Processos Organizao Situao Corrente Situao Desejada

20

16/04/2012

Modelos de Maturidade

Impacto de SOA sobre os Valores do Negcio

42

21

16/04/2012

Projetos SOA: Indicadores e MtricasDireo da melhoria Para maior

Benefcios Aumento da qualidade das aplicaes

Medidas de Eficincia Disponibilidade dos processos de negcio e servios

Fonte de Dados BAM, sistemas de monitoramento e gerenciamento de incidentes

Clculo complexo envolvendo: No. Capacidades de negcio Agilidade / Reduo do tempo de resposta (time- Nmero de sistemas que to-market) implementam uma capacidade Velocidade de desenvolvimento

Para maior Para menor Para maior

Modelo de Capacidades BD de gerenciamento de configurao (CMDB) Inteligncia no desenvolvimento (infraestrutura SDLC)

Aumento na facilidade de Nmero de interaes de executar o negcio consumidores de servios Utilizao de Servios : Nmero de consumidores por servios Nmero de polticas automaticamente aplicadas Reduo do TCO no portifolio da TI Aumento dos gastos operacionais% Contabilizao de reuso de servios

Para maior

Gerenciamento SOA

Aumento da consistncia em sistemas

Para maior Para maior

Repositrio de registro do gerenciador SOA

Para menor Para maior

Documentao financeira do negcio

Recomendaes (Gartner)Reconhecer que SOA requer um compromissoSOA uma disciplina, no um projeto Disciplinas complementares incluem qualidade de dados, gesto de processos de negcios e arquitetura empresarial SOA requer mudanas fundamentais no "status quo" na organizao Os benefcios de SOA valem o esforo.

No se concentrar em provar o valor do SOASe concentrar em provar o valor de projetos SOA Mensure os resultados das mtricas de valor de negcioIT1

22

16/04/2012

SOAPrincpios de Projeto

ServiosNo mundo de SOA e de orientao a servio, o termo "servio" tem conotaes especficas relacionadas com uma nica combinao de qualidades de projeto. Exemplos dessas qualidades incluem: independncia diferenciao multipropsito compatibilidade previsibilidade Por definio, servios so unidade de lgica de soluo orientada a servio. Uma lgica considerada orientada a servio quando orientao a servio foi aplicada em seu projeto em uma extenso significativa. A criao e definio de servios resulta de um processo de decomposio baseado na estabelecida teoria da separao de interesses. Assim como em orientao a objetos, orientao a servio tem sua prpria abordagem para realizar a separao de interesses.

23

16/04/2012

Capacidades (de Servios)Servios so colees de capacidades relacionadas a um contexto funcional. So as capacidades que atualmente resolvem interesses individuais, assim, um servio pode ter uma ou mais capacidades. Capacidades associadas ao contexto de um servio so posicionados dentro daquele servio. Capacidades de servio podem ser expressas em um contrato de servio. Logo, cada soluo orientada a servio pode ser modelada a partir de ou decomposta em uma coleo lgica com seguintes elementos bsicos:capacidades = unidades de trabalho servios = coleo de unidades de trabalho processes = agregao coordenada de unidades de trabalho mensagens = unidades de comunicao responsvel por envolver unidades de trabalho

Um consumidor de servio frequentemente invocar uma capacidade especfica, ou seja, ele invocar apenas um subconjunto das funcionalidades que um servio tem para oferecer, e essa funcionalidade associada com uma capacidade pode variar em escopo.

Composio (de Servios)Todos os princpios de projeto de orientao a servio so direcionados a suportar servios como membros de composies complexas. No topo da composio encontramos servios caracetrizado como o controlador de composio (frequentemente referido apenas como "controlador ou mediador). O projeto do controlador de composio gira em torno da definio de interaes efetivas de servios e da lgica de composio, integrada ao gerenciamento do estado da atividade.

24

16/04/2012

Anatomia Interna de um Servio

A lgica de processamento de mensagem representa uma combinao de servios de sistema de tempo de execuo, agentes de servio e lgica de servio relacionada ao processamento de mensagens SOAP e da definies WSDL.

A lgica central do servio a parte de back-end de um Servio Web que trata qual seja a tarefa associada com as operaes expressas no contrato do Servio Web.

Modelos de Servios e Camadas de ServiosQuatro modelos de servio comuns: servio de processos (tarefas orquestradas), servio de tarefa, servio de entidade, e servio utilitrio (de dados, de lgica, etc.).Dentro do inventrio, os servios so classificados usando-se modelos de servios e organizados em camadas de servios.

Gartner

ADAPTADORES NO ORACLE SO SERVIOS UTILITRIOS

25

16/04/2012

Projeto SOA

Princpios de Projeto Princpios de design descrevem as ideais fundamentais e as prticas aceitas que influenciam a concepo de sistemas. A aplicao dos princpios de fomentam as caractersticas desejadas. Padres de Projeto Uma soluo comprovada para um problema comum em um determinado contexto Semelhante a uma melhor prtica Muitas vezes implementa um paradigma de princpios de projeto Modelos/Modelagem Modelagem o processo de aplicao de princpios e padres de projeto em um contexto Modelos so os artefatos resultantes da modelagem: Descries ricas de recursos do sistema, componentes, interfaces, as polticas, as dependncias, acordos, etc

Orientao a Servios: Princpios

Os 8 princpios de projeto de Orientao a Servio: Padronizao de Contrato de Servio (define e implementa contratos padres) Baixo Acoplamento de Servios (minimiza as dependncias) Abstrao de Servio (minimiza a visibilidade ao necessrio) Capacidade de Reuso de Servio (implementa a reusabilidade lgica e de contratos) Autonomia de Servio (implementa os limites da independncia funcional e da sua forma de execuo) Independncia de Estado de Servio (implementa uma lgica desacoplada de gerenciamento de estado) Visibilidade de Servio ( a capacidade de descoberta) Capacidade de Composio de Servio (maximiza a capacidade de composio de servios)

26

16/04/2012

Padronizao de Contrato de Servio"Servios dentro de um mesmo inventrio de servios esto em conformidade com os mesmos padres para projeto de contrato." Servios expressam seus propsitos e capacidades atravs de um servio contrato padronizado. Isso implica em grande nfase no projeto de contratos de servios advoga o princpio de projeto "contrato primeiro" (Contract First). Seu propsito assegurar que a maneira na qual os servios expressam funcionalidades e representam tipos de dados mantida relativamente alinhada. H dois tipos de padronizao de contratos: Padronizao de Representao de Dados (ou Modelo de Dados) e Padronizao da Expresso Funcional.

Padronizao de Contratos de ServiosPERFIS DE SERVIO Funcional

WSDL Esquemas Polticas No-Funcional

Acordos de Nveis de ServiosDisponibilidade, Capacidade, Perodos

Operacional

Medies IT1 Catlogo de Servios

27

16/04/2012

Padronizao de Contratos de Servios: Perfil de ServiosNivel de ServioNome do Servio Descrio (Curta): Descrio concisa, em uma sentena, do contexto do servio e seu propsito. Propsito (Detalhada): Explicao completa do contexto do servio e de suas fronteiras funcionais com tantos detalhes quanto necessrio. Modelo de Servio: Entidade, Utilitrio, Tarefa, Tarefa Orquestrada ou uma variao personalizada. Palavras-chaves: Uma ou mais palavras-chaves retiradas de uma taxionomia ou vocabulrio oficial do inventrio de servios. Verso: Nmero de verso do servio correntemente sendo documentada. Status: O estado de desenvolvimento do servio expresso usando termos que identificam um estgio do ciclo de vida do servio, tais como "anlise", "projeto", "desenvolvimento" ou "produo". Data de Entrega: Se o servio no est em produo, pode ser til incluir uma data estimada de entrega. Se j est. informa a data de sua disponibilizao em produo. Guardio: Detalha como contatar o guardio de servio oficial (proprietrio), assim como outros que contriburam com essa documentao.

Padronizao de Contratos de Servios: Perfil de ServiosNivel de CapacidadeNome da Capacidade Propsito: Explanao concisa do propsito global da capacidade e seu contexto funcional (similar descrio curta de servio). Descrio de Lgica : Uma descrio passo a passo da lgica executada pela capacidade (algoritmos, diagramas de fluxo de trabalho, descrio da definio de processo de negcio, etc.) Entrada/Sada: Esses dois campos provm definies dos valores de entrada(s) e sada(s) permitidos para esta capacidade e restries associadas. Pode ser til descrev-las em linguagem natural durante a fase de modelagem de servio. Regra de Composio: A execuo da lgica de capacidade pode colocar um servio em vrios papis temporrios de tempo de execuo, dependendo de sua posio em configuraes de composio de servios. Este campo pode ser preenchido com uma descrio do papel da capacidade. Capacidades de Membro de Composies: Uma lista de capacidades de servios compostas pela lgica da capacidade. Prov uma referncia cruzada conveniente para outras capacidades de servio com as quais a capacidade correntemente formou dependncias. Palavras-chaves: Frequentemente, as mesmas palavras-chaves que se aplicam ao servio podem ser trazidas para a capacidade. Mas no incomum que palavras-chaves adicionais sejam adicionadas a capacidades individuais para melhor clarificar o seu propsito. Verso: Dependendo do sistema de controle de verso em uso, capacidades, elas mesmas, podem ser versionadas com um nmero ou novas verses de capacidade pode ser adicionadas com o nmero de verso apenso ao nome da capacidade. Status: Os mesmos identificadores de ciclo de vida usados para servios pode ser aplicados ao estado de capacidades individuais usando este campo importante. Guardio: Com frequncia, o guardio do servio ser o guardio (ou um dos guardies) das capacidades de servio relacionadas, caso no qual este campo pode repetir o valor do campo no perfil em nvel de servio.

28

16/04/2012

Baixo Acoplamento"Contratos de servios impem requisitos de baixo acoplamento com consumidores e so, eles mesmos, desacoplados do ambiente em sua volta." O foco principal desse princpio est no relacionamento entre o contrato de servio e o que seja que o servio encapsula. Ao aplicar esse princpio o objetivo : reduzir o acoplamento entre o contrato de servio e o consumidor de servio reduzir o acoplamento entre o contrato de servio e sua lgica subjacente aumentar o acoplamento da lgica do servio com o contrato de servio porque isso permite que o contrato de servio permanea desacoplado da lgica de servio.

XAbstraoEm um nvel fundamental, esse princpio enfatiza a necessidade de esconder tanto quanto possvel os detalhes subjacentes de um servio. A informao sobre um servio , portanto, limitada ao que est publicado no contrato de servio. Existem quatro tipos de metadados envolvidos no Princpio de Abstrao:Abstrao funcional relaciona-se com metadados que descrevem o que o servio capaz de fazer. Abstrao tecnolgica relaciona-se com metadados que descrevem a implementao tcnica da lgica de servio subjacente. Abstrao programtica relaciona-se com metadados que descrevem como o servio realizada suas capacidades. Abstrao de qualidade de servio relaciona-se com metadados que descrevem o comportamento, limitaes e requisitos de integrao do servio.

29

16/04/2012

Reuso / Capacidade de Reuso"Servios contm e expressam lgica agnstica e podem ser posicionados como recursos corporativos reutilizveis." "Capacidade de Reuso" um termo usado para indicar o potencial de um programa de software para ser reutilizado, enquanto "reuso" a reutilizao do programa, de fato. Nunca antes o reuso foi to enfatizado quanto com orientao a servio (de tal modo que isso se tornou uma parte central do processo de projeto).

Autonomia de Servio"Servios exercitam um alto nvel de controle sobre seu ambiente de execuo subjacente. Ao compor servios, a autonomia automaticamente perdida na mediada em que se aproximada dos nveis superiores em uma hierarquia de composio. Portanto, muito importante fazer cada membro de composio o mais autnomo possvel.

30

16/04/2012

Independncia de Estado"Servios minimizam o consumo de recursos pelo diferimento do gerenciamento de informaes de estado, quando necessrio." O gerenciamento de informaes de estado em excesso pode comprometer a disponibilidade e a escalabilidade de um servio. Servios so, desse modo, idealmente projetados para manter uma condio de independncia de estado sempre que apropriado. A aplicao desse princpio usualmente envolve alguma forma de diferimento de estado. Como em Autonomia de Servio, este um outro princpio que foca menos no contrato e mais no projeto da lgica subjacente. Opes comuns de diferimento de estado incluem bases de dados, servios utilitrios e mensagens.

Visibilidade de Servio"Servios so suplementados com metadados comunicativos pelos quais eles podem ser eficientemente descobertos e interpretados." desejvel que servios (especialmente servios agnsticos) possam ser facilmente localizados e entendidos de modo que eles possam ser apropriadamente reusados e recompostos. Este princpio focado tanto na capacidade de descoberta quanto na capacidade de ser interpretada da meta informao de servio. Essencialmente, ele desce at a qualidade das comunicaes do contrato de servio e do perfil do diretrio. descoberta / capacidade de descoberta. interpretao / capacidade de ser interpretado.

31

16/04/2012

Composio / Capacidade de ComposioServios so participantes efetivos de composies, independentemente do tamanho e da complexidade da composio." A habilidade de compor servios com efetividade requisito crtico para atingir alguns dos objetivos fundamentais de computao orientada a servio. Composies complexas de servios colocam demandas significantes no projeto de servio. Este princpio dedicado a fazer servios membros efetivos de composio, independente deles precisarem ser imediatamente listados em uma composio. O resultado final da aplicao de orientao a servio uma coleo de servios agnsticos com capacidades que podem ser repetidamente compostas para ajudar a resolver outros problemas maiores.

Questes comuns de projetoServios granularidade projeto de contrato e seus padres projeto agnstico vs. no agnstico encapsulamento de legado esquemas de dados (mensagens) polticas segurana governana Composio de Servios gerenciamento de estado de atividade em tempo de execuo transaes com mltiplos servios troca confivel de dados requisitos de segurana como evitar transformaes requisitos de desempenho Inventrio de Servios escopo e fronteira padronizao de servios escalabilidade plataformas de execuo infraestrutura governana

Estamos construindo os servios certo? Como podemos permitir que as pessoas utilizem esse servio? Como devemos construir esse servio? Como podemos medir o valor de um servio?

32

16/04/2012

Modelagem de Servios: Pr-requisitos

Projetos de SOA

33

16/04/2012

Projetos SOA

Projetos de SOA introduzem novas consideraes e aumentam o ciclo de vida tradicional de projetos. Especificamente, projetos de SOA tendem a requerer: 1.Priorizao cuidadosa de requisitos tticos e objetivos estratgicos. 2.Colaborao prxima entre especialistas de negcio e de tecnologia. 3.Esforo aumentado de anlise antecipada.

Modelagem de Negcio Anlise de Inventrio de Servio Anlise Orientada a Servio (Modelagem de Servio) Projeto Orientado a Servio (Contrato de Servio) Projeto de Lgica de Servio Desenvolvimento de Servio Teste de Servio Implantao e Manuteno de Servio Descoberta de ServioEm projetos reais, muitas dessas fases sero frequentemente realizadas iterativamente ou em ordem diferente.

Abordagem de Projeto e Governana SOA Top-down A anlise antecipada reduz a carga da governana. Bottom-up Menor impacto antecipado, deferindo carga adicional para a fase de governana. Meet-in-the-Middle A estratgia enxerga as abordagens top-down e bottom-up como situaes extremas, e procura encontrar um meio-termo adequado. Essencialmente, essa abordagem prope um processo que permita que a anlise em nvel de negcio ocorra concorrentemente com a integrao de servios.

34

16/04/2012

Metodologia BPM > SOA

IT1

69

reas Negcio

Metodologia de Referncia

Fbrica Servios

Equipe Datasus Consultoria Fbrica Software

Fbrica Testes

Fbrica Software Fbrica Servios

35

16/04/2012

Governana SOA

Domnio da Governana

Governana Corporativa Governana de TIGovernana do Portiflio Governana do DesenvolvimentoGovernana das Operaes de TI

Governana SOA Governana da Sergurana de TI Governana da Informao

72

36

16/04/2012

Governana do Ciclo de Vida dos ServiosEstgiosPlanejamento Infraestrutura Projeto Configurao Segurana Utilizao Monitoramento Incidentes Alteraes Desativao

Questes principaisEstamos construindo os servios necessrios? A infraestrutura robusta o suficiente? Estamos construindo os servios corretamente? Os servios esto publicados corretamente? Os servios esto corretamente protegidos? Um novo servio pode interromper algum sistema? Os servios esto sendo executados corretamente? O que fazer se alguma coisa der errado? Alguma alterao pode interromper o sistema? Por quanto tempo tenho que manter o servio?

73

Elementos da Governana: Padronizao de Projetos Princpios: define as bases da Governana e estabelece responsabilidades e autoridades Polticas: define os aspectos especficos da Governana e estabelece as restries de tomada de deciso e suas consequncias Padres: especifica formatos, aes, tecnologias, processos e mtricas e os perfis associados com a implementao de uma poltica Guias: So as recomendaes e melhores prticas (no-mandatrios)

Elementos definidos inicialmente, e que so evoludos a cada fase de maturidade SOA: Polticas Padres de Informao Arquitetura de Referncia Padres de Servio Padres de Inventrio de Servios Padres Tecnolgicos

37

16/04/2012

Padronizao de Dados

75

Modelo Cannico e Modelo de Dados MestresModelo Cannico um padro de projeto usado para comunicao entre diferentes formatos de dado (transformaes para integrao). J o MDM mais rico, no contexto ontolgico, sendo um de seus subsets de informaes influenciados pelo Modelo Cannico. O gerenciamento dos dados mestres (MDM) procura garantir que a organizao no utiliza vrias verses (potencialmente inconsistente) dos dados mestre mesmo em diferentes partes de suas operaes, o que pode ocorrer em grandes organizaes. Problemas a serem tratados pelo MDM incluem, por exemplo, falta de integrao nas aplicaes-silo, problemas com a qualidade dos dados, classificao consistente e identificao dos dados, e dados de reconciliao questes. Processos comumente visto em solues MDM incluem a identificao de origem, coleta de dados, transformao de dados, normalizao, administrao de regra, deteco e correo de erros, consolidao de dados, armazenamento de dados, distribuio de dados, classificao de dados, servios de taxonomia, mapeamento de esquema, codificao de produtos, o enriquecimento de dados e governana de dados.

38

16/04/2012

Infraestrutura SOA

Camadas e as PlataformasCamadasCamada de Processos de Negcio

Plataformas de SOA BPM Plataforma de Orquestrao

Camada(s) de (interfaces de) Servios

Registry ESB

Camada de Aplicaes

Infraestrutura e Sistemas Legados

39

16/04/2012

Plataformas SOAOrganizao, Processos de Negcio, Arquitetura da Informao e Tecnologia

Infraestrutura Bsica de SOA (Oracle)Oracle SOA Suite oferece um conjunto abrangente de componentes para o desenvolvimento, segurana, monitoramento e arquitetura orientada a servios (SOA). Componentes de servio (processos BPEL, regra de negcio, tarefa humana, e mediador) so os blocos de construo que voc usa para construir uma aplicao SOA complexa. A infraestrutura de servio fornece capacidade de transporte de mensagens dentro da infraestrutura, de forma a conectar componentes de servio e permitindo o fluxo de dados. Motores de servio para os componentes processam as informaes recebida do servio de infraestrutura O Oracle Business Activity Monitoring reconhece os dados transportados atravs da infraestrutura de servios, fornecendo capacidades de conhecimento de mtricas de uso.- Service Infrastructure - Oracle Mediator - Oracle Adapters - Business Events and Events Delivery Network - Oracle Metadata Repository - Oracle Business Rules - Oracle WSM Policy Manager - Oracle BPEL Process Manager - Human Workflow - Oracle Business Activity Monitoring - Oracle User Messaging Service - Oracle B2B - Oracle JDeveloper - Oracle Enterprise Manager - Oracle Service Bus (download separado) - Oracle Complex Event Processing

40

16/04/2012

Infraestrutura de GerenciamentoPolicy repositories Mas ajuda se voc implementaruma infraestrutura aderente. SOA algo que voc faz e no algo que voc compra. Repositrio de Metadados

Sistema de Registro

Mediao de ServiosAcelerao Roteamento Transformao Segurana Outros

Servio Container de Servios

Middleware de Comunicao

Servio Container de Servios

Monitoramento de Servios

Administrao de Servios

Dashboard

Console

Governana e a InfraestruturaPlanejamento

82Solution planning infrastructure

Preceitos

Manage service investments New services Enhancements Retirement Service portfolio

EA and service modeling

Construo

Manage service lifecycle Verify compliance Manage service artifacts Service repository Track dependencies

SDLC, ALM, & QA infrastructure

Define and manage policies

Repositrio de PolticasExecuo

Enable discovery

Manage service consumption

Monitor servicesDashboard

IT management infrastructure

Secure services Mediate interactions

System of record

Service registry

41

16/04/2012

Suporte da Infraestrutura na GovernanaPlanejamento

83

Preceitos

Manage service investments Gerenciamento

Solution planning infrastructure Service portfolio

do portiflio New services de Enhancements serviosRetirement

EA and service modeling

Gerenciamento de Polticas SOADefine and manage policies

Construo

Manage service lifecycle

Repositrio Verify compliance de serviosManage service artifactsExecuo

Motores para Service avaliao de repository conformidadeTrack dependencies

SDLC, ALM, & QA infrastructure

Repositrio de Polticas

Enable discovery

Manage service consumption

Monitor servicesDashboard

IT management infrastructure

Monitoramento Secure services de servios (mtricas)Mediate interactions

Execuo de System of polticas SOA record

GatewaysServiceXML registry

Resultados

84

42

16/04/2012

Ganhos com a Aplicao dos PrincpiosA aplicao consciente dos oito princpios de projeto discutidos resulta na proliferao em larga escala das seguintes caractersticas: aumento da consistncia de como funcionalidade e dados so representados reduo da dependncia entre unidades de lgica de soluo reduo da percepo acerca dos detalhes de projeto e implementao da lgica de soluo subjacente aumento de oportunidades de uso de uma pea de lgica de soluo para mltiplos propsitos aumento de oportunidades de combinao de unidades de lgica de soluo em diferentes configuraes aumento da previsibilidade comportamental aumento da disponibilidade e escalabilidade aumento da percepo acerca dos recursos corporativos disponveis

Ganhos com Orientao a ServiosA aplicao consistente de orientao a servio resulta em uma TI corporativa com: reduo desperdcio e redundncias reduo de tamanho e custo operacional reduo de overhead associado com sua governana e evoluo

Esse tipo de aplicao de TI corporativa possibilita benefcios organizacionais atravs do aumento significativo da capacidade de resposta e da efetividade dos custos. O alcance dos objetivos previamente descritos pode criar uma TI : ... mais leve e gil; ... que seja menos pesado para a organizao ... ... e que atue como habilitador e contribuinte para a estratgia organizacional.

43

16/04/2012

Ganhos CorporativosEssas caractersticas mudam o aspecto geral de toda a corporao, pois ... ... a corporao constituda de maiores quantidades de lgica de soluo agnstica. ... cada um um ativo de TI usado para mltiplos propsitos. ... reduo da quantidade de lgica especfica de aplicao e reduo de aplicaes isoladas. Caractersticas de projeto comuns consistentemente implementadas atravs de servios resultam em lgicas de soluo inerentemente interoperveis e naturalmente alinhadas

Devido grande nfase em lgica agnstica e reutilizvel, a mesma lgica de soluo usada para automatizar mltiplos processos de negcio. Como resultado, a quantidade global de lgica de soluo presente na corporao reduzida. Isso pode diminuir drasticamente o tamanho, o esforo e o custo operacionais correspondentes de um departamento de TI e o tamanho real da corporao pode ser otimizado aps uma adoo em larga escala de orientao a servio.

Fatores Crticos de Sucesso Alinhamento estratgico de um Programa de Adoo SOA com o Negcio Definio de escopo, prazos e patrocnio executivo para o Programa Aspectos de custos e modelo de financiamento e contratao Estruturao organizacional e equipe (estrutura de papis e responsabilidades) Definio de polticas e padronizaes de projeto (ex. arquitetura de referncia, padres de informao e dados, padres de servios e catlogos de servios, padres tecnolgicos, melhores prticas) Aspectos de metodologia e governana de SOA Aspectos tecnolgicos e infraestrutura tecnolgica Aspectos de equipe e capacitao profissional

44