1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG

30 777 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngày nay, công nghệ mạng máy tính và Internet đã phát triển mạnh, cho phép chúng ta khai thác các nguồn tài nguyên là những kho tư liệu vô cùng rộng lớn về các lĩnh vực, và được bố trí ở những nơi rất xa nhau. Đối với các hệ thông tin lớn, dữ liệu không chỉ được lưu trữ và quản lý bởi các server độc lập mà thường được phân tán trên nhiều server và phân bổ ở các vị trí địa lý khác nhau. Hệ thống cho phép xử lý đa truy cập đồng thời cho phép đăng ký từ xa. Một trong những lợi ích của việc phân tán dữ liệu như vậy là nhằm chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm tăng năng lực xử lý thông tin của hệ thống. Vấn đề gắn bó dữ liệu trong các hệ thống phân tán nói chung và các hệ thống thông tin đăng ký trên mạng nói riêng như việc đăng ký các tua du lịch, mua bán trong các giao dịch thương mại điện tử, đăng ký giữ chỗ trong giao thông vận tải, đăng ký dự thi trong các hệ thống thông tin đào tạo,... đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn. Trong phạm vi bản báo cáo này sẽ trình bày vấn đề đảm bảo gắn bó dữ liệu khi cập nhật trong các CSDL phân tán tại các ngân hàng. Được sự giúp đỡ tận tình của PGS.TS Lê Văn Sơn và các bạn chúng tôi đã hoàn thành được bản báo cáo. Tuy nhiên thời gian và kiến thức có hạn chế nên báo cáo này chắc chắn còn nhiều khuyết điểm, chúng tôi rất mong nhận được sự góp ý của Thầy và các bạn. Cho phép chúng tôi được bày tỏ lòng biết ơn đối với PGS.TS Lê Văn Sơn và các bạn đã ủng hộ, giúp đỡ chúng tôi hoàn thành bản báo cáo này. Trân trọng cảm ơn

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG - -

TIỂU LUẬN

LẬP TRÌNH MẠNG

ĐỀ TÀI:

VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ

DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN

Trang 2

LỜI NÓI ĐẦU

- -Ngày nay, công nghệ mạng máy tính và Internet đã phát triển mạnh, cho phép chúng ta khai thác các nguồn tài nguyên là những kho tư liệu vô cùng rộng lớn về các lĩnh vực, và được bố trí ở những nơi rất xa nhau.

Đối với các hệ thông tin lớn, dữ liệu không chỉ được lưu trữ và quản lý bởi các server độc lập mà thường được phân tán trên nhiều server và phân bổ ở các vị trí địa lý khác nhau Hệ thống cho phép xử lý đa truy cập đồng thời cho phép đăng ký từ xa Một trong những lợi ích của việc phân tán dữ liệu như vậy là nhằm chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm tăng năng lực xử lý thông tin của hệ thống.

Vấn đề gắn bó dữ liệu trong các hệ thống phân tán nói chung và các hệ thống thông tin đăng ký trên mạng nói riêng như việc đăng ký các tua du lịch, mua bán trong các giao dịch thương mại điện tử, đăng ký giữ chỗ trong giao thông vận tải, đăng ký dự thi trong các hệ thống thông tin đào tạo, đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn.

Trong phạm vi bản báo cáo này sẽ trình bày vấn đề đảm bảo gắn bó dữ liệu khi cập nhật trong các CSDL phân tán tại các ngân hàng.

Được sự giúp đỡ tận tình của PGS.TS Lê Văn Sơn và các bạn chúng tôi đã hoàn thành được bản báo cáo Tuy nhiên thời gian và kiến thức có hạn chế nên báo cáo này chắc chắn còn nhiều khuyết điểm, chúng tôi rất mong nhận được sự góp ý của Thầy và các bạn Cho phép chúng tôi được bày tỏ lòng biết ơn đối với PGS.TS Lê Văn Sơn và các bạn đã ủng hộ, giúp đỡ chúng tôi hoàn thành bản báo cáo này.

Trân trọng cảm ơn !

Đà Nẵng, tháng 03 năm 2010

Trang 3

CHƯƠNG I CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ PHÂN TÁN

LẬP TRÌNH MẠNG VÀ CƠ SỞ DỮ LIỆU PHÂN TÁN

