BT

Conhecendo o Typesafe Stack 2.0: Scala, Akka, Play e mais

por Bienvenido David III , traduzido por Thomas Sant'Anna em 23 Mar 2012 |

A Typesafe anunciou o Typesafe Stack 2.0, uma plataforma de código aberto para a construção de aplicações escaláveis em Java e Scala. A nova Typesafe Stack inclui a linguagem de programação Scala, o middleware orientado a eventos Akka 2.0, e o framework web Play 2.0, além de várias ferramentas de desenvolvimento, que se integram de forma transparente com ambientes Java existentes.

Akka 2.0

O Akka é um middleware open source orientado a eventos, para a construção de aplicações altamente escaláveis, confiáveis e distribuídas em Java e Scala. O Akka desacopla a lógica de negócio de mecanismos de mais baixo nível, tais como threads, locks e entrada/saída não bloqueante. O código em Scala ou Java fica em Atores, objetos que enviam e recebem mensagens. O Akka assume a responsabilidade pela sincronização, balanceamento de carga, tolerância a falhas e elasticidade de recursos.

Entre os avanços do Akka 2.0, estão maior escalabilidade (suportando até 2.7 milhões de atores por gigabyte de memória) e a simplificação da criação de aplicações distribuídas, baseadas em clouds ou em data centers virtualizados. Outras funcionalidades incluem:

  • Transparência de localidade: atores podem ser locais ou remotos sem mudança no código;
  • Deploy baseado em configurações, através das quais topologias são determinadas em tempo de execução;
  • Supervisão e monitoração: cada componente do Akka é monitorado para detectar falhas ou terminação;
  • Barramento de eventos (service bus), para simplificar o envio de mensagens para grupos de atores, por meio de mecanismos de publicação e subscrição.

O Akka 2.0 faz uso da funcionalidade de Futures, que será disponibilizada em bibliotecas do Scala 2.10 (através do pacote "scala.concurrent.future").

Veja mais informações sobre o Akka 2.0 na página Introducing Akka 2.0, no blog da Typesafe.

Play 2.0

O Play é um framework web baseado em uma arquitetura leve e sem estado, com suporte nativo a aplicações em Java e Scala. Nele é adotada a filosofia de "convenção sobre configuração" e usado o ciclo de desenvolvimento "editar-testar".

O Play 2.0 é na sua maior parte escrito em Scala (a versão original do framework foi criada em Java) e por padrão usa um mecanismo de templates baseado em Scala e não mais em Groovy como antes. Faz uso da ferramentas de builds e deploy sbt, popular em projetos em Scala. O Play 2.0 usa Akka para tratar o processamento de eventos e o processamento assíncrono, tornando aplicações Play mais escaláveis e tolerantes a falhas. A nova versão possui arquitetura mais modular, facilitando a ativação ou remoção de plugins, ou até mesmo seu uso como uma biblioteca ao invés de framework.

O Play 2.0 usa uma implementação de Iteratee IO, para prover suporte nativo a várias tecnologias baseada em push ou streaming, tais como WebSockets, Comet e streaming de arquivos. O mapeamento de URLs, templates e assets são compilados para detectar erros, já no início do ciclo de desenvolvimento. Outras características incluem a API Anorm SQL, e a validação de formulários, além do tratamento integrado de JSON e XML e uma API cliente para acessar serviços web em HTTP.

Mais detalhes sobre o novo Play podem ser vistos no blog da Typesafe, em Introducing Play 2.0.

Console do Typesafe

A assinatura do produtos do Typesafe inclui suporte comercial e ferramentas de gerência para as tecnologias da Typesafe. Os serviços cobrem a linguagem Scala, e os frameworks Akka e Play, além do Console do Typesafe, para a monitoração e rastreamento de aplicações. Esse console permite fazer análises de tendências de uso, e obter detalhes sobre o desempenho de sistemas orientados a eventos do Akka. Além disso, captura eventos de aplicações, conecta esses eventos a fluxos entre atores e nós remotos, e fornece essas informações numa página web, via REST e APIs JMX. Existe uma demonstração da Console Typesafe no site da empresa.

A Typesafe Stack também inclui ferramentas de desenvolvimento. O IDE Scala para Eclipse fornece realce de sintaxe, complementação de código e depuração integrada. E o já citado Simple Build Tools (sbt) automatiza a compilação e a gestão de dependências. O Typesafe Stack pode ser usado com outras ferramentas para Java tais como depuradores e profilers.

A infraestrutura de tecnologia da Typesafe está disponível para Mac OS X, Linux e Windows e requer o ambiente de execução do Java (JRE) na versão 1.6 ou superior. O Akka 2.0 e o Play 2.0 são ambos disponibilizados sob a licença Apache 2.

Próximos passos

Para conhecer mais sobre as tecnologias da Typesafe, visite a página Getting Started, a qual guia o leitor pela instalação e criação de um projeto inicial. Visite também a página oficial do Typesafe Stack e obtenha o whitepaper Typesafe Stack 2.0. Por fim, um texto especialmente recente é a entrevista de Martin Odersky sobre Typesafe Stack 2.0 e o Scala dada ao InfoQ norte-americano.

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 menssagens dessa discussão
Comentários da comunidade

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

Receber menssagens dessa discussão

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

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT