Service-oriented architecture: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Linha 21:
2. Os metadados devem vir de uma forma que o designer de sistema seja capaz de compreender e gerir com um gasto razoável de custo e esforço.
SOA tem como objetivo permitir que usuários agrupem funcionalidades a fim de obter aplicações dedicadas que serão construídas quase inteirametne a partir de serviços de software pré-existentes. Quanto maior o agrupamento, menor a quantidade de interface necessária para implementar qualquer conjunto de funcionalidade; no entanto, agrupamentos muito grandes são mais difíceis de reutilizar. Cada interface tem uma quantidade de processamento, portanto há que se considerar a performance e a granularidade dos serviços. A grande promessa de SOA sugere que a criação da n-ésima aplicação é baixa, pois todos os serviços necessários para satisfazer aos requisitos da aplicação já existem. No mundo ideal, bastaria coordenar os serviços para produzir uma nova aplicação.
Mas, para SOA operar, nenhuma interação deve existir entre as funcionalidades ou dentro delas. Ao contrário, usuários especificam a interação dos serviços de forma pré-definida com o objetivo de atender aos novos requisistos. Por isso, a necessidade de implementar serviços com mais funcionalidades que funções ou classes tradicionais, e para que o designer da aplicação não se sobrecarregue ao tratar a complexidade de milhares de objetos com granularidade menor.
A partir de 2008, um número crescente de empresas de software de terceiros oferecem serviços de software para uma taxa. No futuro, sistema SOA pode consistir de tais serviços de terceiros combinado com outros criados em casa. Este tem o potencial de repartir os custos sobre os clientes e usa muitos dos clientes e promove a normalização, tanto dentro como através das indústrias. Em particular, a indústria do turismo tem agora um bem-definidas e documentadas conjunto de ambos os serviços e dados, suficiente para permitir que qualquer engenheiro de software razoavelmente competente para criar software de agência de viagens que utilizam os serviços totalmente off-the-shelf software.▼
Os programadores desenvolvem os próprios serviços usando linguagens tradicionais como Java, C, C++, C# ou COBOL. Serviços também podem ser usados também como interfaces para sistemas legados, permitindo a mudança de layout de sistemas antigos.
Os serviços SOA são menos acoplados que as funções de bibliotecas de um programa executável. Serviços SOA também rodam sobre ambientes seguros (como Java e .Net) e com outras linguagesn de programação que gerenciam alocação de memória e exceção, permitem late binding e certo nível de abstração de tipos de dados.
SOA como uma arquitetura depende de orientação a serviços como o seu princípio fundamental de design. Se um serviço apresenta uma interface simples que abstrai a complexidade subjacente, os usuários podem acessar os serviços independentes, sem conhecimento da execução do serviço de plataforma.▼
▲A partir de 2008, um número crescente de empresas de software
▲
==Requisitos==
|