Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«
intcontpiada : 118
Listagem de Bug's
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!
 





Por Dennes Torres
dennes@bufaloinfo.com.br
Dennes Torres possui as certificações MCAD, MCSD,MCSE, MCDBA e MCT. Atualmente atua Como diretor da Búfalo Informática, líder do grupo de usuários DevASPNet no Rio de Janeiro e membro da liderança dos grupos getWindows e devSQL, também do Rio de Janeiro, podendo sempre ser encontrado na lista de discussão do grupo DevASPNet (devaspnet-subscribe@yahoogrupos.com.br) bem como nas reuniões do grupo. Mantém dois blogs em http://cidadaocarioca.blogspot.com

WebServices, COM+ ou Remoting ?

Pesquisa personalizada
Pesquisar Dicas:






Estamos na era do desenvolvimento de software em camadas, todo o ambiente do .NET se volta para esta metodologia de desenvolvimento.

Mas afinal, com 3 possíveis opções, qual utilizar ?

Bem, como primeiro passo, vamos descartar uma das opções. WebServices NÃO são opção para desenvolvimento em camadas.

Calma! Não se assuste, explicarei !

WebServices são meio de comunicação, protocolo de comunicação e não componentes para montagem de camadas.

Quando se fala de WebServices muitas vezes quem está começando imagina apenas os projetos de ASP.NET WebServices. Mas os webServices podem ser construidos de outras formas.

- O COM+ 1.5 (Windows XP e Server 2003) possui recursos para gerar webServices a partir dos componentes hospedados no COM+. O webService, neste caso, funciona como uma casca de comunicação com a camada de negócio, os componentes.

- Podemos usar componentes da arquitetura .NET Remoting através de HTTP, na forma de webServices

Assim sendo os webServices devem ser usados como o que eles são : uma camada de comunicação com a camada de negócios da empresa e não a própria camada de negócios da empresa.

E por que essa restrição ?

Porque os webServices fazem sua comunicação através de HTTP e XML. Em comparação com DCOM ou .NET Remoting o HTTP e XML são mais volumosos e lentos, eles apenas são excelentes para comunicações em grandes redes como a internet, passando por firewalls, mas dentro de uma rede interna o DCOM ou o .NET Remoting são melhores opções.

Assim sendo os webServices são uma excelente opção, sim, para desenvolver acesso remoto a uma camada de negócios. Mas desenvolvendo localmente a utilização de COM+ ou .NET Remoting pode ser bem mais eficiente.

Então agora temos 2 opções, COM+ e .NET Remoting. Temos ? Talvez com essas 2 opções você já esteja desejando optar pelo remoting... mas não é bem assim....

Devido ao fato do COM+ ser uma tecnologia pré-.NET muitos vêem o COM+ como legado, como algo do passado. Não é bem assim...

O COM+ continua sendo, ainda hoje na era do desenvolvimento .NET, O SERVIDOR de componentes da Microsoft.

O .NET Remoting permite o disparo de componentes remotamente, mas não possui muitos recursos que garantam o gerenciamento da escalabilidade de tais componentes no servidor. Até mesmo o processo container para componentes do .NET Remoting precisa ser produzido por nós.

Desta forma, só o COM+ fornece recursos adequados para o gerenciamento da escalabilidade, tal como Just-In-Time Activation e Shared Properties, além de muitos outros recursos avançados como Queued Components, COM+ Events, CRM, transações distribuidas, segurança, e muito mais.

Vendo por esse ponto de vista, podemos imaginar o COM+ como a melhor opção para o desenvolvimento em camadas, e na maioria das vezes realmente é.

Mas tem um porém. O COM+ utiliza, para comunicação remota, o DCOM, enquanto que o .NET Remoting tem a possibilidade de utilizar recursos de comunicação mais otimizados do que o DCOM.

Então, como ficamos ?

Então temos o COM+ para grandes aplicações onde for necessário grande escalabilidade, o .NET Remoting para aplicações menores onde a performance for um fator mais crítico que a escalabilidade e os webServices podem ser utilizados como intermediários, camada de comunicações entre aplicações externas e os componentes COM+ ou .NET Remoting



Envie seus comentários sobre este artigo

Nome :

E-mail :

Comentários :


Avise-me quando houverem novos comentários nesta página

Veja abaixo os comentários já enviados :

