解析UML中的组件图与部署图
组件图
组件图提供系统的物理视图,它的用途是显示系统中的软件与其他软件组件(例如,库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。
组件图提供系统的物理视图,它的用途是显示系统中的软件与其他软件组件(例如,库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。
WEB服务器、应用程序服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的(有没有支持除HTTP之外的协议的web服务器,作者没有考证过),说的是一回事。
应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。
就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑
(business logic)。
以Java EE为例,Web服务器主要是处理静态页面处理和作为
Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、
JNDI和JMX API等J2EE
API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。
以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。
综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署.
POJO是一个简单的、正规Java对象,它包含业务逻辑处理或持久化逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
事实上“轻量级”与“重量级”并没有确切的定义。轻重量级之分应当考虑如下几个方面:
Spring相对于EJB是轻量级的,但这就好像说大象比鲸轻。
如果你想要运行一个Java
EE应用程序,你不能够简单地创建一个应用并直接运行它本身。需要一个JavaEE服务器来运行应用,例如Glassfish,WebLogic或WebSphere。多数应用服务器都是非常巨大并且复杂的,并不容易安装和配置。
EJB应用启动时要消耗大量的资源,内存、CPU等,把所有的服务都加载进来;Spring则是可定制服务,需要什么加载什么。
数据元是数据单元,是行业领域数据的最小单元
元数据是描述数据的数据,描述数据元如果有10个属性,那么这10个属性就是这个数据元的元数据。
数据元是相对固定的,而元数据则依赖于其描述的数据实体,是相对的,当数据元用来描述它的上级组合实体时,就成为实体的元数据。
核心元数据,是一组同类实体都具有相同值的元数据。
扩展元数据,是一组同类实体具有不同值的元数据。
表,是一组同类实体的存储
昨天在和一个同事讨论新平台中我们是如何开始一个项目的时候,都同意要从业务建模开始。业务建模-Business Modeling 是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,业务建模强调以体系的方式来理解、设计和构架企业信息系统。这方面的工作可能包括了对业务流程建模,对业务组织建模,改进业务流程,领域建模等方面。但在讨论如何进行领域建模时,我们出现了分歧。我建议采用UML图的方式进行领域建模,而同事却提议按照金蝶EAS的做法,以绘制表单界面的方式进行领域建模。
通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系
4+1视图 UML
场景视图 use case
逻辑视图 类图
开发视图 类图,组件图
进程视图 无完全对应
部署视图 部署图
对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。
UML中的图不止九种,甚至相同的图会有不同名称,这里的九种图是被普遍认可的基础图。
UML的九种图分别为:用例图、类图、对象图、状态图、构件图、部署图、协作图、交互序列图、活动图。