软件典型架构课件

上传人:夏** 文档编号:569445842 上传时间:2024-07-29 格式:PPT 页数:70 大小:986.50KB
返回 下载 相关 举报
软件典型架构课件_第1页
第1页 / 共70页
软件典型架构课件_第2页
第2页 / 共70页
软件典型架构课件_第3页
第3页 / 共70页
软件典型架构课件_第4页
第4页 / 共70页
软件典型架构课件_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《软件典型架构课件》由会员分享,可在线阅读,更多相关《软件典型架构课件(70页珍藏版)》请在金锄头文库上搜索。

1、软件典型架构软件典型架构软件典型架构软件典型架构 1/70高级软件工程高级软件工程第二讲第二讲软件典型架构软件典型架构1软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 2/70高级软件工程高级软件工程内内 容容 一、软件架构一、软件架构二、二、OMA三、三、JEE四、四、DNA五、五、SOA六、应用服务器六、应用服务器2软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 3/70高级软件工程高级软件工程人们必须人们必须 不断地不断地提取提取 软件的共性成份软件的共性成份屏蔽屏蔽 系统低层的复杂度系统低层的复杂度 从而从而 在高层保持复杂度的相对稳在高层保持复杂度

2、的相对稳定定 一、软件架构一、软件架构3软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 4/70高级软件工程高级软件工程1、系统软件及发展特点、系统软件及发展特点不断提取共性!不断提取共性!沉淀成为一层软件沉淀成为一层软件保持应用软件的复杂性相对稳定保持应用软件的复杂性相对稳定应用软件应用软件应用软件应用软件操作系统操作系统DBMS操作系统操作系统应用软件应用软件中间件中间件操作系统操作系统应用软件应用软件DBMS4软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 5/70高级软件工程高级软件工程初始状态:硬件初始状态:硬件(ENIAC?ABC!)如何提高算法

3、适应性?如何提高算法适应性?分离出了程序分离出了程序(汇编汇编=)程序程序硬件硬件硬件硬件5软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 6/70高级软件工程高级软件工程初始状态:硬件初始状态:硬件 + 程序程序程序的共性(稳定)成分:程序的共性(稳定)成分: 计算资源管理计算资源管理操作系统操作系统(FMS=)应用程序应用程序产生了:产生了:分离出了:分离出了:软件硬件操作系统$END$RUNData for program$LOADFortran program$FORTRAN $JOB, 10,429754 Typical FMS(FORTRAN Monitor Sy

4、stem) JOB Structure6软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 7/70高级软件工程高级软件工程初始状态:硬件初始状态:硬件 + 操作系统操作系统 + 应用程序应用程序程序的共性(稳定)成分:数据管理程序的共性(稳定)成分:数据管理产生了:数据库管理系统产生了:数据库管理系统(IMS=)分离出了:应用软件分离出了:应用软件操作系统 操作系统 数据存储文件 数据库管理系统 应用程序 7软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 8/70高级软件工程高级软件工程程序的共性(稳定)成分:网络资源管理程序的共性(稳定)成分:网络资源管理产

5、生了:中间件(应用服务器)产生了:中间件(应用服务器)分离出了:业务逻辑(构件)分离出了:业务逻辑(构件)初始状态:硬件初始状态:硬件 + 操作系统操作系统 + 数据库管理系统数据库管理系统 +应用软件应用软件8软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 9/70高级软件工程高级软件工程2、中间件、中间件位于位于 操作系统之上操作系统之上(分布式)应用之下(分布式)应用之下的一层软件的一层软件为网络环境中软件的为网络环境中软件的开发、部署、运行和管理开发、部署、运行和管理 提供支持提供支持框架?框架?9软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 10

6、/70高级软件工程高级软件工程(1)终端仿真)终端仿真/屏幕转换中间件屏幕转换中间件 用以实现用以实现 客户机图形用户接口客户机图形用户接口 与与 已有的字符接口方式的服务器应用程序的互操作已有的字符接口方式的服务器应用程序的互操作(2)数据访问中间件)数据访问中间件为了建立数据应用资源互操作的模式为了建立数据应用资源互操作的模式 对异构环境下的数据库实现联接或文件系统实现联接的中间件对异构环境下的数据库实现联接或文件系统实现联接的中间件(3)远程过程调用远程过程调用中间件中间件程序员方便地编写客户端应用程序程序员方便地编写客户端应用程序 调用位于远端服务器上的过程调用位于远端服务器上的过程中

7、间件分类中间件分类10软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 11/70高级软件工程高级软件工程(4)面向消息中间件)面向消息中间件用来用来屏蔽各种平台及屏蔽各种平台及协议协议之间的特性之间的特性进行相互通信进行相互通信实现应用程序之间的协同实现应用程序之间的协同(5)事务事务(交易)中间件(交易)中间件在分布、异构环境下在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台提供保证交易完整性和数据完整性的一种环境平台(6)对象中间件)对象中间件在分布、异构的网络计算环境中在分布、异构的网络计算环境中将各种分布对象有机地结合在一起将各种分布对象有机地结合在一起

8、完成完成 系统的快速集成系统的快速集成实现实现 对象重用对象重用11软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 12/70高级软件工程高级软件工程 与架构相关 的技术 与质量相关的技术 过程之 间通信 异步数 据通信 松散耦 合通信 客户 /服务器 架构 三层 架构 业务逻 辑构件 数据持 久存储 安全 可靠 时间监测 OMA DCE SOA 对象之 间通信 用户显 示界 面 控制 EJB JSP JPA MQ ORB WS RPC J2EE(DNA)12软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 13/70高级软件工程高级软件工程二、二、OMAOM

9、A:Object Management Architecture 由由 OMG (Object Management Group )提出提出13软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 14/70高级软件工程高级软件工程 世界上最大的计算机工业联盟、非赢利性组织世界上最大的计算机工业联盟、非赢利性组织于于1989年年4月由月由8个公司发起个公司发起目前有目前有800多家成员多家成员 全职工作人员只有一个全职工作人员只有一个20人左右人左右自身不做标准制订和开发工作自身不做标准制订和开发工作仅提供一种组织和机制仅提供一种组织和机制支持支持OMG成员成员进行进行 交流、合作

10、交流、合作制订制订 技术规范技术规范开发开发 符合标准的商用产品符合标准的商用产品两个重要的基石:面向对象方法、商业可用性两个重要的基石:面向对象方法、商业可用性OMG: (对象管理组织对象管理组织)CORBA = UML = MDA14软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 15/70高级软件工程高级软件工程OMG的组织结构的组织结构Board of Directors(BOD)Platform Technology Committee(PTC)Domain Technology Committee(DTC)Architecture Board(AB)Task Fo

11、rce(TF)Special Interest Groups(SIG)Task Force(TF)Task Force(TF)Special Interest Groups(SIG)Special Interest Groups(SIG)15软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 16/70高级软件工程高级软件工程OMG技术采纳过程:技术采纳过程:RFIRFPSpecificationSpecificationSpecificationeveryonePart of membersTF起草DTC或PTC发行TF起草AB评审DTC或PTC发行TF评估、推荐AB评审DTC

12、或PTC批准BOD批准16软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 17/70高级软件工程高级软件工程总线总线计算机硬件中的模块及互联方式:计算机硬件中的模块及互联方式:17软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 18/70高级软件工程高级软件工程Object Request BrokerObject ServicesApplication InterfacesDomain InterfacesCommon FacilitiesOMA:Object Management Architecture18软件典型架构课件软件典型架构软件典型架构软件典

13、型架构软件典型架构 19/70高级软件工程高级软件工程ORB:“Object interoperate bus”Object Request BrokerORB CoreORB CoreORB Core19软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 20/70高级软件工程高级软件工程20软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 21/70高级软件工程高级软件工程Services:“Abstractions for Classic System-Programming Functionality”Object Request BrokerTradin

14、gTradingEventsEventsSecuritySecurityNamingNamingLifecycleLifecycleTransTrans-actionsPersis-Persis-tencetence21软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 22/70高级软件工程高级软件工程Facilities:“High Level Services: Domain Specific and Generic”Object Request BrokerSystemSystemMgt.Mgt.FinanceFinanceComp.Comp.Doc.Doc.Teleco

15、mTelecomBus.Bus.ObjectObjectHealthHealth-care-careManuf.22软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 23/70高级软件工程高级软件工程 1994 Relationships Transactions Concurrency Externalization 1993 NamingLifecycle Event Persistent 1995 Security Time Licensing Properties Query 1996 Trading Collections 2000 Enhanced View of

