JSF应用程序:我应该使用微服务吗?如何使用?

时间:2018-07-17 18:25:22

标签: angularjs reactjs jsf java-ee microservices

我有一个使用JSF 2和primefaces开发的Web应用程序。该项目已经冻结了几个月,但是它已经相当先进了,整个应用程序都在玻璃鱼下面的同一个容器中运行,因此它是一个整体。

我的应用程序具有一个用户界面,其目的是使他们能够将教程(任何种类)的url作为卡片(带有用于分类的标签)组织到文件夹中。因此,任何用户都有自己的树,他们可以在其他用户的树中进行研究,在他们自己的树中的文件上创建链接,复制整个文件夹,重新组织等等。

今天,我们听到了很多有关微服务,Spring Boot,Angular Js,react等的信息。我喜欢使用JSF进行开发,这是一个很棒的框架,但我想问自己有关重构我的应用程序,至少是微服务中必要的部分,以及是否适合使用JSF还是我应该使用其他工具。

例如,我喜欢用JSF创建视图,它的组件方法以及它如何处理请求的整个周期。

例如具有简单的文件夹创建形式:

我必须选择父文件夹,因此我可以将研究组件绑定到支持bean,该bean使用DAO在我的数据库中间接进行研究(在我的应用程序中是使用JPA的EJB)。那是在“调用应用程序”阶段发生的,最后用ajax刷新我的表单列表。当我提交表单时,我还可以将转换器绑定到研究组件以直接检索Folder对象,转换器还使用DAO来检索在“调用应用程序”阶段完成工作所需的对象。

我还使用验证器来控制新文件夹的不同属性,通常我会在诸如@NotNull等注释的实体类(文件夹,用户...)中声明它们。在将文件夹保存到数据库之前,我还检查用户权限以查看他是否可以在父文件夹中进行写操作,等等。我在后备Bean内执行此操作,因此在“调用应用程序”阶段,并在发生任何错误的情况下返回Faces消息。

当我了解微服务时,我发现您可以在使用json的表单中直接使用它们进行通信,因此看起来有很大的不同。例如,如果我有用于文件夹的CRUD操作的微服务,则验证程序,转换器是服务的一部分,还是它们的独立服务?那么安全检查呢?这种建筑对我来说很神秘。

ps:英语不是我的母语,所以请放纵:)

1 个答案:

答案 0 :(得分:0)

AngularJs非常古老:)

您必须查看痛点,才能确定拆除整体的方法。整体式的痛苦通常是缓慢而痛苦的开发周期以及艰难的手动测试阶段。如果您完成了整个固定工作,并且与单个按钮部署完全集成在一起,那么您将很难解决这个问题。没有多少人冒着这条路。但是,如果您正在查看带有代码冻结和手动测试周期的安装特性蠕变,那么是的,您有点想尝试将其中的某些特性引入服务中,从而可以快速重新部署