跨多个数据库的Xpages

khs*_*pro 0 xpages

我们刚刚开始,XPages我有以下问题:

我们有一个由几个Notes数据库组成的系统.现在我们都想添加一个XPage,以便可以在浏览器和客户端进行编辑.现在更好的是:XPages从其他数据库中获取带有编程和数据的数据库.所有数据库XPages都通过导航获得并单独处理.

对我来说,性能更好.

Tim*_*ony 11

最佳实践是将每个"应用程序"的所有XPage设计元素存储在单个NSF中.这可以是与某些数据相同的容器,也可以是完全独立的NSF.可是你应该绝对避免被存放在单独的NSF的XPage元素只是因为数据恰好是存储在几个的NSF.

相反,XPage应用程序的内,则数据应始终被视为哲学从用户界面分开,即使它存储在相同的NSF.这种理念使得为应用程序设计现代,直观的用户界面变得更加容易,而不会仅仅根据后端数据的结构限制这些设计决策.

每个NSF的ACL依然兑现,所以如果你,都对每个数据库不同的访问级别,用户将仍然只能够访问的内容,他们都基于包含每条记录的NSF的ACL访问,无论包含XPage设计元素的NSF的ACL.

一个相当具体的性能考虑因素是应用程序范围和会话范围对于包含用户当前正在访问的XPage元素的NSF都是唯一的.因此,如果您的应用程序由6个数据库,例如,你拆分到这些数据库的XPage设计元素,您将无法缓存的配置设置,或其他计算昂贵的查询,在所有的应用程序.相反,如果所有XPage设计元素都在一个NSF中,那么您只有一个应用程序范围.所述用户界面的各部分,因此,可以访问已经由接口的任何其它部分缓存的信息-跨越在该应用内,不仅不同的网页,但跨越用户以及:如果被用于一个用户检索到的数据应该是相同的数据返回给所有用户,缓存它为一个人缓存它.

同样,因为用户将拥有他们访问每个NSF内的不同会话范围内,任何用户偏好(或行为)是适用于应用的各个领域将作为用户导航到不同的NSF遗忘.

在不同的NSF中存储不同的XPage元素只是因为数据所在的位置会消除这些以及其他性能和界面优化的机会.对于那些刚接触这种类型的开发的人来说,分离设计可能会感觉更简单,但最终用户体验必然会受到影响,可能会以他们有意识地意识到的方式.但通常他们会感到困惑和沮丧,无法确切地指出原因.

简而言之,这是确定每个XPage应该在哪里的最佳方法:如果最终用户从一个XPage导航到另一个XPage会认为他们仍然在同一个应用程序中,那么两者都应该在同一个NSF中,无论位置如何每个XPage访问的数据.