Skip to content

Sobre o MiddleHeaven

Depois de alguns anos usando e construindo frameworks a partir de bibliotecas de terceiros fiquei cansado de repetir sempre as mesma coisa.

A ideia por detrás do Middleheaven é construir um framework sobre o qual aplicações possam ser construídas independentemente do ambiente onde elas irão ser executadas ou qual o tipo de apresentação ao usuário. Desde aplicações web servidas por navegadores, a aplicações desktop standalone com controle de licença a aplicações desktop distribuídas ou a integrações de serviços.

Por baixo dos panos muitas bibliotecas de terceiros e aderência aos padrões da plataforma Java atuais (o MiddleHeaven aponta para funcionar em Java 7) conferem a solidez necessária.

Por isso, o Middleheaven será o único framework que você irá precisar.

Quando as tecnologias mudarem ou os padrões mudarem, quando novas formas de fazer e distribuir software na plataforma Java forem criadas a suas aplicações não serão reescritas. Simplesmente mudar o jar do Middleheaven e voilá.

Assim, o objetivos primários do Middleheaven são:

  • Minimizar todo o esforço de implementação de requisitos não funcionais – implementar requisitos comuns, mas não padronizados, como a possibilidade de upload de arquivos em sites, é chato retirando foco do verdadeiro objetivo da aplicação.
  • Minimizar a dependência de bibliotecas de terceiros – a sua aplicação depende fortemente das classes do Middleheaven mas não depende de classe fora dele. Assim, quando o Middleheaven decidir utilizar uma biblioteca de terceiros diferente , ou quando a biblioteca usada for alterada pelos seus desenvolvedores isso não terá impacto nenhum na sua aplicação.
  • Minimizar a reimplementação de padrões de negocio. Padrões de aplicação já consagrados são incluídos desde o principio como o padrão Money. Além disso esses padrões são incluídos dentro de um contexto de modo a permitir o máximo de reuso e flexibilidade.

Estas premissas são levadas ao extremo e expressas diretamente em features especificas:

  • MVC Universal: A sua logica de controle de apresentação é totalmente desacoplada da tecnologia usada para a apresentação. Isto permitirá que aplicações Middleheaven tenham interfaces web e desktop simultaneamente controladas pelo mesmos objetos de apresentação.
  • Acesso Ubíquo a Dados: Acesso a dados pode ser feito de qualquer nodo do sistema e para qualquer tipo de armazenamento.  Um coração fortemente orientado ao domínio é provido de acesso a repositórios de dados em bancos de dados relacionais, bancos de dados orientados a objectos, arquivos XML e outros mecanismos especiais como acesso remoto de dados.
  • Estrutura forte para tratamento de quantidades. Datas, tempos, intervalos, dinheiro , medidas e conversões estão no coração do Middleheaven.
  • Mecanismo de injeção automática de dependências
  • Mecanismo de bootstrap para que uma mesma aplicação funcione em diferentes ambientes e o ambiente possa injetar as suas proprias implementações dos serviços primários.
  • Aplicações desenvolvidas em módulos individuais e interdependentes como resolução automática de dependências.
  • Carregamento “a quente” de serviços de modulos de aplicação
  • Mecanismo de autenticação e autorização.

Dado o vasto campo que o projeto MiddleHeaven visa abraçar não é possivel fazê-lo de um só vez. Para isso as funcionalidades do MiddleHeaven são divididas em Caixas de Ferramentas ( Toolboxes) para que seja mais simples organizar o conjunto de funcionalidades. Estas toolboxes não necessariamente se mapeiam para pacotes de classes, mas normalmente é isso que acontece.

4 comentários
  1. Rodrigo Lima permalink

    Olá Sérgio, gostaria de participar do projeto assim que você liberar.

  2. Pode contar comigo também, quero ser colaborador !!!

    Abraçosss

    ; )

  3. GabrielCardelli permalink

    Juntos e misturados.

  4. Hélder permalink

    Bacana a proposta… quando tiver um tempo vou testar e ver se vale uma colaboração…

    boa sorte…

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: