企业级应用是为了满足企业日常运营所产生的IT应用,其目的是满足企业自己,对交付厂家而言,俗称2B业务;互联网应用则是面向个人用户,俗称2C业务。
就个人经验,企业应用主要关注业务服务的能力,针对该企业的业务流程进行信息化、规范化、日志化,以提高企业业务及管理的效率。;互联网比较关注体验,用户粘性。技术上看,很多企业级应用的业务复杂性比互联网要大的多;而互联网应用主要是海量用户,高并发,海量数据,同样一个简单的东西,放在大并发的场景下,需要考虑很多额外的要素。
  企业应用:
1、行业领域:区分行业,各自领域业务背景不一样,并形成了一定的门槛。
2、业务逻辑:业务逻辑复杂,涉及大量的数据和多人协同处理。
  3、数据一致性:强调数据一致性,需要通过事务,交易中间件,数据库锁,java同步机制来保证数据的一致性。
  4、数据复杂度:数据复杂,有大量的表,表之间有复杂的牵涉关系,在某些行业维护这些表之间的关系和数据就需要一个团队。
  5、并发量:不是特别大,比如通用应用为100~200并发,重度并发500的系统就能满足国内大部分的系统要求。
  6、系统集成:关键系统需要和很多外部系统集成,集成的方式可能采取esb,jms,web service,socket。
  7、用户交互:强调界面交互和数据表达,需要支持多种数据展现方式,需要众多数据在页面上的展现,传输
  8、开发过程:强调软件过程,讲究行业经验,需要撰写大量的文档和多人的协同,需要版本控制和问题跟踪回溯。
互联网应用:
  1、行业领域:跨行业,按应用类型区分,比如blog,wiki,个人门店等。
  2、业务逻辑:业务逻辑简单,大部分是通过页面进行数据的增删改查。
  3、数据一致性:要求有事务,但和高并发博弈中,让位给高并发。
  4、数据复杂度:数据不复杂,表之间的关联不多
  5、并发量:强调高并发,支持用户数量多,并采取企业开发中极少采用的技术,比如web反向代理,memcache(分布式缓存),表的垂直分隔、水平分隔,强调高速读低速写。支持百万用户。
  6、系统集成:弱。极少需要和其他系统集成
  7、用户交互:弱。交互不多,表现方式简单,更多的是数据的增删改查。
  8、开发过程:强调敏捷,快速开发,基本不需要版本控制。

Java互联网应用和企业级应用的区别的更多相关文章

  1. 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程

    * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...

  2. 图灵学院JAVA互联网架构师专题学习笔记

    图灵学院JAVA互联网架构师专题学习笔记 下载链接:链接: https://pan.baidu.com/s/1xbxDzmnQudnYtMt5Ce1ONQ 密码: fbdj如果失效联系v:itit11 ...

  3. Java Thread 的 sleep() 和 wait() 的区别

    Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别       1. sleep ...

  4. Java Thread 的 run() 与 start() 的区别

    Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别             1. ...

  5. java集合中List与set的区别

       java集合中List与set的区别.     List可以存储元素为有序性并且元素可以相同.     set存储元素为无序性并且元素不可以相同.     下面贴几段代码感受一下: ArrayL ...

  6. paip.java 以及JavaScript (js) 的关系以及区别

    paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...

  7. Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例(转)

    Java中==.equals.hashcode的区别与重写equals以及hashcode方法实例  原文地址:http://www.cnblogs.com/luankun0214/p/4421770 ...

  8. java中的sleep()和wait()的区别

    对于sleep()方法,我们首先要知道该方法是属于Thread类中的.而wait()方法,则是属于Object类中的. sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监 ...

  9. java中的this与super的区别

    java中的this与super的区别 1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位 代码如下: class Base { Base() { System.out.pr ...

随机推荐

  1. ojdbc包加入本地仓库

    mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar - ...

  2. 什么时候使用“RCC_APBXPeriph_AFIO”

    什么时候需要开启复用时钟: (1)使用EXTI (2)重映射(用到外设的重映射功能时才需要使能AFIO的时钟) 举例:重映射USART2 USART2的TX/RX在PA.2/3.但是,PA.2已经被T ...

  3. python学习之旅(入门)

    一.list 有序集合 1.list 有序集合  L = [95.5, 85, 59]  如L[1] = 85 ,L[-1] = 59  和php中array一个意思  用[] 表示就可以了 2.新增 ...

  4. Python中4位1进制数与float浮点数互相转换

    import struct s = 'F4CEF042' print(s) #<是小端,>是大端,f代表浮点数 print(struct.unpack('<f', bytes.fro ...

  5. Maven下载与环境变量配置

    前言: Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK.如果还未安装 JDK,可以参考Win10下JDK下载与环境变量配置. 项目 要求 JDK Maven 3.3+ ...

  6. IOS runtime运行机制详解(一)

    OC运行机制是指,可以运行的时候动态调用函数.因为C语言必须在编译的时候就决定调用哪个函数. 我们平时写的OC代码,它在运行的时候也是转换成了runtime的方式运行的.任何方法调用本质:就是发送一个 ...

  7. 使用subline作为Stata外部编辑器,并实现代码高亮

    Sublime Text 3在Stata13/14/15 代码编辑中的辅助应用   更友好的格式请见: http://dfadf0be.wiz03.com/share/s/3vHv2-0ALQZE2v ...

  8. Kotlin 对象表达式和对象声明

    Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类. 对象表达式 通过对象表达式实现一个匿名内部类的对象用于方法的参数中: window.ad ...

  9. Docker Swarm集群中部署Traefik负载均衡器

    一.创建单节点的Docker Swarm集群 docker swarm init 二.在Swarm集群中创建一个网络 docker network create --driver=overlay tr ...

  10. R语言查看栅格值

    有这么一个需求,知道栅格上的坐标,想看看这个坐标上的栅格值是多少.坐标长这个样子 那么这样的坐标下的栅格值该怎么看 cellFromXY(the.stack$t1,c( -1505000,683500 ...