I.1 HỆ PHÂN TÁN

I.1.1 Tổng quan về hệ tin học

Một cách tổng quát, hệ tin học có thể bao gồm các thành phần bản như phần cứng,

hệ điều hành, các chương trình ứng dụng và người sử dụng (NSD) … và có thể được mô

tả như hình I.1 sau:

Các thiết bị phần cứng bao gồm các thiết bị xử lý trung tâm, bộ nhớ và các thiết bịngoại vi đóng vai trò là một trong hai loại tài nguyên cơ sở của hệ thống tin học Cácchương trình ứng dụng là thành phần tiếp theo sau hệ điều hành được hiểu như là cácphần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể như chương trình dịch,

hệ quản trị cơ sở dữ liệu, các chương trình trợ giúp sử dụng các thiết bị chuyên dụng, cáctrò chơi điện tử

Người sử dụng (NSD) ở đây được hiểu theo nghĩa rộng, dưới góc độ của hệ điềuhành, có thể là các nhà chuyên môn, các máy tính, các hệ tự động vận hành, gắn với máytính đang khai thác hệ thông qua lệnh điều khiển theo một thuật toán nào đó nhằmđạt được mục tiêu xác định từ trước

Trang 4

Hệ điều hành các máy tính và mạng máy tính gọi tắt là hệ điều hành được đặt sátphần cứng, nó gắn kết chặt chẽ với phần thiết bị bởi một hệ thống các chương trình, điềukhiển và sắp xếp nhằm khai thác phần cứng phục vụ cho các chương trình ứng dụng khácnhau của NSD khác nhau với kết quả và hiệu năng chấp nhận được

Như vậy, hệ tin học bao gồm ba thực thể : phần cứng, phần mềm và dữ liệu, được

mô tả ở hình I-2

Vậy hệ thống tin học (Informatic System) là một hệ thống bao gồm hai thành phần

cơ bản phần cứng (hardware) và phần mềm (software) gắn bó hữu cơ với nhau và có khảnăng xử lý thông tin

I.1.2 Hệ tin học phân tán

I.1.2.1 Định nghĩa

Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệthống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khácnhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thốngnhất của một hệ điều hành

I.1.2.2 Các thực thể trong hệ phân tán

Hệ phân tán gồm 4 thực thể :

Trang 5

I.1.2.3 Đặc điểm của hệ phân tán

Đặc điểm cần nhấn mạnh của hệ là các hệ xử lý thông tin thành phần :

Không dùng chung hoặc chia sẻ bộ nhớ

Không sử dụng chung đồng hồ xung nhịp

Chúng liên lạc với nhau thông qua mạng truyền thông

Mỗi hệ xử lý có bộ xử lý, bộ nhớ và hệ điều hành riêng của nó

Thành phần của hệ phân tán bao gồm các hệ thống cục bộ trong đó mỗi một haynhiều hệ thống phát các yêu cầu thông tin còn các hệ khác trả lời các yêu cầu có liênquan đến phần dữ liệu của mình Nói một cách tổng quát là trong hệ luôn luôn diễn raviệc thực hiện các công việc do các hệ thống yêu cầu Các hệ thống truyền thống như hệrời rạc hay tập trung không thể đáp ứng nhanh chóng và chính xác các yêu cầu thông tin

từ xa với lưu lượng thông tin lớn

I.1.2.4 Các ưu điểm của tài nguyên dùng chung trong hệ phân tán

Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp nhưng chức năng

cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đếncác tài nguyên vốn có và rất đa dạng của hệ thống như tài nguyên dùng chung

Các

hệ thống phần mềm

Các

hệ thống phần mềm

Tập hợp phần cứng

Hệ thống truyền thông

Hệ thống truyền thông

Hình 1: Các thực thể của hệ tin học phân tán

Trang 6

Việc định nghĩa các tài nguyên của hệ như tài nguyên dùng chung sẽ mang đến cho

hệ những hiệu năng tốt trong khai thác ứng dụng

- Tăng tốc độ bình quân trong tính toán xử lý

- Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên

- Tăng độ an toàn cho dữ liệu

- Đa dạng hóa các loại hình dịch vụ tin học

- Bảo đảm tính toàn vẹn của thông tin

