- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个用 JavaEE 编写的非常大规模的服务器端 Web 应用程序(以及与之经典结合的相关技术),并且我决定将其完全迁移到 Akka(以及通常与其结合的相关技术,包括将代码为 Scala)。迁移决定的原因并不重要:假设我必须这样做,仅此而已。
我的问题是:这里要遵循什么策略,旨在优化迁移时间和最终应用程序的可扩展性?
如果问题缺乏细节,我可以提供一些细节,尽管我希望听到不太具体的策略。
最佳答案
这是一个开放式问题。但让我尝试给你一些想法。在使用过 J2EE 以及基于 Play2/Akka/Spray.io (Scala) 的系统后,我可以为您提供以下高级/一般迁移指南。
对系统进行分区:根据功能对当前系统进行分区,并根据其对业务、利益相关者和客户的重要性对其进行排名。可以根据不同的维度(运行时的架构组件、业务特性、开发团队/模块)等进行分区。您还需要找到这些分区之间的依赖关系。
识别候选分区:对分区进行排名后,选择在尽可能多的维度上重叠且耦合量最少的尽可能最小的分区非常有用。如果您的初始架构是模块化的,通常就是这种情况。
实现原型(prototype):采用候选分区并创建提供相同功能的原型(prototype)。现在,根据各种质量属性(性能、可修改性、可扩展性等)评估和比较新功能与旧功能。该原型(prototype)还将为您提供技术风险、挑战和工作量的估计。
创建新架构:我认为此时您应该有足够的输入来创建新架构的第一个版本。还要确定如何在这个新架构中实现其他分区的功能。选择最复杂的分区并尝试将其映射到这个新架构确实是很好的练习,可以大大降低您 future 的技术风险。
展示原型(prototype):尝试将原型(prototype)展示给一小部分用户/利益相关者并获取反馈。使用 REST/pub-sub 接口(interface)解耦原型(prototype)是一个好主意。
迁移计划:为系统的其余部分创建计划和时间表。
如果您提出更有针对性的问题,我可以更具体。
关于java - 将大型应用程序从 JavaEE 迁移到 Akka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27078869/
如标题,带前缀“javaee:”和不带“javaee:”的标签有什么区别。 我发现我们需要使用不带“javaee:”的标签来设置配置,而带有前缀“javaee:”的标签不起作用 例如: de
我意识到这些依赖项是针对 Java servlet 规范进行编译所必需的,等等,但我不清楚它们之间的区别,以及何时应该使用一个而不是另一个。 它们之间有什么区别?一个是另一个的超集吗? java
我想要一个用 maven 构建的 Java JEE6 项目,我想要它标准 所以,我把它放在我的 pom.xml 中: javax javaee-api 6.0 pro
当我在 Android Studio 3.3.1 中更新依赖项时,收到以下错误:Android Studio版本:3.3.1 Gradle 版本:5.4 Caused by: com.android.
首先让我说这不是我的实际情况,但我问这个问题更多是为了我自己的知识并在这里获得其他人的意见。 我使用过 Spring 和 EJB3/JBoss,对于我构建的较小类型的应用程序,Spring(需要时 +
我正在开发一个启动事务、注册一些资源、启动另一个事务并根据先前事务注册的资源执行处理的应用程序。例子是: 注册: @Stateless @LocalBean public class Register
我正在编写一个 JavaEE 应用程序,但遇到以下问题:如果我在其中一个类 (TraceMessage) 中初始化任何新变量并启动该应用程序,我将收到以下错误: java.io.InvalidClas
我是 Java EE 的初学者。今天我尝试按照本教程学习 Java EE: http://netbeans.org/kb/docs/javaee/javaee-gettingstarted.html
我们构建 3 层企业解决方案,通常由多个 webapp 和 ejbjar 模块组成,它们都与数据库对话并具有多个外部集成点。 每个模块通常都需要自己的配置,这些配置可以在解决方案的生命周期内发生变化。
在javaee中Model1模型是以jsp页面为中心的,jsp既要对浏览器的request做出逻辑处理(使用javabean),访问数据库也要显示出相关的页面。 在model1模型中,没有servl
我们在聊天的时候的或者留言的时候,有部分词是不允许发表出来。我们可以采用过滤器实现这个功能。 我们只是简单利用过滤器实现这个过滤的功能,有些地方没写的很全 前台代码:
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我的问题更多的是概念性的,而不是实际的。 我读过 国际奥委会和 迪 ,并且我认为我已经理解了这些概念(IoC比DI更通用,还有其他方法可以实现IoC)。 在所有文章中,当有人说 国际奥委会 ,提到像
我创建了一个javaee应用程序,除其他外,它必须使用朴素贝叶斯执行情感分析。为了使情感算法发挥作用,我们必须首先对其进行训练,因此我想创建一个对象,在服务器启动时处理训练,以避免一遍又一遍地训练。我
我有一个 JSF 页面,它将创建一个新的 Comment。我将该页面的托管 bean 设为 RequestScoped 托管 bean。 @ManagedBean(name="PostComment"
我正在表单中工作,以根据 OpenLDAP 实现登录用户。 我想做一些简单的事情,不依赖于 cointainer,所以我真的不想使用 Wildfly 领域。 我能够制作一个与 OpenLDAP 服务器
我要改写我的 previous question .我们的服务器上有一个网站,由我们的母公司(在全局范围内的台湾)使用 NetBeans 开发。服务器上没有任何内容来自 NetBeans,没有引用、构
有一个servlet 接受来自客户端的文件并将它们存储在一个文件夹中。现在需要列出此文件夹中的文件并创建指向它们的链接(即,单击文件名并从您那里下载)。 现在只输出文本形式的文件列表。如何创建到它们的
我一直在用 Spring MVC 测试一个 Web 应用程序,我目前正在为帐户开发一个编辑器页面。此 JSP 页面能够编辑一个或多个帐户,服务于不同的目的。例如,普通用户可以在此页面上编辑帐户数据。另
我按照本教程使用socialauth库: https://github.com/3pillarlabs/socialauth/wiki/Getting-Started-with-implementin
我是一名优秀的程序员,十分优秀!