Jt —— 面向Java模式的框架 - 编程入门网
Al Galvis
设计模式实现 如前所述,MDP 用于实现和/或促进 Gang of Four (GoF)、DAO 和 J2EE 等知名设计模式的实现。为了解释如何完成该实现,要用到几个模式。同样的概念适用于其他模式的实现。Jt 框架运用这些模式实现高级功能。 Proxy 消息传送设计模式促进 Proxy 的实现。在消息传送范式下,Proxy 主要负责将输入消息转发到真实主体。 图 4. Proxy 的 MDP 实现 Adapter 消息传送设计模式促进 Adapter 的实现。Adapter 的主要用途是实现接收方和发送方之间的消息转换,从而使这些组件互相连接。 图 5. Adapter 的 MDP 实现 Web 服务和透明访问 注意,MDP 发送方和接收方不需要在同一个主机上运行。可以将消息发送到远程组件上。MDP 在这方面不加以限制。使用一个现实类比法,您可以通过电话/互联网对话与同屋内或千里以外的朋友进行通信。MDP 能够处理所有这些场景。您和您的朋友无需关心对话的传输方式(技术、通信协议、安全机制等)。当然,这些对您应该是透明的。 如图 6 所示,消息传送设计模式和前面讨论的其他几个设计模式可联合使用,来实现对远程组件的访问。不管使用的协议和通信技术是什么,MDP 都能够提供对远程组件/服务的透明和安全访问:远程组件被看作本地组件。消息可以通过 Web 服务、REST、EJBs、RMI、HTTP、Sockets、SSL 或任何类似的通信接口进行传输。上面讨论的设计模式通过隐藏与远程 API 相关的复杂性实现该透明和安全访问。 图 6. 对分布式组件/服务的 MDP 透明访问 Jt —— 面向Java模式的框架(4)时间:2010-10-26 IBM Al Galvis为清晰起见,将信使组件和内部 processMessage() 方法从下面的 UML 图中删除。尽管异步消息传送受支持,这里只显示同步消息传送。 代理:消息通过代理被发送到远程组件。 远程适配器:适配器负责通过转化消息与远程 API 连接。 外观:将消息转发到合适的远程组件。它通常也提供安全功能。 再回到我们的现实类比法中,电话公司保留的框架需要某种注册(电话薄)才能定位其他参与者。每个实体都有一个相关的电话号码或 ID。所需要的是一个简单的命名机制。在某些情况下,我们可能需要提供一个城市编码和/或国家编码。邮政服务和您的互联网服务提供商也使用一个相对简单的命名方案。 其他服务提供者利用框架并使用定制的身份验证/授权 机制。例如,您的银行机构利用电话系统且使用 Access Management 机制进行身份验证和授权。我们在获准访问一个账户之前需要提供身份验证信息。 所需的其他框架组件不同于上面概述的那些组件。Facade 组件通常负责安全性(消息传送授权和身份验证)。在将消息转发给接收方之前,Facade 在其上执行解密、授权和身份验证。 图 7. 对分布式组件/服务的 MDP 安全访问 下面是所涉及的组件: MessageCipher:负责解密输入消息并加密回复消息的组件。可配置该组件来使用一个特定加密方案。 Component Registry:允许系统注册并根据 ID 查询组件。 AccessManager:负责授权/拒绝对远程组件的访问。它对收到的每个消息授权并进行身份验证。如果访问管理器不能认证消息,消息就永远不会到达接收方。 框架安全 MDP 可以自然、直观的方式处理安全难题。它提供端到端、不可否认的消息层安全性(与传输层安全相反)。它还可用于选择性加密,因此只有敏感消息被加密。知名的安全机制很适合于 MDP。另一方面,我们的模型不局限于某个消息格式(XML、SOAP 等)。它提供任何消息格式和 REST 式服务。这包括专用和自定义消息格式。 注意,在一个消息传送范式下,大部分安全方面对于消息发送方和接收方都可以是透明的。例如,发送方和接收方不需要过于关心是否使用了安全性且如何实现安全性。框架提供必需的安全性组件和机制(& |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |