Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
O artigo trata da SOA (Arquitetura Orientada a Serviços), mais presente em organizações de médio a grande porte, ou empresas que buscam assumir uma posição em ascensão no mercado competitivo com a adoção de boas práticas que essa arquitetura oferece. Neste artigo será contextualizado SOA, considerando conceitos e práticas na modelagem de serviços. Serão também apresentadas formas de interação entre TI e negócios, diminuindo dificuldades existentes no desenvolvimento e na adaptação de implementações e regras de negócios em sistemas corporativos. Por fim apresentaremos um exemplo prático de aplicação de SOA com WCF.
Em que situação o tema é útil
Essa arquitetura é útil em
organizações que utilizam variados tipos de sistemas, com diferentes
tecnologias e fornecedores, sendo imprescindível o atendimento a requisitos
como escalabilidade, flexibilidade e interoperabilidade.
Há divergências de comunicação entre setores de negócios e de TI. O que é solicitado nem sempre condiz com o que realmente os usuários imaginavam. Para corporações que buscam liderança no mercado competitivo, há caminhos a serem traçados e para ser competitivo não basta ter tecnologia de ponta. É necessário aperfeiçoar processos de negócios, ter união entre os setores, e compreensão de todos os processos envolvidos na atividade empresarial.
A SOA (Arquitetura Orientada a Serviços) ajuda as empresas a estarem preparadas para evoluir em tecnologia e em rentabilidade, diminuindo restrições da tecnologia para os líderes de negócio. Com a ajuda de SOA é possível assegurar uma estrutura flexível e reutilizável.
De maneira simples, SOA é uma abordagem de negócios para criar sistemas de TI que permitem alavancar recursos existentes, criar novos recursos e, principalmente, estar preparado para inevitáveis alterações exigidas pelo mercado. SOA é uma abordagem tanto para negócios quanto para TI. Ambos obtêm um melhor processo de negócio, consequentemente, mais produtividade e lucro para a empresa.
SOA não é aplicada da noite para o dia. Para usufruir dos benefícios desta arquitetura, é necessário investimento de tempo e aprendizado. Com SOA é possível melhorar o processo de aprendizado e notar melhorias quando os líderes de negócios caminharem juntos com líderes de TI.
O principal item do SOA são os serviços que servem para denominar o relacionamento entre um provedor e um consumidor, que possuem o objetivo de solucionar uma determinada atividade em comum.
Cada serviço pode ser definido como uma atividade específica. Aplica-se esse conceito para identificação dos serviços encontrados na corporação, sendo que o mesmo pode ser comparado com o famoso brinquedo "Lego", onde se podem utilizar as mesmas peças para inúmeras ocasiões. De fato, podem-se mencionar exemplos como: "um serviço para consulta de produtos...", onde o serviço é criado apenas uma vez e pode ser utilizado em todo sistema.
Utilizando serviços é possível estar preparado para inúmeras alterações no decorrer dos anos. E como a tecnologia está em constante mudança, é essencial ter interoperabilidade. A tecnologia muda rapidamente e as empresas não podem ficar paradas.
Neste contexto, SOA pode ajudar a responder e melhorar um conjunto de cenários refletidos nas seguintes questões: O negócio é amplo e complexo? O nicho muda rapidamente? Nosso legado é o centro do nosso negócio? Nossos sistemas são flexíveis? Podem ser atribuídas mudanças? As regras de negócios estão organizadas? Existe qualidade em nossos dados?
Governança SOA
Toda empresa necessita de governança, pois é através dela que conseguem levantar, planejar, executar, controlar e aperfeiçoar processos e, consequentemente, gerar melhores resultados. Governança significa garantir que as pessoas façam o que é certo. Além disso, “controlar o desenvolvimento e a operação de software” também está no contexto de governança.
Alguns pontos cruciais associados à governança SOA são:
· Políticas: definem o que é certo;
· Processos: reforçam as políticas;
· Métricas: fornecem visibilidade e possíveis reforços para políticas;
· Organização: estabelece uma cultura que suporta o processo de governança.
Processos têm que ser flexíveis o suficiente para poderem suportar atualizações frequentes. Além disso, eles devem ser os mais explícitos possíveis, pois é necessário que a equipe acompanhe sua execução.
Os aspectos técnicos de um processo podem ser classificados como documentação, gerenciamento de serviços, monitoramento e gestão de mudanças.
Como é apresentado na Figura 1, existem duas formas para implantação de governança SOA:
· top-down: onde as requisição surgem dos presidentes, gerentes e executivos da empresa;
· bottom-up: onde as requisição surgem de usuários analistas, programadores, técnicos.
Figura 1. Abordagem Bottom-up e Top-down.
Maturidade SOA
Como mostra a Figura 2, existe um modelo de maturidade SOA desenvolvido pela Sonic Software. O nível 1 representa a aprendizagem inicial e fase do projeto de implementação SOA. No nível 2 são fornecidos serviços que utilizam padrões que são definidos como governança técnica de implementação SOA.
Já o nível 3 fornece serviços dentro da parceria entre organizações tecnológicas e de negócio para garantir que o uso de fornecedores SOA esclareça de forma apropriada responsabilidades de negócio. No nível 4 é focada a implementação de processos de negócios internos / externos. Por fim, no nível 5 temos processos de negócios de SOA otimizados de tal forma que o sistema de informação utilizando SOA se torna o principal sistema da organização.
Figura 2. Modelo de Maturidade SOA da Sonic Software.
Além deste modelo de maturidade, temos também a opção desenvolvida pela IBM e conhecida comoServiceMaturity ModelIntegration (SIMM).Este modelo é composto por sete níveis, sendo eles:
· Silo: integração de dados;
· Integrado: integração de aplicativos;
· Modular: integração funcional;
· Serviços simples: processo de integração;
· Composto serviços: integração de cadeia de fornecimento;
· Serviços virtualizados: infraestrutura virtual;
· Dinamicamente configuráveis: escalabilidade automática.
Os níveis de maturidade SOA indicam o quanto a empresa já está apta com processos para levantar, planejar, implantar e controlar SOA. Através destes níveis é possível identificar a qualidade e o sucesso que se terá em iniciativas para implantação SOA.
Serviços
Assim como para o termo SOA, é difícil encontrar uma definição exata para “serviço”. O principal objetivo de um serviço é representar um passo natural da funcionalidade de negócio.
Ao trazer essa afirmação para negócios, pode ser identificado que os passos de uma atividade de uma corporação podem ser classificados como serviços. Fazendo com que todos os passos sejam executados em sincronia, tem-se um processo gerando resultados para outros processos.
Serviço é a definição de um ou mais passos que usam mensagens para troca de dados entre um fornecedor e um consumidor. Para que a existência de um serviço tenha sentido, é necessário que o mesmo seja consumido, sendo este outro serviço ou até mesmo um consumidor.
...Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.