kien truc 3 tang trong java
TRANSCRIPT
![Page 2: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/2.jpg)
Nội dung trình bàyNội dung trình bày
Generics1
Kiến trúc 3 tầng2
Demo3
![Page 3: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/3.jpg)
Generics
![Page 4: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/4.jpg)
None GenericsNone Generics
??
![Page 5: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/5.jpg)
None GenericsNone Generics
??
![Page 6: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/6.jpg)
None GenericsNone Generics
Compile Time:BUILD SUCCESSFUL Compile Time:BUILD SUCCESSFUL
Runtime: Error Runtime: Error
![Page 7: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/7.jpg)
GenericsGenerics
![Page 8: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/8.jpg)
GenericsGenerics
![Page 9: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/9.jpg)
GenericsGenerics
Compile Time: BUILD FAILEDCompile Time: BUILD FAILED
Runtime: SAFE Runtime: SAFE
![Page 10: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/10.jpg)
Generics – Collection InterfacesGenerics – Collection Interfaces
CollectionCollectionCollectionCollection
SetSetSetSet ListListListList QueueQueueQueueQueue
SortedSetSortedSetSortedSetSortedSet
![Page 11: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/11.jpg)
Generics – ArrayList, LinkedListGenerics – ArrayList, LinkedList
ListListListList
ArrayListArrayListArrayListArrayList LinkedListLinkedListLinkedListLinkedList
![Page 12: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/12.jpg)
Kiến trúc 3 tầng – The Three-Layer Architecture
![Page 13: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/13.jpg)
Hướng tiếp cận phân tầng trong phần mềm Hướng tiếp cận phân tầng trong phần mềm
Chia phần mềm thành các tầng (layer)Chia phần mềm thành các tầng (layer)1
Mỗi tầng có vai trò đặc trưng riêngMỗi tầng có vai trò đặc trưng riêng2
Quyết định sự tương tác giữa các tầng như thế nào.3
![Page 14: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/14.jpg)
Vai trò của hướng tiếp cận phân tầng trong phần mềmVai trò của hướng tiếp cận phân tầng trong phần mềm
Sẵn sàng cho việc mở rộng hệ thốngSẵn sàng cho việc mở rộng hệ thống1
Thuận tiện cho việc dùng lạiThuận tiện cho việc dùng lại2
Hệ thống dễ bảo trìHệ thống dễ bảo trì3
Dễ dàng phân chia công việcDễ dàng phân chia công việc4
![Page 15: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/15.jpg)
Kiến trúc 3 tầng (The Three-Layer Architecture)Kiến trúc 3 tầng (The Three-Layer Architecture)
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
![Page 16: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/16.jpg)
Data LayerData Layer
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Xử lý dữ liệu(Data Handling)
Xử lý dữ liệu(Data Handling)
Data SourcesData Sources
![Page 17: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/17.jpg)
Tầng dữ liệu – Data LayerTầng dữ liệu – Data Layer
Inserting DataInserting Data
Updating DataUpdating Data
Deleting DataDeleting Data
Retrieving DataRetrieving Data
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Xử lý dữ liệu(Data Handling)
Xử lý dữ liệu(Data Handling)
![Page 18: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/18.jpg)
Vai trò của Business LayerVai trò của Business Layer
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Xử lý nghiệp vụ(Business Handling)
Xử lý nghiệp vụ(Business Handling)
![Page 19: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/19.jpg)
Kiến trúc 3 tầng (The Three-Layer Architecture)Kiến trúc 3 tầng (The Three-Layer Architecture)
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Input/outputHandling
Input/outputHandling
![Page 20: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/20.jpg)
Kiến trúc 3 tầng (The Three-Layer Architecture)Kiến trúc 3 tầng (The Three-Layer Architecture)
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Đối tượng trao đổi dữ liệu
Data Transfer Object
Đối tượng trao đổi dữ liệu
Data Transfer Object
![Page 21: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/21.jpg)
Đối tượng trao đổi dữ liệu – Data Transfer Object
![Page 22: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/22.jpg)
Đối tượng trao đổi dữ liệu – Data Transfer Object(DTO)Đối tượng trao đổi dữ liệu – Data Transfer Object(DTO)
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Đối tượng trao đổi dữ liệu
Data Transfer Object
Đối tượng trao đổi dữ liệu
Data Transfer Object
![Page 23: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/23.jpg)
HRMHRM
![Page 24: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/24.jpg)
Đối tượng trao đổi dữ liệu với mẫu đơn giảnĐối tượng trao đổi dữ liệu với mẫu đơn giản
AtrributeAtrributeAtrributeAtrributeAtrributesAtrributes
PropertyPropertyPropertyPropertyPropertiesProperties
DTO
Các thuộc tính
Các thuộc tính
Các Port PropertyCác Port Property
Default ContructorDefault Contructor
Phương thức khởi tạo mặc định
Phương thức khởi tạo mặc định
![Page 25: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/25.jpg)
Data Transfer Object – HRM - JavaData Transfer Object – HRM - Java
![Page 26: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/26.jpg)
Tầng dữ liệu – Data Layer
![Page 27: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/27.jpg)
Tầng dữ liệu – Data LayerTầng dữ liệu – Data Layer
Inserting DataInserting Data
Updating DataUpdating Data
Deleting DataDeleting Data
Retrieving DataRetrieving Data
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Xử lý dữ liệu(Data Handling)
Xử lý dữ liệu(Data Handling)
![Page 28: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/28.jpg)
Tầng dữ liệu – Data LayerTầng dữ liệu – Data Layer
Data SourcesData Sources ServicesServices
Data Access Components Data Access Components (DAC)(DAC)
Service Gateways Service Gateways (SG)(SG)
Data LayerData Layer
![Page 29: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/29.jpg)
Tầng dữ liệu – Data LayerTầng dữ liệu – Data Layer
Data Access Components (DAC):Data Access Components (DAC): là thành phần chính chịu là thành phần chính chịu trách nhiệm lưu trữ và truy xuất từ các nguồn dữ liệu trách nhiệm lưu trữ và truy xuất từ các nguồn dữ liệu (Data Sources).(Data Sources).
Service Gateways (SG): Service Gateways (SG): là những thành phần trợ giúp việc là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngoài một cách dễ dàng.truy xuất các dịch vụ bên ngoài một cách dễ dàng.
![Page 30: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/30.jpg)
Tầng dữ liệu - Data LayerTầng dữ liệu - Data Layer
Data Access ObjectsData Access Objects
DAOsDAOs
Data Access Components (DAC)Data Access Components (DAC)
XML Access ObjectsXML Access Objects
XAOsXAOs
File Access ObjectsFile Access Objects
FAOsFAOs
DatabaseDatabase
XML filesXML filesXMLXML XML filesXML filesFilesFiles
![Page 31: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/31.jpg)
Thiết kế Tầng dữ liệu với mẫu đơn giảnThiết kế Tầng dữ liệu với mẫu đơn giản
xxxDAOxxxDAO
yyy Tableyyy Table zzz Tablezzz Table
yyyDAOyyyDAO zzzDAOzzzDAO
xxx Tablexxx Table
![Page 32: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/32.jpg)
Đối tượng kết xuất của Data LayerĐối tượng kết xuất của Data Layer
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Đối tượng trao đổi dữ liệu
Data Transfer Object
Đối tượng trao đổi dữ liệu
Data Transfer Object
![Page 33: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/33.jpg)
Data Layer – HRMData Layer – HRM
![Page 34: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/34.jpg)
Data Layer – HRM - JavaData Layer – HRM - Java
EmployeeDAOEmployeeDAO
EmployeeStyleEmployeeStyle
TableTable
EmployeeStyleDAOEmployeeStyleDAO
EmployeeEmployee
TableTable
![Page 35: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/35.jpg)
Data Layer – HRM - JavaData Layer – HRM - Java
![Page 36: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/36.jpg)
Data Layer – HRM - JavaData Layer – HRM - Java
![Page 37: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/37.jpg)
Data TierData Tier
Data LayerData Layer
ServicesServices
Web ServicesWeb Services
ImplementationsImplementations
![Page 38: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/38.jpg)
Thiết kế tầng nghiệp vụ – Business Layer
![Page 39: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/39.jpg)
Tầng nghiệp vụ - Business LayerTầng nghiệp vụ - Business Layer
Business LayerBusiness Layer
Data LayerData Layer
ServicesServices
Xử lý nghiệp vụBusiness Handling
Xử lý nghiệp vụBusiness Handling
![Page 40: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/40.jpg)
Tầng nghiệp vụ - Business LayerTầng nghiệp vụ - Business Layer
Tầng này thực hiện các nghiệp vụ chính của hệ thống, Tầng này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do tầng Data cung cấp, và cung sử dụng các dịch vụ do tầng Data cung cấp, và cung cấp các dịch vụ cho tầng Presentation. cấp các dịch vụ cho tầng Presentation.
Tầng này có thể sử dụng các dịch vụ của các nhà Tầng này có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện công việc của mình. Ví cung cấp thứ 3 để thực hiện công việc của mình. Ví dụ: sử dụng dịch vụ của cổng thanh toán trực tuyến dụ: sử dụng dịch vụ của cổng thanh toán trực tuyến như Paypal. như Paypal.
![Page 41: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/41.jpg)
Business Layer – Tầng nghiệp vụBusiness Layer – Tầng nghiệp vụ
Business LayerBusiness Layer
Business WorkflowsBusiness Workflows Business ComponentsBusiness Components
BPELBPELWCFWCF
Business ProcessBusiness Process
……
![Page 42: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/42.jpg)
Business Layer – Tầng nghiệp vụBusiness Layer – Tầng nghiệp vụ
Business Components (BC): Business Components (BC): là những thành là những thành phần chính thực hiện các dịch vụ mà Service phần chính thực hiện các dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic (constraints), các quy tắc các ràng buộc logic (constraints), các quy tắc nghiệp vụ (business rules), sử dụng các dịch nghiệp vụ (business rules), sử dụng các dịch bên ngoài khác để thực hiện các yêu cầu của bên ngoài khác để thực hiện các yêu cầu của ứng dụng. ứng dụng.
![Page 43: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/43.jpg)
Thiết kế Tầng nghiệp vụ với mẫu đơn giảnThiết kế Tầng nghiệp vụ với mẫu đơn giản
xxxDAOxxxDAO
yyy Tableyyy Table zzz Tablezzz Table
yyyDAOyyyDAO zzzDAOzzzDAO
xxx Tablexxx Table
xxxBUSxxxBUS yyyBUSyyyBUS zzzBUSzzzBUS
![Page 44: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/44.jpg)
Business Layer – HRM - JavaBusiness Layer – HRM - Java
EmployeeDAOEmployeeDAO
EmployeeStyleEmployeeStyle
TableTable
EmployeeStyleDAOEmployeeStyleDAO
EmployeeEmployee
TableTable
EmployeeBUSEmployeeBUS EmployeeStyleBUSEmployeeStyleBUS
![Page 45: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/45.jpg)
Business Layer – HRM - JavaBusiness Layer – HRM - Java
![Page 46: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/46.jpg)
Business Layer – HRM - JavaBusiness Layer – HRM - Java
![Page 47: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/47.jpg)
Business TierBusiness Tier
ServicesServices
Web ServicesWeb Services
ImplementationsImplementations
Business LayerBusiness Layer
![Page 48: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/48.jpg)
Tầng giao diện – Presentation Layer
![Page 49: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/49.jpg)
Tầng giao diện – Presentation LayerTầng giao diện – Presentation Layer
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
Input/outputHandling
Input/outputHandling
![Page 50: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/50.jpg)
Tầng giao diện – Presentation LayerTầng giao diện – Presentation Layer
Tầng này làm nhiệm vụ giao tiếp với người Tầng này làm nhiệm vụ giao tiếp với người dùng để thu thập dữ liệu và hiển thị kết quả/ dùng để thu thập dữ liệu và hiển thị kết quả/ dữ liệu thông qua các thành phần trong giao dữ liệu thông qua các thành phần trong giao diện người dùng. Tầng này sử dụng các dịch diện người dùng. Tầng này sử dụng các dịch vụ do tầng Business cung cấp.vụ do tầng Business cung cấp.
![Page 51: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/51.jpg)
Tầng giao diện – Presentation LayerTầng giao diện – Presentation Layer
Windows FormsWindows Forms
Web FormsWeb Forms
Mobile FormsMobile Forms
![Page 52: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/52.jpg)
Tầng nghiệp giao diện – Presentation LayerTầng nghiệp giao diện – Presentation Layer
xxxDAOxxxDAO
yyy Tableyyy Table zzz Tablezzz Table
yyyDAOyyyDAO zzzDAOzzzDAO
xxx Tablexxx Table
xxxBUSxxxBUS yyyBUSyyyBUS zzzBUSzzzBUS
![Page 53: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/53.jpg)
Tầng giao diện – HRM – Java SwingTầng giao diện – HRM – Java Swing
![Page 54: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/54.jpg)
Tầng giao diện – HRM – Java SwingTầng giao diện – HRM – Java Swing
![Page 55: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/55.jpg)
Kiến trúc 3 tầng (The Three-Layer Architecture)Kiến trúc 3 tầng (The Three-Layer Architecture)
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
![Page 56: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/56.jpg)
Three TierThree Tier
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
WS clientsWS clients Web ServicesWeb Services
WS clientsWS clients Web ServicesWeb Services
![Page 57: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/57.jpg)
Three Layer vs Three TiersThree Layer vs Three Tiers
Three Layer Three Layer là một thể hiện của kiến trúc phần mềm ở là một thể hiện của kiến trúc phần mềm ở dạng dạng logic.logic.
Three Tier Three Tier là một thể hiện của kiến trúc phần mềm ở là một thể hiện của kiến trúc phần mềm ở dạng dạng vật lý (physical)vật lý (physical)..
![Page 58: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/58.jpg)
The Three-Layer ArchitectureThe Three-Layer Architecture
![Page 59: Kien Truc 3 Tang Trong Java](https://reader037.vdocuments.us/reader037/viewer/2022102813/5478047cb4af9f23138b45f0/html5/thumbnails/59.jpg)
Software EngineeringSoftware Engineering