Orientação a Serviços

Muitas coisas aconteceram desde a ultima mensagem. Esta vida corrida demanda demais.

O projeto Middleheaven continua. Um dos seus pontos fortes é o uso de serviços para fornecer funcionalidade. Serviços são interfaces que estabelecem contratos. A sua implementação é desconhecida, apenas sabemos que funciona. Desta forma a aplicação pode ser totalmente isolada de mecanismos de infraestrutura e, até, de outras aplicações sem que ela saiba.

A ideia de usar serviços veio da api de JMX que é complemente orientada a componentes de serviço: os MBeans. Com o passar do tempo eu queria aumentar o nível e ser capaz de dizer que o serviço x depende do y de forma que o sistema tomasse conta da organização e avisasse quando o serviço não está disponível. Este controle de dependência mostrou-se muito complexo.

Perquisando na net encontrei uma coisa chamada OSGi framework. Também baseado no conceito de serviço com implementações separadas surge a ideia de o incorporar ao MiddleHeaven. Existem várias implementações do OSGi framework e escolhi o Apache Felix para começar. Contudo existe uma JSR (JSR 277) prevista para breve que faz algo semelhante. Por isso ainda não decidi qual dos mecanismo adotar. O JSR 277 promete ser o novo padrão java muito em breve, mas o OSGi já existe hoje. O OSGi framework tem alguns problemas como classloading que o novo padrão pretende resolver.

WebServices e SOA são outras ideias que nos levam a um mecanismo de serviços como componentes, mas agora de forma remota. A implementação do serviço pode ser remota com a API de webservices fazendo a ponte. A famosa consulta de cep poderia muito bem se aproveitar disto.

Parece-me que o MiddlHeaven está no bom caminho no que toca a usar serviços como peças fundamentais para prover funcionalidades …

Anúncios

Deixe uma Resposta

Please log in using one of these methods to post your comment:

Logótipo da WordPress.com

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

Google+ photo

Está a comentar usando a sua conta Google+ 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 )

w

Connecting to %s