Thứ Năm, 29 tháng 9, 2016

JAVAEE

*** Tổng quan JavaEE:
- Java EE ( Java Enterprise Edition)-Java Phiên Bản Doanh Nghiệp: nó là một nền tảng (platform) dành cho việc xây dựng các ứng dụng doanh nghiệp.

 JavaEE xây dựng dựa trên nền tảng Java SE và cũng cấp thêm một tập các API (giao diện lập trình ứng dụng) để phát triển và hoạt động các ứng dụng phía máy chủ (Server-Side Applications) một cách mạnh mẽ, có khả năng mở rông, đáng tin cậy, di đông (portable) và bảo mật. 



*** Cấu trúc:
- Sử dụng Enterprise Java Beans (EJB) làm lõi cho các ứng dụng của JavaEE. Nói như vậy bởi vì EJB  chứa những business logic của ứng dụng qua đó thao tác với các dữ liệu.

- Xử lý các truy cập của client Chứa metadata, như là thuộc tính của transaction và security, riêng biệt với các bean.

- Cung cấp dịch vụ quản lý transation, quản lý trạng thái, quay vòng tài nguyên và bảo mật.

- Nếu bạn thiết kế 1 ứng dụng không cần có hỗ trợ transaction hoặc bảo mật, lúc đó nên trở lại câu hỏi có nên dùng đến EJB hay không.


 - Được tạo ra và được quản lý bởi một container.

- JaveEE được chia làm 4 Tier: 
+Client Tier : Run trên Máy Client

+Web Tier : Run trên Java EE Server (application server)

+Business Tier : Run trên Java EE Server(application server)

+EIS Tier : Run trên Java EE Server



***Container Component và API

 Application Programming Interface (API): mỗi hệ điều hành, ứng dụng đều có những bộ API khác nhau. Nó cung cấp cho người lập trình các hàm tương tác với CSDL, lập trình thực hiện các thao tác với hê điều hành hay phần mềm đó. Hầu hết các hàm API được chứa trong các file DLL.

+ javaserver pages standard tag library (JSTL):  là thư viện thẻ chuẩn cung cấp các thẻ để kiểm soát hành vi trang, lặp đi lặp lại và các lệnh điều khiển, các thẻ quốc tế hóa, và các thẻ SQL.

+java persistence api (JPA): là một đặc tả Java dùng cho việc truy xuất, lưu trữ/truy vấn và quản lý dữ liệu giữa các đối tượng Java/class với CSDL quan hệ. JPA trở thành chuẩn trong cách tiếp cận Object to Relation Mapping (ORM) trong ngành công nghiệp Java. Thông qua JPA, nhà phát triển có thể ánh xạ (map), lưu trữ, cập nhật và lấy dữ liệu từ CSDL thành Java object và ngược lại mà  không cần cài đặt bất cứ interface hoặc phương thức nào.

+java api for restful web services( ReST): Là một dịch vụ web đơn giản sử dụng HTTP và tính chất của REST.Nó tuân thủ theo 4 nguyên tắc thiết kế cơ bản sau:
§       ++ Sử dụng các phương thức HTTP một cách rõ ràng
§       ++ Phi trạng thái
§       ++ Hiển thị cấu trúc thư mục như URls
§       ++ Chuyển đổi linh hoạt JavaScript Object Notation (JSON) và XML hoặc cả hai.    

+managed bean: Managed Bean là một chương trình Java Bean, trong đó có các getter và setter, business logic kinh doanh hoặc backing bean.

+contexts and dependency injection in java ee 7(CDI): nó hỗ trợ java EE platfrom, giao tiếp giữa Java Server Face (JSF) và JavaBean cũng như enterprise Bean (EJB), có thể  khởi tạo các đối tượng Java thuần túy và inject vào các đối tượng Java thuần túy khác.

+java authorization contract for containers(JACC): API cung cấp giấy phép chứng chỉ (theo em hiểu là như thế :v )