16、Time Notification 计划: Archive Backup/Restore Change Management Data Interchange Implem entation Repository Internationalization Logging Recovery Replication COS发布过程发布过程23软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 24/70高级软件工程高级软件工程三、三、DNADNA (Distributed interNet Architecture) is an abstract methodology. It is

17、 a way of designing applications with growth, deployment, and load taken as major considerations. More specifically, DNA is a software application engineering design pattern. It is a solution to a set of common problems that are described in a generic, abstracted enough manner as to enable the appli

18、cation of the pattern in a wide variety of situations. 24软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 25/70高级软件工程高级软件工程25软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 26/70高级软件工程高级软件工程另一种视图另一种视图26软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 27/70高级软件工程高级软件工程Presentation Level27软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 28/70高级软件工程高级软件工程DNA 提供多种表

19、示服务提供多种表示服务开发者可以根据具体情况选择最佳方案开发者可以根据具体情况选择最佳方案HTMLScriptingDHTMLComponentsWin32 API以支持丰富的界面与客户环境以支持丰富的界面与客户环境从手持无线设备到高端工作站从手持无线设备到高端工作站28软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 29/70高级软件工程高级软件工程Business Logic Level29软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 30/70高级软件工程高级软件工程Component Services基于互操作模型基于互操作模型Component

20、Object Model(COM) 增强分布处理功能增强分布处理功能Microsoft Transaction Server (MTS) 目前已发展为目前已发展为COM+通过降低为利用底层系统服务而编写的代码量通过降低为利用底层系统服务而编写的代码量使开发分布式应用系统更为使开发分布式应用系统更为快速快速容易容易廉价廉价30软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 31/70高级软件工程高级软件工程COM+ 服务包括新的或增强的服务包括:服务包括新的或增强的服务包括:Bring your own transaction. COM 构件可以参与由非构件可以参与由非COM+

21、 事务处理环境管理的事务事务处理环境管理的事务 只要它支持只要它支持Transaction Internet Protocol (TIP)Load balancing. 基于构件的应用程序可以以客户透明的方式基于构件的应用程序可以以客户透明的方式在应用程序群中分布工作负载在应用程序群中分布工作负载In-memory database. 内存数据库是一个事务性数据库系统内存数据库是一个事务性数据库系统用以支持对数据的快速访问用以支持对数据的快速访问31软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 32/70高级软件工程高级软件工程Messaging ServicesMicro

22、soft Message Queue Server 提供提供松耦合、可靠的通讯服务松耦合、可靠的通讯服务通过实现通过实现 push 风格的商务事件方便了应用系统的集成风格的商务事件方便了应用系统的集成在不可靠、代价低的网络上建立起可靠的应用系统在不可靠、代价低的网络上建立起可靠的应用系统Microsoft Message Queue Server 还提供了还提供了与其它消息队列产品的无缝连接与其它消息队列产品的无缝连接例如:例如:IBMs MQSeries等等32软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 33/70高级软件工程高级软件工程Web Application

23、ServicesInternet Information Server (IIS) 可用于可用于开发基于开发基于Web的商务应用系统的商务应用系统这样的系统便于扩展、便于部署这样的系统便于扩展、便于部署作为作为IIS技术之一的技术之一的Active Server Pages(ASP) 具有具有语言中立语言中立编译省缺编译省缺 的特点的特点是服务器端脚本环境是服务器端脚本环境用于创建、运行动态且交互的用于创建、运行动态且交互的Web服务器应用程序服务器应用程序利用利用ASP脚本及其它协调构件构造的应用程序脚本及其它协调构件构造的应用程序可以与现有的系统、应用程序及数据协同工作可以与现有的系统、应

24、用程序及数据协同工作33软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 34/70高级软件工程高级软件工程Data Level34软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 35/70高级软件工程高级软件工程Universal Data Access 提供对各种信息资源的高性能访问提供对各种信息资源的高性能访问包括关系、非关系数据包括关系、非关系数据提供独立于工具与语言的编程接口提供独立于工具与语言的编程接口Universal Data Access 基于开放的工业规范基于开放的工业规范得到了工业界及数据库厂商的广泛支持得到了工业界及数据库厂商的广泛支持

