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.

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.