|
Cours : "Intergiciels
et applications reparties pour les services sur Internet"
Le cours sur ce thème est composé de 6 sessions de 3h.
Introduction
Cette session présente une introduction sur les systèmes
et applications répartis. Les principaux problèmes induits par la
répartition sont évoqués. L'évolution du domaine est synthétisée et les
principaux modèles de développement d'applications réparties sont présentés.
Ils sont présentés de façon plus approfondie dans les sessions suivantes en
présentant des intergiciels implantant ces modèles.
Le modèle
client-serveur – Java RMI
Les outils les plus utilisés pour le développement
d’applications réparties reposent sur le modèle client-serveur. Un client
effectue un appel sur une fonction fournie par un serveur à travers un appel
à distance. De nombreux intergiciels implantent des mécanismes d’appels à
distance. Ce cours présente les principes de l’appel à distance (Remote
Procedure Call) et les illustrent à travers l’outil d’appel de méthode à
distance de Java (Java-RMI pour Remote Method Invocation).
Le modèle à message
asynchrone – Java JMS
Le mécanisme de base pour programmer des applications
réparties est l'envoi de message, mais des modèles de plus haut niveau
peuvent être implantés. L'appel à distance vu précédemment en est un
exemple. D'autres modèles visent à fournir des fonctions de messagerie
avancées. On y trouve notamment les notions de persistance des messages, ou
de désignation anonyme avec les modèles publish/subscribe. Ces
modèles ont donné naissance à une famille d'intergiciels orientés-messages (Message-Oriented
Middleware). Ce cours présente les concepts de ces intergiciels et les
illustre à travers l'interface JMS (Java Messaging Service).
Les Web Services
Le développement mondial de l'Internet et en particulier
du World Wide Web a débouché sur la définition du modèle des services Web
(ou Web Services). Les Web Services sont un ensemble de standards
visant à réaliser une intégration d’applications à gros grain utilisant
l’infrastructure du World Wide Web. Ce cours fait un tour d'horizon des
protocoles, technologies et plates-formes du monde des Web Services.
L'architecture J2EE
Le développement du Web a également amené au développement
de sites Web de plus en plus complexes, par exemple pour implanter des sites
de commerce électronique. Ces sites Web ne servent plus des pages Web
statiques, mais les génèrent dynamiquement et à partir d'une base de
données. Pour le développement de ces serveurs Web à contenu dynamique, le
standard J2EE (Java2 Platform, Enterprise Edition), proposé par Sun
Microsystems, décrit comment structurer de tels serveurs en plusieurs tiers.
Ce cours présente les spécifications des architectures J2EE, ainsi que
l'implantation JoNAS de ces spécifications.
Les modèles à
composants – Fractal
Dans le domaine des intergiciels, ces dernières années ont
vu s'imposer la notion de composants. Les modèles à composants permettent de
construire des applications par assemblage de composants et sous la forme
d'architectures logicielles. La construction de l'application ne correspond
plus à une phase de programmation, mais à une description d'une
configuration réutilisant des composants. De plus, la structuration en
termes de composants est maintenue à l'exécution, permettant une
reconfiguration dynamique de l'application, par exemple pour changer un
composant. Ce cours présente les concepts des modèles à composants et les
illustre à travers le modèle à composants Fractal, développé par l'INRIA et
FT R&D.
Démonstrations
Différentes démonstrations (ou TP) pourront être
présentées pour illustrer ces intergiciels, en dehors de ces sessions qui
sont déjà bine remplies.
|
|
Môn
học : « Phần mềm và ứng dụng phân
tán cho các dịch vụ trên Internet »
Môn học này
được trình bày trong 6 buổi 3h
Giới
thiệu
Buổi
giới thiệu các hệ thống và ứng dụng
phân tán. Các vấn đề chính gây ra do sự phân tán
sẽ được đề cập. Sự
tiến hóa trong lĩnh vực được tổng
hợp lại, các mô hình chính để phát triển
ứng dụng phân tán được trình bày. Chúng
sẽ được mô tả chi tiết hơn trong
những buổi sau cùng với các phần mềm thi
công các mô hình này.
Mô hình khách chủ - Java RMI
Các
công cụ thường hay được sử
dụng nhất để xây dựng các ứng
dụng phân tán đều dựa trên mô hình
khách-chủ. Trình khách gọi một hàm mà trình chủ cung
cấp bằng cách gọi hàm từ xa. Rất
nhiều phần mềm thi công cách thức gọi
từ xa như thế. Trong khóa học này sẽ trình
bày các nguyên tắc chung của gọi hàm từ xa (Remote
Procedure Call), minh họa nó bằng một công cụ
trong Java là RMI (Java-RMI là Remote Method Invocation)
Mô hình
tin nhắn không đồng bộ - Java JMS
Nguyên
tắc cơ bản trong lập trình các ứng
dụng phân tán chính là gửi các tin nhắn, nhưng
nhiều mô hình ở mức cao hơn đã
được xây dựng. Gọi hàm từ xa như
đã thấy ở trên là một ví dụ. Các mô hình
khác nhằm cung cấp các tính năng tin nhắn cao
cấp hơn. Ta thường thấy ở đó khái
niệm về ghi lại các tin nhắn, hay gửi vô
định danh thông qua mô hình xuất bản/đăng ký. Các mô hình này làm
ra đời một họ phần mềm
hướng tin nhắn (Message-Oriented Middleware).
Khóa học này trình bày những khái niệm về
họ phần mềm này và minh họa thông qua giao
diện JMS (Java Messaging Service).
Dịch vụ web
Sự
phát triển toàn cấu của Internet, mà đặc
biệt là World Wide Web làm nảy sinh mô hình các dịch
vụ web. Dịch vụ web là một tập hợp
các chuẩn cho phép tích hợp các ứng dụng quy mô
lớn sử dụng hạ tầng World Wide Web. Khóa
học này sẽ điểm qua các giao thức, công
nghệ và nền tảng (plate-form) trong thế
giới dịch vụ web.
Kiến trúc J2EE
Sự
phát triển của web dẫn đến sự ra
đời của nhiều trang web (web site) ngày càng
phức tạp, ví dụ như các web site về
thương mại điện tử. Các web site này
không chỉ là các trang web tĩnh mà được sinh
ra từ cơ sở dữ liệu. Để phát
triển các server web với nội dung động
như vậy, chuẩn J2EE (Java2 Platform, Enterprise
Edition), đề xuất bởi Sun Microsystems, mô
tả làm thế nào để cấu trúc các server
như thế theo nhiều tầng lớp (tiers). Khóa
học này trình bày đặc tả kiến trúc J2EE, và
phiên bản thi công đặc tả này là JoNAS.
Mô hình dựa trên các phần tử -
Fractal
Trong
lĩnh vực phần mềm cỡ lớn, mấy
năm trở lại đây đã xuất hiện khái
niệm về các phần tử. Mô hình phần tử
cho phép xây dựng các ứng dụng bằng cách
lắp ghép các phần tử dưới dạng
kiến trúc phần mềm. Xây dựng ứng dụng
không chỉ là lập trình, mà còn là mô tả cấu hình
sử dụng các phần tử. Hơn nữa,
cấu trúc phần tử còn có tác dụng cả khi
chạy, cho phép động cấu hình lại ứng
dụng : ví dụ như thay đổi một thành
phần. Khóa học này trình bày các khái niệm về mô
hình phần tử và minh họa thông qua mô hình Fractal,
phát triển bởi INRIA et FT R&D
Trình diễn
Nhiều
trình diễn có thể có để minh họa cho các
phần mềm lớn này – ngoài giờ cho các tiết
học ở trên.
|