Tuy nhiên nó cũng dẫn đến hàng loạt các vấn đề khó khăn trong việc thiết lập hệliên quan việc cấp phát tài nguyên dùng chung cho các tiến trình

Điều quan trọng là để đảm bảo các chức năng, yêu cầu nêu ra trên, hệ tin học phântán cần phải có các cơ chế kỹ thuật đủ mạnh nhằm đồng bộ hóa hoạt động của các tiếntrình và sự trao đổi thông tin với nhau sao cho hệ thống tránh được các trường hợp có thểdẫn đến bế tắc

I.1.2.5 Các thao tác chuẩn của hệ phân tán

- Tiếp nhận và ghi yêu cầu chỉ dẫn

- Dịch yêu cầu để có các thông tin cần thiết Thực hiện một số công việc của hệthống cục bộ như kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ

- Gửi kết quả cho hệ thống đã phát yêu cầu

I.2 LẬP TRÌNH MẠNG

I.2.1 Địa chỉ IP

Để hai hay nhiều máy tính kết nối được với nhau thì chúng phải có chung giao thức(protocol) Trên Internet, việc hai máy có thể trao đổi được với nhau đa số đều dựa vàogiao thức TCP/IP, theo giao thức này mỗi máy sẽ được đặt cho một số riêng biệt đượcgọi là địa chỉ IP, các số IP này là duy nhất và không máy nào được trùng nhau, khi muốnmáy của mình có địa chỉ IP để tham gia vào hệ thống Internet tòan cầu như một máy chủ

Trang 7

ta phải đăng ký với tổ chức InterNIC (Internet Network Information Center) để nhận một

số IP riêng biệt Tuy nhiên, để gần gũi với con người và có ý nghĩa hơn người ta haydùng tên thay cho địa chỉ IP, với mỗi hệ thống đều có sự chuyển đổi trực tiếp từ tênthành địa chỉ IP thích hợp trước khi dữ liệu được gửi đi

I.2.2 Giao thức TCP và giao thức UDP

Giao thức TCP (Transmission Control Protocol) gửi từng gói dữ liệu đi, nơi nhậntheo giao thức này phải có trách nhiệm thông báo và kiểm ra xem dữ liệu đã đến đủ haychưa hoặc có lỗi hay không có lỗi Trước khi chuyển dữ liệu bao giờ cũng có sự kết nốigiữa máy gửi và máy nhận Do phải đảm bảo dữ liệu được truyền chính xác và luôn duytrì kết nối nên sử dụng giao thức TCP cần phải mất thêm một số tài nguyên của hệ thống.Ngược lại giao thức UDP (User Datagram Prorocol) không đáng tin cậy lắm, không

có sự kết nối trước giữa máy gửi và máy nhận, giao thức này cho rằng máy nhận luôn ởtrạng thái sẵn sàng để tiếp nhận dữ liệu gửi đến Nếu dữ liệu gửi đến bị lỗi trong quátrình truyền hay không nhận được đầy đủ thì giao thức UDP không có thông tin phải hồicho máy gửi Tuy nhiên, giao thức UDP không đòi hỏi nhiều tài nguyên của hệ thống

Do đặc tính của hai giao thức như vậy, nên giao thức TCP thường được sử dụngcho các dịch vụ như truyền tập tin, các dịch vụ trực tuyến trên Internet đòi hỏi độ tin cậycao… Giao thức UDP thường được dùng trong các ứng dụng không đòi hỏi sự chính xáccao như: dịch vụ báo giờ, dịch vụ báo thông tin…

I.2.3 Dịch vụ từ máy chủ (server) và khái niệm cổng (port)

Khi kết nối vào máy chủ, ta có thể yêu cầu máy chủ cung cấp nhiều dịch vụ khácnhau như: tìm kiếm thông tin, gửi nhận E-mail… Mỗi dịch vụ đều có qui ước riêng chocác cách gửi/nhận dữ liệu Giao thức TCP hay UDP chỉ chịu trách nhiệm đưa dữ liệu từmột máy tính này đến máy tính khác, còn dữ liệu đó sẽ được gửi cho dịch vụ nào thì phảithông qua một qui định nữa là cổng (port) Mỗi chương trình dịch vụ sẽ sử dụng mộtcổng khác nhau để truy xuất thông tin Cổng là một số nguyên từ 1 đến 16383 Máy chủ