+bean validation: bao gồm các quy tắc và API phục cho việc xác minh tính đúng đắn của dữ liệu trong các đối tượng của Java Bean.

+java transaction api (JTA): một tập API cho phép quản lý transaction. Ứng dụng có thể sự dụng JTA để start, commint, abord transaction.

+java mail: một API cung cấp 1 framework platform-independent và protocol-independent (không phụ thuộc giao thức về platform) để xây dựng ứng dụng về mail và messaging.

+java messaging service api: một API để giao tiếp với Message Oriented Middleware (MOM) cho phép truyền nhận message theo cơ chế point-to-point và publish/subcribre.

+java ee connector architecture: cung cấp giải pháp công nghệ Java cho vấn đề kết nối giữa nhiều máy chủ ứng dụng và các hệ thống thông tin doanh nghiệp.

+java websocket api: là một Application Programming Interface cho phép các trang web sử dụng giao thức WebSockets cho thông tin liên lạc hai chiều với một máy chủ từ xa.

+java api for json processing(JSONP): JSONP cung cấp các API di động cho việc phân tích, tạo, chuyển đổi, và JSON querry.

+concurrency utilities: lập trình đồng thời (concurrent programming), bao gồm các lệnh, từ khóa, lớp đối tượng ngay trong ngôn ngữ lập trình lẫn thông qua chức năng cung cấp bởi các thư viện hỗ trợ.

+javabean application framework:  tập các API được sử dụng bởi các package khác như là JavaMail,…Bạn có thể dùng JAF để xác định kiểu dữ liệu, đóng gói truy cập đến dữ liệu đó, mở rộng những tác vụ dựa trên dữ liệu đó và khởi tạo một bean tương ứng để thực hiện những tác vụ đó. 



container component: Mô hình này được hình thành dựa trên bốn container component cốt lõi cung cấp môi trường cho các component khác của J2EE thông qua các API. Những component cốt lõi này liên quan đến bốn kiểu container được hỗ trợ trong JEE  bao gồm Application Client, Applet, Web và EJB.

Application Client: dùng để cung cấp những API hỗ trợ cho messaging, remote invocation, database connectivity và lookup service.

Applet component: là java applet chạy bên trong Applet container, chính là web browser có hỗ trợ công nghệ Java. Applet phải hỗ trợ JSE API.

Web  containe: đây là Web-based component chạy ở bên trong Web container, được hỗ trợ bởi Web Server. Web container là một môi trường run-time cho servlet và jsp.

Enterprise JavaBean (EJB):  EJB container cung cấp các dịch vự quản lý transaction, bảo mật, quản lý trạng thái, quay vòng tài nguyên (resource pooling).  



***Mô Hình MVC


 - Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục tiêu chia tách phần Giao diện và Code để dễ quản lý, phát triển và bảo trì. MVC chia ứng dụng phần mềm ra làm 3 phần có tương tác với nhau là Model(Dữ liệu), View(Giao diện), Controller( Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ (Business)).

  • - Model là lớp chứa thông tin đối tượng (Dữ liệu), tương tác với Database. Chịu trách nhiệm chính trong mô hình hóa đối tượng.

  • - View là giao diện của hệ thống tương tác trực tiếp với người dùng.

  • - Controller nhận yêu cầu từ người dùng và sử dụng Model và View để xử lý và trả kết quả cho người dùng.

Browser(Client) ----(Request)----> Controller -----(EXCUTON)----> Model ------(RESULTING)-----> Controller ------(RESULTING)----> View -----(GUI CONTEXT)----> Controller ----(Response)----> Browser.



***Kết: 
- Java EE 7 đơn giản hóa với một nền tảng tích hợp, gắn kết, qua đó giảm bớt yêu cầu viết mã phần mềm

- Nâng cao hiệu suất + khả năng di chuyển ứng dụng bằng khả năng hỗ trợ máy khách dịch vụ web RESTful tiêu chuẩn.

- -Cung cấp các tính năng mới có thể đáp ứng những yêu cầu của doanh nghiệp hiện nay.





+