Notas de projeto de arquitetura do sistema (80) - .net

Com base em um conjunto de protocolos abertos da Internet, a estratégia do Microsoft .NET lançou uma série de produtos, tecnologias e serviços, dando o sinal de alerta para mudanças na tecnologia da Internet. Com relação ao .NET, o CEO da Microsoft Ballmer o descreveu da seguinte maneira: “O Microsoft .NET representa uma coleção, um ambiente e uma estrutura programável que pode ser usada como uma plataforma para suportar a próxima geração da Internet.” Esta frase resume o .NET. Características externas.

1 plataforma .NET

.NET é um ambiente primeiro. Este é um futuro ambiente de Internet idealizado. A visão da Microsoft é "não mais prestar atenção a um ambiente de rede onde um único site e um único dispositivo estão conectados à Internet, mas permitir que todos os grupos de computadores, equipamentos relacionados e provedores de serviços trabalhem juntos" Ambiente de computação. Em suma, os serviços prestados pela Internet devem ser capazes de completar um grau superior de automação.

No futuro, a Internet deve ser apresentada aos usuários finais na forma de um serviço geral.Os usuários precisam apenas saber o que desejam, em vez de pesquisar e operar a Internet passo a passo para atingir seus objetivos. Para construir esse ambiente de Internet, o primeiro problema a ser resolvido é projetar e criar uma nova geração de estrutura de Internet baseada nos defeitos da Internet existente. Essa estrutura não é uma estrutura topológica no nível da rede física, mas uma estrutura de software de Internet programável orientada para o nível de software e aplicativo, que é diferente do navegador que só pode ser navegado estaticamente. Portanto, o .NET se posiciona como uma estrutura programável que pode ser usada como uma plataforma para suportar a próxima geração da Internet.

O objetivo final do .NET é permitir que os usuários acessem as informações, arquivos e programas de que precisam em qualquer lugar, a qualquer hora e usando qualquer dispositivo. O usuário não precisa saber onde essas coisas existem, ou mesmo os detalhes específicos, como como obtê-los. Eles só precisam fazer uma solicitação e, então, apenas se responsabilizar por recebê-la, e toda a complexidade do background é completamente blindada. Portanto, para o pessoal de TI da empresa, a carga de trabalho será bastante reduzida e eles não precisam gerenciar plataformas complexas e entender como o trabalho é coordenado entre vários aplicativos distribuídos. .NET inclui 4 recursos importantes: um é o software para se tornar um serviço, o outro é uma linguagem comum baseada em XML, o terceiro é a integração de vários dispositivos e plataformas, e o quarto é uma nova geração de interface homem-máquina. Essas 4 características cobrem basicamente as características técnicas do .NET.

(1) Serviço de mudança de software

Ao falar sobre serviços de software, Ballmer disse: "Os produtos de software de hoje são apenas um disco compacto. Os usuários compram software, instalam, gerenciam e mantêm-se. Mas os serviços de software são serviços da Internet, que instalam, atualizam e rastreiam para os usuários. Esses softwares permitem que eles e os usuários circulem entre diferentes máquinas. Ele armazena suas próprias informações e materiais de referência para os usuários. Esses são os diferentes estilos de software e serviços de software. ”Esta passagem resume o núcleo do software para serviço. Com a ascensão da indústria de ASP (fornecimento de serviços de aplicativos), o software está gradualmente se transformando de uma forma de produto para uma forma de serviço, que é a tendência geral da indústria de TI.

Em .NET, o aplicativo final do software aparece na forma de serviços da Web e é publicado na Internet. O serviço da Web é um componente empacotado que pode ser publicado na Web. .NET descreve e publica essas informações de serviço da Web por meio do protocolo WSDL, encontra serviços relacionados por meio do protocolo DISCO e executa objetos simples relacionados por meio do protocolo SOAP Passe e ligue. Conforme mostrado na Figura 1, a ferramenta de programação visual Orchestration na plataforma .NET é usada para gerar código XLANG baseado em XML. Ele e o servidor Biz Talk, .NET framework e Visual Studio .NET têm sido partes importantes da estratégia do Windows D2000.