sẽ qui định cổng cho mỗi dịch vụ, thông tin giữa máy khách và máy chủ phải sử dụng

Trang 8

cổng tương ứng thì mới trao đổi thông tin được, hầu hết các chương trình dịch vụ nổitiếng đều có qui định cổng chuẩn riêng:

I.2.4 Giao tiếp theo mô hình client/server

I.2.4.1 Giao tiếp theo mô hình client/server

Có rất nhiều dịch vụ hỗ trợ trên Internet như E-mail, nhóm tin (newsgroup), chuyểntập tin (file transfer), đăng nhập từ xa (remote login), truy tìm thông tin trên Web…Những mô hình này được kiến trúc theo mô hình khách/chủ (client/server) Các chươngtrình ở máy khách (client) như trình duyệt Web (web browser), chương trình gửi nhận E-mail…; các chương trình dịch vụ trên máy chủ (server) như web server, mail server… sẽ

xử lý những yêu cầu này và gửi kết quả ngược về cho máy khách, thông thường một dịch

vụ trên máy chủ phục vụ cho rất nhiều yêu cầu của máy khách

I.2.4.2 Các chương trình thường chạy trên máy client

Nhìn chung, các chương trình trên máy khách thực hiện những nhiệm vụ sau:

- Kết nối máy chủ

- Nhận dữ liệu hay yêu cầu của người sử dụng

- Gửi dữ liệu hoặc yêu cầu của người sử dụng đến máy chủ để lưu trữ hoặc xử lý

- Trình bày kết quả trả về từ máy chủ cho người sử dụng

I.2.4.3 Các chương trình thường chạy trên máy server

Các chương trình được thiết kế chạy trên máy chủ thực hiện những nhiệm vụ sau:

- Lắng nghe các kết nối từ máy khách gửi đến

Trang 9

- Tiếp nhận những yêu cầu từ phía máy khách.

- Xử lý những yêu cầu từ phía máy khách

- Gửi trả kết quả về cho máy khách

Như vậy, một chương trình ở trên máy chủ đóng vai trò như một dịch vụ (service)phục vụ cho máy khách

I.2.5 Lập trình đối tượng phân tán

Lập trình đối tượng phân tán là một trong những vấn đề nóng bỏng của công nghệphần mềm hiện nay, cộng đồng những người lập trình bắt đầu nghĩ rằng đối tượng có ởmọi nơi Những đối tượng này được hỗ trợ trao đổi với nhau theo những giao thức chuẩntrên mạng Java là một trong những ngôn ngữ đi tiên phong trong việc giải quyết vấn đềlập trình phân tán Ví dụ, có một đối tượng ở máy khách (client), ở đó người sử dụng cầnphải điền dữ liệu vào mẫu báo cáo Đối tượng này có thể gửi một thông điệp cho đốitượng trên máy chủ (server) trên mạng để yêu cầu cung cấp các thông tin cần thiết, đốitượng trên máy chủ truy cập vào các cơ sở dự liệu để có được những thông tin má máykhách yêu cầu và gửi lại cho đối tượng trên máy khách

I.2.5.1 Thiết lập môi trường triệu gọi từ xa

Để thực hiện được việc triệu gọi từ xa thì ta phải chạy chương trình ở trên cả máykhách và máy chủ

Những thông tin cần thiết cũng phải được cài đặt tách biệt ở máy khách và máychủ Tuy nhiên không nhất thiết phải có hai máy tính riêng biệt Nhờ có máy ảo Java, khi

mở cửa sổ DOS-Prompt (môi trường DOS dưới Window) để chạy chương trình Java,chương trình này được xem như chạy trên một máy (ảo) độc lập Do đó, nếu hai chươngtrình Java chạy ở trong hai cửa sổ riêng thì có thể xem như là chúng thực hiện trên haimáy khác nhau

I.2.5.2 Mô hình tính toán Client/Server

Trang 10

Khi nói tới lập trình mạng ta thường nghĩ đến cách trao đổi giữa chương trình phục

vụ (Server) với chương trình khách (Client) Chương trình khách gửi một yêu cầu tới chochương trình phục vụ, và chương trình này xử lý dữ liệu để trả lời cho chương trìnhkhách Như vậy, chương trình khách muốn gửi được yêu cầu thì trước hết phải tìm cáchkết nối với Server Server có thể chấp nhận hay từ chối sự kết nối này Một khi sự kết nối

