text: （1）高可扩展性和灵活性的系统一般是分层架构的，这裏说的分层是指将客户的需求按需求的通用性分层。根据自己平台所应用的目标客户群，分析客户的共性需求，将共性部分的需求放在平台的最底层实现，所有的客户共用，不要有分支版本，个性的需求放在高层实现，不同的客户可以完全定制。至于整个架构的层次数量沒有绝对的标准，可参考的方法分为4层，“公共平台层”、“产品平台层”、“行业扩展层”、“个性扩展层”。这裏的分层与软体架构中的表示层、中间层、持久层的分发属于不同的维度，是沒有冲突的。
  （2）高可扩展性和灵活性的系统一般是模组化的。系统最好提供统一的主板插件体系，每一层都应该提供若干插槽，通过二次开发的手段供上层扩展，做专案多了一般都会形成元件库，应该对这些元件进行分类分级管理。一旦有了新的专案，一般从现有的元件库中挑选进行配置，部分不满足要求的可以进行修改后满足，其他个性化很强的完全定制。
  （3）高可扩展性和灵活的系统一般都支援资料建模。许多人理解系统可扩展就是指系统提供API，可以二次开发，其实这种理解不全面。资料结构是企业资讯管理系统很重要的一部分，是否可以方便支援资料结构的扩展非常重要，我们的经验是提供图形化的资料建模模组，可以自动生成资料库的表结构，同时将资料库的结构也保存为元资料，通过解析元资料可实现资料的物件关系映射，而不依赖于硬编码。一般採用了资料建模的系统将资料进行物件化统一管理，这样的好处是统一风格，也容易实现。因为有了元模型，可以动态生成部分用户介面，减少用户介面开发工作量。
  （4）高可扩展性和灵活的系统一般都支援流程建模。不同企业的业务流程是千变万化的，所以需要提供业务流程建模模组，可以用图形化的方式定义企业的业务流程，依赖业务流程的驱动完成流程的自动化。流程建模中涉及的“活动”（理解为节点）除了标准的之外，也要求是可以自定义的，比如流程中某个节点可以控制生产设备的启动和停止。流程中另外一块是控制逻辑，包括缐性、分支、迴圈、併发等。流程一般需要人的参与，所以与任务管理是紧密相关的，可能会涉及集成email，手机短信实现自动通知等。流程中流转的资料可能也与流程的执行过程相关，比如请假单大于15天，流程可能执行另外的分支。
  （6）许可权模型最好也可以扩展。不同的资料类型通常有一些共同的许可权项，比如流览、修改、删除等，也应该有一些特有的许可权，比如用户就有“修改密码”许可权项，用以控制一些特別的操作。应该支持自定义的许可权项，不同的类型授权时权现项不同。一般许可权的判断演算法比较复杂，一般不要求可以自定义，主要是因为性能的原因。许可权的授予一般也有粒度要求，最小的按单个个体授权，最大的按类型授权，另外一种建议的方式是採用类似档夹的形式对资料进行管理，可以提供按目录授权的方式，这样就更加灵活了。
  （7）还有个重要的就是报表。不同的类型都应该可以自定义报表，不同的角色可以看到不同的报表。最好建立报表的框架，开发一个新的报表以后，通过简单的配置，不依赖于修改程式码，就可以通过系统访问到报表。报表的各种操作，比如是否可以列印都可以借助配置实现，也可以借助许可权体系实现。
  （8）还有一点需要提到的是主功能表和主页。企业中不同的角色都希望只看到与自己工作相关的功能。这就需要可以按角色自定义主功能表和主页，主页的自定义可以採用Webpart的方法，用户可以选择自己需要的Webpart，添加到主页上，通过拖拖拉拉摆放成需要的方式。
  最后简要总结一下，一个系统的可扩展性和灵活性应该是多方面的，包括了分层结构、模组化、资料建模、流程建模、报表定制、主功能表和主页定制，甚至还包括许可权体系的扩展等方面。当然还包括硬体方面的，如何在高併发和海量资料情况下实现硬体的可伸缩性，还可以採用集群、缓存、云计算等技术。当然真正要构建高扩展性和灵活性的系统难度是很大的，通常都会遇到诸如性能问题，当然我一直最求的一句话“在这样那样的要求下寻求最好的平衡”，大部分问题是可以解决的。
  2.陶文林，「基于Hyper-V技术的虚拟蜜网系统的研究」，苏州市职业大学学报，第21卷第3期，2010年9月。
  口碑行销这样做最有效！5个案例教你5T怎么做！