欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(七)

程序员文章站 2022-04-11 22:34:03
...

Web Service中转:暴露可通过XML和web协议访问的服务,并将对服务的请求转发给真实的服务组件。通常有许多Web Service是不希望暴露出来的,有时有一些服务又需要聚合起来使用,这时候就需要Web Service中转。在使用中转前的Web Service需要被改造,以支持中转的接口(例如一个本地接口)。这个模式和Facade很类似,只不过它的定位放在了远程接口上。

 

微架构:一组被同时使用的模式,用于实现系统中的一个特定部分(子系统)。每一个微架构是独立和内聚的积木块,由它们构成整个系统的架构。微架构有多种形式,比如Web Worker工作流。

工作流可以把业务逻辑和过程逻辑分离开,使得关注点和阶段清晰和分散。本人当前参与的项目是一个较大的Web项目,处于整个解决方案的前端,但是里面并未明确提及工作流(尽管在解决方案的后端,计费部件和内容管理部件中明确定义和使用了)。首先要说的是,作为一个展现部件,对于用户操作的过程中个,并不适合具备过多的用户交互途径,通常也不会有特别繁杂的业务逻辑;但是倘若整个项目的内容使用部分流程过于复杂,完全可以引入工作流的思想解决问题。

以一个展现系统中播放的内容使用的流程为例,第一次交互行为prePlay,发起播放行为,系统给用户返回一个产品确认页面;用户确认并发起第二次交互行为play,系统给用户完成订购操作并生成播放的rtsp链接回送给用户;第三次用户使用此rtsp链接和播放系统交互。这三次主流程的交互中,所有交互行为都由用户出发(这是通常是展现系统的工作流步骤中的特点),并且只有前两步和展现系统相关。每一个步骤都具备独立的拦截器栈,相应的Action-Service-DAO方法。在某些业务复杂的系统中,工作流的步骤是可以自定义的,即用户可以自行组装工作流——这样的定制属于纵向业务流程的定制,与横向的API调用的定制相异

通常我们使用request-session-application这样三类容器管理当前数据,但是在request scope(一次交互的数据存放)和session scope(用户会话数据存放)对象之间,还可以引入flash scope(N次交互的数据存放,由拦截器管理,见我另一篇blog)和work flow scope(一个完整业务流程的数据存放,由工作流引起管理)对象

(完)

 

文章系本人原创,转载请注明作者和出处