đã được thiết lập thì Client và Server trao đổi với nhau thông qua Sockets Các lớp tronggói java.net cung cấp các phương thức để kết nối mạng và trao đổi tin giữa các máy vớinhau theo mô hình Client/Server

Socket chính là lớp (trừu tượng) thực hiện sự trao đổi giữa Server và Client Javaxem sự trao đổi giữa Server và Client dựa trên Socket gần giống như các thao tác vào/ra,nghĩa là các chương trình có thể đọc, ghi vào Socket dễ dàng như chúng đọc, ghi lên tệp

dữ liệu Lớp Server tạo ra sự kết nối từ máy Client tới Server thông qua các phương thứctạo lập đối tượng

Lớp ServerSocket dùng để tạo kết nối từ máy Server tới máy Client Đối tượng củalớp này được tạo ra trên Server và lắng nghe những kết nối từ máy Client theo cổng xácđịnh Server phải chạy thường trực trước khi Client bắt đầu thực hiện Server chờ sự yêucầu kết nối của Client Để thiết lập được một Server, ta phải tạo ra một đối tượng, ví dụServerSocket của lớp Server, gắn nó với một cổng nào đó và lắng nghe xem có Clientnào cần kết nối hay không Các Socket được xác định tương ứng với địa chỉ của máy vàcổng

servrSock = new ServerSocket(Integer.parseInt(txtPort.getText()));

Trong đó port là số hiệu của cổng nằm giữa 0 và 1023 Cổng cho phép trao đổi tingiữa hai chương trình

Tất cả các lớp cơ bản cho việc giao tiếp và làm việc với mạng đều nằm trong góiJava.net, như lớp socket API (Application Program Interface)

Socket API của Java cung cấp các công cụ để truy cập đến các giao thức mạngchuẩn được sử dụng để giao tiếp giữa các Host trên mạng Internet Socket API là công

Trang 11

cụ mức thấp nhất, chúng ta có thể sử dụng socket cho bất kỳ kiểu giao tiếp Client/Servernào và các ứng dụng ngang hàng trên mạng nhưng chúng ta phải cài đặt các giao thứcứng dụng mức thấp để điều khiển và thông dịch dữ liệu.

Socket là giao diện lập trình mức thấp cho các giao tiếp hướng mạng Chúng gửicác dòng dữ liệu giữa các ứng dụng có thể hoặc không nằm trên cùng một host Góijava.net hỗ trợ một giao diện hướng đối tượng, đơn giản hóa socket nên việc giao tiếpmạng trở nên dễ dàng hơn Java cung cấp các socket để hỗ trợ cho 3 lớp phân biệt củacác giao thức bên dưới: Socket, DatagramSocket, MulticastSocket

Lớp Socket sử dụng giao thức hướng kết nối TCP/IP, đảm bảo dữ liệu không bị mấttrong quá trình truyền

Lớp ServerSocket được sử dụng để thu nhận các kết nối từ client của server.ServerSocket chỉ được tạo một lần và nhận các kết nối đến từ các client Phương thứcaccept của ServerSocket sẽ đợi cho đến khi có kết nối đến và trả về một đối tượngSocket

I.3 CƠ SỞ DỮ LIỆU PHÂN TÁN

Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và được

phân bố trên một mạng máy tính Từ đó ta định nghĩa: Hệ quản trị cơ sở dữ liệu phân

tán (DDMS) là một hệ thống phần mềm cho phép quản lý các cơ sở dữ liệu phân tán và làm cho việc phân tán trở nên “vô hình” đối với người sử dụng.

Môi trường của hệ cở dữ liệu phân tán được mô tả qua hình 2

Hình I-4: Môi trường của hệ cơ sở dữ liệu phân tán

Trang 12

CHƯƠNG II

KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA

KẾT NỐI CƠ SỞ DỮ LIỆU VỚI JDBC

II.1 SƠ LƯỢC VỀ JAVA

Java là một ngôn ngữ lập trình đơn giản, hướng đối tượng, hỗ trợ lập trình phântán, thông dịch và biên dịch, mạnh mẽ bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả vàlinh động

