金蝶K3 V12.3技术白皮书

发布时间 : 星期一 文章金蝶K3 V12.3技术白皮书更新完毕开始阅读

合类将与 .NET Framework 中的类无缝地混合。

正如您对面向对象的类库所希望的那样,.NET Framework 类型使您能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。例如,可使用 .NET Framework 开发下列类型的应用程序和服务:

? ? ? ? ?

控制台应用程序。

Windows GUI 应用程序(Windows 窗体)。 ASP.NET 应用程序。 XML Web services。 Windows 服务。

例如,Windows 窗体类是一组综合性的可重用的类型,它们大大简化了 Windows GUI 的开发。如果要编写 ASP.NET Web 窗体应用程序,可使用 Web 窗体类。

客户端应用程序开发 客户端应用程序在基于 Windows 的编程中最接近于传统风格的应用程序。这些是在桌面上显示窗口或窗体从而使用户能够执行任务的应用程序类型。客户端应用程序包括诸如字处理程序和电子表格等应用程序,还包括自定义的业务应用程序(如数据输入工具、报告工具等等)。客户端应用程序通常使用窗口、菜单、按钮和其他 GUI 元素,并且它们可能访问本地资源(如文件系统)和外围设备(如打印机)。

另一种客户端应用程序是作为 Web 页通过 Internet 部署的传统 ActiveX 控件(现在被托管 Windows 窗体控件所替代)。此应用程序非常类似于其他客户端应用程序:它在本机执行,可以访问本地资源,并包含图形元素。

过去,开发人员将 C/C++ 与 Microsoft 基础类 (MFC) 或应用程序快速开发 (RAD) 环境(如 Microsoft? Visual Basic?)一起使用来创建这样的应用程序。.NET Framework 将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。

包含在 .NET Framework 中的 Windows 窗体类旨在用于 GUI 开发。您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。

例如,.NET Framework 提供简单的属性以调整与窗体相关联的可视属性。某些情况下,基础操作系统不支持直接更改这些属性,而在这些情况下,.NET Framework 将自动重新创建窗体。这是 .NET Framework 集成开发人员接口从而使编码更简单更一致的许多方法之一。

和 ActiveX 控件不同,Windows 窗体控件具有对用户计算机的不完全受信任的访问权限。这意味着二进制代码或在本机执行的代码可访问用户系统上的某些资源,例如 GUI

9

元素和访问受限制的文件,但这些代码不能访问或危害其他资源。由于具有代码访问安全性,许多曾经需要安装在用户系统上的应用程序现在可以通过 Web 安全地部署。您的应用程序可以在像 Web 页那样部署时实现本地应用程序的功能。

服务器应用程序开发 在托管领域中,服务器端应用程序是通过运行库宿主实现的。非托管应用程序承载公共语言运行库,后者使您的自定义托管代码可以控制服务器的行为。此模型在获得主服务器的性能和可伸缩性的同时提供给您公共语言运行库和类库的所有功能。

下面的插图显示在不同服务器环境中运行托管代码的基本网络架构。在应用程序逻辑通过托管代码执行时,服务器(如 IIS 和 SQL Server)可执行标准操作。

以客户机为中心的桌面厂商为什么要转移到更多地以网络为中心的模式上来?按照 Steve Ballmer 的说法:这是用户所希望的!更进一步,这也是将来用户所希望的。在一个以服务器为中心的环境中分发应用程序减少了客户端的管理、简化了程序的更新和安装,并且会对移动计算环境提供更好的支持。对网络管理员来说,以客户机为中心的模型难于支持,而对家庭用户而言更是如此。要生存得更长久,以客户机为中心的计算将由基于服务器的模型进行补充。

金蝶K/3系统的结构特性

“一套软件、两个面孔、三层结构”,简短的一句话,清楚地表述了金蝶K/3系统的基本特征。三层结构概述了K/3系统是一个典型的三层结构应用;两个面孔指的是前端系统包括GUI和WEB两种产品系列,客户可以根据实际情况灵活选择。下面是K/3系统结构示意图:

10

Internet Intranet 浏览器 HTTP Web 服务器 系统结构 DCOM DCOM OLEDB DTC 数据库

GUI客 户端 中间层 下面将对K/3系统在三个层次上的实现分别进行描述。

表示层 这是直接与最终用户打交道的一层,即我们常说的客户端。它的主要作用是接收用户

的指令或者数据输入,提交给业务逻辑层做处理,同时负责将业务逻辑层的处理结果显示给用户。由于客户端并不处理复杂的业务逻辑等操作,相比传统的C/S结构对客户端的资源要求要低一些。