A estratégia .NET da Microsoft significa que a Microsoft e os desenvolvedores na plataforma Microsoft fabricarão serviços, não software. Nos próximos anos, a Microsoft lançará sucessivamente plataformas e ferramentas relacionadas ao .NET e desenvolverá serviços da Web na Internet. Naquela época, usuários, desenvolvedores e equipes de TI que trabalhavam em .NET pararam de comprar, instalar e manter software. Em vez disso, eles irão personalizar o serviço, o software será instalado automaticamente e todas as manutenções e atualizações serão feitas pela Internet.

(2) Uma linguagem comum baseada em XML.

XML é uma linguagem de marcação desenvolvida a partir da linguagem SGML. Como uma metalinguagem, ele pode definir linguagens de troca de dados para diferentes tipos de aplicativos. Na arquitetura .NET, o XML é usado como um meio de conexão direta entre aplicativos, usado para coleta de dados e fusão entre vários aplicativos e para interoperabilidade e trabalho colaborativo entre diferentes aplicativos. Especificamente, o .NET define o protocolo de acesso a objetos simples (protocolo de acesso a objetos simples, SOAP), a linguagem de descrição de serviços da Web (WSDL) e o protocolo de descoberta de serviços da Web por meio da linguagem XML. O protocolo SOAP fornece um mecanismo simples e leve para a troca de dados estruturados e digitados usando XML em um ambiente descentralizado. O protocolo WSDL define a estrutura do documento de descrição do serviço, como tipo, mensagem, tipo de porta, porta e o próprio serviço. O Web Service Discovery Protocol define como extrair documentos de descrição de serviço e algoritmos de descoberta de serviço relacionados de recursos ou coleções de recursos.

(3) Integração de vários dispositivos e plataformas

À medida que a Internet se tornou gradualmente um centro de informações e dados, vários dispositivos e serviços foram ou estão sendo conectados e integrados na Internet e estão tentando se tornar parte dela. .NET procura se integrar com vários dispositivos e plataformas de acesso à Internet, principalmente com foco em dispositivos sem fio e dispositivos de rede doméstica e software e plataformas relacionados.

(4) Uma nova geração de interface homem-máquina

A nova geração de interface homem-máquina é principalmente incorporada nos dois aspectos de "inteligência e interação". .NET inclui métodos de entrada e expressão por meio de vários modos de fala natural, visão, caligrafia, etc.; Arquitetura de informação composta editável baseada em XML - tela geral; serviços de agência de informação personalizados; permitindo que as máquinas automatizem melhor o processamento Etiquetas inteligentes e outras tecnologias.

A plataforma e a estrutura .NET são baseadas em outra atualização e evolução da base da indústria de software da Microsoft. No entanto, o .NET ainda precisa fazer o melhor para garantir que o sistema Windows e a série de produtos possam ser integrados ao .NET e tentar fazer com que o .NET continue a se tornar o centro da Internet com base nos ativos de software originais da Microsoft.

2 .NET Framework

A estrutura de desenvolvimento Microsoft .NET é mostrada na Figura 2. O tempo de execução de linguagem universal e um conjunto de bibliotecas de classes básicas que ele fornece são a base de toda a estrutura de desenvolvimento; em termos de tecnologia de desenvolvimento, .NET fornece uma nova tecnologia de acesso a banco de dados ADO.NET, bem como a tecnologia de desenvolvimento de aplicativos de rede ASP.NET e programação do Windows Tecnologia Win Forms; Em termos de linguagem de desenvolvimento, .NET fornece suporte a VB, VC ++, C # e outras linguagens; enquanto o Visual Studio .NET é uma ferramenta de desenvolvimento que oferece suporte total a .NET.

2.1 Tempo de execução de linguagem universal

Microsoft.NET traz uma nova estrutura de desenvolvimento para desenvolvedores, e Common Language Runtime (C ommon Language Runtime, C LR) está na base desta estrutura e é a base desta estrutura. Os leitores já podem entender os conceitos dos chamados tempo de execução C, tempo de execução VB e máquina virtual Java, enquanto o tempo de execução de linguagem comum fornece um ambiente de tempo de execução unificado para várias linguagens.

Além disso, ele também fornece mais funções e recursos, por exemplo, um modelo de programação unificado e simplificado, os usuários não precisam se confundir com Win32API e C OM; ele evita a versão DLL e problemas de atualização, o que simplifica muito o lançamento e atualização do aplicativo ; Interação entre várias linguagens, por exemplo, classes escritas em C ++ podem até ser usadas em VB; memória automática e gerenciamento de recursos, etc.

O Microsoft.NET é baseado no common language runtime, que realiza as funções com as quais esses desenvolvedores sonham. O código desenvolvido com base no tempo de execução da linguagem universal é chamado de código controlado. Suas etapas de execução são aproximadamente as seguintes: primeiro use uma linguagem de programação suportada pelo tempo de execução da linguagem universal para escrever o código-fonte e, em seguida, use o compilador para o tempo de execução da linguagem universal para gerar A Microsoft Intermediate Language (MIL) da máquina e, ao mesmo tempo, gera os metadados necessários para a operação e, a seguir, usa o Just In Time Compiler (JITC) para gerar o código de máquina correspondente para execução enquanto o código está em execução.

2.2 Biblioteca de classe básica

Obviamente, para os desenvolvedores, além dos novos recursos fornecidos pelo common language runtime, eles também se preocupam com a interface de programação que ele fornece aos desenvolvedores.Esta é a Base Class Library. Este conjunto de bibliotecas de classes básicas inclui tudo, desde entrada e saída até acesso a dados, e fornece uma interface de programação extensível, hierárquica e orientada a objetos unificada. Ele usa um método separado por pontos que torna muito fácil encontrar e usar bibliotecas de classes. Por exemplo, a raiz da biblioteca de classes básicas, seu namespace é System e o namespace da biblioteca de classes que fornece acesso a dados é System.Data. Ao usá-lo, os desenvolvedores precisam apenas adicionar uma referência à biblioteca de classes básica exigida em seus próprios aplicativos e, então, podem usar todos os métodos, propriedades, etc. nesta biblioteca de classes. Em comparação com a programação tradicional do Windows, é muito fácil de usar e estender a biblioteca de classes básicas, que permite aos desenvolvedores criar aplicativos de rede de maneira rápida e eficiente com base na próxima geração da Internet.

2.3 ADO.NET

Quase todos os aplicativos precisam acessar vários tipos de dados, desde arquivos de texto simples até grandes bancos de dados relacionais. A tecnologia para acessar o banco de dados no Microsoft.NET é ADO.NET.

ADO.NET fornece um conjunto de bibliotecas de classes para conectar ao banco de dados, executar comandos e retornar conjuntos de registros. Comparado com o ADO (Objeto Xata Ativo) anterior, os objetos de Conexão e Comando são muito semelhantes, e a inovação do ADO.NET é principalmente refletida Nos seguintes aspectos:

Em primeiro lugar, o ADO.NET fornece suporte poderoso para XML, que também é um dos principais objetivos de design do ADO.NET. No ADO.NET, você pode criar e usar dados XML facilmente por meio de XML Reader, XML Writer, XML Navigator, XML Document, etc., e oferece suporte a XSLT, DTD, XDR e outros padrões do W3C. O suporte do ADO.NET para XML também fornece uma base para que o XML se torne um formato unificado para troca de dados no Microsoft.NET.

Em segundo lugar, o ADO.NET introduziu o conceito de Conjunto de Dados, que é um buffer de dados que reside na memória e fornece uma visão relacional dos dados. Independentemente de os dados virem de um banco de dados relacional ou de um documento XML, as pessoas podem usar um modelo de programação unificado para criá-lo e usá-lo. Ele substitui o objeto Recordset original, melhora a interatividade e escalabilidade do programa e é especialmente adequado para aplicativos distribuídos.

Além disso, alguns novos objetos foram introduzidos no ADO.NET. Por exemplo, o Data Reader pode ser usado para ler dados com eficiência e gerar um conjunto de registros somente leitura.

