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

use*_*076 1 alfresco

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

Jef*_*tts 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存储库获得的响应,并向客户端返回响应.

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