25、35软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 36/70高级软件工程高级软件工程DNA中基于中基于Universal Data Access的框架包含两层:的框架包含两层:在系统层:在系统层:OLE DB 定义了一个基于构件的体系结构定义了一个基于构件的体系结构封装了各种数据库管理系统服务封装了各种数据库管理系统服务OLE DB 不对数据源进行约束不对数据源进行约束在应用层:在应用层:ActiveX Data Objects (ADO) 提供了高层接口提供了高层接口使开发者可以从任何编程语言访问数据使开发者可以从任何编程语言访问数据在每一层:在每一层:eXtensibl

26、e Markup Language (XML)使开发者使开发者可以在应用程序客户之间进行可以在应用程序客户之间进行描述、交付、交换结构化数据描述、交付、交换结构化数据XML 也可以在服务器之间进行结构化数据的传送也可以在服务器之间进行结构化数据的传送36软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 37/70高级软件工程高级软件工程四、四、J2EElJava 2 Platform Enterprise Edition(1.2)lJAVA: Language Runtime(virtual machine)Platform :J2SE J2EE J2ME 背景背景37软件典型

27、架构课件软件典型架构软件典型架构软件典型架构软件典型架构 38/70高级软件工程高级软件工程nJavaTM 2 Platform, Standard Edition (J2SETM) J2SE 为构造并部署网络为核心的企业应用系统为构造并部署网络为核心的企业应用系统提供一个完整的、安全的基础,其范围从提供一个完整的、安全的基础,其范围从PC桌面到桌面到工作组服务器工作组服务器。 J2SE 包括:包括:Java 2 (SDK), Standard Edition and Java 2 Runtime Environment, Standard Edition38软件典型架构课件软件典型架构软件典

28、型架构软件典型架构软件典型架构 39/70高级软件工程高级软件工程n JavaTM 2 Platform, Enterprise Edition (J2EE) J2EE是是Java 2平台的一个完整版本,将业务紧要平台的一个完整版本,将业务紧要(Mission Critical)的企业应用系统推向任何的企业应用系统推向任何 web 浏览器。浏览器。 J2EE将将SUN公司的多种技术集成到一个体系结构中,并公司的多种技术集成到一个体系结构中,并提供了一种应用程序编程模型、兼容性测试套件,以降低开发提供了一种应用程序编程模型、兼容性测试套件,以降低开发网络软件的复杂性与代价。网络软件的复杂性与代价

29、。39软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 40/70高级软件工程高级软件工程nJavaTM 2 Platform, Micro Edition (J2ME) J2ME是端到是端到端(端(end-to-end)的)的Java 技术,适于技术,适于正在增长的消费类与嵌入式市场。正在增长的消费类与嵌入式市场。 J2ME 是一个被高度优化的运行环境,以下列消费类是一个被高度优化的运行环境,以下列消费类产品为目标:产品为目标:pagerscellular phonesscreenphonesdigital set-top boxes 以及以及 car navigation

30、systems40软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 41/70高级软件工程高级软件工程总体结构总体结构41软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 42/70高级软件工程高级软件工程J2EE 支持支持4类构件:类构件:Application clientsAppletsServlets and JSP pagesEnterprise JavaBeans包含的构件包含的构件42软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 43/70高级软件工程高级软件工程容器为应用构件提供了运行态支持容器为应用构件提供了运行态支持在在J

31、2EE服务与应用构件之间增加一个服务器,使得容器服务与应用构件之间增加一个服务器,使得容器可以透明地利用构件的部署信息(可以透明地利用构件的部署信息( deployment descriptors )获取)获取J2EE服务提供的功能。例如:事务管服务提供的功能。例如:事务管理、安全检查、资源缓冲、以及状态管理等。理、安全检查、资源缓冲、以及状态管理等。一个典型的一个典型的 J2EE 产品为每一类的构件提供一种容器:产品为每一类的构件提供一种容器:application client container,applet container,web component container,以及以及

