.net人员用Java 之Java EE-阿里云开发者社区

开发者社区> 狗尾巴呢> 正文

.net人员用Java 之Java EE

简介: 上篇文章对Java的基本概念作了简要总结(http://www.cnblogs.com/2018/archive/2011/04/05/1993163.html),本文把对java EE的学习过程总结一下。

上篇文章对Java的基本概念作了简要总结(http://www.cnblogs.com/2018/archive/2011/04/05/1993163.html),本文把对java EE的学习过程总结一下。




这个文档介绍了整个Java EE的基本概念和示范例子,熟悉这个基本对Java EE的概念就比较了解了。

Java EE的基本概念

实际的开发中,只要理解了下面的几个图表和规范,只要针对具体的规范和标准进行学习即可。因为本身Java EE规范范围很大,我们实际中用的只是其中的部分。


Java EE is based on standards.

Containers are Java EE runtime environments that provide certain services to the components they host such as life-cycle management, dependency injection, and so on. These components use well-defined contracts to communicate with the Java EE infrastructure and with the other components.



Applet containers are provided by most web browsers to execute applet components. When you develop applets, you can concentrate on the visual aspect of the application while the container givesou a secure environment. The applet container uses a sandbox security model where code executed inhe “sandbox” is not allowed to “play outside the sandbox.” This means that the container prevents anyode downloaded to your local computer from accessing local system resources, such as processes oriles.

The application client container (ACC) includes a set of Java classes, libraries, and other files required to bring injection, security management, and naming service to Java SE applications (Swing,atch processing, or just a class with a main() method). ACC communicates with the EJB container usingRMI-IIOP and the web container with HTTP (e.g., for web services).

The web container provides the underlying services for managing and executing web componentsservlets, EJBs Lite, JSPs, filters, listeners, JSF pages, and web services). It is responsible for instantiating,nitializing, and invoking servlets and supporting the HTTP and HTTPS protocols. It is the containersed to feed web pages to client browsers.

The EJB container is responsible for managing the execution of the enterprise beans containing theusiness logic tier of your Java EE application. It creates new instances of EJBs, manages their life cycle, and provides services such as transaction, security, concurrency, distribution, naming service, or theossibility to be invoked asynchronously.



Containers provide underlying services to their deployed components.

Java Transaction API (JTA): This service offers a transaction demarcation API usedby the container and the application. It also provides an interface between thetransaction manager and a resource manager at the Service Provider Interface(SPI) level.

Java Persistence API (JPA): Standard API for object-relational mapping (ORM). With its Java Persistence Query Language (JPQL), you can query objects stored in the underlying database.

Validation: Bean Validation provides a class level constraint declaration and validation facility.

Java Message Service (JMS): This allows components to communicate asynchronously through messages. It supports reliable point-to-point (P2P) messaging as well as the publish-subscribe (pub-sub) model.

Java Naming and Directory Interface (JNDI): This API, included in Java SE, is used to access naming and directory systems. Your application uses it to associate (bind) names to objects and then to find these objects (lookup) in a directory. You can look up datasources, JMS factories, EJBs, and other resources. Omnipresent in your code until J2EE 1.4, JNDI is used in a more transparent way through injection.

JavaMail: Many applications require the ability to send e-mails, which can be implemented through use of the JavaMail API.

JavaBeans Activation Framework (JAF): The JAF API, included in Java SE, provides a framework for handling data in different MIME types. It is used by JavaMail.

XML processing: Most Java EE components can be deployed with optional XML deployment descriptors, and applications often have to manipulate XML documents. The Java API for XML Processing (JAXP) provides support for parsing documents with SAX and DOM APIs, as well as for XSLT. The Streaming API for XML (StAX) provides a pull-parsing API for XML.

• Java EE Connector Architecture (JCA): Connectors allow you to access EIS from a Java EE component. These could be databases, mainframes, or Enterprise Resource Planning (ERP) programs.

• Security services: Java Authentication and Authorization Service (JAAS) enables services to authenticate and enforce access controls upon users. The Java Authorization Service Provider Contract for Containers (JACC) defines a contract between a Java EE application server and an authorization service provider, allowing custom authorization service providers to be plugged into any Java EE product.

• Web services: Java EE provides support for SOAP and RESTful web services. The Java API for XML Web Services (JAX-WS), replacing the Java API for XML-based RPC (JAX-RPC), provides support for web services using the SOAP/HTTP protocol. The Java API for RESTful Web Services (JAX-RS) provides support for web services using the REST style.

• Dependency injection: Since Java EE 5, some resources (datasources, JMS factories, persistence units, EJBs…) can be injected in managed components. Java EE 6 goes further by using CDI (Context and Dependency Injection) as well as the DI (Dependency Injection for Java) specifications.

• Management: Java EE defines APIs for managing containers and servers using a special management enterprise bean. The Java Management Extensions (JMX) API is also used to provide some management support.

• Deployment: The Java EE Deployment Specification defines a contract between deployment tools and Java EE products to standardize application deployment.




Java EE 6规范中文版.chm




javaeetutorial6.zip[The Java EE 6Tutorial]

The Java EE 6 Tutorial Basic Concepts, 4th Edition

Beginning Java EE 6 with GlassFish 3, 2nd Edition




很实用的一个例子,覆盖了多个方面的内容,理解了这个基本对如何实施一个Java EE的项目就有一个比较清晰的概念了。

Java EE发展了十几年,相关的资料和开源框架等浩如烟海,我们只要把握这些基础的概念,然后结合相应的实例学习和开发改造,在项目中就可以顺利应用了。


阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4479 0
阿里云和微软共同开源的 OAM 对 Kubernetes 开发人员意味着什么?
上周,微软和阿里巴巴共同推出了开放应用模型(OAM),用于定义部署在任何地方的应用模型的一种规范。Rudr是Microsoft基于Kubernetes环境的OAM标准实现。 我用了一个周末来了解OAM试图解决的问题,为此我还以Rudr为基础重构了一些我喜欢的基础微服务的应用程序。
891 0
.net人员用Java 之Java EE
上篇文章对Java的基本概念作了简要总结(http://www.cnblogs.com/2018/archive/2011/04/05/1993163.html),本文把对java EE的学习过程总结一下。
925 0
1.前言:  aliyun 上采用容器服务 kubernetes 部署某业务的所有应用,每个应用有不同的Owner, 开发人员, 运维,需要根据应用分配不同的人访问权限。 需求: 运维人员(集群管理人员)---> 所有应用配置读写; 应用owner与运维 --> 所属应用的配置读写; 应用开发测试等人员 --> 只读访问应用的配置,并可以进入 POD 维护; 所有人员通过堡垒机运维线上系统,堡垒机审计功能记录运维人员的操作过程。
660 0
开发人员都应该了解的 7 种 JavaScript 设计模式
开发人员将 JavaScript 设计模式作为解决问题的模板是很合适的,但并不是说这些模式可以代替开发人员的工作。
841 0
443 0
  1.Chirpy Zippy:Chirpy Zippy是一个Visual Studio插件,它可以混合,缩小和验证JavaScript,样式表和带点文件,它还能够自动更新T4MVC和其它T4模板。   下载地址:http://down.
741 0
2520 0
从事研发20年 涉及桌面软件、嵌入式设备、C/S分层系统、B/S业务系统、互联网系统等等各类系统 语言涉及C/C++ .net系统 java系列 前端系列等等不同的类别 主控和主导了国家863项目,企业业务应用系统,自然语言翻译系统,数据库审计等系列的软件研发