Java Technology Roadmap

Source: Internet
Author: User
Tags ibm mq java se

Java Technology Roadmap

Tip: the previous article made a framework analysis on Java technology, including Java SE, Java EE, and Java ME, to let readers know which technologies Java consists. In order to systematically learn these technologies, this article will develop a complete Java learning route.

As we have learned from the past, Java SE includes basic Java technologies, and Java EE includes various network application development technologies, java ME contains various technologies for mobile device application development, and Java SE is the basis of Java EE and Java ME. Therefore, there are two ways to learn Java technology:

Java SE → Java EE: mainly engaged in network application development. It is a complete course for Java technology learning. It is an enterprise application development based on Java EE and is currently the main direction of Java applications.

Java SE → Java ME: Mainly used for wireless application development. This technology is relatively simple.

Java SE à Java EE has formed a complete system from low to high, and is a necessary technical system for the development of Java/Java EE engineers, next we will develop a complete learning path based on the technical system of Java SE à Java EE.

1. Java EE technology classification

Based on the layering of Java EE technology, we can divide Java EE technology into the following three categories.

(1) Web Application Technology

JDBC: JDBC (Java DataBase Connectivity) is a DataBase access interface based on standard SQL. It is mainly used to connect to the DataBase and directly call SQL commands to execute various SQL statements and stored procedures. JDBC is equivalent to ODBC on Microsoft platform.

Servlet: Servlet is a CGI technology on the Java platform. It runs on the server side to dynamically generate Web pages. Compared with traditional CGI and many other CGI-like technologies, Java Servlet is more efficient. It relies on threads to support concurrent access.

JSP (EL/JSTL): JSP (Java Server Page) is a technology that implements mixed coding of common static HTML and dynamic Page output, similar to Microsoft ASP, PHP, and other technologies. With the separation of content and appearance, Web page development can be easily divided into page designers and programmers. In the runtime tense, JSP will be first converted to Servlet. Its Efficiency and functions are no different from those of Servlet.

JavaBean: a component that encapsulates business logic and can be reused.

JSF: JSF is a page component technology dedicated to building Java Web applications, it integrates various page technologies, such as Servlet, JSP, JavaBean, EL, JSTL, and custom tags, to facilitate the drawing of rich page components.

(2) enterprise-level application technology

EJB: EJB defines a group of reusable components, Enterprise Beans. Developers can use these components to build distributed applications like building blocks. EJB manages technical links such as security, remote connection, lifecycle management, and transaction management for its developers, simplifying the development of business logic.

JNDI: JNDI (Java Naming and Directory Interface) is used to locate various objects in a distributed system, including EJB, database driver, JDBC data source, and message connection, you can also use JNDI to access various specific directory services, such as LDAP, NDS, and DNS.
JMS: the JMS message service is a set of Java application interfaces that provide services for creating, sending, receiving, and reading messages, enabling Java applications to communicate with various message middleware, these message-oriented middleware include ibm mq-Series, Microsoft MSMQ, and pure Java SonicMQ.

JavaMail: provides a complete set of abstract classes for simulating mail systems. You can use JavaMail to create an email or message application.

JAF: JavaMail uses JavaBeans Activation Framework (JAF) to process MIME-encoded email attachments. MIME byte streams can be converted to Java objects or to Java objects.

JTA: JTA provides a standard interface for processing transactions in Java EE. It supports start, rollback, and commit of transactions. At the same time, a JTS (Java Transaction Service) is provided as a standard Transaction processing Service on the Java EE platform. developers can use JTA to use JTS.

JACC: JACC (Java Authorization Service Provider Contract for Containers) defines a connection agreement between the Java EE application server and a specific Authorization authentication server, to insert various Authentication servers into Java EE products.

JAAS: JAAS (Java Authentication and Authorization Service) implements a Java standard plug-in Gable Authentication Module (PAM) framework. It can be used to authenticate user identities and implement user-based access control by authorizing users.

