Array
(
)

Desenvolvimento de aplicações distribuídas.

Thiagoporto
   - 16 nov 2012

Estou querendo desenvolver um sistema que seja distribuído(servidor de aplicação) com os clientes, qual a melhor forma?
Em delphi já fiz utilizando datasnap como camada servidora, em c# já ouvi sobre o WCF que é bom para este tipo de sistema, será mesmo?

Pjava
   - 16 nov 2012

Bem, o que posso dizer é o seguinte.

WCF ==> São aplicações baseadas em Web Service.

Acho que para isso, inclusive pode-se fazer uso do WCF junto, seria a implementação do Pattern MVC. Existe o MVC FrameWork, seria bom dar uma estudada nisso. É o equivalente ao DataSnap do Delphi, no qual eu utilizei muito com Delphi, ou mesmo o JSF ou Strut do Java. O MVC no C# é a nova onda do imperador. Tá valendo a pena conhecer.

Thiagoporto
   - 16 nov 2012

Mas o mvc framework não é o asp.net mvc? Esse eu já conheço.
Minha dúvida é para aplicações desktop.

Pjava
   - 16 nov 2012

Bem, nesse caso, você poderia fazer o seguinte. Dentro de seu projeto principal, você criaria outros projetos e separaria em camadas, tipo:

DAO ==> Para acesso a camada de dados

DataMapper ==> Para interface entre usuário e a camada de dados(Usuário não acessa diretamente a DAO)

InfraStrutura ==> Acesso a camada de negócio

View ==> Interface do Usuário

Esses nomes são sugestivos. Aí você iria ter que conhecer bem Design Patterns, para isso, como Abstract Factory(Usado no Delphi com Data Snap), DAO, Façade e etc...

Ou seja, OO pura.

Ou seja, você implementaria isso manualmente. Use sempre WPF para Windows Form. Isso é apenas sugestão.

Thiagoporto
   - 16 nov 2012

Fiz um projeto de testes usando a seguinte forma usando projeto:

Model = Aonde fica as classes de modelo.
NhibernateHelper = Fica as classes de mapeamento e conexão.
Service = Fica o servico do WCF que pega o NhibernateHelper e transfere.
Client = É a aplicação desktop usando windows forms utilizando o SericeReference.