A implementação de uma arquitetura SOAToquei no assunto da utilização de uma arquitetura orientada a serviços (SOA), serviços da Web e Ajax para construir um cliente de uma perspectiva teórica, mas não me aprofundar nos detalhes práticos de como implementar a arquitetura SOA. Nesta festa de um artigo, vou cobrir como implementar uma arquitetura SOA usando serviços da Web e Ajax. A solução também aborda a questão de como atualizar uma arquitetura já existente para uma arquitetura SOA. Este artigo aborda os seguintes tópicos:
• Desenho Representational State Transfer (REST)-based URLs para o conteúdo que é descrito como um conjunto • Criar uma nova arquitetura SOA sem jogar fora toda a arquitetura original • Validação e testes de serviço aweb • Picking além dos dados • Implementar um serviço baseado em REST Web • HTML • Really Simple Syndication (RSS) • Cada átomo de formatos é única, mas a estrutura do conteúdo no formato é o mesmo. Do ponto de vista de programação, a solução implicaria um Model-View-Controller A re-aplicação arquitetado tem apenas uma URL e um formato de dados, Atom , então o código por trás do URL precisa gerar conteúdo apenas para esse formato. No caso da re-aplicação arquitetado, o formato Atom é considerado serviço de malha, a idéia por trás da qual está a apresentar um formato universal entendida por um público amplo. E se o dispositivo final não entende o formato, então é até o dispositivo de navegação para descobrir isso. Claro, pedindo que o dispositivo fim de descobrir o formato pode soar duro, mas realmente não é sempre que você está gerando HTML utilizando o protocolo HTTP, você está pedindo o dispositivo fim de descobrir como exibir os dados. Caso o HTML e HTTP são quase universal, porque não basta gerar o bem-estruturado HTML e deixar que o dispositivo final Atom descobrir isso? A resposta é que ele não funciona tão bem quanto isso. HTML é uma tecnologia de interface de usuário que não seja universalmente compreendido entre todos os dispositivos. Um dispositivo final Atom poderia provavelmente guesstimate a estrutura de formato, mas você provavelmente sabe o suor e dor associada com o código escrito em HTML que pode exibir em todos os dispositivos. Aweb Com um serviço baseado sobre o formato Atom, você tem uma compreensão clara do que os dados é e representa. Para começar, o serviço aweb diz para o servidor, "Aqui está a descobrir como dados para exibi-lo." Se o dispositivo final é um leitor Atom, é fácil descobrir o que fazer com os dados, mas se o dispositivo final é aweb navegador, você tem um desafio. A maioria dos novos navegadores entendem Atom serviços da Web, mas outra opção é ter o Ajax na mão para ajudar e, especificamente, o objeto XMLHttpRequest, que pode gerar uma solicitação para chamar o serviço Web. O serviço Web fornece os dados, que depois é processada pelo objeto XMLHttpRequest, e porque a grande maioria dos serviços da Web são baseados em XML, descobrir o formato dos dados fornecidos pelo serviço da Web é trivial. Ao delegar o trabalho de criar um GUI longe do servidor, não existe uma separação clara entre os papéis do cliente e servidor de jogo. Esta separação é absolutamente fundamental, porque permite que os desenvolvedores do servidor para o foco no desempenho, escalabilidade, robustez e de armazenamento, enquanto o cliente pode se concentrar em usabilidade, a estética visual, e compreensibilidade. O designer eo programador tem dois conjuntos de habilidades muito diferentes, e não devem interferir com os outros. Aplicação do Servidor A arquitetura vez tem dois processos de banco de dados, e os dois processos estão ligados através do mecanismo de sincronização do banco de dados. Do ponto de vista do usuário, desenvolvedor e administrador, cada aplicação utiliza a sua própria base de dados. Os dois processos de banco de dados gerenciar as tabelas exatamente o mesmo, exibições e procedimentos armazenados. Presume-se que esta nova arquitetura vai usar as mesmas tabelas, vistas, e procedimentos armazenados, mas na realidade nem sempre é esse o caso, pois uma nova aplicação normalmente envolve a adição de tabelas, colunas e dados. A solução para este problema é utilizar o encapsulamento de dados, o que é possível, com vistas e procedimentos armazenados. Sincronização de banco de dados reduz a complexidade de um mínimo absoluto. A razão para usar a sincronização de dados é para iniciar o processo de separar dois aplicativos, sem perder a integridade dos dados. Enquanto os stands nova arquitetura, o wp_authors wp_users e tabelas são somente as dependências do banco de dados original. Assim, quando uma sincronização de dados é definida, apenas o wp_authors wp_users e tabelas são sincronizadas. Qualquer outra tabela usada pelo blog de arquitetura original não é sincronizado e, portanto, não afeta a arquitetura da nova aplicação. O desenvolvedor pode ir em frente e criar seu projeto próprio banco de dados sem ter que se preocupar com design corromper o banco de dados antigo. Escusado será dizer que a concepção antiga base de dados não seja modificado, mas este projeto não impede a criação de procedimentos armazenados que poderiam danificar os dados no projeto de banco de dados original. Para evitar ou pelo menos minimizar o potencial de corrupção de dados, é absolutamente vital que o banco de dados de restrições de projeto uso e validações. A maioria dos bancos de dados SQL permitem a definição de restrições. Stepping para trás e olhar para esta arquitetura, você deve notar que ela depende da recursos do banco de dados relacional. Não poderia haver situações em que um desenvolvedor não está usando um banco de dados relacional. Para essas situações, não tenho nenhuma solução, como na maioria das vezes eu tenho que lidar com bancos de dados relacionais, e estou tentado a acreditar a maioria dos leitores têm o mesmo problema. Baseando-se na capacidade do banco de dados relacional requer que você entenda o banco de dados. Com a introdução do mapeamento objeto-relacional (ORM) ferramentas, a necessidade de conhecer o SQL é reduzido. Por exemplo, utilizando ferramentas de ORM como o Hibernate não exigem conhecimento de opiniões ou procedimentos armazenados. Ferramentas ORM criar "views", sob a forma de hierarquias de objeto. Usando uma ferramenta ORM lhe permite aplicar a mesma arquitetura, porém, isso significa que você provavelmente não será através de procedimentos armazenados e exibições. A verdadeira diferença entre usar um ORM e banco de dados relacional procedimento armazenado e solução de vista é o deslocamento da ligação entre o código ea persistência dos dados. Pelo contrário, a camada de banco de dados relacional usa exibições e procedimentos armazenados para interagir com os dados. O programador precisa saber sobre as colunas e os tipos de banco de dados relacional e tem de fornecer um mapeamento entre a sua linguagem de programação e linguagem de programação SQL. Utilizando linguagens de programação como Java clássica C # e envolve um pouco de trabalho de campo em termos de preparação de comandos e recuperação de dados. Usando uma linguagem de programação como Ruby, Python ou PHP, interagindo com um banco de dados relacional é trivial desde dessas línguas não tem que declarar os tipos de dados. Usando um ORM, o codificador lava suas mãos do problema e coloca o centrar-se sobre a camada de ORM. Para os programadores Java e C #, um ORM elimina o trabalho penoso de interagir com um banco de dados, com o único custo a ser falta dos programadores de controle das operações e manipulações do banco de dados, embora na maioria dos casos que a falta de controle é aceitável quando comparados com o labuta de escrever o código de banco de dados relacional. A pergunta é: qual a arquitetura deve usar? Pessoalmente, eu uso o que é mais fácil na linguagem de programação estou em desenvolvimento na época. Então, quando eu estou escrevendo código em Java e C #, que tendem a usar ORMs, e quando estou a escrever código em Python, eu acessar o banco de dados relacional diretamente. Você precisa se certificar de que a camada ORM não dita o projeto do banco de dados, sob quaisquer circunstâncias. O design de banco de dados é determinada pelo banco de dados e os dados sejam persistentes, assim que significa que você precisa entender tabela, exibição de restrição, e design gatilho. Isso pode se tornar complicado se o ORM, dita o projeto de banco de dados, e poderia resultar em um banco de dados, bem como ineficiente. Lembre-se que em qualquer aplicativo, a parte mais lenta será a base de dados. O banco de dados tem de poros através de milhões de registros, gerenciar as transações e enviar os dados através de uma rede. Se você criar um aplicativo para ser eficiente em detrimento do projeto de banco de dados, então não há nenhuma maneira você pode magicamente acelerar o desempenho do banco de dados. um artigo submetido por Sonja Lande Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre. Importante: Este artigo "Aplicação de uma Arquitetura SOA" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.
|
|||||
| Online: 366 users browsing the articles directory |
|
|