在我们的系统中,我们有一个远程 API 层(例如 SOAP、XML-RPC、REST 等)来处理 Web 应用程序和在其之上开发的任何客户端应用程序的域逻辑和数据访问。与过去不同,我在 Web 应用程序中没有业务逻辑代码和数据库连接,所有用户操作都被转换为调用该层的方法。
我担心的是,例如对于页面的呈现,它需要进行大量调用来获取数据,例如带有报告、最近历史记录、一些 portlet 等的用户仪表板。根据我当前的设计(委托逻辑和 DA到远程层),您看到的缺点是什么?我发现通过 HTTP 建立和传输基于文本的数据比 DB 访问更重且更昂贵。此外,必须在远程层进行优化(给定 Web 应用程序的业务逻辑和 DA 代码,您在优化方面具有更大的灵活性)。
我现在正在考虑是否应该创建一个远程“Helper”服务,它允许我将所有调用压缩为一个,也就是说,我不是进行多次调用,而是发送一个带有一组方法名称和参数的调用。它看起来有点难看,这就是为什么我现在仍然对这样做持怀疑态度。
我想知道您对这种架构的看法,如果您使用类似的方式开发了一个 Web 应用程序,那么您过去采取了哪些方法来保证良好的性能?如果还有其他我真正应该担心的问题,也请与我分享。
谢谢!
yc