BT

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

por Julio Faerman em 20 Set 2012 |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.