Resumindo, o ADO.NET torna a manipulação de dados no Microsoft.NET muito conveniente e eficiente por meio de uma série de novos objetos e modelos de programação, e intimamente integrada com XML.

2.4 ASP.NET

ASP.NET é a estrutura de programação de rede do Microsoft.NET, o que torna muito conveniente e eficiente construir, executar e publicar aplicativos de rede. Você pode aprender sobre ASP.NET com os seguintes aspectos:

(1) Formulário da Web.

O propósito de design dos formulários ASP.NET WEB é permitir que os desenvolvedores criem formulários da Web com muita facilidade. Ele introduz o modelo de desenvolvimento rápido em VB no desenvolvimento de rede, o que simplifica muito o desenvolvimento de aplicativos de rede. Especificamente: ASP.NET pode suportar várias linguagens, não apenas linguagens de script, todas as linguagens suportadas pelo tempo de execução de linguagem universal podem ser usadas em ASP.NET; o código e o conteúdo são separados, no ASP (Active Server) atual Páginas) Durante o desenvolvimento, o conteúdo e os scripts são intercalados, e a manutenção e as atualizações são difíceis. Separá-los pode permitir que desenvolvedores e designers trabalhem melhor juntos e melhorem a eficiência do desenvolvimento. Além disso, ao introduzir controles do lado do servidor no ASP.NET, O desenvolvimento rápido semelhante ao VB é aplicado ao desenvolvimento da web, o que melhora muito a eficiência da construção de formulários da web, e os controles do lado do servidor são extensíveis, e os desenvolvedores podem construir os controles do lado do servidor de que precisam.

(2) Serviço da Web ASP.NET.

O serviço da Web é o núcleo da rede programável de próxima geração. Na verdade, é um recurso de rede inominável que pode ser usado para expressar e usar objetos convenientemente na Internet, assim como usar os objetos COM de hoje. A diferença é o uso e a representação da rede. Os serviços são implementados por meio de SOAP ou mesmo HTTP. No ASP.NET, é muito conveniente construir e usar serviços de rede. Construir um serviço da web em ASP.NET é escrever um arquivo com o sufixo .ASMX. Adicione o método que deseja mostrar neste arquivo. O construtor do serviço da web não precisa entender os detalhes de SOAP e XML, mas só precisa se concentrar em Focar em seu próprio serviço fornece uma boa oportunidade para desenvolvedores de serviços de software independentes; a maneira mais fácil de usar serviços de rede é usar o protocolo HTTP (HTTP GET ou HTTP POST), e os usuários só precisam acessar diretamente o serviço de rede (. Arquivo ASMX) URL; é claro, os usuários também podem usar o serviço da Web em seus próprios aplicativos de forma mais flexível por meio do SOAP.

(3) Estrutura do aplicativo ASP.NET.

Os aplicativos ASP.NET não são mais scripts interpretados, mas compilados e executados, juntamente com a tecnologia de buffer flexível, seu desempenho foi fundamentalmente melhorado; como a estrutura do aplicativo ASP.NET é baseada no common language runtime, ele publica uma rede O aplicativo é apenas um processo de cópia de arquivos, mesmo que seja o lançamento de componentes. Para atualizar e excluir aplicativos da Web, você pode substituir / excluir arquivos diretamente; os desenvolvedores podem armazenar informações de configuração do aplicativo em arquivos no formato XML. Os desenvolvedores podem gerenciar programas de aplicativos separadamente; fornecer mais tipos de métodos de autenticação e gerenciamento de segurança; melhorar muito a confiabilidade e outros aspectos.

2.5 WinForms

Aplicações tradicionais baseadas em Windows (Win Forms), ainda é uma parte indispensável da estratégia Microsoft .NET. Ao desenvolver aplicativos tradicionais baseados em Windows no Microsoft .NET, além de usar tecnologias existentes, como controles Active X e interfaces ricas do Windows, você também pode desenvolver com base em tempo de execução de linguagem comum e pode usar ADO.NET e serviços de rede. E assim por diante, ele também pode realizar os novos recursos do .NET, como evitar o inferno de DLL e suporte a vários idiomas.

