0

持续集成 2 个并行进程的最佳方法是什么:

  • 设计师团队开发静态 HTML 前端
  • 后端团队开发 Java Spring MVC 后端

问题是:

  • 设计人员如何在不运行本地 Tomcat 的情况下使用 jsp 测试他们的 UI 更新,包括 OR
  • 后端团队如何从 UI 团队获取更新,而不为每次 UI 更新手动更新 JSP 页面
  • 是否可以在 2 个不同的 git 存储库(一个用于前端,一个用于后端)中创建项目并使用 Jenkins 构建完整的解决方案
  • 什么是从后端(Spring MVC)中分离 UI(HTML)的最佳实践,只需最少的集成工作(最好是与 Jenkins 自动集成)
4

2 回答 2

1

我有一个建议:

集成时实现并行工作和最少工作的步骤:-

1.) 定义从控制器返回的所有 UI 模型、功能和数据模型。

2.)构建单页应用程序(SPA)

3.) 使用来自 UI 的 Ajax 调用与控制器进行交互。

4.) 在控制器中使用 jsonView 将值作为 Json 对象返回。

5.) UI团队使用jetty server(Proxy)在控制器返回时返回虚拟响应,以便他们可以基于模型和dataModel创建UI。

6.)后端团队可以使用之前在任何服务器中定义的dataModel和功能从控制器开发他们的代码。由于控制器返回json响应,他们可以检查浏览器本身的返回值作为json字符串。

所以最后,每当您需要集成时,只需在 ui 服务器中将代理设置为 false。

这是我们在 X 项目上工作的方式。

于 2013-03-07T09:11:18.657 回答
1

将工作划分为两个团队(设计人员和后端)目前并未反映将软件划分为两个组件。这意味着两个团队都太受彼此工作的影响。我可以看到三种方法来解决这个问题。

调整应用程序架构以匹配团队

您可以尝试更改应用程序的架构,将其拆分为两个更符合两个团队的组件。从你的问题的声音来看,这就是你要去的地方。

这对于开发 MVVM 应用程序是最成功的。在 .Net 世界中,设计人员使用 XAML 标记语言和 Expression Blend 工具创建视图,开发人员创建绑定到 XAML 视图的模型视图模型。对于 knockout.js MVVM 应用程序也是如此。

JSP 不适合这个目的,但是如果你正朝着这个方向前进,使用Thymeleaf听起来对我来说非常有吸引力。它的模板是有效的 xhtml 页面。或者,也许您可​​以在 Web 服务器上放置一个 REST 接口,将对象绑定移动到 javascript 并使用 knockout.js 进行 MVVM。

调整团队以匹配应用程序架构

你可以改变团队的组成。将他们合并为一个团队,或者如果人数过多,则创建两个由设计师和后端开发人员组成的团队,让他们处理不同的功能集。通过这种方式,您可以实现开发人员和设计人员之间的更多交互。有更多的时间让开发人员和设计人员坐在同一个屏幕后面对 JSP 进行更改。让开发人员和设计人员讨论每个功能的更改,并找出一种方便的方法来逐个功能地划分这些更改。

保持团队和架构不变,正式移交 让设计人员生成 HTML + CSS,让开发人员将这些工件合并到代码中。一个漂亮而干净的截止点,几乎不需要对团队和软件进行更改。

于 2013-03-09T14:13:56.967 回答