Playing with Ruby

Olá pessoal,
     Essa semana precisei fazer um pequeno trabalho com Ruby, nada muito complexo não !  Em relação a linguagem em si, gostei muito da dinamicidade que ela permite, bem como a geração de código de forma automática em alguns casos.
Mas apesar de tudo isso, em uma das minhas pesquisas encontrei uma apresentação de um indiano chamado Vishnu, que comenta sobre alguns pontos negativos dessa linguagem, vale a pena conferir.

  
Abrcs.

Lançada Comunidade da Máquina Virtual Livre – OpenJDK

Foi lançada oficialmente nesta última terça-feira, 14 de dezembro de 2010 a Comunidade Máquina Virtual Livre localizada no grupo de interesse 4CTecBr-Tecnologias Livres. Trata-se de uma comunidade dedicada a discutir, em português, o uso, testes e a evolução da OpenJDK - a Máquina Virtual Java Livre e Aberta. A iniciativa conta com apoio da comunidade brasileira do OpenJDK.

No dia 22 de Julho, durante o 11º Fórum Internacional de Software Livre, acontecido em Porto Alegre, Serpro, Caixa, Dataprev, MCT/SEPIN, MP/SLTI e representante da comunidade, assinaram solidariamente o documento “O governo brasileiro e a máquina virtual Java livre e aberta” onde demonstram sua preocupação quanto ao futuro da máquina virtual Java livre – OpenJDK, principalmente depois do processo judicial envolvendo as empresas Oracle e Google, por quebra de patentes do uso da máquina virtual Java.

Reconhecendo a importância da Máquina Virtual Java Livre tanto para o Governo quanto para a sociedade em geral, os signatários firmaram o compromisso de disponibilização de recursos para essa causa. O primeiro passo já foi dado: a criação e disponibilização para toda a comunidade de um espaço destinado a discussões acerca do OpenJDK. Como próximo passo serão realizados testes em suas aplicações com base no OpenJDK, reportando os resultados no grupo.

A intenção desta comunidade é servir de ponto central para coletar os resultados dos testes realizados pelo governo e pela sociedade. A partir daí a coordenação realizará um trabalho onde agrupará os principais erros, bibliotecas não incorporadas e de alta relevância, entre outros.

Para ingressar a Comunidade acesse com seu usuário e senha pelo endereço:
http://www.softwarepublico.gov.br/4ctecbr/maquinavirtuallivre/register/

Para quem não está cadastrado no Portal SPB e deseja se tornar membro desta comunidade, primeiramente deve realizar o registro através do endereço:
http://www.softwarepublico.gov.br/4ctecbr/register/user-new

=> Para assistir aos vídeos do evento realizado em Porto Alegre – FISL 11 acesse:

Máquina Virtual Livre – Parte 1 http://www.youtube.com/watch?v=_jo1Od1CHZI

Máquina Virtual Livre – Parte 2 http://www.youtube.com/watch?v=AZrIPmsO4R4

Documento de Arquitetura (Errando que se aprende)

 
Olá,
     Essa semana aconteceu algo inusitado, acho que pela decima vez me deparei com o seguinte pedido:
     – Natan, você pode elaborar o documento de arquitetura pra essa solução !
     Estou em um projeto um tanto diferente, tecnologias novas, metodologias novas, enfim,  apesar desse documento ser o mais importante do ponto de vista de um arquiteto de software, confesso que por mais que o faça, sempre me pergunto se ficou a contento, as seguintes perguntas sempre me vem na cabeça:
      – Todos irão entender o que eu modelei ?
      – Como saber se o documento que estou usando é de fato um padrão amplamente usado ?
      – Será que ele reflete a realidade ?
      – Qual a melhor maneira de representar a arquitetura de um sistema ?
     É pessoal, a verdade é que por mais você leia excelentes livros como, por exemplo, Documenting Software Architectures: Views and  Beyond ou Software Architecture in Practice, você irá aprender vários conceitos muito uteis, mas a utilização dessa sopa de letrinha vem mesmo sabe com o quê ? A prática !
     Por via das dúvidas, a melhor coisa para minimizar os erros é seguir um Architectural Blueprint já bastante utilizado, conhecido como: “The “4+1” View Model of Software Architecture”, escrito por Philippe Kruchten. O que ele sugere, é a utilização de cinco views para representar a sua arquitetura, são elas:

     •The logical view: O modelo de objetos do “design”, essa view desse ser criada sempre pensando do ponto de vista das funcionalidades espostas ao cliente, o objetivo é descrever as estruturas do software que resolvem os requisitos funcionais do sistema;

     •The process view:  É a visão que irá representar os processos que estão rodando, objetos instanciados que existem no sitema e descreve requisitos não funcionais como: Sincronização e Concorrencia;

     •The physical view:  Essa é a minha favorita, descreve os hardwares(Servidores e etc) que executam o software e como os componentes, objetos e processos estão disponibilizados nessas maquinas e quais
suas configurações em tempo de execução;

     •The development view
:   Essa view descreve a organização dos módulos da aplicação, mostra como as classes são organizadas dentro dos pacotes e suas dependencia. Alguns autores ainda acrescentam uma visão em camadas(Layers) do software e qual a responsabilidade de cada camada no sistema.

     Acho que seguindo essa receita de bolo, já dá pra ter alguma coisa, sempre pensando é claro, que cada sistema tem sua particularidade, que outras views podem ser acrescentadas. No mais, espero que essa dica seja profícua para quem estiver buscando sobre este assunto na internet.

Abrcs.

Referencias

http://www.ibm.com/developerworks/library/ar-archdoc1/
http://www.ibm.com/developerworks/library/ar-archdoc2/
http://www.ibm.com/developerworks/library/ar-archdoc3/
http://www.ibm.com/developerworks/library/ar-archdoc4/index.html
http://www.ics.uci.edu/~michele/Teaching/INF117/Krutchten%204+1View%20SWArch.pdf

http://shapingsoftware.com/2008/10/05/4-1-view-model-of-software-architecture/