2.6 Linguagem de desenvolvimento

A partir da introdução acima, já sabemos que o framework de desenvolvimento Microsoft .NET suporta múltiplas linguagens.Na versão beta atual, suporta quatro linguagens: VB, C ++, C # e Jscript e a profunda interação entre elas. Além disso, a Microsoft oferece suporte à produção de terceiros de compiladores e ferramentas de desenvolvimento para Microsoft .NET, o que significa que quase todas as linguagens de programação do mercado podem ser aplicadas à estrutura de desenvolvimento Microsoft .NET. Desta forma, os desenvolvedores podem escolher seu idioma favorito à vontade.Este recurso aberto e interativo é exatamente o que os desenvolvedores amam.

Deve-se ressaltar que a Microsoft introduziu uma nova linguagem C # no Microsoft .NET, que permite aos desenvolvedores construir rapidamente diferentes aplicativos, desde o nível de sistema de baixo nível até os componentes de negócios de alto nível. Ao mesmo tempo em que garante funções poderosas e flexibilidade, C # traz um desenvolvimento rápido semelhante ao VB para C e C ++, e também é especialmente projetado para .NET. Por exemplo, C # permite o mapeamento direto de dados XML Para seus tipos de dados, etc., a combinação desses recursos torna C # uma excelente linguagem de programação de rede de última geração. Ao mesmo tempo, o Microsoft .NET fez grandes melhorias no VB e C ++ original, tornando-os mais adequados para as necessidades da estrutura de desenvolvimento do Microsoft .NET. Por exemplo, no Visual Basic .NET, recursos orientados a objetos, como herança, tratamento estruturado de erros, etc., foram adicionados; a extensão C ++ gerenciável melhora muito a eficiência do uso de C ++ para desenvolver aplicativos Microsoft .NET.

O Visual Studio .NET está intimamente integrado à estrutura de desenvolvimento .NET e é uma excelente ferramenta para construir aplicativos de Internet. O Visual Studio .NET melhora muito a eficiência dos desenvolvedores, fornecendo um ambiente de desenvolvimento integrado e unificado e ferramentas; integra suporte a vários idiomas; simplifica o desenvolvimento do lado do servidor; fornece métodos para criar e usar serviços de rede com eficiência.

Um dos principais objetivos do .NET framework é facilitar o desenvolvimento de COM. A parte mais difícil no processo de desenvolvimento COM é a estrutura básica do COM. Portanto, a fim de simplificar o desenvolvimento de COM, o .NET framework lida automaticamente com todas as tarefas que estão intimamente relacionadas ao COM aos olhos dos desenvolvedores, incluindo cálculo de referência, descrição de interface e registro. Deve-se perceber que isso não significa que os componentes do .NET framework não sejam componentes COM. Na verdade, os desenvolvedores de COM que usam o Visual Studio 6.0 podem chamar componentes do .NET framework e, em sua opinião, os últimos são mais como componentes COM com dados iUnknown. Em contraste, os desenvolvedores do .NET framework que usam o Visual Studio .NET consideram os componentes COM como componentes do .NET framework.

Para evitar mal-entendidos, essa relação precisa ser explicada especificamente aqui: Os desenvolvedores de COM devem fazer manualmente a maioria das coisas que os desenvolvedores do .NET framework podem realizar automaticamente no tempo de execução. Por exemplo, o módulo de segurança do componente COM deve ser escrito à mão e a memória ocupada pelo módulo não pode ser gerenciada automaticamente.Ao instalar o componente COM, a entrada de registro deve ser colocada no registro do Windows. Para a estrutura .NET, essas funções são automatizadas em tempo de execução. Por exemplo, o componente em si é autoexplicativo, portanto, pode ser instalado sem ser registrado no registro do Windows.

