企业级应用:商业组织、大型企业而创建并部署的解决方案及应用。涉及的外部资源众多、事务密集、数据量大、用户众多、同时必须有较强的安全性考虑。

  企业应用和互联网应用从根本来说是相同的,都是基于因特网、HTTP、浏览器的一种应用,但面向的涉众不一样,从而导致些许差异性,比较如下:

企业应用(表1):

1

行业领域

区分行业,各自领域业务背景不一样,并形成了一定的门槛。

2

业务逻辑

业务逻辑复杂,涉及大量的数据和多人协同处理。

3

数据一致性

强调数据一致性,需要通过事务,交易中间件,数据库锁,java同步机制来保证数据的一致性。

4

数据复杂度

数据复杂,有大量的表,表之间有复杂的牵涉关系,在某些行业维护这些表之间的关系和数据就需要一个团队。

5

并发量

不是特别大,比如通用应用为100~200并发,重度并发500的系统就能满足国内大部分的系统要求。

6

系统集成

关键系统需要和很多外部系统集成,集成的方式可能采取esb,jms,web service,socket。

7

用户交互

强调界面交互和数据表达,需要支持多种数据展现方式,需要众多数据在页面上的展现,传输

8

开发过程

强调软件过程,讲究行业经验,需要撰写大量的文档和多人的协同,需要版本控制和问题跟踪回溯。

互联网应用(表2):

1

行业领域

跨行业,按应用类型区分,比如blog,wiki,个人门店等。

2

业务逻辑

业务逻辑简单,大部分是通过页面进行数据的增删改查。

3

数据一致性

要求有事务,但和高并发博弈中,让位给高并发。

4

数据复杂度

数据不复杂,表之间的关联不多

5

并发量

强调高并发,支持用户数量多,并采取企业开发中极少采用的技术,比如web反向代理,memcache(分布式缓存),表的垂直分隔、水平分隔,强调高速读低速写。支持百万用户。

6

系统集成

弱。极少需要和其他系统集成

7

用户交互

弱。交互不多,表现方式简单,更多的是数据的增删改查。

8

开发过程

强调敏捷,快速开发,基本不需要版本控制。

   通过简单的比对,由此可见,互联网开发强调的是快速,敏捷,涉众面广的一类系统。