Bài giảng Middleware
lượt xem 11
download
Middleware là phần mềm máy tính với nhiệm vụ kết nối các thành phần phần mềm hoặc các ứng dụng với nhau. Phần mềm loại này bao gồm một tập các dịch vụ cho phép sự tương tác giữa các tiến trình chạy trên một hoặc nhiều máy khác nhau. Công nghệ middleware đã được phát triển để cung cấp khả năng hoạt động tương hỗ, phục vụ cho các kiến trúc phân tán thường được để hỗ trợ và đơn giản hóa các ứng dụng phân tán phức tạp.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Middleware
- Middleware Tham khảo : Dr Simon Blake
- Middleware • Middleware che dấu/ cung cấp cái gì – Cung cấp sự trong suốt về vị trí: • Một lập trình viên có thể gọi một method mà không cần biết method đó thực sự đang tồn tại ở đâu (cùng máy, khác máy) – Che dấu nghi thức truyền thông bên dưới • UDP hay TCP – Che dấu chi `ết về quá trình marshall tự động – Độc lập với OS – CORBA cho phép các ngôn ngữ lập trình khác nhau có thể “nói chuyện) với nhau • Sử dụng interface defini`on language (IDL)
- Interfaces • interface là gì ? – Không phải là GUI – Interface là các phương `ện kết nối hai hệ thống khác nhau
- Interfaces public int sumNumbers(int a, int b){ Phương thức cộng hai số nguyên return a+b; } private void myCalc(){ System.out.println(sumNumbers(10,10)); Phương thức tham chiếu đến và System.out.println(sumNumbers(5,7)); gọi phương thức ở trên. }
- Interfaces • Interfaces – Gọi method mà không cần biết code của nó được viết thế nào – Chỉ cần interface không đổi thì vẫn có thể gọi như cũ Chúng ta thay đổi cài đặt của thuật toán cộng hai Tuy vậy, không thay đổi ở cách gọi phương thức số nguyên cũ private void myCalc(){ public int sumNumbers(int a, int b){ System.out.println(sumNumbers(10,10)); int result = a+b; System.out.println(sumNumbers(5,7)); return result; } }
- Interfaces • Interfaces trong hệ thống thông `n phân tán – Không truyền tham chiếu – Các đối số hoặc là đối số Input hoặc Output • Input đối số chứa các giá trị sẽ được server sử dụng • Output đối số được dùng để server trả giá trị cho client – Việc truy xuẩ trực `ếp là không được phép • Mọi trao đổi thông qua thông điệp (messages)
- Interfaces • Interfaces trong HTTT phân tán – IDL: Interface Defini`on Language • Cung cấp một sự thỏa thuận để mô tả interfaces giữa các methods • Bao gồm việc phân biệt giữa tham số Input và Output
- Interfaces • Một ví dụ về CORBA IDL struct Person { Contains marshalling informaSon string name; string place; long year; }; Interface PersonList{ readonly aŒribute string listname; void addPerson(in Person p); void getPerson(in string name, out Person p); long number(); };
- Interfaces • An example CORBA IDL struct Person { string name; string place; long year; }; Interface PersonList{ readonly aŒribute string listname; void addPerson(in Person p); And also remote method void getPerson(in string name, out Person p); interfaces long number(); };
- Truyền thông giữa các đối tượng phân tán • Mô hình đối tượng – Đối tượng có dữ liệu và phương thức – Các đối tượng tương tác với nhau thông qua phương thức – Các đối tượng có thể cho phép đối tượng khác truy xuất đến dữ liệu bên trong của nó • Tuy vậy trong DIS các đối tượng ở trên các máy khác nhau data class methods
- Mô hình đối tượng phân tán • Trong mô hình đối tượng – Chỉ truy xuất thông qua interfaces – Các đối tượng có thể thực thi trong các `ến trình phân biệt • Các đối tượng phân tán cũng thực thi như các `ến trình độc lập và truyền thông thông qua interfaces • Tuy vậy, trong các `ến trình trong DIS có thể chạy trên các máy khác nhau – Truyền thông có thể thông qua RMI • Trong một DIS một chương trình có thể sử dụng một chuỗi các `ến trình cục bộ hoặc từ xa
- Các đối tượng phân tán • Một ví dụ client server client server LI LI RI E G RI F A B LI RI C D RI = Remote InvocaSon = an object LI = Local InvocaSon = a message
- Mô hình đối tượng phân tán (The Distributed Object Model) • Các đối tượng có thể được định nghĩa để nhận các yêu cầu cục bộ hay từ xa • Để tạo một lời gọi từ xa, người gọi phải có một tham chiếu đối tượng từ xa • Các đối tượng từ xa phải có một interfaces từ xa trong đó xác định rõ các method có thể gọi từ xa
- The Distributed Object Model • Remote interface example A process A process Remote object Data Remote interface m1 m4 ImplementaSon of m2 m5 methods m3 m6
- RMI (Remote Method InvocaSon) • RMI được cài đặt thế nào? – RMI tổ hợp nhiều đối tượng và modules • Module truyền thông • Module tham chiếu từ xa • Phần mềm RMI – Proxy – Dispatcher – Skeleton • binder • Garbage collec`on • Ac`va`on mechanisms • And there are more
- RMI Ví dụ: đối tượng A tạo một lời gọi từ xa đến đối tượng B – >>> PICTURE HERE
- RMI • RMI được cài đặt như thế nào ? Ví dụ: Đối tượng A thực hiện lời triệu gọi từ xa một phương thức của đối tượng B Proxy request For B Skeleton, A dispatcher B for B reply Remote Remote reference reference module module
- RMI • Module truyền thông – Cái đặt các nghi thức yêu cầu-‐trả lời (Request-‐Reply) dùng trong truyền thông • Module tham chiếu từ xa – Xác định các tham chiếu là cục bộ hay từ xa – Đảm nhiệm việc tạo các tham chiếu đối tượng – Chứa bảng các đối tượng từ xa
- RMI • Proxy – Làm cho các methods trong suốt với các `ến trình cục bộ – Tham chiếu đối tượng từ xa trực `ếp gởi đến proxy để chuyển chúng đến các method từ xa – proxy sẽ chuyển đổi dữ liệu theo dạng ngoài (marshals) và chuyển đổi kết quả thành dạng dữ liệu trong (un-‐marshals) – The proxy chứa các interfaces của các methods từ xa và gởi lời gọi đến chúng thông qua các interface này
- RMI • Dispatcher – Nhận thông điệp từ module truyền thông, chọn và chuyển thông điệp đến đúng skeleton cho đối tượng từ xa • Skeleton – Un-‐marshals yêu cầu và gọi các method từ xa liên quan – Marshals câu trả lời – Gởi câu trả lời đến Proxy yêu cầu (thông qua module truyền thông)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc phần mềm: Middleware - PGS.TS. Trần Minh Triết
46 p | 29 | 5
-
Bài giảng Lập trình web động với PHP/MySQL: Phần 1 - Tống Phước Khải (tổng hợp & biên dịch)
41 p | 50 | 5
-
Bài giảng Các hệ thống phân tán và ứng dụng: Chương 1 - TS. Đặng Tuấn Linh
67 p | 12 | 5
-
Bài giảng Phát triển phần mềm nguồn mở: Bài 14 - Nguyễn Hữu Thể
9 p | 33 | 3
-
Bài giảng Hệ phân tán - Chương 2: Kiến trúc hệ phân tán
42 p | 16 | 2
-
Bài giảng Kiến trúc phần mềm – Middleware
46 p | 21 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn