SOA Presentation - SOA概念介绍

简介:
前几天正好给实习生做了一次SOA概念的培训,现在按照大纲把部分内容简要的摘出来。大体是一个关于SOA概念的介绍,可能会让人感觉到比较“虚”,但事实上,SOA如果不谈到具体的实现技术,就其概念本身而言确实是一种抽象的、理念上的东西。
SOA Concept
Service Oriented Architecture Concept
SOA是一种分析、设计和实现企业应用的方法 
SOA是一种分布式的应用架构 
SOA以服务为最基本的、可重用的单元 
SOA以业务流程为核心,是对业务逻辑高层次的、粗粒度的抽象 
SOA一般基于某些标准(XML\SOAP\Web Service\SCA\SDO)实现异构系统及服务的集成 
SOA不仅仅是一套构架,其更像是一套设计思想、方法——为解决客户所面临的业务敏捷性问题提供了一套新的解决方法。
SOA Character
松耦合 服务之间的依赖较小 
基于契约的 应用由服务之间定义良好的接口和契约联系起来 
自治的 服务提供商完全控制其所提供的业务逻辑 
抽象的 对服务消费者来说,服务隐藏了具体业务逻辑的实现 
可重用 将业务逻辑划分为多个可重用的服务 
复合的 通过服务的复合完成业务功能 
可发现的 服务是自描述的,基于服务描述去发现和访问服务 
SOA Evolution
Point of view of Business
从业务需求角度看企业应用的发展阶段
信息发布 即传统的Information Management System,在这个阶段最主要的任务是把某一个业务下的信息数据管理起来。 
企业系统的内部整合 当企业内部绝大多数信息系统都已经建立之后,是否能够有效地进行协作和资源整合,成为主要解决的问题。 
企业内部的信息系统与外部环境整合 这包括与供应商、分销商和客户进行整合。 
Point of view of Technique
从技术发展角度看企业应用的发展阶段
从软件架构的角度:
结构化(Structured) 
面向对象(Object Oriented) 
组件(Component) 
服务(Service) 
Why We use SOA – Case, Background…
Case 1 - Why we use SOA?
某天早晨10点,Dell发现很多客户订购的笔记本电脑都要求配备40G的硬盘,如果这样的话,两个小时后,供给链将发出断货信号,并自动地发送给Dell销售部门、公司网站以及所有的订购电话的接线员。
现在的情况是……
如果你正好10点30分向Dell发出订单,公司的销售代表会对你说:“您现在只需要在40G硬盘价格的基础上多支付10美元,就可以得到60G的硬盘的配置。” 
利用这种促销手段,在一两个小时内,Dell可以根据全球供应链的情况快速的、完全的消除这次“供应不足的危机”,同时重新塑造顾客对产品的需求结构。
怎样让企业的业务变得更加灵活,或者说更加敏捷。不难想象,Dell公司已经具备了比较完善的供应链管理系统、财务系统、客户关系系统等IT基础设施,这也说明Dell的企业经营管理已经依赖于IT系统的支撑。今天,绝大多数企业都具备了类似特征。不否认存在一些企业的经营管理还依赖于传统的电话沟通、面对面的洽谈会,但这已经是少数,而且会越来越少。
如今一个企业是否能够让CEO的决策、企业战略的调整、市场方向的重定位等等一系列问题快速变更与执行,几乎都依赖于信息化建设的完善。然而,这种完善程度不仅意味着信息系统在企业内部的覆盖面,更依赖于这些系统之间的协作性与敏捷性。
Case 2 - Why we use SOA?
远洋航运集团规划未来几年内把集装箱的吞吐量提高4倍,集团组织构架从单一结构向多元化、多组织发展,同时业务的数量和新的业务种类将大幅度增长……
遇到这样的变更,你该如何处理?
如果你告诉客户:你们仓储系统需要重新构建,组织构架需要重新建模,人力资源系统需要重新编写,财务系统需要重新编写……
那将会是?
Background - Why we use SOA?
快速多变的市场,多产品组合营销 
快速多变的业务流程 
大量复杂的、不同技术实现的、多厂商跨时期的异构系统存在于企业的各个角落 
系统紧密耦合,缺乏柔性和敏捷度,难以满足业务需求的快速变化 
复用性的问题,企业的信息化投资需要得到保护 
系统间互操作性差,无法实现快速集成 
系统维护的成本问题 
这使得……
企业更关注于关键业务流程域而非底层IT基础架构 
企业希望减少冗余架构,实现跨系统架构集成,有效的利用企业IT资源 
企业和它的客户希望使用基于Internet提供的更标准、更及时、更全面的企业应用服务 
Why we use SOA?
含有业务语义的定义良好的接口 
标准化的通信协议 
通过服务的组合达成系统的柔性  
SOA是提高系统柔性、降低系统复杂性的关键技术
SOA Benefit for Enterprise
(摘自Bea SOA资源网)
针对企业业务流程
效率:将业务流程从"烟囱"状的、重复的流程向维护成本较低的高度利用、共享服务应用转变。 
响应:迅速适应和传送关键业务服务来满足市场需求,为客户、雇员和合作伙伴更高水准的服务。 
适应性:更高效地转入转出让整个业务变得复杂性和难度更小,达到节约时间和资金的目的。 
针对企业IT基础部门
复杂性降低:基于标准的兼容性,与点到点的集成相比降低了复杂性。 
重用增加:通过重用以前开发和部署的共享服务,实现了更有效的应用程序/项目开发和交付。 
遗留集成:用作可重用服务的遗留应用程序降低了维护和集成的成本。 
SOA Architecture
The SOA Layered Architecture
企业应用系统层 
服务组件层 
服务层 
业务流程 
表示层 
Ref. 2006年10月份由OASIS组织发布的SOA参考模型(Reference Model)
可操作系统:表示现有 IT 资产,说明 IT 投资非常宝贵,应该在 SOA 加以利用。 
服务组件:实现服务,可能通过使用“可操作系统”层中的一个或多个应用程序来进行。如模型中所示,使用者和业务流程并不能直接访问组件,而仅能访问服务。现有组件可以在内部重用,或在合适的情况下在 SOA 中使用。 
服务:表示已部署到环境中的服务。这些服务由可发现实体进行治理。 
业务流程:表示将业务流程作为服务编排实现的操作构件。 
使用者:表示用于访问业务流程、服务和应用程序的通道。 
Solution using SOA
The SOA Solution Lifecycle
建模 - 包括业务分析与设计(要求、流程、目标和主要性能指标)及 IT 分析与设计(服务标识和规范)。 
组装 - 包括服务实现和组合应用程序的构建。 
部署 - 包括应用程序和运行时(如企业服务总线——Enterprise Service Buses,ESB)的部署。 
管理 - 包括操作环境维护、服务性能监视和服务策略执行。 
建模 - 组装 - 部署 - 管理 - 建模 - 组装 - 部署 - 管理……
SOA Solution Key Words
业务一致性 - 业务和IT之间更好地进行沟通 
业务组件化 - 具有独特用途的业务组件通过服务进行协作 
业务建模 - 使用IT方法和技术描述、建立业务模型 
业务流程 - 由相关业务项目和数据构成 
行业 - 业务流程可以特定于某个领域或行业 
人工任务 - 业务流程中常常会需要人工交互 
业务流程执行语言 (Business Process Execution Language, BPEL) - IBM、Microsoft 和其他业界企业已经将BPEL作为 Web 服务规范提交 
业务流程管理 (Business Process Management, BPM) - 建模、模拟、优化、部署、运行、管理、监视和改进业务的整个生命周期 
企业应用集成 (Enterprise Application Integration, EAI) - 为了一个完整的业务将各种不同的服务组合在一起 
Technique for SOA
Technique and Criterion Related SOA
SOA的实现应独立于程序开发语言……
XML, XML Schema 
SOAP 
Web Service, WSDL 
Java, C#, C++… 
Axis, Axis2, XFIRE… 
SDO, SCA 
Service Data Object
SDO的产生
最初由BEA和IBM共同发布,正由JSR-235专家组进行标准化以通过JCP(Java 标准化组织)的审核。
什么是SDO?
Java平台的一种数据编程架构和API,统一了不同数据源类型的数据编程。 
提供了对通用应用程序模式的健壮支持,并使应用程序、工具和框架更容易查询、读取、更新和检查数据。 
为SOA架构的数据交换和传输提供统一的标准。 
Service Component Architecture
SCA产生
2005年11月30日,BEA宣布,将与IBM、Oracle、SAP、Iona、Siebel和Sybase一起,支持一种构建和包装应用程序的新规范,即Service Component Architecture(服务组件架构,SCA)
什么是SCA?
是一种开发规范 
为SOA专门设计的编程模型,简化SOA编程 
关注如何描述按照各种不同的编程模型和协议编写的组件所组成的应用集合 
为SOA架构的服务模型定义提供支持 
SOA in China
对比美国:
过去的半个多世纪,美国从主机时代、PC时代,到了现在的网络时代,积累了大量的应用系统。
——美国实现SOA架构关键任务是:对已有系统中的功能进行提取和包装,形成标准的“服务”。
过去中国近30年的IT建设多为生产型系统,服务型系统普遍未开始建设。
——大量“服务”需要全新构造、按照标准化构造才是中国SOA的主要任务!
 

     本文转自胡奇 51CTO博客,原文链接:http://blog.51cto.com/huqicto/280643,如需转载请自行联系原作者




