跨平台应用系统设计策略

跨平台应用系统设计策略

ID:46219110

大小:87.18 KB

页数:9页

时间:2019-11-21

跨平台应用系统设计策略_第1页
跨平台应用系统设计策略_第2页
跨平台应用系统设计策略_第3页
跨平台应用系统设计策略_第4页
跨平台应用系统设计策略_第5页
资源描述:

《跨平台应用系统设计策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、跨平台应用系统设计策略顾晨刚b;王康弘k2(1•北京超图,北京市海淀区学清路8号100096;2屮国科学院地理科学与资源研究所,北京市朝阳区大屯路100101)摘要:跨平台应用系统的设计可大大提高系统的健壮性和可移植性,提高程序的可复用程度,对软件的推广及灵活部署具有重要意义,对应用软件行业的发展具有重大意义。跨平台应用系统的设计主耍从操作系统、数据库、程序开发语言支持等儿大方面考虑。本文基于北京超图公司共相式GIS平台和应用平台的技术创新,总结了跨平台应用系统的设计策略方案。关键词:跨平台,GIS共相跨平台程序设计是指设计的应用软件核心类库可以在多种硬件平台、操作系统、数据库

2、上运行的软件设计方法。平台包括硬件平台和软件平台。如果使用高级语言进行软件开发,对硬件平台的适应性通常是指针对字节序、字长的适应。对软件平台的适应性主要体现在对操作系统,数据库、浏览器、二次开发语言的支持。对操作系统编程模型和系统调用OSAPI的适应性,操作系统对计算机设备以及系统对象都建立了抽象的可编程模型,并通过系统调用的方式提供给应用程序使用,跨平台设计的主耍任务就是适应这些差界。对数据库的适应性主要要考虑跨数据库平台和遵守标准的角度出发,应该尽量采用ANSISQL,避免使用Oracle.微软以及其他数据库厂商的一些特性函数和非标准的SQL命令。对于主流浏览器的支持,必须

3、为特定浏览器针对性的编写代码或者编写最具普遍性的功能代码而放弃人暈的动态内容。跨平台程序设计是应用服务提供厂商和程序员一玄追求的设计方法。跨平台最明显的好处是只需要写一次代码,就可以支持多种平台,省去了移植的麻烦。它对开发也是冇好处的,开发人员可以在白己最熟悉的平台下使用最熟悉的工具开发调试程序,有助于提高编程效率。通过多种编译器检测可以在编译期发现并纠正更多的错误。在一种平台下不容易发现的软件错误或缺陷,在另一种平台下可能经常发生,有利于发现并修正更多的bug,提高系统的兼容性。1•跨平台应用系统的设计分析跨平台应用系统的设计本文主耍从跨操作系统应用框架设计、跨数据库引擎设计

4、、浏览器支持、二次开发语言支持等儿大方而考虑。1.1跨操作系统的应用框架设计目前主流计算机操作系统Windows、Linux(RedFlagLinux,RedllatLinux,SuseLinux)>Unix(SUNSolaris,IBMA1X,HPUX)的安全性能、应用范围和应用领域有着较大的差异性。在国内‘Windows系列广泛应用于客户端或工作站,Unix、Linux则较少地应用于终端。开源操作系统在国内的应用口渐增多。从另一个角度来讲,同一机构允许不同部门不同层次用八使用不同的操作系统,既可提高办事效率,乂可降低整个网络系统的安全风险。事实下,各大操作系统提供的功能其实

5、大同小界,主耍有进程管理、进程调度、进程间通信、文件管理、10输入输出、网络输入输出、线程同步控制等等。但是要开发跨平台的软件却极其困难,因为各人操作系统提供的OSAPI差别很人,在某些处理方式冇较人出入。在操作系统的层面设计应用系统框架,要考虑能封装大部分种类的OSAPT,提供统一的接口,并且这些接口调用都是标准的统一的,基于此框架开发上层的应用就会有很大的便利性和通用性。跨操作系统的应用框架设计主要从以下儿个方面入手:1、容器类包括ARRAY.HASHMAP.VECTOR等基本容器,有内存池机制,可以使用多种方式的iterator遍历。2、时间类包括Time、Locale、

6、TimeFormat等,时间精确到毫秒,有日期和LOCALE处理,有时间格式化处理,线程安全。3、10输入输出流分输入输出流设备和读写器的设计,输入输出设备即InputStream和OutputStream,读写器即Reader和Writer。可对任何对象和设备进行T0操作。4、实现跨平台的网络类库,首先需耍对不同操作系统的网络编程模型和接口进行分析,求同存界。对网络编程來说就是対socketAPT进行分析。Windows和Linux等操作系统上的socketAPI接口都属于BerkeleysocketAPI的衍生物,它们非常相似,这大大降低了跨平台设计的难度。但它们之间还是存

7、在许多细节上的不同,例如需要的头文件不同;winsock需要调用WSAStartup进行初始化;WindowsT的select函数第一个参数被忽略,而Linux下第—个参数必须计算出来;Windows下不支持IPv6的SSM组播,而Linux支持;不同平台下对于AF_TNET和AF_TNET6等常量定义的值是不同的,这些值不能用于文件存储或网络传输。这些细节差异必须在实现类库时进行合适的处理。另外要重点考虑网络级跨平台的难点负载均衡。5、日志框架吸收Log4j和Log4cplus的设计,使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。