Một số khái niệm và công nghệ mới trong lập trình Java

1. Mô hình web vớ HTML, Servlet và JSP 

Html (HyperText Markup Language) là một ngôn ngữ đơn giản được dùng trong các tài liệu siêu văn bản (văn bản + thẻ), dựa vào các thẻ này đẻ trình duyệt web có thể đọc và hiểu thông tin trong tài liệu đó. Html không phải là một ngôn ngữ lập trình, nó đơn giản chỉ là ngôn ngữ đánh dấu văn bản, tuy nhiên nó rất quan trọng và gần như không thể thiếu hiện nay trong các văn bản web.

Servlet là một công nghệ trong lập trình java, được xây dựng trên tư tưởng giống CGI (common gateway interface) dùng để biên dịch trên web server và biên dịch ra những trang web. Servlet là những đoạn code java bình thường, tương tự như applet tuy nhiên nó khác applet là không có giao diện (GUI).
JSP (Java Servlet Pages) là một công nghệ java giúp chúng ta có thể trộn lẫn giữa html code (static html) và servlet (dynamic html)

2. Web Server TomCat

a. Giới thiệu
Tomcat (Apache Tomcat) là một phần mềm viết bằng java, cụ thể nó là một Servlet container dùng để thi hành các ứng dụng java servlet và jsp. Tomcat không phải là một web server như Apache, nó chỉ cung cấp máy chủ http/https (điều phối request và response) cho ngôn ngữ java và nó đơn giản hơn Apache nhiều như hiệu suất, hỗ trợ các ngôn ngữ khác (php, asp, ..), proxy server, plug-in, …

3. Các khái niệm 
 
DI (dependancy injection) là cách thức giúp các thành phần trong phần mềm giảm bớt sự phụ thuộc vào nhau. Một vài DI framework như:
• Spring Framework: một framework lớn chắc chắn đưa ra một lượng các khả năng khác tách ra từ Dependency injection
• PicoContainer: một DI container framework nhỏ nhưng mạnh mẽ
• HiveMind: một DI container framework khác.
• Xwork: Một framework độc lập thường được sử dụng trong liên kết chung với Webwork
Một phát biết DI khá hữu hiệu là: “Dependency Injection là nơi các thành phần phụ thuộc vào nhau thông qua các phương thức khởi tạo, các phương thức, hay trực tiếp trong các field.”
Những ưu điểm của DI mà ta có thể thấy như tính uyển chuyển, dễ kiểm tra, và dễ bảo trì, ..
AOP (Aspect Oriented Programming) là kỹ thuật lập trình mới cho phép đóng gói những hành vi có liên quan đến nhiều lớp, AOP có thể là hướng phát triển mới của lập trình và của OOP bởi vì OOP chỉ giúp đóng gói các hành vi liên quan của chủ thể, còn hành vi đan xen nhau của nhiều lớp thì chưa, do đó nó vẫn làm cho code chương trình nằm lẫn lộn và rải rác nhiều nơi.
OR (Object-Relational hay Object-Relational maping) là một phương pháp giúp lập trình tương tác với database (DBMS) một cách dễ dàng, tự nhiên, và không cần biết đến loại cơ sở dữ liệu đang sử dụng, SQL, …

JSF (JavaServer Faces) là một UI framework hỗ trợ chúng ta trong việc xây dựng ứng dụng web chạy trên server và thay thế UI phía sau cho client. Các thành phần của JSF bao gồm:
• Một thư viện các thẻ tùy biến JSP giúp hỗ trợ việc định nghĩa các thành phần UI trong một trang JSP
• Bổ sung thêm một tập API giúp tạo và quản lý các thành phần UI như quản lý trạng thái, sự kiện, ..

Hibernate là một framwork giúp việc giao tiếp với các hệ quản trị cơ sở dữ liệu đơn giản hơn trong lập trình ứng dụng, nó hoạt động ở tầng dữ liệu (data layer) trong mô hình 3 lớp (3 layer). Ta có thể hiểu đơn giản, trong thiết kế 3 lớp (UI layer – Business layer – Data layer), tầng data layer có thể chia thành 2 phần: phần xử lý các nghiệp vụ tính toán liên quan đến dữ liệu (business logic layer) và phần chịu trách nhiệm giao tiếp với các hệ quản trị cơ sở dữ liệu (persistence layer). Và Hibernate là một framework cho persistence layer.

Các thành phần của Hibernate như:
• Hibernate Core: Cung cấp các chức năng cơ bản của một persistence layer cho các ứng dụng Java với các APIs và hỗ trợ XML mapping.
• Hibernate Annotations: Các map class với JDK 5.0 annotations, bao gồm Hibernate Validator.
• Hibernate EntityManager: Sử dụng EJB 3.0 EntityManager API
• Hibernate Tools: Các tool tích hợp với Eclipse và Ant dùng cho việc sinh ra các persistence object từ một schema có sẵn trong database (reverse-engineering) và từ các file hbm sinh ra các class java để hiện thực các persistence object, rồi Hibernate tự tạo các object trong database (forward-engineering).
• NHibernate: Hibernate cho .Net framework.
• JBoss Seam: Một Java EE 5.0 framework cho phát triển các ứng dụng JSF, Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra rất mạnh để phát triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả các công nghệ "hot" nhất hiện nay.

Spring là một framework dùng để quản lý các đối tượng nghiệp vụ và sự phụ thuộc của chúng trong ứng dụng

HttpSession (javax.servlet.http.*) là một interface dùng để quản lý và định danh những thông tin của một user (ID, last accessed time, creation time, …) khi họ đang vào trang web. Một số phương thức của interface này như sau:
• getId (getCreationTime, getLastAccessedTime, getAttrinute) lấy những thông tin trong session như Id, creation time, …
• getServletContext lấy ngữ cảnh chứa session này
• setAttribute gán giá trị vào session
• …

Cookie là một lớp trong java, chúng implement Cloneable interface, chúng dùng để lưu giữ một vài thông tin cho lần truy cập sau của user ví dụ id, username, password, …

RequestDispatcher (javax.servlet.*) là một interface dùng để định nghĩa một đối tượng mà nó nhận những yêu cầu (request) từ client và sau đó nó sẽ gửi những yêu cầu này tới thành phần liên quan trên server như html, Servlet, JSP. Nó có 2 phương thức là:
• forward chuyển tiếp request từ client (servlet) tới các tài nguyên khác (html, servlet, jsp)
• include đưa nội dung vào response, nội dung có thể nàm trong một html, servlet, jsp trên server
Servlet filter là một tính năng dùng để chặn và chỉnh sửa các request và response của server, khi viết một lớp fileter chúng ta nên implement Filter interface để giúp điều khiển việc log filter

SHARE THIS

2 comments: