Các mô hình ứng dụng

8 201 0
Các mô hình ứng dụng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Các mô hình ứng dụng Các mô hình ứng dụng Bởi: Khoa CNTT ĐHSP KT Hưng Yên Mô hình Client/Server, mô hình n lớp (n-tier), thuật ngữ mà thường nghe nói đến xây dựng ứng dụng mạng Mỗi mô hình có đặc điểm khác với thuận lợi khó khăn riêng Là người phát triển ứng dụng bạn cần phải dựa vào đặc điểm mô hình để đưa định đỳng đắn việc chọn mô hình phù hợp cho ứng dụng Ứng dụng hoạt động hiệu quả, dễ nâng cấp, bảo trì lựa chọn mô hình phù hợp, ngược lại, ứng dụng hoạt động hiệu khó nâng cấp, bảo trì mô hình ứng dụng không phù hợp Do việc lựa chọn mô hình phù hợp cho ứng dụng quan trọng Trong chương giới thiệu khái mô hình ứng dụng Các đặc điểm mô hình, ưu nhược điểm mô hình cuối vài lời khuyên lựa chọn mô hình phù hợp cho ứng dụng Mô hình tính toán tập trung Thời kỳ đầu máy tính cá nhân đắt khiến người ta nghĩ đến mô hình tính toán tập trung Trong mô hình có máy tính lớn (main frame) nhiều thiết bị đầu cuối (terminal) Tất xử lý thực máy main frame Các thiết bị đầu cuối có nhiệm vụ hiển thị giao diện người dựng tương tác với người sử dụng, chúng xử lý Chính lực tính toán máy main frame nhanh chóng giảm xuống có nhiều người sử dụng đồng thời 1/8 Các mô hình ứng dụng Mô hình Desktop Khi giá máy tính cá nhân giảm xuống nhanh chúng mô hình tập trung không phù hợp Mỗi người sử dụng sở hữu máy tính cỏ nhân Lúc mô hình ứng dụng thay đổi theo để phù hợp Các ứng dụng viết để chạy máy tính cỏ nhân Quá trình xử lý ứng dụng kiểu thực toàn máy tính Mô hình lớp (2 - tier) Khi mạng máy tính phát triển, xuất nhu cầu chia sẻ tài nguyên (như CPU, nhớ, CSDL, tệp tin, máy in ) Lúc xuất mô hình Client/Server Cả Client Server tham gia vào trình xử lý Mô hình client/server có ảnh hưởng lớn đến ngành cụng nghệ phần mềm Mô hình client/server giúp cho máy tính riêng lẻ, khả xử lý thấp chạy ứng dụng lớn, phức tạp Mô hình client/server giúp phát triển phương thức phát triển ứng dụng việc phõn chia ứng dụng thành nhiều lớp (tier), lớp thực chức chuyên biệt Mô hình Client/Server xem tiêu biểu mô hình 2lớp (two-tier) Trong mô hình có nhiều Client Server Giữa Client Server liên lạc với qua hệ thống mạng Ở mô hình client yêu cầu thông tin client gửi yêu cầu đến cho server, server xử lý yêu cầu từ client phản hồi thông tin mà client cần Trong mô hình lớp điển hình lớp Server thường Server CSDL Server có nhiệm vụ quản lý phần liệu chương trình như: Quản lý liệu, bảo mật, quản lý người dựng, thực thi truy vấn, ràng buộc thủ tục lưu trữ Còn Client thường gồm tác vụ sau: Hiển thị giao diện người dựng, tương tác với CSDL, kiểm soát lỗi M ô hình lớp chia làm loại: - Tính toán tập trung máy khách (fat client – thin server): 2/8 Các mô hình ứng dụng Ở mô hình này, phía client thường phải đảm nhận lớp giao diện chức năng, server thường đảm nhận nhiệm vụ lớp CSDL Ưu điểm mô hình đơn giản, thớch hợp cho ứng dụng nhỏ Tuy nhiên có số nhược điểm sau: + Do tính toán nghiêng phía client nhiều nên đòi hỏi client phải có cấu hình đủ mạnh + Do lớp chức chương trình nằm phía client nên chương trình cần nâng cấp khó khăn phải cập nhật lại chương trình nằm toàn client + Do thao tác nằm client nên thao tác yêu cầu liệu client server nhiều dẫn đến tốc độ chương trình chậm - Tính toán tập trung máy chủ (fat server – thin client): Ở mô hình này, máy khách đảm nhiệm phần giao diện máy chủ thực chức tầng chức tầng CSDL 3/8 Các mô hình ứng dụng Ngược lại với loại fat client – thin server loại có ưu điểm giảm lưu thông mạng tốc độ nhanh lớp chức chương trình nằm máy chủ với CSDL, thao tác với CSDL chương trình thực máy chủ thông tin lưu thông mạng kết trả cho người dùng sau tính toán Mặt khác, phần lõi chương trình đặt tập trung máy chủ nên việc cập nhật chương trình dễ dàng Tuy nhiên, công việc tập trung nhiều máy chủ nên đòi hỏi cấu hình máy chủ phải đủ mạnh, đặc biệt có nhiều máy khách truy xuất tới máy chủ lúc Mô hình Client/Server bước tiến lớn so với mô hình tính toán tập trung mô hình Desktop Các máy Client biết chia sẻ gánh nặng xử lý với Server Điều có nghĩa có nhiều Client kết nối vào đồng thời không làm lực Server giảm xuống nhanh chúng Với cải tiến hệ thống mạng, ứng dụng Client/Server ngày chạy tương đối nhanh Người sử dụng ngồi từ nhiều nơi khác truy cập vào CSDL đặt máy Server với thời gian Tuy nhiên, tồn nhiều bất lợi mô hình như: • Thiếu tính mở rộng quy mô ứng dụng lớn lên, chẳng hạn số máy khách tăng lên Lúc có nhiều máy khách kết nối vào đồng thời làm lực Server giảm xuống nhanh chóng • Các kết nối đến máy chủ phải trì Mà Server thường giới hạn số kết nối tối đa Cho nên có nhiều kết nối mở đồng thời • Khó khăn việc bảo mật ứng dụng • Mã lệnh khó sử dụng lại thường tập trung phía Client 4/8 Các mô hình ứng dụng • Khó bảo trì hệ thống cần thay đổi quy tắc nghiệp vụ Mỗi cần nâng cấp ứng dụng cần cập nhật lại tất máy khách Do mô hình Client/Server có nhược điểm nêu nên thích hợp với ứng dụng có quy mô vừa nhỏ Mô hình ba lớp (3 – tier) Mô hình lớp đời nhằm giải yếu điểm mô hình lớp Một ứng dụng thực tế thường chia làm lớp: o Lớp giao diện (Presentation logic): lớp cầu nối người dùng với ứng dụng, cung cấp chức ứng dụng cho người dùng nhận lệnh từ người dựng cho ứng dụng Lớp thiết kế cho thân thiện với người dựng tốt o Lớp nghiệp vụ (Business logic): phần lõi chương trình, cung cấp tất chức nghiệp vụ chương trình cho lớp giao diện bên Trong mô hình lớp chức thường nằm phía Client chuyển vào lớp nghiệp vụ o Lớp CSDL (Data Access logic): lớp cung cấp khả truy xuất đến CSDL cho lớp nghiệp vụ cần Lớp dịch vụ liệu đại diện cho hay nhiều kho lưu trữ liệu chương trình Trong mô hình xử lý sẩy ba tầng ứng dụng Mỗi lớp gồm vài chức riêng biệt 5/8 Các mô hình ứng dụng Trong mô hình lớp, chức chương trình tách thành lớp riêng biệt Việc tách lớp làm cho phần chương trình độc lập hơn, đáng tin cậy hơn, chương trình trở nên linh động việc thay thế, nâng cấp mô hình thích hợp với ứng dụng có yêu cầu thay đổi thường xuyên Mô hình đa lớp (n – tier) Việc phân chia ứng dụng thành nhiều lớp giúp cho ứng dụng trở nên dễ dàng thay đổi, cập nhật đáng tin cậy Khi quy mô ứng dụng mở rộng, mô hình n – tier không đáp ứng người ta nghĩ đến mô hình đa lớp (n – tier) Tuy nhiên ta không nên chia ứng dụng thành nhiều lớp dẫn đến khó xây dựng, bảo trì nâng cấp ứng dụng Tại lại cần viết ứng dụng nhiều lớp Lợi ích phương pháp lập trình hướng thành phần Các ứng dụng thông thường thường viết dạng đơn thể (monolithic) có nghĩa ứng dụng biên dịch thành file thực thi Các ứng dụng thường tùy biến nâng cấp chức bên cách “động” Nó cần phải sửa đổi chương trình nguồn biên dịch lại Do đó, để chương trình đơn giản việc sửa đổi nâng cấp, người ta thường chia chương trình thành nhiều thành phần nhỏ chạy tương đối độc lập Lợi ích việc phân chia ứng dụng thành thành phần: • Làm cho ứng dụng dễ tùy biến (customize) • Có thể xây dựng ứng dụng nhanh cách sử dụng thành phần có sẵn Các thành phần có sẵn thường đă biên dịch chứa thư viện thành phần DLL, EXE ActiveX… • Dễ dàng chuyển đổi ứng dụng bình thường thành ứng dụng phân bố sử dụng thành phần phân bố mạng Lúc đòi hỏi thành phần phải thoả mãn ràng buộc: • Các thành phần phải độc lập với ngôn ngữ mà tạo Một thành phần tạo bởi ngôn ngữ VB sử dụng ứng dụng viết VC ngược lại • Vì thành phần phải dấu ngôn ngữ mà tạo nên phải sử dụng dạng nhị phân 6/8 Các mô hình ứng dụng • Các thành phần nâng cấp mà không làm hỏng ứng dụng khác Một thành phần chạy tốt với ứng dụng cũ • Các thành phần phải suốt vị trí mạng Một ứng dụng đối xử với thành phần nằm trình, khác trình nằm máy khác Lợi ích ứng dụng phân tán Một ứng dụng phân tán có tất lợi ích phương pháp lập trình hướng thành phần Ngoài có lợi ích sau: • Ứng dụng có khả mở rộng cao, tăng thêm người sử dụng cần tăng thêm số máy chủ tầng trung gian • Các component có tính sử dụng lại cao • Dễ nâng cấp bảo trì ứng dụng • Dễ dàng quản lý bảo mật • Lựa chọn mô hình cho ứng dụng Có nhiều lựa chọn khác cho ứng dụng Mỗi mô hình có vài ưu nhược điểm khác Vì việc lựa chọn mô hình đóng đắn việc không dễ chút Để lựa chọn đóng mô hình cho ứng dụng trước tiên ta cần trả lời câu hỏi sau: Cơ sở liệu: Hệ quản trị CSDL gì? Việc lựa chọn hệ CSDL phù hợp góp phần không nhỏ vào thành công ứng dụng Việc lựa chọn hệ CSDL cho phù hợp với ứng dụng bạn phụ thuộc vào nhiều yếu tố như: • Bạn có đủ tiền để mua hệ quản trị CSDL lớn Oracle, SQL Server hay không? • Dữ liệu bạn có nhiều hay không? • Dữ liệu có nhậy cảm hay không? • Các giao dịch có thường xuyên sẩy hay không? Mô hình Bạn cần lựa chọn mô hình phù hợp cho ứng dụng, việc lựa chọn mô hình đóng phụ thuộc vào nhiều yếu tố khác như: • Số người dùng có tăng lên đột ngột tương lai hay không? 7/8 Các mô hình ứng dụng • Bạn có muốn dễ dàng việc bảo trì ứng dụng hay không? • Cơ sở hạ tầng (hệ thống mạng, khả máy tính) có tốt hay không? • Kiến thức tảng đội ngũ lập trình viên? Xây dựng quy tắc nghiệp vụ Nếu ứng dụng bạn gồm nhiều tầng bạn cần phải định đưa chức vào tầng Việc định nên đưa chức vào tầng việc tương đối khó ảnh hưởng trực tiếp đến hiệu ứng dụng 8/8 .. .Các mô hình ứng dụng Mô hình Desktop Khi giá máy tính cá nhân giảm xuống nhanh chúng mô hình tập trung không phù hợp Mỗi người sử dụng sở hữu máy tính cỏ nhân Lúc mô hình ứng dụng thay... chọn mô hình cho ứng dụng Có nhiều lựa chọn khác cho ứng dụng Mỗi mô hình có vài ưu nhược điểm khác Vì việc lựa chọn mô hình đóng đắn việc không dễ chút Để lựa chọn đóng mô hình cho ứng dụng. .. máy khách Do mô hình Client/Server có nhược điểm nêu nên thích hợp với ứng dụng có quy mô vừa nhỏ Mô hình ba lớp (3 – tier) Mô hình lớp đời nhằm giải yếu điểm mô hình lớp Một ứng dụng thực tế

Ngày đăng: 31/12/2015, 10:39

Từ khóa liên quan

Mục lục

  • Các mô hình ứng dụng

  • Mô hình tính toán tập trung

  • Mô hình Desktop

  • Mô hình 2 lớp (2 - tier)

  • Mô hình ba lớp (3 – tier)

  • Mô hình đa lớp (n – tier)

  • Tại sao lại cần viết các ứng dụng nhiều lớp

    • Lợi ích của phương pháp lập trình hướng thành phần

    • Lợi ích của các ứng dụng phân tán

    • Lựa chọn mô hình cho ứng dụng

      • Cơ sở dữ liệu:

      • Mô hình

      • Xây dựng các quy tắc nghiệp vụ

Tài liệu cùng người dùng

Tài liệu liên quan