`

给初学者之四:java企业级应用之软件篇

    博客分类:
  • J2SE
阅读更多

嗯,说过了硬件就该是软件了

这篇是这个系列的重中之重



首先我们来说说什么是软件,统一一下概念



所谓软件通俗地说就是一套计算机程序

实现了某些功能的计算机程序

在很早很早以前,一台计算机的软件是不分层次结构的

一台计算机只有一个系统,这个系统既是操作系统又是应用软件,与硬件紧密绑定

后来经过许多年的发展发展发展

人们把一些与硬件紧密相连的又经常用到必不可少的功能做到一套程序中去

这一套程序就被人们称做操作系统

另外一些可有可无的,不同工作适应不同环境的功能封装到另外一套程序中去

而这一系列程序被人们称作应用软件

如下图:

-------------------------------------------

|应用软件:falshgat/IE/realplayer/winamp..|

-------------------------------------------

|操作系统:UNIX/Windows/Linux/Solaris... |

-------------------------------------------

前一篇我们知道,硬件分为服务器工作站与pc

其实无论哪种硬件的软件,都有操作系统与应用软件



ok,那下面我们来谈应用软件

在现在企业级应用中,我们的应用软件一般分为三层

三层分别是表示层,业务逻辑层,数据持久层

------------------------------

|表示层|业务逻辑层|数据持久层|

------------------------------

我们来说说三层中的代表软件

表示层

这一层一般在客户端pc机上,最常见的是IE浏览器,这就是表示层的软件

表示层是直接与使用者交互的软件

业务逻辑层

这一层一般在服务器端,顾名思义,所有业务逻辑处理都在这一层完成

最典型的是appserver,比如IBM的websphere,BEA的weblogic还有tomcat/jboss等

这一层也是三层中的重点,我们要说的大部分内容都是关于这一层的,这个等会再说

这一层就叫做中间层

数据持久层

这一层典型的就是数据库,一般也在服务器端

但该服务器一般与装业务逻辑层软件的服务器分开

当然你也可以用IO输入输出流往硬盘上写东西

但没人会建议你这么做,因为这样做你的数据缺乏管理,不管怎样

这一层要做的就是保存数据,业务逻辑层软件一般不负责保留数据

或者说业务逻辑层只负责暂时储存数据,一关机,业务逻辑层数据全部over了

那么数据的持久化(也就是储存数据)就必须要在这一层完成



下面放着这些概念不谈,我们来说说将来的趋势

趋势一:

瘦客户端,很早很早以前,当时C/S模式也就是client/server

客户端软件大行其道的年代,一个pc用户,是采用一个傻终端连接到服务器上

然后进行相应的操作,最典型的就是我们上bbs经常用的c-term

这就是那个时代的产物,同样还有我国现行的定座用的e-term

后来呢,浏览器变得非常流行,人们发现,浏览器也能传递一些数据

虽然这些数据并不像那些终端那样准确,但应付大多数日常需求足够了

于是人们就提出一个瘦客户端概念,也就是说,将来表示层所有的其他软件疾挥?

我们唯一需要的就是一个网页浏览器,然后通过浏览器输入ip地址连接到服务器

然后进行相关的操作,由于网页浏览器一般每个操作系统都有自带一个

这样做就达到了给我们客户端瘦身的目的(不需要安装额外软件)

这样模式被称作B/S模式,也就是browser/server模式

但需要指出的是,虽然瘦客户端是趋势,但并不代表胖客户端没有市场

尤其是一些复杂的业务操作,还是浏览器这种简单软件无法胜任的



趋势二:

傻数据库,ok,首先,我承认,这个名词是我发明的,但我实在无法找到一个更好的表达

什么是傻数据库,如果谁对数据库有所了解的话,就知道,以前的数据库

有自己的一套管理体系,甚至有自己的客户端,比如oracle,mysql,sqlserver都有

在某个管理工具上写什么sql语句查询数据库是我们以前常做的事

那么将来我们提倡的是:将所有的业务逻辑封装到业务逻辑层去

管理的事情由软件来做,由业务逻辑层的软件来做

所谓傻数据库就是说,将来的数据库什么事都不用做

只用把数据给我保存好就行了,那些复杂的业务逻辑什么外键什么关联

都没数据库什么事了,都交给业务逻辑层软件来做

这样做的好处就是:我们就不需要这些该死难懂又复杂的数据库系列管理工具了

而且这些工具每个数据库都有自己的工具,完全不一样,乱七八糟,没有人喜欢面对他们

除了数据库维护人员,也就是DBA,我们是软件工程师,维护的事让他们去做

而且严禁数据库维护人员改动数据库的数据,他们只做备份,必要时候恢复一下就是了



了解了这两个趋势之后,是不是有种砍头去尾保中间的感觉?

没错,未来的趋势就是中间件时代,中间件工程师将是未来计算机应用的主流

那再次统一一下概念,什么是中间件?

记得我上学的时候,看ibm的教材,看了半天中间件定义,就看懂记住一句话

中间件是做别人不愿意去做的事情,现在想想,狗屁定义,呵呵

什么是中间件,中间件是业务逻辑层的应用软件

是处理业务数据与客户端之间业务逻辑的一种应用软件

一种提供网络服务的服务器端应用软件

举个非常简单的例子,网上银行,某个人想用IE进入工行的账户,然后转帐

在这个例子中,客户端表示层显然是IE,数据持久层显然是银行的核心数据库

那么中间件是什么?中间件就是提供这种服务的系统



这三层的划分如下

------------------------------

|表示层 | 业务逻辑层 | 数据持久层 |

------------------------------

| IE  |  网上银行  |  数据库   |

------------------------------

分享到:
评论

相关推荐

    一个牛人给java初学者的建议

    给初学者之一:浅谈java及应用 给初学者之二:从JDK说起 给初学者之三:java企业级应用之硬件篇 给初学者之四:java企业级应用之软件篇 给初学者之五:企业级应用之中间件 给初学者之六:java企业级...

    JAVA企业级应用开发详细的课件

    JAVA企业级应用开发的每章详细的课件 是我们老师的课件 对于初学者很有用的 都是很基本的东西 便于考前复习哦^_^

    Java框架部分SSM笔记

    初级到中级Java开发者:想要提升自己在Java企业级应用开发方面的能力。 技术爱好者:对Java框架和现代软件开发实践有兴趣的自学者。 使用场景及目标 学习提升:帮助开发者系统学习Java框架,提升技术水平。 项目开发...

    数据结构算法Java实现。关于Java《数据结构算法》核心技术学习积累的例子,是初学者及核心技术巩固的最佳实践。.zip

    Java是一种广泛使用的面向对象的编程语言,由Sun ...综上所述,Java凭借其强大的特性和广泛的适用范围,在企业级应用、互联网服务、移动开发等领域均扮演着举足轻重的角色,是现代软件开发不可或缺的重要工具之一。

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包2

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    基于java的超市管理系统高级版v2源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

    java源码包4

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    selenium2初学者快速入门(Java)

    软件规模会越来越大,重复的测试工作会越来越多,自动化测试是一种趋势,一种必然, 随着企业越来越重视自己研发、重视知识产权,开源自动化测试工具越来越受到重视与使用。 Selenium 是时下很流行的面向 web 的自动...

    java初学者的工具ppt文件

    在学习EJB过程中,应同时掌握一种企业级应用服务器的使用(如WebSphere、Weblogic、Sun Applcation Server或JBOSS等,目前Sun Applcation Server9.X和JBOSS都可支持EJB 3.0)。 之后的学习中,再逐渐扩展到其他Java EE...

    java源码包3

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    Java EE 企业级快速开发平台.zip

    Java EE 企业级快速开发平台,基于 Spring Boot、Spring MVC、Shiro、Flyway、Beetl、BeetlSQL、Bootstrap、AdminLTE 在线代码生成功能,采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。...

    Java课程实验 编写 Spring Boot 入门程序

    Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年...Java被广泛应用于Web应用程序开发、移动应用程序开发(使用Android平台)、大数据处理、企业级应用程序等领域,是一种非常流行和使用广泛的编程语言。

    基于java的电子相册源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

    基于java的日记本源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

    基于java的考勤管理系统源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

    基于java的SSM商城系统源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

    基于java的物流信息网源码.zip

    Java是一种面向对象的编程语言,广泛应用于各种应用场景,从桌面应用到大型企业级应用,从移动应用到嵌入式系统。 适合人群:大学生、上班族、初学者、开发人员、软件工程师、系统架构师等。 介绍格式:知识领域 +...

Global site tag (gtag.js) - Google Analytics