Considerando Estratégias de Design para Web Services

Você deve considerar várias estratégias para entender melhor como você vai projetar seus serviços Web. Como é que vai organizar seu código em projetos, classes, métodos, propriedades e eventos? Depois de ter determinado exatamente quais são suas necessidades e quais os cenários a sua aplicação terá de lidar, você pode começar a projetar sua aplicação. Você deve construir seus projetos de serviços da Web em um ou mais objetos que lidam com a funcionalidade.

Garantindo o máximo desempenho

Tal como acontece com qualquer projeto de software, você deve levar em conta certas considerações de design. O desempenho é um dos maiores problemas. E tantas áreas afetar o desempenho. Algumas das considerações de desempenho são baseados em hardware, mas algumas considerações sobre o desempenho - tais como a memória - também são baseados em software.

Com a memória, mais é sempre melhor. No entanto, o quanto é suficiente? É melhor seguir as recomendações com base nos requisitos do fabricante do software para cada peça de software carregado no computador. Em seguida, decidir sobre uma magnitude maior do que isso.

O método mais fácil para avaliar a quantidade de memória necessária é determinar a quantidade máxima de memória necessário se cada aplicação estava em uso ao mesmo tempo. Você também precisa considerar o número de usuários que você espera a qualquer momento.

Seguem-se alguns componentes a considerar:

  • Requisitos de sistema operacional (SO): Ou seja, a quantidade de memória que o servidor precisa ter a fim de permitir aos usuários executar com segurança o sistema operacional atual e outro software instalado. Por exemplo, digamos que você tem dois serviços da Web que serão hospedados em um Windows 2000 Server. Windows 2000 Server requer 128 MB de memória.
  • .requisitos NET Framework: Por exemplo, digamos que o quadro ocupa 128MB de memória no servidor. Juntos, o sistema operacional e estrutura ocupam um total de 256MB de memória no seu servidor, e isso é, mesmo sem considerar os objetos Web Services que você vai ser em desenvolvimento.
  • usuários: Ou seja, o número de usuários que podem estar usando um serviço Web em um determinado momento. Suponha que você espera 100 usuários precisar usar cada um dos dois objetos de serviços Web a qualquer momento.
  • requisitos de serviço Web: Isto é muito difícil estimar com qualquer grau de precisão, mas, no mínimo, adicionar-se todo o espaço que cada um dos tipos de dados irá ocupar.
  • Sobrecarga associada ao serviço da Web: Ou seja, a quantidade de memória que o servidor deve ter mais e acima de suas estimativas iniciais. Se você estimar a sobrecarga de outro 50K ou menos para cada serviço Web, a memória começa a juntar-se e composto.

Lidar com questões de segurança

A segurança é um dos maiores tópicos de computação hoje. O facto de os serviços da Web são normalmente transmitidos através de HTTP, a preocupação com a segurança é grande. Na verdade, a qualquer hora que você transmitir dados através da Internet, a segurança se torna uma preocupação. Se quaisquer dados pessoais - tais como nomes de usuário, senhas, endereços, informações de cartão de crédito e assim por diante - tem de ser transmitida através da Internet, ele deve ser criptografado. Se ele não for criptografado, qualquer pessoa com ferramentas de hacking será capaz de ler os dados que estão sendo transmitidos através do fio. O mesmo é verdade em uma intranet corporativa ou extranet. Portanto, a criptografia se torna uma necessidade.

Criptografia é facilmente manipulado pelo Internet Information Services (IIS), que utiliza Secure Sockets Layer, ou SSL. A única coisa que você deve fazer para usar SSL é instalar um certificado SSL que você obter de um terceiro confiável. Depois que o certificado SSL é instalado, os clientes podem acessar seus sites ou serviços da Web usando o protocolo HTTPS, em vez de HTTP. (O S apoia secure.) Este certificado SSL é conhecido como um certificado do servidor.

Só porque você usa SSL para criptografar seus dados não significa que todos devem ter acesso ao seu serviço Web. O acesso é controlado por um sistema de autenticação. Você pode controlar quem tem acesso, permitindo que o Active Directory para autenticar.

Você também precisa saber como seus Web Services deve lidar com segurança. Para saber isso, considere estas perguntas:

  • qualquer pessoa ou sistema pode acessar os serviços da Web?
  • Se o acesso deve ser restrito, como você vai limitá-lo?
  • Se você usar o Active Directory para autenticar usuários?
  • Se você usar Passport para autenticar os usuários?
  • Se você limitar os serviços Web baseados em olhando para cima usuários válidos em um banco de dados?

As respostas a estas perguntas ditam o quão complexo seus serviços Web tornam-se. Certamente, a melhor coisa a fazer é permitir a todos o acesso aos seus serviços Web, mas isso nem sempre é prático. Por exemplo, se você cobrar por seu uso de serviços da Web por meio de um provedor de serviços de Internet (ISP)?

Se você estiver indo para usar o Active Directory, você precisa decidir como você deseja administrar a adição de usuários e computadores. Por exemplo, você deve considerar automatizar esta tarefa, dependendo se você pretende ser inscrever novos clientes / utilizadores com muita frequência. Se você estiver indo para usar as pesquisas de banco de dados, você precisa para ter em conta essa funcionalidade em seus planos de projeto e para determinar os detalhes de como isso pode funcionar.

Por outro lado, se você tiver o Microsoft Passport fazer a autenticação, você garante que um usuário é autenticado, mas você não tem para armazenar as informações do usuário em seu local. Lembre-se que você precisa de olhar para as questões de segurança de todos os ângulos possíveis.

Garantir a interoperabilidade

interoperabilidade é o conceito de que sistemas de computadores diferentes precisam ser capazes de conversar uns com os outros. Por exemplo, se um banco de dados Oracle precisa trabalhar com um banco de dados SQL Server, você tem que descobrir como fazer isso acontecer. Da mesma forma, se você sabe que o seu sistema ERP (Enterprise Resource Planning) tem que falar com um sistema de CRM (Customer Relationship Management), é melhor você começar rachando.

Muitos dos problemas de interoperabilidade que surgem de sistemas diferentes que falam entre eles podem ser tratadas com um produto Microsoft chamado BizTalk. BizTalk permite o mapeamento de sistemas distintos, permitindo que vários protocolos e formatos. Internamente, BizTalk usa XML para armazenar mapeamentos entre esses sistemas distintos.

Interoperabilidade também tem um impacto sobre a forma como diferentes tecnologias têm de trabalhar uns com os outros. Por exemplo, faz uma necessidade componente .NET para chamar componentes COM? As duas tecnologias são um tanto similar em conceito, mas não em tecnologia. No entanto, é muito possível para embrulhar componentes COM com interfaces .NET. Isto é chamado COM-Interop.

Decidir o que os usuários podem acessar

Você deve determinar o quanto de seu modelo de objeto que você deseja tornar disponíveis através da Internet, que é um conceito conhecido como expondo. É importante que você lembre-se os conceitos de um componente, ou objeto, que faz com que o seu modelo de objeto. Você deseja expor uma visão única abstraída do que é necessário para começar o trabalho feito e resolver seus casos de uso.

Por exemplo, se você tiver um aplicativo financeiro que decide se uma hipoteca deve ser concedida com base em específico criteria- você não expor todos os detalhes de implementação interna. Esse é o seu "molho secreto". A menos que você compartilha, melhor. Expor apenas o número mínimo de objetos, juntamente com o número mínimo de membros (propriedades, métodos e eventos) necessárias para começar o trabalho feito.

menu