【问题标题】:Convert full LAMP stack Laravel application to SAP Hana将完整的 LAMP 堆栈 Laravel 应用程序转换为 SAP Hana
【发布时间】:2021-01-09 05:44:47
【问题描述】:

SAP Hana 可用作任何类型应用程序的替代数据库,包括 Laravel 上的 LAMP 应用程序。

最近,似乎有人通过 XS 引擎和 XSJS 应用程序推动应用程序代码更接近实际数据库。这本质上是一个应用服务器,在 SAP Hana 中为应用程序提供原生服务。

这是两难境地。如果我有一个在 mySQL 上运行的 PHP/Laravel 应用程序,有哪些选项可以通过尽可能少地重写代码来使其尽可能接近原生 UI5 应用程序?

我们需要将应用从 Laravel/LAMP 迁移到使用 SAP Hana 的原因是因为我们的初创公司 TallyfySAP Startup Focus program 的成员。我相信,该计划中有数千家初创公司。这不仅需要将 HANA 用作数据库,还需要在 HANA 容器中添加大量其他控制器/UI 繁重的代码。

【问题讨论】:

    标签: laravel sapui5 hana xsjs


    【解决方案1】:

    我会说,如果这是你想做的,你可能会完全重写。重复使用现有代码可能会带来更多麻烦。

    听起来您可能正在使用 Laravel 的视图和模板,但如果您想要一个 UI5 应用程序,您可能必须转换为使用基于 Laravel 的 API 或其他东西(XS 引擎?River RDE?) UI5 应用访问 API。

    如果您想使用 HANA 作为您的数据库,Laravel 的 ORM 似乎不支持这一点,因此您必须为 Laravel 的 ORM 编写一个连接器,或者在没有 ORM 的情况下直接连接到 HANA。如果你用谷歌搜索的话,有一些关于从 PHP 访问 HANA 的信息。

    当然,HANA 本身并不运行 PHP。我确定您可以将它安装在 HANA 节点上,但这可能不是受支持的配置,因此如果您想使用 Laravel,您仍然希望有一个应用程序服务器通过基于 SQL 的驱动程序与 HANA 通信.

    我的主要问题是您为什么要这样做?您希望从切换到 HANA 中获得什么?为什么要专注于尽可能少地重写代码?

    【讨论】:

    • 添加到您的其他点。我们也使用 Laravel 作为 API,顶部有一个基于 Swagger 的文档层。因此,该层有构建的空间。然而,看来我仍然需要从头开始构建一个 UI5 应用程序才能使用我们的 API,这不利于重用——因为 AngularJS 和 socket.io 用于我们的客户端繁重的 Web 应用程序。关于简单地将应用程序连接到 HANA - 是的,Laravel ORM 的连接器是可能的,并且存在连接到 Hana 的 PHP/ODBC。但是,两者都不适用于该程序,这需要与 HANA 进行“更深入”的集成。
    • 我会询问 SAP 启动程序,他们所说的与 HANA 的“深度”集成是什么意思。如果这是您可以通过 ODBC 连接执行的操作,您可以通过编写 Laravel ORM 连接器然后调用存储过程以进行“更深”集成来实现它。您必须权衡执行此操作的工作量与 SAP 在销售线索方面可以提供的价值量。
    【解决方案2】:

    关键是您在现有的 PHP/Laravel 应用和未来的 HANA/UI5 应用中看到客户端和服务器之间的连接。

    你说

    似乎一直在推动移动应用程序代码 通过 XS Engine 和 XSJS 应用程序更接近实际数据库

    但我会挑战这一点并建议它完全相反,当然取决于上面的连接问题,更一般地说,“应用程序代码”对您意味着什么。 UI5 是一个用于构建应用程序的工具包,这些应用程序在浏览器中运行并返回服务器以实现数据持久性和其他业务功能。这条线肯定是模糊的,但我想说您正在寻找一种使用 HANA/UI5 的更重客户端的方法(这是正确的)。

    因此,考虑到这一点,我们可以开始解决您的问题,回到我一开始提出的问题 - 现有 PHP/Laravel 应用程序的连接在哪里?该联接的耦合程度如何,或者联接下方的哪些部分可以作为后端即服务 (BaaS) 样式资源在实际和逻辑上重用?

    如果你能回答这个问题,那么你就可以更接近你的问题的答案。

    【讨论】:

    • 感谢您,这似乎是一种更清晰的思考方式。 Laravel 提供一个 JSON API,AngularJS 使用它。这可能是连接点吗?如果是,那么确实意味着整个 UI 层都需要在 UI5 中从头开始编写——这样理解正确吗?
    • API 总是一个潜在的连接点,在这种情况下,它似乎是。我对现有 UI 的了解不够,无法对重写做出明确的评论,但如果你从一种技术转移到另一种技术,我会说,重写问题存在一定程度的必然性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多