JCA: JCA (Java EE Connector Architecture) is part of the Java EE Architecture. It provides a system Architecture that connects various enterprise information systems (including ERP, SCM, CRM, and so on, developers only need to develop a JCA-based connection adapter to connect to and use it on any Java EE server.

JMX: JMX (Java Management Extensions) is designed to solve the problem of distributed system Management. It is a collection of application programming interfaces, extensible objects and methods, seamlessly integrated system, network, and service-oriented applications can be developed across a variety of heterogeneous operating system platforms, system architecture, and network transmission protocols.

(3) Web Service technology

JAX-RPC: By using JAX-RPC (Java API for XML-based RPC), existing Java classes or Java applications can be repackaged and published as Web Services. The JAX-RPC provides an API to encode and decode RPC parameters (in/out), allowing developers to conveniently use SOAP messages to complete RPC calls, EJB applications can also be packaged into Web services using JAX-RPC.

SOA (SAAJ): SAAJ (SOAP with attachemets API for Java) is an enhancement of the JAX-RPC that provides support for low-level SOAP message manipulation.

JAXR: JAXR (Java API for XML Registries) provides APIs for interacting with multiple types of registration services. JAXR runs the client to access the Web Servcices that is compatible with the JAXR specifications. The Web Services here are registration Services. Generally, registration Services always run in the form of Web Services.

2. Java technology learning Roadmap

Java EE technology, from simple to complex, includes: Web application technology, enterprise application technology, Web Service technology. In addition to these technologies, there are also some open-source framework technologies, including the Web framework Struts/WebWork/Tapstry, the business layer framework Spring, and the persistence layer framework Hibernate/iBATIS. These are also Java EE application technologies.

Although these technologies are dazzling, they are also progressive and gradually form the learning technology line of Java EE engineers. In addition to the Java EE technology, the basic Java technology, database technology, and web development technology need to be mastered in the early stage. After learning all the Java basics and Java EE technologies, and then putting them into practice, you have reached the level of architects and embarked on the path of technical management, it can reach the technical peak-CTO.

In order to learn these technologies progressively, We (note: this graph is similar to the graph on the pull pages of books, but slightly different ).

4. About "Java masters and classics"

Introduction: To help Java engineers grow, we have compiled a series of books titled "Java masters and classics", which correspond to the Java technology learning routes, the "Quick prototyping" (quick implementation of reusable prototype systems) is used to explain the technology, so that readers can learn and practice and gradually improve.

1. Technical System courses

Based on the Java technology learning roadmap, we set up a special course for each technology step, as shown in the following table.

2. Learning objectives: to understand popular enterprise technologies and the Enterprise Development Process

When college students (or programmers with few development experience, the same below) go to it companies for interviews and employment after graduation, they face a problem: the knowledge learned by the university is out of line with the IT company's knowledge structure.

Currently, universities generally offer the following basic courses: Database principles, data structures, operating systems, discrete mathematics, software engineering, C language, and Java language. These courses are the most basic courses. By studying these courses, college students can master the basic theoretical knowledge of IT development. Obviously, they are only the most basic theoretical knowledge in IT companies.

IT companies either conduct product R & D or project development, but all of them are based on project practices, and all of their skills are applied. For example: java Struts, Hibernate, Spring, Eclipse ,.. NET Visual Studio, ASP, and ASP.. NET, Oracle, SQL Server, and MySQL for databases.

Because the University's knowledge and the IT company's knowledge structure are at two different levels, when college students participate in job interviews, IT often appears because they are not familiar with the IT company's knowledge structure, but cannot reflect your own capabilities.

Therefore, we have designed this series to build a bridge between university graduates and IT companies, so that university graduates can learn the application knowledge of IT companies on the basis of theoretical knowledge, conducts pre-interview training on technologies and experience.

3. Course features: Quick prototyping

This series of books uses the quick prototyping method. The prototype can not only be used in practical scenarios, but also serve as the basis for subsequent extension development.

Rapid prototyping is a computer-based system development method proposed in recent years. It first constructs a simple functional prototype system, and then gradually improves the prototype system, constantly expand and improve the final software system. The prototype is the model, and the prototype system is the model of the application system. It is the proportional reduction model of the actual system to be built, but retains most of the performance of the actual system. This model can be checked, tested, and modified during running until its performance meets user requirements. Therefore, this working model can be quickly converted into an original target system.

Many technologies in this series will be explained in the form of DEMO demonstration cases. The prototype system can be built to not only train the technology, but also expand and reuse.

4. Applicable readers of this series

This series of books is intended for readers: Java software enterprise training and Java self-learning.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.