gpt4 book ai didi

java - 将 Web 应用程序和 native 应用程序指向同一数据库/后端?

转载 作者:行者123 更新时间:2023-11-29 20:02:00 25 4
gpt4 key购买 nike

我正在创建一个带有 Java 后端的 web 应用程序。我打算将它放在 Amazon Web Services 上。

理想情况下,在未来,我想创建一个原生 Android 应用程序,它具有与 Web 应用程序相同的功能。

如何实现我当前的应用程序,以便 Native AppWeb App 都可以使用相同后端数据库和服务?

我一直在阅读 Service Orientated Architecture , 这是正确的做法吗?

最佳答案

面向服务的架构 (SOA) 是一种已经存在了一段时间的方法,它肯定能满足您的要求。但是,我要提醒您,当您搜索有关 SOA 的信息时,您将遇到许多“企业”设计,这对于您正在进行的开发类型来说确实是过大的杀伤力。

一般来说,我只建议您关注以下几点:

  • 将您的用户界面 (HTML/JS/CSS) 放在独立于 Java 后端的项目中。这种做法将迫使您将 UI 和后端问题分开。
  • 让您的后端公开一个通过 HTTP/HTTPS 发送和接收 JSON 的 API。
  • 使您的后端服务无状态。使用 JSON 网络 token 进行身份验证是实现此目的的好方法(我喜欢为此使用 Auth0)。换句话说,不要依赖 HTTP session 从您的 Java 代码中跟踪您的用户。这样做的额外好处是让您的应用程序真正易于扩展。

如果您执行了这些操作,那么在构建 Android 应用程序时,您根本不需要接触后端。您只需在 native Android 中再次实现 UI。


由于您使用 AWS 标记了这个问题,我假设您计划在 AWS 上实现您的后端。如果是这样,我强烈建议您考虑使用亚马逊的 API Gateway服务。该服务位于您的 UI 层和后端之间。这提供了几个优势,例如速率限制和缓存以保护您的 API 免受 DDOS 攻击,一个可选的 API key 以增加安全性,以及 API 版本控制以帮助您在不破坏现有客户端的情况下部署新版本的 API。此外,通过使用 API 网关服务定义您的 API,您可以为您的 API 生成一个 SDK,以便在 JavaScript、Android 和 iOS 中使用。

使用 API 网关的另一大优势是它允许您将后端分解为单独的服务器、Lambda 函数等。这提供了极大的灵 active ,我怎么强调使用 AWS Lambda 的能力都不为过在您的后端将减少管理工作以及托管成本。这使您能够开始根据 Microservices 考虑您的后端.

关于java - 将 Web 应用程序和 native 应用程序指向同一数据库/后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36133494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com