Mostrando postagens com marcador OO. Mostrar todas as postagens
Mostrando postagens com marcador OO. Mostrar todas as postagens

sexta-feira, 25 de julho de 2008

Java

Buscamos paradigmas melhores continuamente.

A engenharia de software se preocupa há muito tempo em aprimorá-los, ou criá-los, para conseguir resolver seu antigo dilema da entrega adequada de produtos. Adequada em prazo e qualidade.

Orientar o desenvolvimento a objetos parece trazer uma aproximação mais concreta aos problemas de negócio. Em princípio, uma excelente ferramenta para atender tal demanda é a plataforma Java.

Hoje plataforma, mas começou como linguagem. Os paradigmas evoluíram, as ferramentas também. Orientação a objeto virou "commodity". Um universo de design patterns, MDA, SOA e outras tecnologias foram derivadas dela.

Apesar de todos os seus benefícios inerentes, misteriosamente é difícil a observação de sua plena adoção. Mesmo com as garantidas propriedades de eficiência e otimização, ainda vemos muitas equipes relutantes em embarcar ativamente.

Nos primórdios, diversas empecilhos eram apontados para a resistência. O uso da tecnologia demandava hardware de porte, para sustentar o pesado processamento. Sua popularidade começou em pequenos círculos, como é comum em novidades tecnológicas. Até o fato de ser iniciativa de uma grande empresa gerava desconfiança.

Atualmente qualquer antigo motivo foi derrocado. Hardware com capacidade suficiente de processamento é extremamente acessível. O conhecimento da plataforma é amplamente difundido, com grande oferta de profissionais. A plataforma foi aberta para própria empresa, em busca de seu aprimoramento mais intenso, com a colaboração da comunidade.

Caminhamos pelas empresas e ainda encontramos montanhas de sistemas legados. Sem dúvida, em time que está ganhando é preocupante mexer. A grande dúvida é até quando estarão ganhando? Em ambientes legados, há duas grandes mudanças: das ferramentas em si e da cultura de desenvolvimento.

Dois grandes desafios, dois riscos sensivelmente consideráveis. Felizes daqueles que começam sua estrutura do zero. Se sensatos, têm a oportunidade de começar com o pé direito, dentro dos melhores paradigmas existentes. Àqueles carentes de mudanças, resta a torcida para um dia poder dizer: "Oh antiga solução, "já vai" tarde!

sexta-feira, 4 de abril de 2008

DDD

Saudades do tempo em que DDD era apenas Discagem Direta a Distância.

A Engenharia de Software já completou algumas décadas de idade. Ainda assim, em nosso contemporâneo universo do desenvolvimento de software, sempre dá para "colocar mais macarrão em nossa sopa de letrinhas".

No princípio tudo era muito "áspero", textual, nem um pouco user-friendly, como gostamos de batizar atualmente.

Veio a orientação a objetos, procurando aproximar o cru mundo das linguagens da nossa existência no mundo real (poético não?). Foi a semente de um grande universo...

Assim como os bits, primitivos demais, os tais objetos não foram suficiente para produtividade e eficiência na construção de soluções. Foram apenas o tijolinho na construção do arranha-céu! Precisamos da análise orientada a objetos, os patterns, os modelos de maturidade e a MDA.

Tantos conceitos se materializaram em diversas tecnologias: Java, SOA, Webservices, EJBs, Servidores de Aplicação, Bancos de Dados Orientados a Objeto, UML, C++ dentre outros tantos "entes". Ferramentas, ferramentas, ferramentas e frameworks, frameworks, frameworks. Será uma vida inteira suficiente para se interar de tudo?

Aos poucos vamos assumindo nossa pequenez...

Apesar do compêndio de letrinhas e idéias, o fim estava (e provavelmente ainda está) bem distante. Tamanha dedicação em solucionar gerou um emaranhado de recursos tecnológicos, com alto custo e enorme complexidade. E alguém pensou no cliente?

Pois é, o principal da brincadeira, se preocupar com a solução para o negócio, ficou um pouquinho de lado. O meio ficou mais importante do que o fim. Na tentativa de resolver o impasse, surgiu o DDD - Domain-Driven Design (demorou mais chegou, né?). Já tem alguns anos, mas para muitos é novidade.

Focado no modelo de negócio do cliente, seus artefatos possuem grande ênfase nas questões corporativas, organizacionais. É necessária certa disciplina do arquiteto de software, pois estes não obrigam o seguimento do caminho. Vale o estudo e o entendimento, para fazer bom uso.

Sina da espécie humana? Quem sabe? Mesmo na mais tecnológica de nossas áreas de atuação, volta e meia temos de retornar ao que interessa: o gênero humano.