J2EE是什么??
J2EE(Java 2 Platform,Enterprise Edition)是一套应用开发的技术架构,是一个为大企业主机级的计算机类型而设计的JAVA平台。
J2EE中的2是什么意思?
2的含义要追溯到1998年,1988年Java1.2版本发布,1999年发布Java1.2的标准版,企业版、微型版三个版本,为了区分这三个版本,分别叫做J2SE、J2EE、J2ME。故2的含义为1.2版本
为什么会有J2EE?
宏观:过去是两层化应用,也就是C/S系统。在很多情况下,服务器提供的唯一服务就是数据库服务。在这种解决方案下,客户端程序负责数据访问、实现业务逻辑、用合适的样式显示结果等等。C/S结构第一次部署的时候比较容易,但是难以升级或者改进。它使得重用业务逻辑和界面逻辑非常困难。更重要的是,在web时代,二层化应用不能体现很好的伸缩性,因而很难适应Internet的要求。
P.S:写博客的时候不太理解系统的伸缩性,查了一下:系统通过增加或减少服务器从而提升或降低系统性能的难易程度。我觉得就是当用户或数据量增加的时候,软件系统的性能的保证能力,也就是是否还能维持高性能的能力。
Sun设计J2EE的部分起因就是解决二层化结构的缺陷。于是J2EE定义了一套标准来简化N层企业级应用的开发。它定义了依他标准化的组件,并为这些组件提供了完整的服务。J2EE还自动为应用程序处理了很多实现细节,如安全、多线程等等。
一个N层化应用能够为以下的美中服务提供一个分开的层:
- 显示:浏览器
- 动态生成显示:动态生成工作应该放在WEB服务器端进行,JSP、servlet、XML
- 业务逻辑:EJB
- 数据访问:EJB+JDBC
- 后台系统集成
多层开发的好处:使得企业级应用具有很强的伸缩性,他允许每层专注于特定的角色
13个技术点
1、JDBC:以统一的方式来对各种各样的数据库进行存取,提供4种驱动
2、JNDI:被用于访问不同的命名和目录服务的同意API接口。提供了一致的模型来存取和操作企业级的资源。
3、EJB(Enterprise Java Eean):提供了一个开发和实施分布式商务逻辑,由此显著简化具有可伸缩性和高度复杂的企业级应用开发
4、RMI:远程调用。RMI协议是在远程对象上调用一些方法,是EJB更底层的协议
5、Java IDL/CORBA:在Java IDL支持下,开发人员可以将JAVA和CORBA集成在一起。 他们可以创建JAVA对象并使之可在CORBA ORB中展开, 或者他们还可以创建JAVA类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它JAVA可以被用于将你的新的应 用和LEGACY系统相集成。
6、JSP:和ASP对应,但更具有平台对立性。帮助WEB内容开发人员创建动态网页。JSP页面由HTML代码嵌入Java代码组成。
7、Servlet:和JSP提供的功能大致相同,而且Servlet最终会生成JSP页面
8、XML:和Java具有相同的平台独立性。两者的组合,可以得到完美的具有平台独立性的解决方案
9、JMS:(Java Messaging Service):用于和面向消息的中间件相互通信的应用程序接口
10\11、JTA\JTS:事务监控的接口\事务监控的基本实现
12、Java Mail:用于存取邮件服务器的API,提供了一套邮件服务器的抽象类。
13、JAF:JavaMail利用JAF来处理MIME编码的邮件附件.MIME的字节流可以被转换成java对象,大多数应用都可以不需要直接使用JAF。
总结:
这几天来来回回找了很多关于13个技术点的博客,但是大多数都是简单的总结,因为J2EE是刚开始接触,什么都是新鲜的,说白了就是什么都看不懂,虽然简单的做了总结,但是还需要花大力气去做实践,在项目中深刻,先把这些晦涩难懂的定义放在这里,以后再做深刻的总结