金蝶K/3系统在表示层有两种表现形式,GUI和WEB,GUI指的是依赖于Windows的桌面应用,它可以充分利用Windows的服务,提供丰富的用户界面,在交互性方面首屈一指,但是它对客户机配置以及网络带宽要求较高。WEB指的是完全基于IIS和浏览器的应用,它的显著特点是客户端免安装,对客户机配置和网络带宽的要求较低,典型的瘦客户应用,缺点是在用户交互性方面不如GUI应用。

无论是GUI还是WEB的客户端,都通过相同的业务逻辑层来完成业务逻辑的检查,从而保证了整个应用的客户端无关性。无论是用GUI还是用WEB最终完成的是同样工作,看到的是同样的结果,存储的是完全一致的数据。用GUI系统录入数据,然后利用WEB系统查询,不会有任何问题,反之亦然。

作为表示层,金蝶的K/3系统提供了两套解决方案,一个是GUI系统,另一类是WEB系统。它们是为满足不同的应用环境而设计的,它们之间有哪些差异?分别适用于什么样的应用场合?实际应用过程中如何选型?下面的内容将对这些方面进行阐述。

GUI系统(又称桌面应用系统),这是一种非常成熟的应用方式,无论是操作系统还是开发工具都对开发完善的桌面应用提供了丰富的资源和手段。 GUI版本的系统可以提供丰富的用户界面,有着非常好的交互能力,可以完成复杂的系统功能。K/3系统的所有子系统中,除了EIS(决策信息系统)、HR(人力资源系统)只提供了WEB版本以外,其它的子系统全部都有GUI版本。但是GUI系统需要在客户端安装程序,会带来一些维

11

护和升级的问题,GUI系统对系统资源的要求也较高,包括电脑的硬件配置以及网络带宽。 在Windows DNA架构下,GUI系统通过DCOM和中间层通讯,DCOM是一个基于标准DCE RPC协议的跨机器的组件调用协议,一次组件调用往往要动态创建多个连接,客户端和应用服务器之间会周期性地通过发送“ping”消息确定双方可以正常通讯,这会消耗较大的网络流量。K/3系统的一个具体功能往往会触发多个中间层的组件调用,因而对网络带宽消耗较大,而且这种动态的连接方式,不能在防火墙的NAT方式下工作,从而限制了它在Internet上的应用。

WEB系统是一套基于Internet浏览器来执行的系统,实际的系统安装在由IIS管理的WEB服务器上,客户端不需要执行额外的安装程序,只需简单地下载安装一些组件即可很好地运行,当系统升级时,我们只需要升级服务器端的程序就可以了,客户端不用作任何升级动作,另外WEB是一个非常好的信息查询平台,而且WEB系统学习和操作都比较简单方便。但是WEB系统也面临一些问题,那就是交互性方面相对GUI系统比较薄弱,在一些技术实现上比较复杂的系统或功能在WEB实现起来还很困难,或者难以达到GUI系统的高度,不过一部分K/3 WEB系统的功能已经可以和GUI系统媲美。

WEB系统对客户的资源和网络资源的要求都较低,因为它是通过HTTP协议来传送数据的,所有的业务处理操作和组件调用都在WEB服务器和中间层之间进行,客户端和WEB服务器之间只传递用户的数据输入和执行结果,因此它在慢速的广域网环境有着很好的表现,在Internet上有很好的应用。

我们在实际应用的过程中,可以依照具体的环境和要求做出适当的选择,基本原则是:在局域网环境,考虑将GUI系统作为主要的应用平台,WEB系统可以辅助作为信息查询的平台。在广域网或者Internet应用环境,如果WEB系统可以满足要求,应尽量选择WEB系统作为应用平台,也可以考虑结合两种方式使用,以避免带宽导致的瓶颈。

业务逻辑层 业务逻辑层(中间层)的主要任务是负责接收表示层的数据请求,将这些请求进行必要的业务逻辑检查(包括权限检查),再将请求分解成不同的数据层操作,然后将处理结果返回给表示层。业务逻辑层是K/3系统最重要的一个层次,核心的业务处理都是通过这一层来实现的。

业务逻辑层由各个系统的不同的业务组件构成,在Windows DNA架构下,这些组件在MTS或者COM+环境中运行,以获得事务保护、组件管理等特性。K/3系统的所有业务组件依据系统的不同划分成不同组件包,通过这种划分来隔离子系统,避免子系统之间的相互影响,同时也便于实现系统的按模块分布。

依业务规模的不同,业务逻辑层要承受的负荷会有较大的差异,客户端的数目、业务的复杂程度都会对其造成一定的影响。由于Windows DNA架构的可扩展性,使得K/3系统的关键业务处理可以分布到多台服务器来处理,从而提供良好的伸缩方案。中间层的分

12

联系合同范文客服:xxxxx#qq.com(#替换为@)