微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java EE替代Scala?

许多 Java x Scala比较似乎只关注于语言(语法,集合api,actors等),但是企业应用程序开发呢?

如果要使用Scala构建分布式企业系统,是否使用Scala语法(例如使用Scala语法的EJB兼容类)对传统Java EE应用程序进行编码,并在Java EE容器中运行,或者是在Java EE容器中进行Java EE替换Scala生态系统?

如果第二个,到目前为止我发现的最近的事情是类型安全的堆栈;是Scala替代Java EE容器吗?

Akka是否是JMS(可能会话Bean),或者您的Scala系统是否仍然利用Java EE服务?

解决方法

好,
Scala / Akka为许多常见的陷阱提供了不同的概念
在系统开发中.要比较一下Java EE:

=> JavaBeans的:
可变数据结构只是简单而不是线程安全的.
把它们放在一个容器里不会改变任何东西.
使用不可变数据结构,而不是使用CaseClasses执行scala.

=> EJB:
EJB的组成只是吸吮.实际的问题是,EJB需要具有很高的凝聚力才能在可重用性方面有用,实际上实际上并不是这样.把它们装进一个容器里,使它变得更好.在斯卡拉,使用特质,
对于组合,您可以使用通过f有界多态保护的构造函数注入来使用ad-hoc组合.生活可以这么容易

=>交易方式:
是的事务管理器已经使事情变得更好,但仍然
需要大型Java EE堆栈才能使其工作.在Scala中,只需使用由akka提供的软件事务内存(STM)即可完成.

=>持久性:
我们真的需要ORM吗?像squeryl.org这样的项目会向Scala添加强类型的LINQ.
而不是像Hibernate那样重的查询语言映射,它只是集成在一起
查询到scala,完全由编译器检查.当然这对于关系数据库来说也是如此.对于no-sql,还有其他解决方案可用.

=>缩放?
集群Java EE?我需要多讲吗?
在akka中,您只需添加一些服务器,系统即可扩展.为什么?因为
远程演员被处理和访问的方式与本地演员和所有内容相同
否则只是配置您的分布式actor系统的问题. Akka是基于
Erlang模式,所以他们不会寻找五十九个正常运行时间,而是九十九次的运行时间
在全系统负载下.
与此同时,akka是如此轻松轻便
可以在Android上使用它.你会尝试在Android上运行Java EE吗?
https://github.com/gseitz/DiningAkkaDroids

要清楚,也许十年前,Java EE是如何构建的问题的答案
大型企业级软件,一旦Spring已经可以使用,那当然可能是最好的解决方案.
今天,世界已经发生了很大的变化,大部分的老答案都不符合今天的现实.斯卡拉,不完美,但如果真的归结为一条线,那就是这样的:

在scala中,我在几分之一的时间内完成了我的实际编程
并且容器设置将占用.

即使是Spring,作为Java EE的选择框架正在朝着scala方向发展:

http://blog.springsource.org/2012/12/10/introducing-spring-scala/

从开始,Akka的概念和最佳实践,有一个方便
书叫“Akka Essential”

http://www.akkaessentials.in/2012/12/adding-turbchargers-to-jee-apps.html

原文地址:https://www.jb51.cc/java/122164.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