Kien Truc 3 Tang Trong Java
Transcript of Kien Truc 3 Tang Trong Java
Nguyễn Hoàng Anh [email protected]
KIẾN TRÚC 3 TẦNGTHE THREE-LAYER ARCHITECTURE
Nội dung trình bàyNội dung trình bày
Generics1
Kiến trúc 3 tầng2
Demo3
Generics
None GenericsNone Generics
??
None GenericsNone Generics
??
None GenericsNone Generics
Compile Time:BUILD SUCCESSFUL Compile Time:BUILD SUCCESSFUL
Runtime: Error Runtime: Error
GenericsGenerics
GenericsGenerics
GenericsGenerics
Compile Time: BUILD FAILEDCompile Time: BUILD FAILED
Runtime: SAFE Runtime: SAFE
Generics – Collection InterfacesGenerics – Collection Interfaces
CollectionCollectionCollectionCollection
SetSetSetSet ListListListList QueueQueueQueueQueue
SortedSetSortedSetSortedSetSortedSet
Generics – ArrayList, LinkedListGenerics – ArrayList, LinkedList
ListListListList
ArrayListArrayListArrayListArrayList LinkedListLinkedListLinkedListLinkedList
Kiến trúc 3 tầng – The Three-Layer Architecture
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
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
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
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
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)
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)
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
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
Đối tượng trao đổi dữ liệu – Data Transfer Object
Đố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
HRMHRM
Đố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
Data Transfer Object – HRM - JavaData Transfer Object – HRM - Java
Tầng dữ liệu – Data Layer
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)
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
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.
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
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
Đố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
Data Layer – HRMData Layer – HRM
Data Layer – HRM - JavaData Layer – HRM - Java
EmployeeDAOEmployeeDAO
EmployeeStyleEmployeeStyle
TableTable
EmployeeStyleDAOEmployeeStyleDAO
EmployeeEmployee
TableTable
Data Layer – HRM - JavaData Layer – HRM - Java
Data Layer – HRM - JavaData Layer – HRM - Java
Data TierData Tier
Data LayerData Layer
ServicesServices
Web ServicesWeb Services
ImplementationsImplementations
Thiết kế tầng nghiệp vụ – Business Layer
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
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.
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
……
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.
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
Business Layer – HRM - JavaBusiness Layer – HRM - Java
EmployeeDAOEmployeeDAO
EmployeeStyleEmployeeStyle
TableTable
EmployeeStyleDAOEmployeeStyleDAO
EmployeeEmployee
TableTable
EmployeeBUSEmployeeBUS EmployeeStyleBUSEmployeeStyleBUS
Business Layer – HRM - JavaBusiness Layer – HRM - Java
Business Layer – HRM - JavaBusiness Layer – HRM - Java
Business TierBusiness Tier
ServicesServices
Web ServicesWeb Services
ImplementationsImplementations
Business LayerBusiness Layer
Tầng giao diện – Presentation Layer
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
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.
Tầng giao diện – Presentation LayerTầng giao diện – Presentation Layer
Windows FormsWindows Forms
Web FormsWeb Forms
Mobile FormsMobile Forms
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
Tầng giao diện – HRM – Java SwingTầng giao diện – HRM – Java Swing
Tầng giao diện – HRM – Java SwingTầng giao diện – HRM – Java Swing
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
Three TierThree Tier
Presentation LayerPresentation Layer
Business LayerBusiness Layer
Data LayerData Layer
WS clientsWS clients Web ServicesWeb Services
WS clientsWS clients Web ServicesWeb Services
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)..
The Three-Layer ArchitectureThe Three-Layer Architecture
Software EngineeringSoftware Engineering