Nome : Alexandre Fernandes E-Mail : alexandretarifa@gmail.com
Muito bom este artigo
Nome : Windson Mateus E-Mail : windmateus@gmail.com
Excelente artigo.
Nome : Fabiano E-Mail : fabianobb@ig.com.br
Excelente artigo, seria legal que tivesse um código de exemplo de cada modelo.
Nome : Othon Gomes Lucas Neto E-Mail : oneto@firjan.org.br
Muito bom, estava com algumas dúvidas de escalabilidade e ficou mais claro agora.
Vocês poderiam falar um pouco mais do .Net Remoting
Nome : Fabio E-Mail : penhabiazi@hotmail.com
O artigo é muito bom, mas estou comecando agora com delphi 2005, gostaria de saber como faço uma conexao entre o cliente e servidor igual ao Delphi 7 usando o componente socket. Eu passava o endereco IP e username do banco e password, apos a autenticacao, o servidor inicializava e liberava os acessos. Nao consegui visualizar isso no .net remoting, pois criei um servidor e uma aplicacao cliente, so que nao consigo passar os dados para autenticaca (IP, username, password). Teria algum componente proprio para isso ou tenho q passar atraves de alguma propriedade/evento etc...

sem mais

Obrigado

Fabio Marcelo Biazi
Nome : Dennes E-Mail : dennes@bufaloinfo.com.br
Sockets são conexões de rede em camada de transporte (vide modelo OSI). Passagem de logins e senhas não está ligado a sockets, são implementações particulares da aplicação. No .NET você tem acesso a sockets pelo namespace System.NET, mas vai cair na mesma questão do remoting : Sockets não são responsáveis por controle de login, sua aplicação ou o SO que fazem isso. Melhor seria utilizar remoting e implementar com ele o login.

[]'s

Dennes
Nome : Byron Bernardes Jr. E-Mail : byronjunior@casadamoeda.com.br
Caro Dennes, um excelente overview sobre Websevices, apesar se suscinta a explicação ficou clara, principalmente Escalibilidade vesus Performance.
Nome : enevaldo E-Mail : vadaer@yahoo.com.br
gostaria de exemplo de qualquer aplicativo utilizando conexao banco dados ADO utilizando componente COM+, conceito desenvolvimento em trÊs camadas utilizando transações.



grato.
enevaldo
Nome : Marcos André E-Mail : marcolinodesign@ibest.com.br
Estou tentando desenvolver uma aplicação em delphi para acessar um webservice via xml....Já pesquisei horas e não encontro uma luz. Será que vc poderia me ajudar?
Nome : Gordurinha E-Mail : gordurinha131@terra.com.br
Excelente Artigo, eu só num entendi bulhufas....

Vlw Galera
Nome : Bruno Gallego E-Mail : brunoonline@click21.com.br
Aproveitando o embalo, poderia citar também sobre Message Queue que é uma outra forma de trocar mensagens que poucos conhecem e muito importante, principalmente falando em disponibilidade. MSMQ - Message queue é o serviço de mensagens do windows e é 100% integrado com .NET. Permite enviar mensagens em XML , Binario ou ActiveX para outras maquinas, semelhante as tecnologias citadas pelo dennes. Ainda funciona com DTC ( Controle de Transação utilizado pelo COM+ ). Só não é tão interessante quando a msg precisa ser síncronizada, ou seja, precisa de um retorno/resultado.

---
Bruno Gallego
Nome : FYu1cWOSpgi E-Mail : zy2gfuadz@gmail.com
Fair point, I was looking for a spmile solution where I didn't have to override each and every Backbone client's parse method to handle the (valid but apparently unexpected) JSON returned by the Jersey RESTful services. Perhaps the JAXB approach also allows this but I don't have the time to explore that option.So far my experience with Netbeans has been pretty good thanks. It supports everything I'm looking for at the moment quite well; HTML5, Bootstrap, Backbone, JSON and the Java EE 6 Web Profile (JAX-RS and JPA). I like the generate RESTful WebServices from Database and the RESTful Javascript Client wizards. I've used Eclipse (usually after a painful setup post upgrade) for years but I get the feeling that it is now being left behind by the the likes of NetBeans and IntelliJ.BTW I'm writing this while waiting for my Sony Entertainment Network accounts to be setup, which is a painfully slow process, so that my wee boy can get a working PSVita with FIFA 13 in the morning. Santa is just is so inconsiderate, he should have sorted this out before now!