/* Customized template */ Diário de um Desenvolvedor de Software: setembro 2005

Diário de um Desenvolvedor de Software

Descobertas, idéias e informações que acontecem no meu trabalho como desenvolvedor de sistemas aplicativos em .NET.

Minha foto
Nome:
Local: Blumenau, SC, Brazil

Sou arquiteto de software e ajudo a definir soluções de tecnologia para necessidades de negócio. Atualmente trabalhando com a plataforma Windows Azure.

quarta-feira, setembro 28, 2005

Page Template Framework

Que tal adicionar a seus websites dinâmicos desenvolvidos em ASP.NET o recurso de templates, configuráveis em tempo de execução?

O componente de código aberto Page Template Framework faz justamente isto, com brilhantismo.

É fácil de usar, flexível e faz o esperado.

Além disso, vem com código-fonte e exemplos em duas linguagens: C# e Visual Basic.

terça-feira, setembro 27, 2005

String Resource Tool

String Resource Tool é uma ferramenta desenvolvida pela Microsoft para uso interno, e que acabou sendo liberada como parte da Enterprise Library.

Ela facilita bastante a criação de arquivos de recurso contendo strings que podem ser utilizadas em mensagens e outros textos dentro dos programas.

A versão original pode ser baixada na área de Downloads do site da Enterprise Library, e vem com a documentação em formato Word.

Uma versão posterior pode ser baixada do website philipwolfe.com, na qual o instalador foi adaptado para criar os registros que permitem o uso em projetos Visual Basic.

Existem também algumas dicas de uso que podem ser encontradas na área de Message Boards do site da Enterprise Library.

Vale a pena utilizar esta ferramenta.

 

sexta-feira, setembro 23, 2005

MyGeneration: gerador de código

O gerador de código MyGeneration é uma ferramenta muito boa, que merece fazer parte do arsenal de qualquer desenvolvedor. E é gratuito.

Esta ferramenta facilita muito o processo de geração de código a partir de esquemas de banco de dados.

Nos últimos dias eu criei uma template bastante complexa, adaptada a partir de um exemplo que veio com a ferramenta, para criar todas as stored procedures e objetos de acesso a dados para fazer as operações básicas de consulta, inclusão, alteração e exclusão, usando o Data Access Application Block.

Ganha-se produtividade duas vezes: uma na criação deste código, que levaria muitos dias para ser construído e testado manualmente, e outra quando a estrutura do banco de dados for modificada, o que exigiria alterações em vários artefatos para mantê-los sincronizados.

terça-feira, setembro 20, 2005

DataSets e Web Services

Hoje eu aprendi uma lição muito importante sobre DataSets e Web Services.

As duas tecnologias são tão boas e tão fáceis de usar no .NET, que a tendência natural é usar as duas em conjunto quando necessário.

A funciona muito bem, mas com um detalhe: só dentro da plataforma .NET.

Se tentarmos usar este Web Service a partir de um cliente em outra plataforma, por exemplo Java, ele terá dificuldade para interpretar o WSDL e o XML.

Por exemplo, a ferramenta GeneXus não suporta esta combinação.

A solução recomendada é fazer uma conversão nos dados do DataSet antes de retorná-lo a partir de um Web Service. Não é tão difícil fazer isto.

Existe um bom artigo sobre isto neste endereço:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnservice/html/service02112003.asp

 

quinta-feira, setembro 15, 2005

Singletons persistentes

Quando criamos um objeto Singleton usando Remoting, é natural pensar que ele vai permanecer ativo na memória, e que portanto é seguro armazenar informação nele, para ser utilizada de forma global.

Porém, este objeto será destruído após um período de inatividade, a não ser que seja utilizado o método InitializeLifetimeService para definir o tempo de vida do objeto.

Mais informações em “Why Singletons are destroyed after five minutes”.

 

Web Services

Nos últimos dois dias eu criei meu primeiro Web Service para uso em produção.

O Visual Studio e a plataforma .NET realmente dão uma excelente produtividade para este tipo de trabalho.

A propósito, eu descobri que a forma mais produtiva de receber e gerar documentos XML é criar um esquema XSD e trabalhar com DataSets, simulando uma base de dados relacional.

 

segunda-feira, setembro 05, 2005

EDRA

Passei os últimos dias analisando o EDRA - Enterprise Development Reference Architecture.

Essa arquitetura trata principalmente da camada de negócio do sistema.

Indiscutivelmente é uma arquitetura excelente, principalmente para uso em grandes empresas.

Porém ela traz inúmeras complexidades e detalhes para o desenvolvedor.

A conclusão a que cheguei é que para o tipo de projeto que eu estou desenvolvendo, esta arquitetura seria exagerada, tendo em vista o aumento da complexidade no desenvolvimento que ela exige.

A alternativa será buscar uma arquitetura mais leve.

Um material interessante é o livro Microsoft® .NET Distributed Applications: Integrating XML Web Services and .NET Remoting, de Matthew MacDonald.

 

quinta-feira, setembro 01, 2005

EDRA

Como estamos trabalhando com a idéia de que o sistema será construído em .NET e que terá arquitetura em camadas, estou buscando informações sobre a forma recomendada pela Microsoft para fazer isto.

No momento estou estudando a Enterprise Development Reference Architecture (EDRA) e Enterprise Development Application Framework (EDAF).

Goals

Organizations transitioning from tightly coupled application architectures to loosely coupled, service-based architectures face numerous challenges. The more significant

challenges include:

● Separating the service interface from the internal service implementation. This separation allows an enterprise to develop a custom deployment scenario that is

optimized for scalability, reliability, security, performance, and availability.

● Separating business logic from cross-cutting concerns such as logging, monitoring, or raising business events.

● Separating business logic from the underlying transport so that multiple transports can be used to access a single service implementation.

The Enterprise Development Application Framework simplifies the development of distributed applications. It does this by providing standardized, reusable solutions to

common challenges that software professionals face when developing and exposing business services.