32、enterprise bean container。构件容器构件容器43软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 44/70高级软件工程高级软件工程 一个资源管理驱动器(驱动器)是一个系统级软件构一个资源管理驱动器(驱动器)是一个系统级软件构件实现与外部资源管理器的网络连接。件实现与外部资源管理器的网络连接。 一个驱动器能够扩展一个驱动器能够扩展J2EE平台的功能平台的功能途径为:途径为:实现实现J2EE的一个标准服务接口的一个标准服务接口 API (例如例如 JDBC driver)为一个外部应用系统的连接器(为一个外部应用系统的连接器( connector )定义并

33、实现一个资源管理器驱动器。)定义并实现一个资源管理器驱动器。资源管理器驱动器资源管理器驱动器44软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 45/70高级软件工程高级软件工程J2EE 平台包含可以通过平台包含可以通过JDBC API访问的数据库,用访问的数据库,用于存储业务数据。于存储业务数据。数据库可以从数据库可以从 web components, enterprise beans, 以及以及 application client components 访问访问 但不可以从但不可以从 applets访问访问数据库数据库45软件典型架构课件软件典型架构软件典型架构软件典型

34、架构软件典型架构 46/70高级软件工程高级软件工程J2EE 标准服务标准服务HTTPHTTPSJTARMI-IIOPJavaIDLJDBCJMSJNDIJavaMailJAFConnectorJAXPJAAS46软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 47/70高级软件工程高级软件工程HTTPHTTP client-side API 由由 package 定义。定义。 HTTP server-side API 由由 servlet and JSP 接口定义。接口定义。HTTPS支持支持HTTP的上述接口同样支持基于的上述接口同样支持基于SSL协议的协议的HTTP。

35、47软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 48/70高级软件工程高级软件工程nJava Transaction API (JTA) Java Transaction API 包括两部分包括两部分: 应用级接口,容器与应用构件用它来声名事务边界应用级接口,容器与应用构件用它来声名事务边界 J2EE SPI级接口,事务管理器与资源管理器之间的接口级接口,事务管理器与资源管理器之间的接口 SPI:service provider interface48软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 49/70高级软件工程高级软件工程nRMI-IIOP 组

36、成组成RMI-IIOP 的的APIs 包括:包括: 独立于底层协议的独立于底层协议的 RMI风格的编程接口风格的编程接口 上述上述API的的实现,支持实现,支持 J2SE RMI protocol (JRMP) 及及CORBA IIOP J2EE 应用系统可以使用应用系统可以使用RMI-IIOP(在(在IIOP协议的支持下)协议的支持下)访问与访问与RMI编程约束兼容的编程约束兼容的 CORBA services49软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 50/70高级软件工程高级软件工程JavaIDL JavaIDL 使得使得J2EE 应用构件可以利用应用构件可以利

