Migre seu EnterpriseService (e outros assuntos)

Aguarde: esta semana teremos boas novas para quem está interessado em cloud computing e Azure! (não posso adiantar).

Enquanto isto, alguns tópicos de conversas com arquitetos em visitas e encontros...

1) Tem muita gente ainda usando COM+ com .Net através do uso de Enterprise Services. Quando pergunto por que não mudaram ainda para WCF + TransactionScope do .Net Framework,a resposta tem sido: silêncio. Simplesmente não conheciam.

Por que mudar? R.: porque alivia a distribuição/instalação de componentes e erros de operação. Componentes do Enterprise Services exigem instalação no GAC e no COM+. Além disto, por vezes a configuração pode ser mudada pelo operador através da console do COM+ e o operador pode acabar configurando uma operação composta (ACID) em duas operações distintas – o que pode causar sérios riscos de erros de consistência.

Como migrar? Usando a classe TransactionScope para definir o escopo da transação e o WCF para estabelecer a comunicação entre chamador e chamada.

Onde hospedar? R.: Hoje use o WAS ou o IIS. Amanhã use o AppFabric.

É simple usar o TransacionScope. Basta criar uma interface… e aqui vai um exemplo:

 [ServiceContract]
public interface INWService {
 [OperationContract]
  List<Customer> FindCustomerList(string companyName);
}

e depois criar dentro do método que implementa esta interface um escopo - segundo o padrão de código abaixo…

using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required)) {

try {

// chame seu código que deve estar neste escopo de transação

transaction.Complete();

} catch (Exception ex) {

// tratamento para erro

throw ex;

} finally {

// tratamento de finalização

}

}

Quanto ao WCF, basta usar o Visual Studio para criar um projeto WCF. O Rafael Godinho tem boas dicas no seu blog: https://blogs.msdn.com/rafaelgodinho/archive/tags/WCF/default.aspx

2) Tenho recebido perguntas sobre como usar Forms Authorization e Sessions dentro do Azure. Minhas dicas são:

  1. Para Forms Authentication o post https://blogs.msdn.com/jmeier/archive/2010/03/24/how-to-use-asp-net-forms-auth-with-sql-server.aspx do J.D . Meier;
  2. Para Sessions você pode usar o exemplo em https://azuresqlsession.codeplex.com/ ou o AspProvider Sample em https://code.msdn.microsoft.com/windowsazuresamples .

3) Tivemos bons debates no RAF (Regional Architect Forum) que aconteceu no escritório da Microsoft. Foi interessante ver a discussão sobre o perfil de atuação e conhecimento de um arquiteto. Arquitetos, segundo o palestrante (professor Becerra da USP), não só unem conhecimento sobre negócios, tecnologia e gerenciamento de time, mas, por terem um pensamento estratégico, têm um grande handcap grande para se tornarem um dia CIO’s. Os agilistas, que duvidam até da necessidade de arquitetos em projetos, se sentiram incomodados. Bom ter confrontos: deles entendemos as diferenças e costumam sair alguma luz.

Bom fim de semana.