jdk应用开发生态
Java SE
- Java标准版,
Standard Edition
- 常用于开发
桌面,服务器,嵌入式环境和实施环境
的应用工程程序 - JDK是JavaSE的根基,
JavaSE
是JDK
的组成,理论上二者可以划等号,但概念上不能
Java EE
- Javaa企业版,
Enterprise Edition
- 常用于开发服务器端java应用程序,即web应用
- Java EE核心在于两个包:jsp-api.jar和servelt-api.jar,这两个包没有官方版本,但规范由其提出,此外还提出了一系列的规范
- 实际上现在使用的最多的也是这个环境
Java ME
Micro Edition
- 常用于移动设备和嵌入式设备的java开发环境规范;
Java EE的十三种核心技术规范
JDBC
- 为访问不同的数据库提供统一的标准途径
- 对数据库的访问,也具有平台无关性
JNDI
- java naming and directory interfaces,java的命名和目录接口
- 可用来定位各种对象,包括EJB、数据库驱动、JDBC数据源、消息连接等
- 可用于访问特定的目录服务,如LDAP、NDS(服务器目录访问服务)
EJB
Enterprise java Bean
,将业务逻辑从客户端软件抽取出来,封装在组件中,这个组件运行在一个独立的服务器上;由于所处的历史环境,这个所谓的业务逻辑与现代web项目所说的业务还有一定的区别 - EJB由多个元素构成,核心概念包括EJB组件,EJB容器,EJB服务器,EJB客户端
- EJB客户端可运行在web容器中
RMI
Remote Method Invoke
,远程方法调用 - 调用本地方法一样调用远程java虚拟机上的对象方法,使用序列化方式在客户端和服务器端传送数据
- EJB的底层使用RMI实现
IDL/CORBA
Interface Description Language/common object broker architecture
,接口定义语言、共用对象请求代理程序体系结构 - 没接触过,略
Servlet
Server Applet
,服务端小型应用程序 - 动态网页机制
JSP
-
Java Server Pages
,优化版动态网页机制
XML
Extensible Markup Language
,可扩展标记语言 - 具有平台独立性
JMS
Java Message Service
,java消息服务 - JMS的客户端之间,可通过JMS进行异步的消息传输;
- 用于消息中间件相互通信的api
JTA
Java Transaction API
,java事务API - 数据库事务是遵循该规范的一个实现
JTS
Java Transaction Service
,java事务服务 - 组件事务监视器
JavaMail
JAF
JavaBean Activation Framework
,MIME编码与Java对象的相互转换 - 没接触过
Java EE核心总结
- 在特定时代背景下,处理企业事务,归纳总结为以下几点
通信
协作
事务
产品
web技术的发展线
早期Web技术
- 最开始网页均为静态页面,用于浏览
- 随着浏览静态页面不再满足要求,早期通过CGI实现动态网页需求,它通过进程协作实现动态网页
Servlet时代
- sun公司于1997年提出的服务端应用程序规范,作为JAVA阵营的CGI解决方案
- Servlet运行依赖servlet容器,具体内容略。
JSP时代
EJB
- EJB与Servlet属于同时期的规范,二者解决问题的侧重点不同
- Servlet解决动态网页的问题,EJB某种程度上解决的是中间件解耦的问题,官方定义为基于分布式事务处理的企业级应用程序的组件
- EJB的与Servlet类似,需要有相应的运行环境;
- EJB的属于J2EE中的业务逻辑层部分
- 从个人角度来看,EJB本质上是一个分布式环境的支撑架构,且是特定时代背景下的
服务器容器对比
tomcat容器
- 免费,是
JSP&Servlet
容器,不支持EJB
- 配合Jboss和apache可以实现
j2ee应用服务器
的功能 - 本质上是一个线程池模型应用
jboss容器
- 免费,一个管理EJB的容器和服务器,但是不支持JSP&Servlet的web容器
- 通常
tomcat
或jetty
绑定使用
weblogic
- 收费,j2ee应用服务器,支持jsp,servlet,ejb,jms等,全能型
- 换言之,它既是一个EJB容器,又是一个Servlet容器,内部实现了j2ee工业强度的web应用服务器
- 个人认为,性能优于tomcat,但是并不是因为基于EJB开发或基于servlet开发的差异(检索的某些信息有此描述),且在现代化软件架构环境下,此种性能差异可以忽略不计.
weblogic的运行原理
- 由于weblogic为收费应用,相关文档资料缺少,仅从自己的使用过程及体验进行简单的总结;
adminServer
- 报错可以从
adminServer
的logs
日志中,看到具体的报错信息,必须通过具体的报错信息,制定解决的措施,adminServer页面上不一定会显示具体的错误信息 - 仅在内网环境下使用网页端上传应用部署包,跨网时,不推荐使用网页上传部署包,可能会导致丢包或其它异常现象,且费时;此时可使用xshell控制台直接上传部署包
- 上传到adminServer的upload的应用安装包,最终会派发给受管服务器;
managedServer
- 受管服务器,运行实际的应用信息,本质上就是一个web容器;
- 受管服务器的应用缓存位置位于
AppServer8005/stage
目录下 - 受管服务启动配置位于
AdminServer/../config/deployments/xxx.war