37、用IIOP调用外部的调用外部的CORBA 对象对象 这些这些 CORBA 对象可以用任何语言编写,运行在对象可以用任何语言编写,运行在 J2EE 之外之外 J2EE 应用程序可以使用应用程序可以使用JavaIDL,角色为角色为CORBA services的客户的客户 50软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 51/70高级软件工程高级软件工程JDBC JDBC API 是与是与数据库连接的数据库连接的 APInJava Message Service (JMS)JMS是是支持可靠的点对点(支持可靠的点对点( point-to-point )与与发布发布-订阅(订阅(

38、publish-subscribe)消息模型消息模型 的的标准标准API51软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 52/70高级软件工程高级软件工程nJNDIJNDI API 是是命名与目录访问的标准接口,用于定位构件命名与目录访问的标准接口,用于定位构件包含两部分:包含两部分: 应用构件访问命名与目录服务时使用的应用级接口应用构件访问命名与目录服务时使用的应用级接口(API) 提供增加命名与目录服务时使用的服务提供接口提供增加命名与目录服务时使用的服务提供接口(SPI)52软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 53/70高级软件工程高级

39、软件工程nJavaMail 许多许多Internet 应用程序需要发送应用程序需要发送email的的能力,因此能力,因此J2EE 平平台包含台包含 JavaMail API 及及JavaMail SPI,使得应用构件能够发使得应用构件能够发送送Internet mail。nJavaBeans Activation Framework (JAF) JavaMail API 所所使用的一种功能使用的一种功能53软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 54/70高级软件工程高级软件工程Java API for XML Parsing (JAXP)JAXP 为为工业标准工业标

40、准 SAX 与与 DOM 提供支持提供支持以以 parsing XML 文档文档SAX:The Simple API for XMLevent-based APIDOM:Document Object Model tree-based API 54软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 55/70高级软件工程高级软件工程J2EE Connector Architecture Connector architecture 是将访问是将访问EIS(Enterprise Information Systems )的资源适配器插装到任何的资源适配器插装到任何J2EE产品中的产

41、品中的 J2EE SPI Connector architecture 定义了定义了J2EE 服务器与资源适配器之服务器与资源适配器之间的系统级合约(间的系统级合约(Contract) 包括:包括:J2EE与外部资源的连接管理合约与外部资源的连接管理合约事务管理器与事务管理器与EIS的事务管理合约的事务管理合约访问访问EIS的安全管理合约的安全管理合约55软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 56/70高级软件工程高级软件工程Java Authentication and Authorization Service (JAAS) JAAS 提供用户认证及授权服务提供

42、用户认证及授权服务 JAAS 提供了提供了 PAM (Pluggable Authentication Module) 框架标准的框架标准的Java版实现版实现 并扩展了支持基于用户授权的访问控制结构并扩展了支持基于用户授权的访问控制结构56软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 57/70高级软件工程高级软件工程五、五、SOAService Oriented Architecture: 面向服务的架构面向服务的架构 Gartner 1996 年最早提出年最早提出应用程序是通过组合一些松耦合并且具有统一接口定义应用程序是通过组合一些松耦合并且具有统一接口定义方式的服务

43、而构建起来的方式的服务而构建起来的 更加关注业务流程更加关注业务流程而不仅仅是底层的而不仅仅是底层的IT基础结构基础结构松散耦合、集成之星松散耦合、集成之星从购买软件到订阅、定制服务的转变!从购买软件到订阅、定制服务的转变!57软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 58/70高级软件工程高级软件工程SOA是一种架构模型是一种架构模型根据需求通过网络对松散耦合的粗粒度应用组件进行分布式根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用部署、组合和使用服务层是服务层是SOA的基础,可以直接被应用调用,从而的基础,可以直接被应用调用,从而 有效控制有效控

44、制系统中与软件代理的人为依赖性。系统中与软件代理的人为依赖性。SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义适配器进行通讯,不涉及之间通过简单、精确定义适配器进行通讯,不涉及 底层编程底层编程适配器和通讯模型适配器和通讯模型 Web 服务并不是实现服务并不是实现 SOA 的惟一方式的惟一方式 RPC、CORBA也是实现方式也是实现方式58软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 59/70高级软件工程高级软件工程客户客户/ /服务请求者服务请求者服务提供者服务提供者 注册请求/应答查找基本结构

45、:基本结构:服务信息注册库服务信息注册库59软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 60/70高级软件工程高级软件工程六、应用服务器六、应用服务器支持构件技术、中间件技术支持构件技术、中间件技术实现实现J2EE、DNA结构结构“ To Bean or Not to Bean?”60软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 61/70高级软件工程高级软件工程应用服务器的纵向位置应用服务器的纵向位置操作系统操作系统 应用应用 应用服务器应用服务器 61软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 62/70高级软件工程高级软件工

46、程应用服务器的横向位置应用服务器的横向位置 应用服务器 数据库服务器 因特网 浏览器 浏览器 浏览器 应应用用层层 系系统统层层 显示代码 逻辑代码 数据 62软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 63/70高级软件工程高级软件工程应用服务器的功能应用服务器的功能 构件运行环境构件运行环境应用服务器应用服务器一般通过一般通过构件容器构件容器为为构件构件提供基本的运行环境提供基本的运行环境具体功能包括:具体功能包括:管理管理构件构件的生命周期的生命周期管理构件的实例管理构件的实例管理构件的元信息等管理构件的元信息等提供构件运行环境提供构件运行环境提供互操作机制提供互操

47、作机制提供公共服务提供公共服务 63软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 64/70高级软件工程高级软件工程 互操作机制互操作机制这是针对分布性、异构性所提供的功能这是针对分布性、异构性所提供的功能所有的所有的应用服务器应用服务器皆提供了很强的高层通信服务皆提供了很强的高层通信服务以屏蔽以屏蔽节点的物理特性节点的物理特性以及各节点在处理器、操作系统等方面的异构性以及各节点在处理器、操作系统等方面的异构性具体功能包括:具体功能包括:业务层与表示层之间的通信业务层与表示层之间的通信业务层与数据层(含遗留系统)之间的通信业务层与数据层(含遗留系统)之间的通信业务层内部公共

48、服务与应用层之间的通信业务层内部公共服务与应用层之间的通信以及业务层内部构件之间的通信以及业务层内部构件之间的通信等等等等64软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 65/70高级软件工程高级软件工程 公共服务公共服务应用服务器应用服务器提供的主要提供的主要公共服务公共服务包括:包括:查找服务查找服务事务服务事务服务安全服务安全服务以及:以及:消息服务、集群服务、目录服务、日志服务、邮件服务等消息服务、集群服务、目录服务、日志服务、邮件服务等对于面向领域的对于面向领域的应用服务器应用服务器还可以提供更多的与领域业务密切相关的领域还可以提供更多的与领域业务密切相关的领域

49、公共服务公共服务65软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 66/70高级软件工程高级软件工程根据开发组织的背景,可以将现有的根据开发组织的背景,可以将现有的应用服务器应用服务器产品进行如下划分:产品进行如下划分: 中间件厂商开发的产品中间件厂商开发的产品例如:例如:BEABEA公司开发的公司开发的WebLogicWebLogicIONAIONA公司开发的公司开发的iPortal ApplicationServeriPortal ApplicationServer等等数据库厂商开发的产品数据库厂商开发的产品例如:例如:OracleOracle公司开发的公司开发的 Or

50、acle 9i Application Server Oracle 9i Application Server等等操作系统厂商开发的产品操作系统厂商开发的产品例如:例如:IBMIBM公司开发的公司开发的WebsphereWebsphereSUNSUN开发的开发的SUN ONE Application ServerSUN ONE Application ServerMicrosoftMicrosoft公司开发的以公司开发的以MTSMTS为核心的系统为核心的系统开发工具厂商开发的产品开发工具厂商开发的产品例如:例如:InpriseInprise公司开发的公司开发的Borland Applicati

51、on ServerBorland Application Server等等产品分类:产品分类:66软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 67/70高级软件工程高级软件工程其它大量由独立开发组织完成的产品其它大量由独立开发组织完成的产品例如:例如:JBOSSJBOSS组织开发的组织开发的JbossJbossOpenEJBOpenEJB组织开发的组织开发的OpenEjbOpenEjbObjectWebObjectWeb开开发的的JonasJonasIronflare ABIronflare AB开发的开发的OrionOrionMacromediaMacromedia开发

52、的开发的JRUN JRUN 等等等等国内在国内在应用服务器应用服务器的研究与开发上也取得了显著的进展的研究与开发上也取得了显著的进展国家国家863计划支持了若干与应用服务器密切相关的项目计划支持了若干与应用服务器密切相关的项目北京大学自行开发的北京大学自行开发的PKUAS在支持在线演化、支持多互操作协议等方面具有明显特色在支持在线演化、支持多互操作协议等方面具有明显特色金蝶公司发布了金蝶公司发布了Apusic东方通公司发布了东方通公司发布了TongWeb 等等等等67软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 68/70高级软件工程高级软件工程PKUAS的结构的结构符合符

53、合J2EE1.3/EJB2.0标准标准EJB容器容器标准标准J2EE服务服务标准互操作协议标准互操作协议支持多种平台支持多种平台LinuxWindows应用开发与部署应用开发与部署Eclipse插件插件组装部署工具组装部署工具定制与扩展定制与扩展容器、协议、服务、容器、协议、服务、工具工具68软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 69/70高级软件工程高级软件工程未来:未来:尽管尽管应用服务器应用服务器处于不断发展之中处于不断发展之中与应用软件相比它仍然是相对稳定的与应用软件相比它仍然是相对稳定的这是系统软件所具有的一般特性这是系统软件所具有的一般特性尽管新技术、新

54、需求令人应接不暇尽管新技术、新需求令人应接不暇但几乎所有的系统都需要但几乎所有的系统都需要系统软件系统软件的支持的支持新技术的出现新技术的出现 会对系统软件提出新的需求会对系统软件提出新的需求 并进行适当的扩展、调整并进行适当的扩展、调整但这些变化不会改变系统软件的基本功能但这些变化不会改变系统软件的基本功能新技术、新需求的出现不会替代新技术、新需求的出现不会替代应用服务器应用服务器 不仅如此,它们的实现通常需要不仅如此,它们的实现通常需要应用服务器应用服务器的支持的支持69软件典型架构课件软件典型架构软件典型架构软件典型架构软件典型架构 70/70高级软件工程高级软件工程问问 题题 什么是中间件?什么是中间件?中间件目前的发展状况如何?中间件目前的发展状况如何?70软件典型架构课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号