Sự hỗ trợ lập trình hướng đối tượng là cốt lõi của Java Mọi câu lệnh của Java đềutác động đến các đối tượng mà đặc trưng của chúng là lớp (class), đối tượng là thể hiện(instance) của lớp và phương thức (method) là một thao tác hoặc được thực hiện bởichính nó, hoặc thực hiện khi có yêu cầu từ môi trường (thông điệp từ đối tượng khác)

Java hỗ trợ các ứng dụng phân tán bằng các lớp mạng java.net, một chương trìnhJava có thể là sự kết hợp của rất nhiều tập tin *.class nằm rải rác trên nhiều vùng vật lýkhác nhau như ổ đĩa hay các máy chủ ở những vị trí khác nhau trên Internet Ngôn ngữJava cung cấp các công cụ đủ mạnh để thiết kế bất kỳ ứng dụng nào theo mô hình kháchchủ (client/server) và phân tán (distributed)

Java là một ngôn ngữ thông dịch trên cơ sở đã biên dịch trước thành bytecode nên

nó trở nên khả chuyển Java được thiết kế cho mục đích đa nền, nên mã lệnh của chươngtrình Java sau khi biên dịch là một dạng tập tin nhị phân được gọi là bytecode, có phần

mở rộng là *.class, và nó được triệu gọi thực thi trong máy ảo Java (JVM – Java VirtualMachine) JVM là một kiến trúc của bộ xử lý nhưng thực thi theo cơ chế phần mềm thay

vì phần cứng, chính vì lý do này mà chương trình Java *.class có thể chạy như nhau trênnhiều hệ điều hành khác nhau

Vì dùng trình thông dịch nên Java là một ngôn ngữ rất năng động trong khi thựcthi, môi trường Java có thể tự mở rộng để liên kết với các lớp mới nằm rải rác trên cácmáy chủ khác nhau Đó cũng là thuận lợi lớn của Java so với các ngôn ngữ lập trìnhkhác

Trang 13

II.2 RMI VÀ LẬP TRÌNH PHÂN TÁN HƯỚNG ĐỐI TƯỢNG TRONG JAVA

II.2.1 Khái niệm chung

Java RMI (Remote Method Invocation): Là một cơ chế gọi hàm từ xa đã được thựchiện và tích hợp trong ngôn ngữ Java, là phương pháp lập trình hướng đối tượng

RMI mang ý nghĩa triệu gọi phương thức từ xa – là cách thức giao tiếp giữa các đối

tượng Java có mã lệnh cài đặt (bao gồm phương thức và thuộc tính) nằm trên các máykhác nhau có thể triệu gọi lẫn nhau

Mô hình dưới đây cho thấy các đối tượng cho phép triệu gọi lẫn nhau Trên máy Acác đối tượng A1, A2 gọi phương thức của nhau được gọi là triệu gọi phương thức cục

bộ, đây là cách mà lập trình hướng đối tượng truyền thống vẫn sử dụng Tương tự, tươngtác giữa C1, C2 ,C3 là tương tác cục bộ

Tuy nhiên, đối tượng Java có thể gọi phương thức của đối tượng nằm trên một máy

khác dựa vào giao thức triệu gọi từ xa RMI.

Trang 14

Hình II.1: Mô hình triệu gọi các đối tượng từ xa

II.2.2 Gọi phương thức từ xa và các vấn đề phát sinh

Triệu gọi phương thức từ xa phức tạp hơn triệu gọi phương thức cục bộ Các đốitượng trên hai Server khác nhau hoạt động trên hai tiến trình khác nhau cho nên việctham chiếu: Biến, địa chỉ đối tượng là khác nhau

Ví dụ: Khi truyền con trỏ cho một phương thức ở xa, trên máy đang sử dụng sẽ tồntại nhưng trên Server khác (nơi đối tượng thực thi phương thức) sẽ không có bất kỳ vùngnhớ nào được cấp phát cho con trỏ

Trên máy cục bộ: lời gọi hàm, các tham số truyền cho hàm thường được đặt vàongăn xếp (stack)

Tham số truyền cho phương thức của đối tượng ở xa được đóng gói và chuyển quamạng để đến được phương thức thực sự

II.2.3 Vai trò các lớp trung gian STUB và SKELETION

