intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Middleware

Chia sẻ: Cvcxbv Cvcxbv | Ngày: | Loại File: PDF | Số trang:48

74
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Middleware

  1. Middleware   Tham  khảo  :  Dr  Simon  Blake  
  2. 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)  
  3. 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    
  4. 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.   }        
  5. 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;   }     }      
  6. 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)  
  7. 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    
  8. 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();   };  
  9. 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();   };  
  10. 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  
  11. 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  
  12. 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  
  13. 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  
  14. 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  
  15. 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  
  16. RMI     Ví  dụ:  đối  tượng  A  tạo  một  lời  gọi  từ  xa  đến  đối  tượng    B   – >>>  PICTURE  HERE  
  17. 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    
  18. 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  
  19. 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  
  20. 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)  
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2