J2EE Architecture(2)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596037 J2EE Architecture(2)1、架构术语架构师要有艺术家的风范。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596037

J2EE Architecture(2)


1、架构术语
架构师要有艺术家的风范。
事实证明,在任何情况下,都有必要将技术与艺术巧妙的融合在一起。
企业解决方案的架构师与其它行业或技术领域的架构师没什么不同。架构师独立于技术看问题,站在中立的角度透视系统,并注重系统组件和组件行为的抽象表示。架构师的语言独立于任何特定厂商或技术实现。
企业架构师使用一些独立于厂商的标准术语描述企业系统。部分术语如下:
1)抽象(Abstract):是事务标记,它隐藏细节,在设计中重复使用,是一种清楚的表示法。
2)边界(Boundary):指两个对象的交互区域。
3)脆度(Brittleness):指细微变化对更大系统部分的破坏程度。
4)能力(Capability):除“功能”外的能力,是“能看到”的系统质量,如可靠性和可用性等。
5)摩擦(Friction):指两个组件交互时的交互程度。
6)分层(Layering):指分离的层次结构。
7)表面(Surface Area):指将功能或方法呈现给客户端的应用程序部分。
2、架构师和设计师
1)“架构师”不考虑任何厂商专用的工具或应用程序,在概念级别处理企业问题。
架构解决方案是企业解决方案的高级表示;用矩形框等图形集表示工件,用连接的线段表示交互。
2)“设计师”研究架构师创建的“架构”细节,利用架构师建议的框架,在实现级别进行详细分析。
3)架构师必须提供足够细节,以方便设计人员和编程团队理解和实现。架构师向团队阐明“企业应用程序质量”需求;设计师的产品不仅要满足企业的“功能”需求,还要满足“企业应用程序质量”需求。
4)设计师制作设计工件,如UML(Unified Modeling Language)图,编程团队将利用这些图形实现解决方案。
5)在很多企业应用程序中,架构师可能同时担当设计师角色。
3、架构方法
架构师基于多个重要构件创建架构。如下:
1)“企业应用程序质量”和“设计目标”
“企业应用程序质量”和不涉及功能,指“能看到”的系统质量,对企业具有决定性的影响。
“企业应用程序质量”包含多个元素,如:
 (1)性能
 (2)可靠性
 (3)安全性
 (4)可用性
 (5)易管理性
 (6)可访问性
 (7)灵活性
 (8)可移植性
 (9)互操作性
有必要指出,这些质量需求与上下文有关,而且有些质量需求本质上“互相冲突”,任何企业解决方案都是各项“企业应用程序质量”折衷的结果。
“设计目标”有助于将“企业应用程序质量”运用于企业解决方案,如下的设计目标:
 (1)模块化
 (2)组件扩展性
 (3)合约等
2)流程和工件
“流程”是一系列有序步骤,有助于获得所需的解决方案。流程的输出是架构“工件”。
为便于与开发人员交流,有必要在这些工件中使用UML图。
企业解决方案通常十分复杂,且开发的应用程序不能满足动态需求,原因有以下几点:
 (1)业务瞬息万变;
 (2)业务规则全部或部分使用人工流程,将人工流程作为企业解决方案的一部分;
 (3)虽有上好的解决方案,但无法实现,它超越了应用程序和解决方案提供商的能力范围。
架构师需要确认和识别以下3种限制:
 (1)假设(Assumption)
一个应用程序不可能适用于所有企业环境,也即,应用程序的开发只有基于某些前提条件,才能使解决方案达到“有效”和“有用”的目的。这些前提条件称为假设。
假设可能有很多种,架构师要清晰地列出这些前提条件,将它们作为交付品的一部分。
架构师不能想当然地认为客户已了解假设,而应让客户和利益相关方了解一系列假设。例子如下:
 (1.1)解决方案仅在基于Windows/Intel平台的LAN企业网络上开发和交付。
 (1.2)由于解决方案在企业内部网实现,故不必执行更多安全检查。
 (1.3)企业应用程序用户的数量有限,对性能要求不高,故将应用程序部署在低端服务器即可。
 (2)风险(Risk)
风险使开发应用程序期间一些可能的重要情形带来的成本风险。企业可能遇到各个级别的风险,如应用程序开发级别、部署级别和应用程序运行时风险,也可能遇到政治风险。例子:
 (2.1)安全漏洞;
 (2.2)不可抗力;
 (2.3)依赖于专用系统/服务/格式/组件;
 (2.4)计算机病毒等引发系统故障。
 (3)约束(Constraint)
约束是规则和前提条件,在企业应用程序开发、部署、实现和运行阶段,都要满足约束的要求。
约束可能是业务规则,也可能是客户制定的、不在架构师控制和理解范围内的规则。
例子:
 (3.1)支持现有的多信息客户端;
 (3.2)在IBM AIX RISC工作站和Apple Macintosh系统上部署应用程序;
 (3.3)企业解决方案与现有的OLAP应用程序交互;
 (3.4)将HTML页面上不安全的静态内容外包出去;
 (3.5)将事务扩展到大型机和遗留系统的数据库。
3)通信机制
架构师利用架构原理、经验和专长,为指定的企业应用程序规划合乎质量标准的架构。
架构师需要选择若干种通信媒介/协议来驱动解决方案,企业常用的一些重要通信机制如下:
 (1)HTTP/HTTPS协议
 (2)RMI/IIOP
 (3)面向消息的通信
 (4)专用通信协议
4、架构技术
架构师需要精通:
1)分布式技术
2)客户机/服务器技术
3)大型机和遗留系统
4)分布系统使用的通信机制
5)事务处理和隔离级别
6)诸如XML、SOAP、WSDL和UDDI的WEB服务技术
7)JAX-RPC、JAXR和SAAJ等技术

 

目录
相关文章
|
开发框架 Java API
J2EE Specification Level
J2EE Specification Level
109 0
|
Android开发 Java Kotlin
Architecture -- WorkManager
1. WorkManager 1). 简介 其实就是"管理一些要在后台工作的任务, -- 即使你的应用没启动也能保证任务能被执行",WorkManager在底层, 会根据你的设备情况, 选用JobScheduler, Firebase的JobDispatcher, 或是AlarmManager。
904 0
Enterprise Architect学习笔记-EA中关系
Enterprise Architect中定义的关系主要有一下几种: ●Associate(关联):类之间有关联,通常是作为变量存在; ●Aggregate(聚合):类A包含类B或由类B组成;...
1109 0
|
API 容器 开发框架
J2EE Architecture(7)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7) 1、Servlet上下文Web服务器能支持若干Web应用程序。
842 0
|
Web App开发 前端开发 Java
J2EE Architecture(17)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1623122 J2EE Architecture(17) 1、MVC架构MVC(Model-View—Control,模型-视图-控制器)架构,是最早出现的一种架构,用于实现传统架构,如客户机/服务器、分布和Internet架构。
910 0
|
开发框架
J2EE Architecture(18)
J2EE Architecture(18)
694 0
|
Java 测试技术 应用服务中间件
J2EE Architecture(4)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1601797 J2EE Architecture(4) 在Java语言从客户机/服务器环境发展为分布式平台后,J2EE应运而生。
1052 0
|
开发框架
J2EE Architecture(13)
J2EE Architecture(13)
707 0
|
开发框架
J2EE Architecture(15)
J2EE Architecture(15)
749 0
|
数据库 容器 开发框架
J2EE Architecture(14)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1614141 J2EE...
853 0