无JavaEE的三层体系结构

无JavaEE的三层体系结构,java,migration,3-tier,Java,Migration,3 Tier,简言之,问题是: 是否有可能从2层逐渐转换为3层体系结构 问题是: 我们有一个混乱的2层应用程序表示在php中,数据在Oracle中,业务逻辑部分在PLSQL中,部分在JavaSE中,部分在php中。例如,不可能杀掉当前的软件架构师,扔掉一切,然后用WildFly重新启动(不幸的是) 有可能逐渐开始制作图层吗? 例如,具有业务逻辑的JavaSE应用程序将停止将数据放回SQL,但是Php从JavaSE获取数据的正确方法是什么 我已经读过一些关于SOAP的内容,但如果Php上的网站开始通过它获取/发

简言之,问题是: 是否有可能从2层逐渐转换为3层体系结构

问题是:


我们有一个混乱的2层应用程序表示在php中,数据在Oracle中,业务逻辑部分在PLSQL中,部分在JavaSE中,部分在php中。例如,不可能杀掉当前的软件架构师,扔掉一切,然后用WildFly重新启动(不幸的是)

有可能逐渐开始制作图层吗? 例如,具有业务逻辑的JavaSE应用程序将停止将数据放回SQL,但是Php从JavaSE获取数据的正确方法是什么

我已经读过一些关于SOAP的内容,但如果Php上的网站开始通过它获取/发送所有数据,这将非常麻烦(在我看来)

我的看法是: 我将完全用Java(SE甚至EE)重写您的后端。您还可以使用ORM(如Hibernate)访问数据层。我认为最好的工作方式是使用RESTfulWebServices或SOAP。有许多PHP库(包括SOAP扩展),因此您不必担心在PHP中使用SOAP。 阅读:

许多PHP框架都支持SOAP,在重构前端时会提供很大的帮助


简单地说就是这样。您的前端(php)将调用Java后端业务层,该层将生成所有业务逻辑(您可以在此处移植PLSQL逻辑),然后最终与您的数据层对话。

“不可能杀死当前的软件架构师”?:)让我们回避一件事:历史性的选择将使这一过程变得尽可能繁琐和昂贵,没有简单的出路。您必须在思想上接受这一点,然后重新设计JavaSE并将其重建为RESTful Web服务。我的水晶球告诉我,现有代码的编写并不是为了以任何方式重复使用。长答案,是的,这是可能的,我的建议将首先整理,并决定使用一种语言作为业务层,我的短答案将是运行,如果当前的架构师仍在该项目上工作,以及让该设计发生的团队,我想你在别的地方会更安全。毕竟,肥皂是我最好的选择。我们将进一步了解它。谢谢你的意见!