9.1 企业应用开发面临的挑战 9.1.1 可扩展性 可伸缩性
9.1 企业应用开发面临的挑战
企业应用的开发是相当复杂的,这种复杂除表现在技术方面外,还表现在行业本身所蕴含的专业知识上。企业级应用的开发往往需要面对更多的问题:大量的并发访问,复杂的环境,网络的不稳定,还有外部的Crack
行为等。因此企业级应用必须提供更好的多线程支持,具备良好的适应性及良好的安全性等。
由于各行业的应用往往差别非常大,因此企业级应用往往具有很强的行业规则,尤其是优良的企业级应用往往更需要丰富的行业知识。企业应用的成功开发,也需要很多人的共同协作。
下面对企业应用开发面临的挑战作具体分析。
9.1.1 可扩展性、可伸缩性
市场是瞬息万变的,企业也是随之而变的。而信息化系统是为企业服务的,随着企业需求的变化企业应用的变化也是必然的
在多年开发过程中,经常听到软件开发者对于需求变更的抱怨。当开发进行到中间时,大量的工作需要重新开始,确实给人极大的挫败感,难免软件开发者会抱怨。不过,一个积极的软件开发者应该可以正确对待需求的变更。需求的变更,表明有市场前景,只有有变化的产品才是有市场的产品。
优秀的企业级应用必须具备良好的可扩展性和可伸缩性。因为良好的可扩展性可允许系统动态增加新功能,而不会影响原有的功能。
良好的可扩展性建立在高度的解耦之上。使用Delphi
、 Power Builder
等工具的软件开发人员对ini
文件一定不会陌生。使用ini
文件是一种基本的解耦方式,将运行所需资源、模块的耦合等从代码中分离出来,放入配置文件管理。这是一种优秀的设计思路,最理想的情况是允许使用可插拔式的模块(类似于Eclipse
的插件方式)。
在Java EE
应用里,大多采用XML
文件作为配置文件。使用XML
配置文件可以避免修改代码,从而能极好地提高程序的解耦。XML
文件常用于配置数据库连接信息,通过使用XML
文件的配置方式,可以让应用在不同的数据库平台上轻松切换;从而避免在程序中使用硬编码的方式来定义数据库的连接,也避免了在更改数据库时,需要更改程序代码,从而提供更好的适应性.
下面是使用Spring
的Bean
定义数据源的代码。
1 | <!-- 定义数据源Bean,使用C3P0数据源实现,并注入数据源的必要信息 --> |
上面的配置文件可用于建立数据库的连接,且等同于如下代码:
1 | //创建数据源实例 |
可以看出,第一种方式明显比第二种方式更优秀。因为当系统的数据库发生变化时(这是相当常见的情形),开发用的数据库与实际应用的数据库不可能是同一个数据库,当软件系统由客户使用时,其数据库系统也是需要改变的。采用第一种方式则无须修改系统源代码,仅通过修改配置文件就可以让系统适应数据库的改变。
使用XML
配置文件提高解耦的方式,是目前企业级应用最常用的解耦方式,而依赖注入的方式则提供了更高层次的解耦。使用依赖注入可以将各模块之间的调用从代码中分离出来,并通过配置文件来装配组件。此处的依赖注入并非特指Spring
,事实上,依赖注入容器很多,如HiveMind
等。