Hình vẽ dưới biểu thị: Gọi phương thức từ xa các đối tượng thông qua lớp trunggian Đối tượng Java trên hai máy khác nhau không gọi nhau trực tiếp mà thông qua lớptrung gian

Lớp trung gian này tồn tại ở hai phía : máy khách (nơi gọi phương thức của đốitượng ở xa) và máy chủ (nơi đối tượng thực sự được cài đặt để thực thi mã lệnh củaphương thức)

Phía máy khách lớp trung gian này được gọi lớp móc (stub)

Trang 15

Hình II-2: Gọi phương thức của các đối tượng thông qua lớp trung gian

Phía máy chủ lớp trung gian gọi lớp nối (skeletion)

Ví dụ, đối tượng C1 được cài đặt chạy trên máy C Trình Java sẽ tạo ra hai lớptrung gian C1_Skel và C1_Stub Lớp C1_Stub sẽ được đem về máy Computer A Khi A1trên máy computer A gọi C1 nó sẽ chuyển lời gọi đến lớp C1_Stub C1_Stub chịu tráchnhiệm đóng gói tham số, chuyển tham số qua mạng đến máy Computer C Trên máyComputer C lớp nối C1_Skel sẽ nhận tham số chuyển vào vùng không gian địa chỉ tươngthích với đối tượng C1 sau đó gọi phương thức tương ứng Kết quả nếu có do phươngthức của đối tượng C1 trả về sẽ được lớp C1_Skel đóng gói trả ngược về cho C1_Stub.C1_Stub chuyển giao kết quả cuối cùng lại cho A1 Bằng cơ chế này, A1 luôn nghĩ rằng

nó đang hoạt động trực tiếp với đối tượng C1 ngay trên máy cục bộ Hơn nữa, nhờ sựgiúp đỡ của lớp trung gian C1_Stub, khi kết nối mạng gặp sự cố lớp trung gian stub sẽluôn biết cách thông báo lỗi đến đối tượng A1

Thực tế làm thế nào A1 tham chiếu đươc đến C1, một khi không có lớp C1 nàođược cài đặt ở máy A? C1_Stub trên máy A chỉ làm lớp nền trung gian chuyển đổi tham

số và thực hiện các giao thức mạng, nó không phải là hình ảnh của đối tượng C1 Để làm

Ngày đăng: 12/11/2014, 08:51

HÌNH ẢNH LIÊN QUAN

Hình 1:    Các thực thể của hệ tin học phân tán - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
Hình 1 Các thực thể của hệ tin học phân tán (Trang 5)
Hình I-4: Môi trường của hệ cơ sở dữ liệu phân tán - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh I-4: Môi trường của hệ cơ sở dữ liệu phân tán (Trang 11)
Hình II-2: Gọi phương thức của các đối tượng thông qua lớp trung gian - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh II-2: Gọi phương thức của các đối tượng thông qua lớp trung gian (Trang 15)
Hình II-4: Cơ chế gọi hàm từ xa của các đối tượng RMI - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh II-4: Cơ chế gọi hàm từ xa của các đối tượng RMI (Trang 17)
Hình II-3 Cài đặt ứng dụng phân tán RMI II.2.5  Cơ chế gọi hàm từ xa của các đối tượng RMI một cách tổng quát - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh II-3 Cài đặt ứng dụng phân tán RMI II.2.5 Cơ chế gọi hàm từ xa của các đối tượng RMI một cách tổng quát (Trang 17)
Hình II.5: Đăng ký các đối tượng trên RMIRegistry - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh II.5: Đăng ký các đối tượng trên RMIRegistry (Trang 18)
Hình II.6: Cơ chế hoạt động của máy ảo Java trên mô hình mạng vật lý - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh II.6: Cơ chế hoạt động của máy ảo Java trên mô hình mạng vật lý (Trang 19)
Hình III-1: HNBank Database - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh III-1: HNBank Database (Trang 24)
Hình III-4: Mô hình hệ thống ngân hàng chạy mạng với CSDL phân tán - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh III-4: Mô hình hệ thống ngân hàng chạy mạng với CSDL phân tán (Trang 25)
Hình III-5: Giao diện phía Client - TIỂU LUẬN LẬP TRÌNH MẠNG VIẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN HÀNG
nh III-5: Giao diện phía Client (Trang 27)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w