相关文章
|
Unix Shell Linux
赞!优雅的Python多环境管理神器!易上手易操作!
赞!优雅的Python多环境管理神器!易上手易操作!
1154 0
|
JSON 数据格式
易语言 精易模块 操作json数据
作者主页:https://www.couragesteak.com/
易语言 精易模块 操作json数据
|
Ubuntu Linux 网络架构
OpenWRT 的包管理器镜像如何切换成阿里云源?
OpenWRT 的包管理器镜像如何切换成阿里云源?
4085 0
|
Java Maven
IDEA离线使用本地maven仓库
IDEA离线使用本地maven仓库
4536 1
IDEA离线使用本地maven仓库
|
11月前
|
机器学习/深度学习 人工智能 Cloud Native
Anaconda3 2025 深度解析:Python 3.11 + 提速、大模型支持,安装步骤+安装包
Anaconda3 2025 是面向数据科学与AI开发的一站式平台,集成Python环境、包管理与开发工具,支持机器学习、大模型开发及云原生部署,开箱即用,助力高效开发。
2671 2
|
SQL 数据挖掘 Serverless
手把手进行数据分析,解锁游戏行为画像
本文介绍了一套利用阿里云E-MapReduce StarRocks版进行游戏玩家画像和行为分析的完整流程,旨在帮助开发者构建高性能、低成本的游戏数据分析平台。
788 11
|
机器学习/深度学习 数据采集 人工智能
深度探索:人工智能在医疗影像诊断中的应用与挑战####
本文旨在深入剖析人工智能(AI)技术在医疗影像诊断领域的最新进展、核心优势、面临的挑战及未来发展趋势。通过综合分析当前AI算法在提高诊断准确性、效率及可解释性方面的贡献,结合具体案例,揭示其在临床实践中的实际价值与潜在局限。文章还展望了AI如何与其他先进技术融合,以推动医疗影像学迈向更高层次的智能化时代。 ####
1342 35
|
机器学习/深度学习 人工智能 自然语言处理
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
谷歌最新推出的Gemini 2.0是一款原生多模态输入输出的AI模型,以Agent技术为核心,支持多种数据类型的输入与输出,具备强大的性能和多语言音频输出能力。本文将详细介绍Gemini 2.0的主要功能、技术原理及其在多个领域的应用场景。
1729 20
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
运维 监控 NoSQL
【赵渝强老师】监控Redis
Redis 实例的监控是运维管理中的关键内容,主要包括内存、吞吐量、运行时信息和延时的监控。 1. **监控内存**:使用 `info memory` 可查看 Redis 内存使用情况,包括已用内存、峰值内存等。 2. **监控吞吐量**:通过 `info stats` 获取每秒处理命令数(OPS)、网络输入输出流量等。 3. **监控运行时信息**:利用 `info` 命令结合 `grep` 过滤出客户端连接数、拒绝连接数等重要信息。 4. **监控延时**:可以通过客户端手动监控或服务器内部延迟监控来检测延时问题。
562 3

热门文章

最新文章