BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Escalante: um servidor de aplicações para Scala baseado no JBoss AS

Escalante: um servidor de aplicações para Scala baseado no JBoss AS

Favoritos

No final de agosto foi lançado o Escalante, uma nova plataforma para aplicações Scala baseada no JBoss AS 7. Convidamos o criador do projeto, Galder Zamarreño, para contar-nos mais sobre esta iniciativa em entrevista exclusiva ao InfoQ Brasil.

Zamarreño trabalha na divisão de middleware da Red Hat desde 2006. Começou no suporte ao JBoss e em 2009 mudou para a equipe do Infinispan. É de Bilbao, Espanha, onde estudou ciência da computação. No grupo do Infinispan, começou a trabalhar com Scala no desenvolvimento de servidores de cache remoto, e nos últimos 9 meses vem trabalhando com o Escalante.

JF: O que é o Escalante e qual valor ele agrega?

GZ: O Escalante é essencialmente um servidor de aplicações para sistemas em Scala, construído com base no JBoss Application Server 7. Como Scala é uma linguagem compilada para a JVM, qualquer um poderia executar uma aplicação Scala no JBoss AS7. Mas o que o Escalante busca oferecer é tornar mais fácil, mais eficiente e menos sofrido executar aplicações Scala no servidor de aplicações. Para isso, o grupo do projeto está analisando os frameworks mais populares para Scala, para investigar como se pode melhorar a experiência de implantar aplicações feitas usando esses frameworks em um servidor de aplicações.

Na primeira versão, focamos em aplicações web com o framework Lift. O Escalante oferece inicialmente a capacidade de implantar aplicações sem incluir as bibliotecas do Lift e as do próprio Scala. Isso reduz o tamanho dos pacotes e torna a execução mais enxuta; consome menos memória e torna mais rápidos o upload e a implantação.

JF: Qual é o diferença do Escalante, se comparado com a escrita de aplicações Java EE comuns em Scala?

GZ: No momento não há diferença. O Escalante não muda a maneira de escrever aplicações em Scala, independentemente de serem SE ou EE. Mas um dos objetivos fundamentais do Escalante é expor o Java EE para aplicações Scala, de maneira mais natural para desenvolvedores da linguagem. Ainda veremos como chegaremos neste ponto, mas deve envolver a criação de linguagens de domínio específico em torno dos serviços do Java EE.

JF: Quais as principais funcionalidades planejadas?

GZ: Além de tornar o servidor ideal para aplicações Lift e melhorar a integração de serviços do Lift com serviços existentes nos servidores de aplicações, o Escalante também pretende se tornar o ambiente padrão para a implantação de aplicações baseadas em outros frameworks importantes do Scala, como o Play 2.0.

Outra funcionalidade importante será a integração com o OpenShift e o JBoss Developer Studio. Para o OpenShift, já começamos a investigar a criação de cartuchos (cartridges) específicos para a execução de aplicações Scala. Combinando-se essa funcionalidade com a facilidade de uso do OpenShift, pode-se chegar a uma maneira simples e divertida de começar a desenvolver aplicações em Scala. Para o JBoss Developer Studio, já estamos garantindo que qualquer exemplo produzido seja totalmente compatível com a ferramenta, e que funcione sem modificações na versão

E como mencionado, um objetivo crucial é disponibilizar tanto os serviços do servidor de aplicações quanto os do Java EE para aplicações Scala, de maneira idiomática. O Java EE tem histórico comprovado no mundo corporativo, e não há porquê reinventar a roda neste segmento. A ideia é tornar simples e direto o uso do Java EE para os fãs de Scala.

JF: Vocês estão procurando voluntários ou contribuições?

GZ: O Escalante é um projeto de software livre, então estamos sempre procurando contribuições! Começamos desenvolvendo um conjunto de exemplos com Lift que deve simplificar a introdução ao Escalante; são atualmente montados com o Maven. Sei que o Maven não é tão popular com desenvolvedores Scala quanto outras ferramentas de build como o SBT, mas o suporte ao Maven pelas ferramentas existentes, como o JBoss Developer Studio, não pode ser ignorado.

De qualquer forma, aqui no Escalante temos a mente aberta e acreditamos que há espaço para múltiplas ferramentas de montagem/build, então estamos procurando voluntários para ajudar a criar também arquivos do SBT para esses exemplos. E estamos procurando mais exemplos de Lift: se você tem uma aplicação Lift interessante que demonstre um aspecto particular do framework e deseja implantá-la no Escalante, por que não contribuir com o projeto?

Se você tem experiência com outros frameworks Scala e acredita que esses frameworks deveriam ser integrados ao Escalante, ou se tem experiência com o design de linguagens de domínio específico, também gostaríamos de ouvir sua opnião. Você pode encontrar a equipe no canal #escalante do IRC ou na lista de emails de desenvolvedores do Escalante. Também começamos a escrever um guia para contribuições, que deverá conter as principais informações necessárias para começar a participar do projeto.

JF: Alguma dica final para os desenvolvedores que experimentam o Escalante?

GZ: Se tiver dúvidas, perguntas ou problemas, entre em contato; queremos ouvir você. Após avaliar diversas opções, escolhemos o StackOverflow para responder aos usuários do Escalante. Basta marcar sua pergunta com a tag "escalante" que responderemos o quanto antes. Também construímos um conjunto de exemplos para facilitar o trabalho inicial; vale a pena experimentar com eles para se familiarizar com o projeto.


O servidor de aplicações Scala Escalante está atualmente na versão 0.1. O site do projeto dá acesso à documentação e downloads, além do issue tracker e exemplos de uso.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT