`
jays1235
  • 浏览: 8464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
给初学者之四:java企业级应用之软件篇
嗯,说过了硬件就该是软件了
这篇是这个系列的重中之重
首先我们来说说什么是软件,统一一下概念
所谓软件通俗地说就是一套计算机程序
实现了某些功能的计算机程序
在很早很早以前,一台计算机的软件是不分层次结构的
一台计算机只有一个系统,这个系统既是操作系统又是应用软件,与硬件紧密绑定
后来经过许多年的发展发展发展
人们把一些与硬件紧密相连的又经常用到必不可少的功能做到一套程序中去
这一套程序就被人们称做操作系统
另外一些可有可无的,不同工作适应不同环境的功能封装到另外一套程序中去
而这一系列程序被人们称作应用软件
如下图:
-------------------------------------------
|应用软件: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(转载某位经过锤炼而成为高手的同行)

    - **J2EE**(Java 2 Enterprise Edition):面向企业级应用,如Web服务、电子商务平台。由于其应用广泛且需求量大,成为当前最受欢迎的学习方向之一。 #### J2EE核心组件详解 在J2EE领域,深入理解其核心组件至关...

    Java程序员面试的试题集(1_122)帮助初学者的技术问题(转载)

    CORBA的引入极大地简化了分布式计算环境中组件之间的交互,尤其在企业级应用开发中,CORBA提供了一套标准化的框架,使得开发者无需关心底层网络通信细节,就能实现组件间的高效协作。 #### J2EE设计模式解析 设计...

    JAVA文章精选542个(txt) 免费分享

    这篇文章可能包含Java编程的简单示例,用于解释基本概念,如类、对象、继承、多态等,对于初学者来说是非常有用的参考资料。 5. **转载--微软98年关于MTS和EJB的比较说明文件.其实Sun也有类似的对比文件,我忘记在...

    my1(java基础+页面设计)

    综合以上内容,这个学习资源包是一个全面的Java初学者教程,涵盖了从基本语法到企业级开发的广泛知识,同时注重实践操作和工具的使用,对想要进入Java开发领域的学习者非常有帮助。页面设计部分可能通过HTML、CSS和...

    MyEclipse6Java开发中文教程

    总之,《MyEclipse 6 Java开发中文教程》是一本全面的入门指南,适合对Java和企业级开发感兴趣的初学者,通过系统学习,读者不仅可以掌握MyEclipse 6的使用,还能深入了解Struts 2、Spring 2和Hibernate 3这三大框架...

    cankaowenxian.rar_java 参考 文献

    10. `JNDI(Java 命名和目录接口).mht`:这部分内容可能涵盖Java Naming and Directory Interface (JNDI),这是一个用于访问命名和目录服务的API,常用于企业级Java应用中的服务发现和配置管理。 通过这些文件,...

    转载osgi学习,开发框架

    OSGi的这些特性使其在企业级应用中具有巨大的潜力。随着BEA、Eclipse基金会和Interface21等公司加入OSGi联盟,以及Spring框架对其标准的支持,OSGi在企业软件开发中的应用前景更加广阔。尽管OSGi未能直接纳入Java EE...

    廖雪峰python教程完整版且排好版的pdf文件

    廖雪峰编写的Python教程是一份专门为初学者设计的教材,它系统地介绍了Python编程语言的基本概念、语法以及应用。教程内容详尽,易于理解,适合那些从未接触过编程或有一定基础但希望进一步学习Python的读者。从给出...

    j++学习资料

    Java的设计理念是简单、面向对象、健壮、安全、高效和可移植性,这使得它成为开发桌面应用、企业级应用、移动应用和Web应用的理想选择。 J++,全称Visual J++,是微软在Java 1.1时代推出的一款集成开发环境(IDE)...

    netbeans IDE 开发指导

    首先,我们有“Prentice.Hall.PTR.NetBeans.IDE.Field.Guide.Developing.Desktop.Web.Enterprise.and.Mobile.Applications.Jun.2005.eBook-DDU...使用NetBeans IDE进行桌面应用、Web应用、企业级应用以及移动应用的开发...

    安卓航班Android开发经典教程大总结----序言.pdf

    《安卓航班Android开发经典教程大总结》一书的序言,不仅揭示了当前智能手机...它不仅提供了丰富的技术资源,还营造了一个积极向上、互助合作的社区氛围,对于初学者和资深开发者而言,都是一个不可多得的学习宝库。

Global site tag (gtag.js) - Google Analytics