没有 JavaEE 的 3 层架构

3-tier architecture without JavaEE

问题简述: 是否可以从 2 层逐渐转换为 3 层架构?

原样问题:

我们有一个凌乱的 2 层应用程序。 Presentation 在 php 中,Data 在 Oracle 中,Business Logic 部分在 PLSQL,部分在 JavaSE 中,部分在 Php 中。不可能杀死当前的软件架构师,扔掉所有东西并重新启动 WildFly,例如(不幸的是)

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

我读过一些有关 SOAP 的内容,但是如果 Php 上的网站将通过它启动 getting/sending 所有数据,那将非常麻烦(如我所见)

只是我的意见: 我将在 Java(SE 甚至 EE)中完全重写你的后端。您还可以使用 Hibernate 等 ORM 来访问数据层。我认为最好的工作方式是使用 RESTful 网络服务或 SOAP。 PHP 有许多库(包括 SOAP 扩展),因此您不必担心将 SOAP 与 PHP 一起使用。 读一读: http://php.net/manual/en/book.soap.php

许多 PHP 框架支持 SOAP,这将在重构前端时提供很大帮助。

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