Quando o COM é combinado com o Microsoft Transaction Server (MTS) e o COM Distribuído (D COM), ele se torna COM +. COM + fornece um conjunto de serviços para a camada intermediária. Em particular, COM + fornece funções de gerenciamento de processo e funções de processamento de pool de conexão de objeto e banco de dados. Em versões futuras, ele também fornecerá um recurso chamado particionamento - um recurso de isolamento de processo mais poderoso, projetado especificamente para provedores de serviços de aplicativos. Os serviços COM + são principalmente para o desenvolvimento de aplicativos de camada intermediária e fornecem confiabilidade e escalabilidade para aplicativos distribuídos em grande escala. Esses serviços são um complemento dos serviços fornecidos pela estrutura .NET; esses serviços podem ser acessados ​​diretamente por meio das classes da estrutura .NET.

2.7 Outros recursos

Existem vários elementos da estrutura .NET que valem a pena mencionar. O primeiro é seu sistema de segurança e sistema de configuração. Os dois sistemas trabalham juntos para reduzir efetivamente a possibilidade de execução de código inseguro e reduzir significativamente os desafios enfrentados pelo "inferno das DLLs" ao configurar aplicativos.

O sistema de segurança é um sistema altamente detalhado e baseado em fatos que fornece aos desenvolvedores e administradores várias permissões de processamento de código (não apenas "ligado" ou "desligado"). No futuro, decidiremos como implementar as permissões acima com base nos elementos principais do próprio código. Por exemplo, quando um aplicativo .NET framework é baixado para um determinado sistema, ele se aplica a um conjunto de permissões (como permissões de gravação em um diretório temporário). O tempo de execução coletará informações factuais sobre o aplicativo (como: de onde foi baixado, se usa uma assinatura válida e até mesmo a precisão de seu acesso ao sistema) e decidirá se permite que o aplicativo seja executado de acordo com a política de gerenciamento. O tempo de execução pode até informar ao aplicativo que ele não pode autorizar todas as permissões solicitadas e permitir que o aplicativo decida se deseja continuar em execução. Com este tipo de sistema de segurança como garantia, muitos problemas de configuração de aplicativos serão resolvidos.

Um dos maiores desafios enfrentados por desenvolvedores e administradores (e, em última instância, usuários) é o gerenciamento de versões. Se tudo ficar paralisado após a instalação de um novo aplicativo e o sistema estiver funcionando muito bem antes disso, o motivo mais provável é que o aplicativo recém-instalado reescreveu algumas bibliotecas compartilhadas e provavelmente foi corrigido. O programa que está sendo usado pelo aplicativo existente está errado. Essa situação ocorre com tanta frequência que as pessoas a chamam de "inferno DLL". Vários recursos avançados do .NET framework podem eliminar completamente o fenômeno do "inferno DLL". Em primeiro lugar, possui um sistema de nomenclatura interno muito poderoso, que pode efetivamente evitar que duas bibliotecas sejam confundidas uma com a outra devido ao mesmo nome.

Além disso, ele também fornece um novo recurso chamado configuração "paralela". Se o aplicativo recém-instalado no exemplo anterior substituir a biblioteca compartilhada, o aplicativo existente pode reparar a biblioteca. Quando o aplicativo existente for iniciado novamente, ele verificará todos os arquivos compartilhados. Se descobrir que o arquivo foi alterado e as alterações são incompatíveis, ele pode solicitar que o tempo de execução extraia uma versão que possa usar. Graças ao poderoso sistema de segurança, a operação pode ser realizada com segurança em tempo de execução, para que o aplicativo conclua seu próprio trabalho de reparo.

Resumindo, com base no common language runtime, a estrutura de desenvolvimento do Microsoft.NET fornece aos desenvolvedores uma biblioteca de classes básicas completa, a próxima geração de tecnologia de acesso a banco de dados ADO.NET e tecnologia de desenvolvimento de rede ASP.NET. Os desenvolvedores podem usar uma variedade de Linguagem e Visual Studio.NET para construir rapidamente a próxima geração de aplicativos de rede. Com a popularização de tecnologias e padrões relevantes da Internet, pode-se prever que mais e mais desenvolvedores adotarão essa estrutura de desenvolvimento e desenvolverão aplicativos ricos e diversificados para a próxima geração da Internet.


Acho que você gosta

Origin blog.csdn.net/deniro_li/article/details/108807959
Recomendado
Clasificación