Conhecendo-nos
Mary Kirtland
Microsoft Corporation
3 de janeiro de 2001
Bem-vindo ao At Your Service, uma nova coluna dedicada aos Serviços Web.
Os Serviços Web fornecem informações e serviços para aplicativos por meio de interfaces programáticas bem definidas criadas em protocolos padrão da Internet. Eles são uma parte fundamental do Microsoft .NET. Naturalmente, nós da MSDN pensamos que deveríamos entender como construí-los. Não apenas como pressionar os botões no Visual Studio, mas como criar Serviços Web escalonáveis, altamente disponíveis, seguros e confiáveis.
Nossa equipe ganhou uma experiência valiosa ao criar aplicativos Web, como o Duwamish Online. O que há de diferente na criação de Serviços Web? Quais problemas você executa quando outros desenvolvedores desejam usar seus Serviços Web em seus aplicativos: aplicativos hospedados em diferentes sistemas operacionais, escritos em diferentes idiomas e usando diferentes implementações de especificações principais, como SOAP?
Descobrimos que a única maneira de descobrir é criar alguns serviços nós mesmos. Portanto, nos próximos meses, a equipe de diretrizes dos Serviços Web criará, implantará e operará alguns serviços Web de exemplo. Nosso objetivo: ilustrar os problemas que você precisa considerar ao projetar, implementar, implantar e operar seus próprios Serviços Web. (Vamos examinar o consumo de Serviços Web também!) Esperamos lançar um Serviço Web a cada três meses.
Três meses é muito tempo para fazer você esperar por novas informações. Portanto, na grande tradição do Diário Duwamish, usaremos esta coluna para seguir cada projeto de exemplo desde a concepção até o design, implementação e implantação. Pelo menos uma vez a cada duas semanas, postaremos uma entrada de diário para que você possa acompanhar conosco. Ao concluir cada projeto, postaremos nossas especificações, fontes e outros artefatos de projeto aqui no MSDN. E você sempre poderá acessar todas essas informações do nosso novo Centro de Desenvolvedores de Serviços Web.
Conheça a equipe
Atualmente, a equipe de diretrizes dos Serviços Web consiste em seis pessoas:
- Eu, Mary Kirtland, sou a cozinheira-chefe e gargalo, quero dizer, arquiteta e gerente de programas, para a equipe. Faço quase tudo, menos código, teste ou opero nossos serviços de exemplo. Alguns de vocês podem me conhecer desde os meus dias como gerente de programas com a equipe OLE/COM/DCOM/MTS/COM+/whatever-you-want-to-call-it. Então eu desapareci no cone de silêncio em torno do .NET. Cerca de um ano atrás, descobri que gosto de escrever sobre como usar tecnologias para criar aplicativos muito mais do que gosto de construir as tecnologias em si. Então, em abril, mudei para o MSDN para trabalhar no que se tornou a equipe de diretrizes dos Serviços Web. Grande parte do meu tempo é dedicada à gravação desta coluna e conteúdo para a página de recursos dos Serviços Web. O restante é gasto tentando manter as especificações do projeto atualizadas e mantendo o controle de novas tecnologias que queremos cobrir na estrada.
- Matt Powell e Scott Seely compõem nossa equipe de desenvolvimento. Matt se juntou à equipe em outubro do Suporte ao Desenvolvedor. Matt escreveu o ouvinte ISAPI no SOAP Toolkit para Visual Studio 6.0, coautoria executando o Microsoft Information Server 4.0 para Microsoft Press, e escreveu vários artigos para a MSDN Magazine e seus antecessores, MSJ e MIND.
Scott se juntou à Microsoft e à nossa equipe em dezembro, depois de passar os últimos cinco anos no mundo real criando aplicativos reais com produtos da Microsoft. Em seu tempo livre abundante, ele escreveu artigos para o Windows Developer's Journal , bem como um livro intitulado Programação do Windows Shell. Quando ele não está trabalhando no nosso serviço de exemplo, ele está trabalhando em um livro sobre SOAP.
Você pode esperar ver Matt e Scott escrevendo artigos sobre o lado do desenvolvimento das coisas nos últimos meses. - Nossa equipe de teste é composta por Jan McCollum e Jim Francisco. Jan se juntou a nós em outubro como nosso líder de teste e tem trabalhado duro para chegar a um plano de teste para nosso primeiro projeto. Jim se juntou a nós em dezembro e está trabalhando em testes de unidade e automação de teste. Jim trabalhou na equipe de teste de Rede do Windows 98 e na equipe de teste de build/lançamento do Microsoft Host Integration Server. Ele veio para nossa equipe depois de um período no mundo dot-com desenvolvendo ferramentas de implantação e administração para aplicativos Web de n camadas. Tentaremos fazer com que eles escrevam alguns artigos sobre como testar serviços Web quando estivermos um pouco mais distantes.
- Bronwyn Calsyn é nosso gerente de operações. Bronwyn começou em novembro e tem estado ocupado tentando descobrir quais equipamentos precisamos para implantar nossos serviços de exemplo ao vivo na Internet, juntamente com os procedimentos de operações que precisamos para manter as coisas funcionando sem problemas. Tentaremos fazê-la escrever alguns artigos sobre a implantação e o lado das operações também.
Apresentando o serviço Favoritos
Nosso primeiro projeto é o Serviço de Favoritos. Como usuários ávidas da Web, reconhecemos que um dos problemas que os usuários finais enfrentam é localizar páginas que eles visitaram anteriormente, especialmente em sites dinâmicos como o MSDN Online ou sites de notícias em que os artigos não podem ser acessados na primeira página por mais de alguns dias. Embora você possa usar os favoritos do navegador para acompanhar as páginas favoritas, os favoritos do navegador são locais para um computador específico. Mas e se você usar vários computadores ou dispositivos? Não seria bom se os favoritos pudessem ser armazenados em um servidor em algum lugar, facilmente acessados de qualquer computador que você estivesse usando?
Isso é exatamente o que o Serviço de Favoritos faz. Ele permite que sites armazenem links para as páginas da Web favoritas de um usuário final. Agora, você pode pensar que isso não soa como um serviço muito complicado. E do ponto de vista da lógica de negócios, não é. Isso significa que não teremos que gastar muito tempo explicando a lógica de negócios e você não terá muito código específico do aplicativo para percorrer para encontrar técnicas que você pode usar em seus próprios Serviços Web. Mas encontramos uma série de problemas interessantes com o serviço, problemas com os quais muitos outros desenvolvedores que falamos também estão sendo executados.
Nossas primeiras colunas se concentrarão nos problemas que encontramos durante a fase de design do projeto. Alguns dos tópicos que estamos considerando:
- Protegendo a privacidade do usuário. Algum aplicativo no mundo deve ser capaz de consultar ou editar os favoritos de cada usuário final, independentemente de qual aplicativo salvou os favoritos em primeiro lugar?
- Licenciamento. Se cada aplicativo não puder acessar todos os favoritos do usuário final, como controlar o acesso ao serviço? Devemos cobrar dinheiro pelo serviço? Quais modelos de negócios fazem sentido?
- Autenticação e autorização. Se vamos restringir o acesso ao serviço, como autenticar aplicativos cliente e decidir o que eles estão autorizados a fazer? Como identificar os usuários finais mesmo assim?
- Estimando os requisitos de desempenho. Como descobrir a que tipo de carga nosso serviço será submetido? Podemos usar os mesmos métodos que usaríamos para estimar a carga em um site da Web? Como determinar que tipo de tempos de resposta e disponibilidade nossos clientes exigirão?
- Requisitos de licença de desenvolvimento, teste e operações. Se estamos restringindo o acesso ao serviço, talvez cobrando dinheiro com base no uso, como os desenvolvedores e testadores de aplicativos cliente experimentam aplicativos que dependem do nosso serviço? Como eles podem evitar afetar os armazenamentos de dados de produção? Quais tipos de ferramentas as equipes de teste e operações de nossos clientes precisam para ajudar a solucionar se um problema está em seus aplicativos ou em nosso serviço? Que tipo de documentação devemos fornecer?
- Globalização. O que precisamos fazer para garantir que os aplicativos cliente em todo o mundo possam usar nosso Serviço Web?
- Capacidade de gerenciamento. Que tipo de informação nossa equipe de operações precisa para gerenciar nosso Serviço Web? Como coletar essas informações e apresentá-la às ferramentas de gerenciamento?
Se houver outros tópicos que você gostaria de ver abordados, envie um email para nós em wsgmsdn@microsoft.com. Observe que, neste momento, não podemos responder por meio dos comentários do usuário nesta página. No entanto, lemos os comentários regularmente. Se pudermos descobrir o que seus comentários têm a ver com nosso conteúdo, veremos o que podemos fazer para resolver seu problema em uma coluna futura.
Na próxima semana, examinaremos os problemas que encontramos ao definir a visão para o projeto do Serviço de Favoritos. Até lá!