考虑项目的 Portlet 架构 - 这合理吗?
我有一个新的应用程序要编写,而且时间很紧 - 我想概述一下需求以及为什么我考虑使用 Portlet 而不是 Servlet;然而,我没有使用 Portlet 的经验,因此希望有熟悉的人告诉我我是否遗漏了什么,或者我是否注定要花太多时间学习新技术。
项目需求概述:
我需要构建一个系统,允许客户通过我们自己的 UI 构建简单的网站(构建工具必须完全可定制,因为我正在与一个才华横溢的设计团队合作)- 想象一下“简单如 1,2” ,3" 页面构建器,您可以在其中指定模板、内容等。当然,我们还需要准备好处理客户或内部人员可以调整页面的特殊请求。此外,我们将提供与后端系统交互的特殊组件和页面。
- 每个客户网站必须链接到一个单独的域
- 我应该能够创建多个界面来编辑页面和内容 - 以便更高级的用户能够进行更高级的更改
- 没有编程技能的网页设计师可以为站点的外观和感觉创建模板 - 然后开发人员可以添加动态功能
为什么我考虑 Portlet:
当我制定奢侈的设计时,我不断意识到的一件事是,这将很难交付速度越快,交付得越快,我就越有可能把自己逼到墙角。因此,我希望能够单独管理应用程序的各个方面,但只是没有时间这样做(因为创建该系统完全由我负责)。另外,为了保持准时,我需要仔细委派部分项目,如果它完全是自制的,我需要非常小心我委派的内容。然后我发现了“liferay”,这引导我研究 portlet。
所以基本上 Portlet 架构似乎并没有禁止我需要的任何东西,而且我们可以将所有特殊需求添加为热部署的 Portlet - 页面可以创建为 HTML 并使用 Velocity 进行增强 - 如果某些需求发生变化,则有一个标准我已遵守并因此可以更改配置。我什至可能想使用 liferay,因为它几乎可以完成我想要的所有事情(尽管我需要提供一个更简单的页面编辑界面)。
结论:
这就是项目要求,也是我考虑使用 Portlet 的原因,但我不确定它是否真的合适,或者只是看起来合适,对于那些熟悉 Portlet 的人来说,这似乎合理吗? ?
I have a new application to write, and the timeline is tight - I'd like to overview the requirements and why I'm considering Portlets over Servlets; however, I have no experience with Portlets and therefore would like someone who is familiar to let me know if I'm missing anything, or if I'm doomed to spend too much time learning the new technology.
Project Requirements Overview :
I need to build a system that allows clients to build simple websites through our own UI (the building tools must be completely customizable as I'm working with a talented design team) - think of a "easy as 1,2,3" page builder where you specify templates, content, etc. Of course we also need to be prepared to handle special requests where clients or internal people can tweak the pages. Also, we will offer special components and pages that interact with our back-end system.
- Each client website must be linked to a separate domain
- I should be able to create multiple interfaces for editing pages and content - so that more advanced users are able to make more advanced changes
- A web designer without programming skills can create templates for the look and feel of the sites - while developers can then add the dynamic functionality
Why I'm Considering Portlets :
As I drew up extravagant designs, the one thing I keep coming to is realizing, this is going to be difficult to deliver quickly, and the quicker I deliver, the more likely I am to have coded myself into a corner. So I wanted to be able to manage aspects of the application separately, but just don't have the time to do so (since it would be entirely on me to create that system). Also, in order to keep on time, I will need to delegate parts of the project carefully, if its totally home built I need to be REALLY careful what I delegate. Then I found out about "liferay" which lead me to investigate portlets.
So basically the Portlet architecture doesn't seem to prohibit anything I need, plus we can add all our special needs as hot deployed portlets - pages can be created as HTML and enhanced with Velocity - and if some requirements change, there is a standard I've adhered to and therefore can make changes to configuration. I may even want to use liferay as it does nearly everything I want (although I would need to provide a much simpler page editing interface).
Conclusion :
So that's the project requirements and why I'm thinking about going for portlets, but I'm not sure if it's really a fit, or if it just SEEMS like a fit, does it seem reasonable to those of your familiar with Portlets?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您没有提到任何反对采用 portlet 的内容 - 恰恰相反:听起来很合适。
唯一棘手的部分可能是您没有任何 portlet 经验,因此当您学习这个环境时,估计可能会有点偏差,但这适用于您还不知道的每个环境。与 servlet 方法相比,您将开始使用大量开箱即用的功能,因此听起来完全合理。您甚至不需要自己维护此功能...
如果可以,您可能需要考虑在您选择的环境中接受培训,以快速上手。 (您用“liferay”标记了问题,Liferay 在世界各地提供培训 - 免责声明:我为 Liferay 工作)
There's nothing you mention that speaks against adopting portlets - quite contrary: Sounds like a good fit.
The only tricky part might be that you don't have any portlet experience, so estimation will likely be a bit off while you learn this environment, but this would apply to every environment that you don't know yet. Compared with a servlet approach you'll start with quite a lot of functionality out of the box, so it sounds completely reasonable. And you don't even need to maintain this functionality yourself...
If you can you might want to consider getting trained in the environment of your choice to get to speed quickly. (You tagged the question with "liferay" and Liferay offers training all over the world - Disclaimer: I work for Liferay)