Alfresco中的存储库层VS Web层VS服务器端VS客户端

时间:2014-02-27 07:06:49

标签: alfresco

我对Alfresco的这些条款有点困惑。 存储库层,Web层(Webscripts和模板),服务器端和客户端(Javascript)之间的区别以及它们之间的关系。 例如,Web层Webscript可以是服务器端还是客户端?

1 个答案:

答案 0 :(得分:5)

存储库层:这是你的alfresco.war。这使得Alfresco存储库工作。它还包括一个名为Alfresco Explorer的旧Web客户端,此时此时大多未使用。

分享等级:这是你的分享.war。 Alfresco Share是人们需要进行基本文档管理或团队协作时使用的Web客户端。

这两个都是Web应用程序,因此它们在“Web层”中运行。

Alfresco Web脚本框架用于提供RESTful接口。可能令人困惑的是,存储库层和共享层都包含Web脚本框架。

Web脚本框架是模型 - 视图 - 控制器(MVC)模式的实现。控制器是用服务器端JavaScript或Java编写的。因此,您可以使用Alfresco编写服务器端JavaScript。还有其他地方。

服务器端JavaScript意味着JavaScript完全在服务器上运行,无论是在alfresco.war中运行还是share.war无关紧要。关键是它完全是服务器端 - 没有涉及Web浏览器。

最后,客户端JavaScript是在JavaScript解释器中运行的JavaScript,该解释器内置于客户端计算机上运行的Web浏览器。像今天的大多数Web应用程序一样,Alfresco Share使用了大量的客户端JavaScript。

因此,与Alfresco Share的典型交互可能如下所示:

  1. 浏览器请求页面。共享Web应用程序中的Web脚本框架运行一些服务器端JavaScript,并最终以在浏览器中呈现的HTML页面的形式返回响应。

  2. 在浏览器的页面上,可能会运行一些客户端JavaScript来处理该网页中的处理。

  3. 用户点击导致客户端JavaScript调用在共享Web应用程序中运行的Web脚本的内容。这可能是异步发生的(不会导致整个页面刷新)。

  4. 该Web脚本可以使用服务器端JavaScript编写控制器。如果它需要来自Alfresco存储库的任何数据,它将调用在Alfresco Web应用程序中运行的Web脚本。

  5. 存储库中的Web脚本还可能包含处理请求的服务器端JavaScript,并返回对Alfresco Share中运行的服务器端JavaScript的响应。

  6. Alfresco Share中运行的服务器端JavaScript处理从Alfresco存储库获取的响应,并向客户端返回响应。

  7. 服务器端JavaScript利用Alfresco JavaScript API。客户端JavaScript利用YUI和Dojo等客户端库以及一些特定于Alfresco的客户端库。所以你可能有一个web脚本生成一个包含客户端JavaScript的页面,或者你可能有一个调用服务器端JavaScript的客户端JavaScript,但是你在服务器端和服务器端都没有运行相同的东西。客户端。