Typesafe发布了Typesafe Stack 2.0,一个用于构建Java和Scala可扩展应用程序的开源平台。Typesafe Stack包括Scala编程语言、Akka 2.0事件驱动中间件、Play 2.0 Web框架以及与现有Java环境无缝集成的各式各样的开发工具。
\Akka 2.0
\Akka是一个开源的事件驱动中间件框架,用于构建高性能、可靠以及分布式的Java和Scala应用程序。Akka将业务逻辑从底层机制,如线程、锁、非阻塞IO中进行分离。Scala或Java代码存在于Actor对象中,并依靠它发送和接受消息,而同步、负载均衡、容错、伸缩性则交由Akka处理。Akka 2.0改善了扩展性(每GB内存可创建270万actor),并简化了云端或在虚拟化数据中心环境中分布式应用程序的创建。其他新特性包括:1)位置透明化,Actor无需任何代码更改即可驻留在本机或远程机器上;2)基于配置的部署,在运行时指定拓扑;3)监督与监控,监控每一个Akka组件的错误或终止;4)每条总线可轻松地发送信息(发布/订阅)给Actor群组。Akka 2.0还使用了即将到来的Scala 2.10标准库实现,开发人员可以使用“scala.concurrent.future”。
\更多信息请阅读Akka 2.0介绍。
\Play 2.0
\Play是一个Web框架,它基于轻量级、无状态的架构,并原生支持Java和Scala应用程序。Play采用了”约定优于配置(convention over configuration)“的理念,并且拥有一个快速的编辑测试开发周期。Play 2.0目前主要使用Scala编写,而原有的Play框架使用的是Java实现。Play 2.0使用基于Scala的模板引擎作为默认引擎,而不再是Groovy。另外,它还使用了Scala中流行的生成工具sbt进行生成和部署。Play 2.0使用Akka完成事件处理和异步处理,这使得Play构建的Web应用程序具有更好的扩展性和容错性。它还包含了一个更加模块化的架构,使用户可以轻松地增删插件,甚至将其当做一个库而不是Web框架使用。Play 2.0使用Iteratee IO提供了从WebSocket和Comet到文件流的多种高级推式/流技术的直接支持。路由(URL映射)、模板和资源现在会在开发过程中进行编译以较早地检测错误。其他新特性包括Anorm SQL API、表格验证、集成的JSON和XML处理以及用于访问Web服务的HTTP客户端API。
\更多信息请阅读Play 2.0介绍。
\Typesafe控制台
\Typesafe Subscription为开源Typesafe Stack提供了商业支持和管理工具。Typesafe Subscription覆盖了Scala、Akka和Play,并添加了Typesafe控制台用于跟踪和监控基于Typesafe Stack构建的应用程序。Typesafe控制台还为基于Akka的事件驱动系统提供了使用趋势和性能特征报告。它通过捕获应用程序事件,将事件链接至跨越actor和远程结点的跟踪流,并使用浏览器或REST以及JMX API让这些信息流动。这里是一个关于Typesafe控制台的演示。
\Typesafe Stack还包含了一系列开发工具。Scala IDE for Eclipse提供了包含语法高亮、代码补全和集成调试的开发环境。简单生成工具(Simple Build Tool,简称sbt)自动化编译和依赖管理。Typesafe Stack也可以同第三方工具,如调试器和分析器一同工作。
\Typesafe Stack提供了Mac OS X、Linux和Windows版本,并且需要JRE 1.6+支持。Akka 2.0和Play2.0均在Apache 2许可下发布。如果你想要快速上手,可以访问Typesafe Stack快速入门页面,它会教你如何安装和创建示例(模板)项目。想要了解更多信息,请访问官方Typesafe Stack页面,并下载Typesafe Stack 2.0白皮书。你还可以阅读InfoQ上的这篇采访《Martin Ordersky谈Typesafe Stack 2.0和Scala》。
\