金蝶K3 Cloud技术白皮书.docx
- 文档编号:24240115
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:51
- 大小:1.73MB
金蝶K3 Cloud技术白皮书.docx
《金蝶K3 Cloud技术白皮书.docx》由会员分享,可在线阅读,更多相关《金蝶K3 Cloud技术白皮书.docx(51页珍藏版)》请在冰豆网上搜索。
金蝶K3Cloud技术白皮书
技术白皮书
金蝶软件(中国)有限公司
2011年12月
文档控制
更改记录
日期
作者
版本
更改参考/备注
200
2011-12-01
1.0
审校
日期
审校人
版本
审校意见
200
批准
姓名
职位
签字
分发人员
序号
姓名
分发地点
提要
本白皮书阐述了金蝶K/3Cloud的技术特性。
本白皮书阐述了金蝶K/3Cloud的应用模式及部署方案。
ã版权所有2011金蝶国际,保留所有权利2011年12月
未经金蝶国际软件集团有限公司书面许可,本白皮书任何部分的内容不得被复制或抄袭用于任何目的。
本白皮书并不暗示金蝶国际软件集团提供的任何产品或服务或其功能与本白皮书描述的内容完全一致。
本白皮书的内容在未经通知的情形下可能会发生改变,敬请留意。
除以下已经声明之外,本白皮书提及一些产品或技术还可能是以下或其它产品供应商的权益。
Microsoft、Windows98、Windows/NT、Windows2000、Windows2003、SQLServer、.NETFramework、VisualStudio、VisualBasic®是Microsoft公司的注册商标。
Intel、IA是Intel公司的注册商标。
KIS、K/3、K/3BOS、EAS是金蝶软件(中国)有限公司的注册商标。
K/3Cloud总体架构概述
K/3Cloud是金蝶采用最新的云计算技术开发的适应在互联网商业环境和“云+端”模式下运行的新一代企业管理软件,提供公共云服务和企业私有云应用,公共云服务包括金蝶K/3Cloud开发云服务和应用云服务,同时提供给金蝶合作伙伴基于标准K/3Cloud产品的扩展开发包及对应的技术支持,还可以对K/3Cloud公共云服务进行全面监控,致力于打造“开放”、“动态”、“协同”、“稳定”的企业管理应用架构。
K/3Cloud总体架构示意图如下:
K/3Cloud总体架构具有以下主要特性:
1、开放性。
基于云计算技术提供开发平台和企业应用服务,开发伙伴可以基于开发平台方便、快速完成开发,基于企业应用服务实现与企业客户咨询、体验与交易等的应用完整生命周期管理。
Ø基础设施服务:
基于主流的虚拟化提供完整的公有/私有云运维管理平台,让最终用户快速搭建K/3Cloud云基础设施;
Ø金蝶公共开发云平台:
使得伙伴可以基于K/3CloudBOS(商业操作系统)云平台,进行客户化定制开发,实现个性化需求快速的社会化规模交付。
开发云提供代码管理、建模、开发、构建、组装、测试、部署、体验、服务等完整的产品生命周期管理;
Ø企业应用方案云平台:
提供方案体验、方案定制、方案营销、其它情景应用方案运行、方案交易,最终客户始可以寻找到适合自己的最佳的管理模式;
Ø基于云计算技术,可以为企业提供公有云、私有云及混合云的解决方案,也可以为企业提供线上部署、线下部署及其混合部署等多种交付方式。
2、动态性。
基于K/3CloudBOS云平台,所有K/3Cloud的标准应用、行业和客户化应用都采用相同的开发规范和标准,从而使得标准应用和客户化应用组件能够无缝集成、协同工作、平滑升级。
Ø独创的动态领域模型建模与动态解析实现了敏捷建模以及与技术无关的服务构件(开放性的元模型和构件库),实现了平台的自我学习和行业知识积累;
Ø基于金蝶中间件企业服务总线,实现和第三方应用的集成;
Ø通过SOA技术,实现服务构件装配形成解决方案;
Ø基于金蝶独有的KSQL,实现对Oracle和SQLServer数据库的同时支持。
3、协同性。
基于K/3Cloud的“云+端”技术,实现企业人员随时、随地协同工作。
Ø通过对各种“端”设备如PC、移动终端等的支持,实现随时随地接入;
Ø通过统一的界面构建模块搭建的展示层,无论以何种方式接入,都可获得一致、高效、易学的客户体验;
Ø通过企业搜索、信息关联推送等,企业人员可以高效的获取所需信息。
4、稳定性。
基于K/3Cloud采用的云计算、多服务集群等技术,实现系统稳定可控。
Ø通过健康中心,实现系统在生产环境的运行状态、性能等的可视与可管理;
Ø通过缓存、延迟加载、差量数据传输、分页等技术,实现日常操作的高性能;
Ø通过云计算平台和多服务集群技术,实现企业业务7*24小时稳定运行。
.NETFramework4.0与SOA
.NETFramework是Microsoft公司提供的一种新的计算平台,.NETFramework4.0是该计算平台的最新版本。
.NETFramework是一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。
使用这种平台可以带来良好的开发效率,高的安全性和稳定性。
SOA(Service-OrientedArchitecture),面向服务架构,提供了一种粗粒度的代码重用的机制。
使用SOA架构进行软件开发,将一个大型系统的独立功能划分为一个个服务,从而提高了系统的可维护性,代码重用性,可读性等。
K/3Cloud以.NETFramework4.0和SOA技术为基础,充分利用这两种技术的优势,能够快速支持用户的需求,安全性也得到了很大的提高。
.NETFramework4.0
.NETFramework4.0的特性
.NETFramework是Microsoft公司提供的一种新的计算平台,是一个致力于敏捷软件开发(Agilesoftwaredevelopment)、快速应用开发(Rapidapplicationdevelopment)、平台无关性和网络透明化的软件开发平台。
.NETFramework旨在实现下列目标:
Ø提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的;
Ø提供一个将软件部署和版本控制冲突最小化的代码执行环境;
Ø提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境;
Ø提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
Ø使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致;
Ø按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。
.NETFramework具有两个主要组件:
公共语言运行库和.NETFramework类库。
公共语言运行库是.NETFramework的基础。
可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebservices)。
.NETFramework可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。
.NETFramework不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
例如,InternetExplorer是承载运行库(以MIME类型扩展的形式)的非托管应用程序的一个示例。
使用InternetExplorer承载运行库使您能够在HTML文档中嵌入托管组件或Windows窗体控件。
以这种方式承载运行库使得托管移动代码(类似于Microsoft®ActiveX®控件)成为可能,但是它具有只有托管代码才能提供的重大改进(如不完全受信任的执行和安全的独立文件存储)。
下面的插图显示公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。
该插图还显示托管代码如何在更大的结构内运行。
1、公共语言运行库的功能
公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。
这些功能是在公共语言运行库上运行的托管代码所固有的。
至于安全性,取决于包括托管组件的来源(如Internet、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。
这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能,也可能不能够执行这些功能。
运行库强制实施代码访问安全。
例如,用户可以相信嵌入在Web页中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。
这样,运行库的安全性功能就使通过Internet部署的合法软件能够具有特别丰富的功能。
运行库还通过实现称为通用类型系统(CTS)的严格类型验证和代码验证基础结构来加强代码可靠性。
CTS确保所有托管代码都是可以自我描述的。
各种Microsoft和第三方语言编译器生成符合CTS的托管代码。
这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。
此外,运行库的托管环境还消除了许多常见的软件问题。
例如,运行库自动处理对象布局并管理对对象的引用,在不再使用它们时将它们释放。
这种自动内存管理解决了两个最常见的应用程序错误:
内存泄漏和无效内存引用。
运行库还提高了开发人员的工作效率。
例如,程序员可以用他们选择的开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和组件。
任何选择以运行库为目标的编译器供应商都可以这样做。
以.NETFramework为目标的语言编译器使得用该语言编写的现有代码可以使用.NETFramework的功能,这大大减轻了现有应用程序的迁移过程的工作负担。
尽管运行库是为未来的软件设计的,但是它也支持现在和以前的软件。
托管和非托管代码之间的互操作性使开发人员能够继续使用所需的COM组件和DLL。
运行库旨在增强性能。
尽管公共语言运行库提供许多标准运行库服务,但是它从不解释托管代码。
一种称为实时(JIT)编译的功能使所有托管代码能够以它在其上执行的系统的本机语言运行。
同时,内存管理器排除了出现零碎内存的可能性,并增大了内存引用区域以进一步提高性能。
最后,运行库可由高性能的服务器端应用程序(如Microsoft®SQLServer™和Internet信息服务(IIS))承载。
此基础结构使您在享受支持运行库宿主的行业最佳企业服务器的优越性能的同时,能够使用托管代码编写业务逻辑。
2、.NETFramework类库
.NETFramework类库是一个与公共语言运行库紧密集成的可重用的类型集合。
该类库是面向对象的,并提供您自己的托管代码可从中导出功能的类型。
这不但使.NETFramework类型易于使用,而且还减少了学习.NETFramework的新功能所需要的时间。
此外,第三方组件可与.NETFramework中的类无缝集成。
例如,.NETFramework集合类实现一组可用于开发您自己的集合类的接口。
您的集合类将与.NETFramework中的类无缝地混合。
正如您对面向对象的类库所希望的那样,.NETFramework类型使您能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。
除这些常见任务之外,类库还包括支持多种专用开发方案的类型。
例如,可使用.NETFramework开发下列类型的应用程序和服务:
Ø控制台应用程序;
ØWindowsGUI应用程序(Windows窗体);
ØASP.NET应用程序;
ØXMLWebservices;
ØWindows服务。
例如,Windows窗体类是一组综合性的可重用的类型,它们大大简化了WindowsGUI的开发。
如果要编写ASP.NETWeb窗体应用程序,可使用Web窗体类。
3、客户端应用程序开发
客户端应用程序在基于Windows的编程中最接近于传统风格的应用程序。
这些是在桌面上显示窗口或窗体从而使用户能够执行任务的应用程序类型。
客户端应用程序包括诸如字处理程序和电子表格等应用程序,还包括自定义的业务应用程序(如数据输入工具、报告工具等等)。
客户端应用程序通常使用窗口、菜单、按钮和其他GUI元素,并且它们可能访问本地资源(如文件系统)和外围设备(如打印机)。
另一种客户端应用程序是作为Web页通过Internet部署的传统ActiveX控件(现在被托管Windows窗体控件所替代)。
此应用程序非常类似于其他客户端应用程序:
它在本机执行,可以访问本地资源,并包含图形元素。
过去,开发人员将C/C++与Microsoft基础类(MFC)或应用程序快速开发(RAD)环境(如Microsoft®VisualBasic®)一起使用来创建这样的应用程序。
.NETFramework将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。
包含在.NETFramework中的Windows窗体类旨在用于GUI开发。
您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。
例如,.NETFramework提供简单的属性以调整与窗体相关联的可视属性。
某些情况下,基础操作系统不支持直接更改这些属性,而在这些情况下,.NETFramework将自动重新创建窗体。
这是.NETFramework集成开发人员接口从而使编码更简单更一致的许多方法之一。
和ActiveX控件不同,Windows窗体控件具有对用户计算机的不完全受信任的访问权限。
这意味着二进制代码或在本机执行的代码可访问用户系统上的某些资源,例如GUI元素和访问受限制的文件,但这些代码不能访问或危害其他资源。
由于具有代码访问安全性,许多曾经需要安装在用户系统上的应用程序现在可以通过Web安全地部署。
您的应用程序可以在像Web页那样部署时实现本地应用程序的功能。
4、服务器应用程序开发
在托管领域中,服务器端应用程序是通过运行库宿主实现的。
非托管应用程序承载公共语言运行库,后者使您的自定义托管代码可以控制服务器的行为。
此模型在获得主服务器的性能和可伸缩性的同时提供给您公共语言运行库和类库的所有功能。
下面的插图显示在不同服务器环境中运行托管代码的基本网络架构。
在应用程序逻辑通过托管代码执行时,服务器(如IIS和SQLServer)可执行标准操作。
以客户机为中心的桌面厂商为什么要转移到更多地以网络为中心的模式上来?
按照SteveBallmer的说法:
这是用户所希望的!
更进一步,这也是将来用户所希望的。
在一个以服务器为中心的环境中分发应用程序减少了客户端的管理、简化了程序的更新和安装,并且会对移动计算环境提供更好的支持。
对网络管理员来说,以客户机为中心的模型难于支持,而对家庭用户而言更是如此。
要生存得更长久,以客户机为中心的计算将由基于服务器的模型进行补充。
金蝶K/3Cloud中的.NetFramework4.0技术
金蝶K/3Cloud中,大量采用了.NETFramework4.0的最新技术,来快速支持用户的需求,提高安全性。
1.采用.NETFramework4.0技术,系统的开发效率得到了大幅提升,下图比较了不使用.NETFramework和使用.NETFramework的Bug记录对比。
通过比较可以发现,使用.NETFramework技术,Bug数量明显下降,软件开发效率和质量得到了很大的提升。
当用户提出新的需求时,可以更快更好的得到解决。
2.最新的Sliverlight以.NETFramework计算平台为支撑,提供了Web前端应用程序开发解决方案。
使用Sliverlight能够开发出具有专业图形、音频和视频的Web应用程序,增强了用户体验。
K/3Cloud前端都是以Sliverlight技术为基础构建的。
3.云计算是一种最新的Internet环境下的计算模式,在云端部署了多种服务,用户可以在需要的时候随时随地从云端获得这些服务。
.NETFramework4.0是理想的云计算支撑平台,为云计算环境的搭建提供完美的支持。
4..NETFramework提供了应用程序与组织内外的其他应用程序进行通信的机制。
应用程序可以访问的其他程序提供交互服务,从而实现了对SOA(面向服务架构)的支持。
K/3Cloud以.NETFramework4.0为基础,进行了基于SOA的设计,将多个可重用的单元抽象成服务,提高系统的可维护性,代码重用性,可读性。
5..NETFramework4.0加大了对并行运算的支持,使开发者能够高效而简便地进行并行计算的开发,将开发者从繁琐而复杂的多线程开发中解放出来,将更多的精力放到业务逻辑上。
通过以上多种以.NETFramework4.0为基础的技术的应用,金蝶K/3Cloud在用户体验、用户需求的快速支持及安全性等方面得到了很大的提高。
SOA
SOA基础
SOA(Service-OrientedArchitecture),面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
SOA可以看作是B/S模型、XML/WebService技术之后的自然延伸。
SOA作为一种架构理念与规范,需要产品和技术标准的支持。
IBM、BEASystem、Oracle、Microsoft等国际大厂商都积极投身SOA的实践,并努力的推行着。
经过四五年的发展,已经逐渐形成了一批将SOA推向实际应用的成果。
企业管理活动可以形象地被比喻成一个社会网络的沟通与协调,而我们回顾互联网的发展过程,一个重要里程碑就是ISO(InternetStandardOrganization,国际标准组织)对OSI(OpenSystemInterconnect,开放系统互连)七层网络模型的定义。
它不但成为以前的和后续的各种网络技术评判、分析的依据,也成为网络协议设计和统一的参考模型。
建立七层模型的主要目的是为解决异种网络互联时所遇到的兼容性问题,譬如Novell网与NT网络之间的因为标准的缺失,要想互联是难以想象的。
于是通过ISO将服务、接口和协议这三个概念明确地区分开来:
服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。
SOA在企业管理软件中的应用价值可以等同于上面提到的七层网络模型。
一般认为:
SOA,面向服务的架构是一个组件模型,它将应用程序的不同功能单元——服务(service),不同的服务之间通过定义良好的接口进行通信。
接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言。
这种具有统一而标准的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。
从SOA的定义中,我们看到两点:
ØSOA是一种软件系统架构。
SOA不是一种语言,也不是一种具体的技术,更不是一种产品,它给出在特定环境下推荐采用的一种架构,是一种理念架构,是人们面向应用服务的解决方案框架;
Ø服务(service)是整个SOA实现的核心。
SOA架构的基本元素是服务,SOA指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。
遵循SOA观点的系统必须要有服务,这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网络(UDDI)查找其地址。
SOA的灵活性将给企业带来巨大的好处。
如果把企业的IT架构抽象出来,将其功能以粗粒度的服务形式表示出来,每种服务都清晰地表示其业务价值,那么这些服务的顾客(可能在公司内部,也可能是公司的某个业务伙伴)就可以选用这些服务,而不必考虑其后台实现的具体技术。
IDC在2005年进一步明确了SOA的参考模型,提出了实现SOA所需要的基本元素以及它们之间应该具备的逻辑关系,指引着SOA的良性发展。
金蝶K/3Cloud中的SOA
在金蝶K/3Cloud中引入了SOA的思想,将各个功能点封装成一个个的服务,如下图所示。
金蝶K/3CloudBOS的SOA实现方案分为以下部分:
●SOA基础实现
◆业务参考模型:
基于企业动态建模原理,提供了企业建模的元语义,是金蝶SOA方案中对所有服务描述的基本语法。
◆核心组件:
包括对应用程序进行统一访问的信息门户;联接银行、税务公共服务的应用接口;对业务内容进行分级管控的组织架构管理;统一不同应用系统之间业务语义的主数据管理;基于ERP应用实践提供企业可开箱即用的标准业务流程与业务组件。
●SOA总线结构实现
◆消息总线:
负责在传输层面提供各种手段,屏蔽网络连接、消息路由、打包传递等功能,实现不同物理机器、不同平台上运行的应用系统之间透明的、可靠的消息传递。
◆数据总线:
实现对所传递数据进行格式的识别和转换,并实现数据路由将数据按照集成方案的编排传递到指定的目标系统中。
◆服务总线:
WebService和专业Adapter提供了各类应用系统和接口访问支持能力,通过在消息节点和消息代理上挂接WebService或专业Adapter,形成真正意义上的ESB,并提供服务请求和响应的智能路由。
●SOA关键服务实现
◆在SOA基础实现的方案上,通过业务功能可以被发布和提升(Promote)为业务服务(BusinessService);工作流程可以被发布和提升为复合服务(CompositedService),通过Promote的过程实现了金蝶SOA对SOA标准和规范的支持能力;业务服务可以被外部的SOA系统再次编排和组合,并且可以方便的接入到第三方供应商的SOA产品中。
在逐级的实现SOA架构的基础上,金蝶SOA的还提供完整的SOA开发服务与SOA运营管理服务:
●开发服务:
提供从覆盖应用设计,业务组件建模,服务组件开发,服务的编排与流程建模完整的服务实现的开发环境。
●管理服务:
实现了部署与系统监控、集成方案定义、数据转换定义、流程配置与监控的SOA运营管理体系。
在K/3Cloud中使用SOA的好处主要体现在:
Ø全面支持绩效分解、业务建模、服务建模和流程优化等过程。
在K/3Cloud中,系统由多个独立的服务组成。
可以针对每个服务的业务场景,分别进行业务建模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 金蝶K3 Cloud技术白皮书 金蝶 K3 Cloud 技术 白皮书