Áp dụng OSGi trong việc xây dựng hệ thống dựa thành phần
Áp dụng OSGi trong việc xây dựng hệ thống dựa thành phần
Xem bên trong

Áp dụng OSGi trong việc xây dựng hệ thống dựa thành phần

74 tr. + CD-ROM + tóm tắt
Luận văn ThS. Kỹ thuật phần mềm — Trường đại học Công nghệ. Đại học Quốc gia Hà Nội, 2014
Electronic Resources

0.00

Tải về miễn phí bản đầy đủ PDF luận văn tại Link bản đầy đủ 1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ HỒNG HÀ

ÁP DỤNG OSGi TRONG VIỆC XÂY DỰNG HỆ THỐNG
DỰA THÀNH PHẦN

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2014

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ HỒNG HÀ

ÁP DỤNG OSGi TRONG VIỆC XÂY DỰNG HỆ THỐNG
DỰA THÀNH PHẦN

Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS.TRẦN THỊ MINH CHÂU

Hà Nội – 2014

i
LỜI CAM ĐOAN
Tôi xin cam đoan rằng, luận văn thạc sĩ công nghệ thông tin “Áp dụng OSGi
trong việc xây dựng hệ thống dựa thành phần” là sản phẩm nghiên cứu của riêng cá
nhân tôi dưới sự giúp đỡ rất lớn của giảng viên hướng dẫn là TS. Trần Thị Minh Châu,
tôi không sao chép lại của người khác. Nhữngđiềuđã được trình bày trong toàn bộ nội
dung của luận văn này hoặc là của chính cá nhân tôi, hoặc là được tổng hợp từ nhiều
nguồn tài liệu. Tất cả các tài liệu tham khảo đều có nguồn gốc rõ ràng và được trích
dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định
cho lời cam đoan của mình.

Hà nội, ngày 26 tháng 10 năm 2014
Người cam đoan

Lê Hồng Hà

ii
LỜI CẢM ƠN
Trước tiên, tôi xin bày tỏ lòng biếtơn chân thành và sâu sắc đến cô giáo, TS.
Trần Thị Minh Châu – ngườiđã dành nhiều tâm huyết, tận tình chỉ bảo và giúp đỡ tôi
trong suốt quá trình kể từ khi tôi xin cô hướng dẫn đề tài, cho đến khi tôi hoàn
thànhluận văn này.
Tôi xin gửi lời cảmơn chân thành tới các thầy cô giáo khoa Công nghệ thông
tin, trườngĐại học Công nghệ, Đại học Quốc Gia Hà Nội- nơi tôi đã theo họctừ bậc đại
học cho đến nay. Các thầy cô đã cung cấp cho tôi những kiến thức quý báu, tạođiều
kiện tốt nhất cho tôi trong suốt quá trình học tập và nghiên cứu tại trường.
Cuối cùng, tôi xin chân thành cảmơn những người thân trong gia đình, đặc biệt
là bố mẹ tôiđãluôn động viên vàủng hộ tôi. Xin cảmơn bạn bè cùng khóađãgiúp đỡ tôi
trong quá trình học tập.

iii
MỤC LỤC
GIỚI THIỆU …………………………………………………………………………………………………….. 1
1.1. Giới thiệu hệ thống dựa thành phần ……………………………………………………………. 3
1.2. Kiến trúc phần mềm dựa thành phần ………………………………………………………….. 4
1.3. Đặc tính của thành phần phần mềm ……………………………………………………………. 5
1.4. Một số mô hình thành phần hiện tại ……………………………………………………………. 6
2.1. OSGi framework ……………………………………………………………………………………. 10
2.1.1. Tổng quan về OSGi ………………………………………………………………………….. 10
2.1.2. Lớp Module …………………………………………………………………………………….. 12
2.1.3. Lớp Lifecycle …………………………………………………………………………………… 23
2.1.4. Lớp Service ……………………………………………………………………………………… 28
2.2. OSGi trong phát triển phần mềm dựa thành phần ……………………………………… 33
2.2.1. Mô hình thành phần ………………………………………………………………………….. 33
2.2.2. Mô hình thành phần trong OSGi ………………………………………………………… 33
Chương 3. ÁP DỤNG XÂY DỰNG ỨNG DỤNG BÁN HÀNG TRỰC TUYẾN …… 38
3.1. Phân tích kiến trúc và lựa chọn các công nghệ …………………………………………… 40
3.1.1. Kiến trúc phân tầng và dựa thành phần ……………………………………………….. 42
3.1.2. Áp dụng kiến trúc phân tầng và dựa thành phần vào ứng dụng ………………. 43
3.2. Phát triển ứng dụng ………………………………………………………………………………… 51
3.2.1. Biên dịch ứng dụng với Bndtool …………………………………………………………. 51
3.2.2. Triển khai ứng dụng với Apache Felix ………………………………………………… 52
3.2.3. Các chức năng của ứng dụng ……………………………………………………………… 53
3.3. Đánh giá so với việc phát triển hệ thống với phương pháp truyền thống ……….. 61
4.1. Các kết quả đạt được ………………………………………………………………………………. 67
4.2. Định hướng nghiên cứu trong tương lai …………………………………………………….. 68
PHỤ LỤC 1 ……………………………………………………………………………………………………. 71
PHỤ LỤC 2 ……………………………………………………………………………………………………. 72

iv
BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT Ký hiệu Diễn giải Tiếng Việt
1 API Application Programming Interface Giao diện lập trình ứng dụng
2 CIDL
Component Implementation
Definition Language
Ngôn ngữ định nghĩa cài đặt
thành phần
3 CIF
Component Implementation
Framework
Framework cài đặt thành
phần
4 COM Component Object Model
Mô hình đối tượng thành
phần
5 CORBA
Common Object Request Broker
Architecture
Kiến trúc chung gian yêu
cầu đối tượng chung
6 DS Declarative Services
Một trong những mô hình
thành phần để khai báo và
sử dụng dịch vụ trong OSGi
7 EJB Enterprise JavaBeans
Mô hình thành phần dùng
cho phát triển ứng dụng
doanh nghiệp với Java
8 GPS Global Positioning System Hệ thống định vị toàn cầu
9 IDE
Integrated Development
Environment
Môi trường phát triển tích
hợp
10 IDL Interface Defination Language
Ngôn ngữ định nghĩa giao
diện
11 JMS Java Message Service Dịch vụ truyền tin trongJava
12 JRE Java Runtime Environment Môi trường chạy Java
13 JVM Java Virtual Machine Máy ảo Java
14 REST Representational State Transfer
Một phong cách kiến trúc
cho hệ thống mạng. Ứng
dụng phổ biến là cho dịch
vụ Web
15 SCA Service Component Architechture
Kiến trúc thành phần dịch
vụ
16 SCR Service Component Runtime
Môi trường chạy thành phần
dịch vụ
17 SOA Service-Oriented Architecture Kiến trúc hướng dịch vụ
18 SOAP Simple Object Access Protocol
Giao thức truy cập đối
tượng đơn giản

v
DANH MỤC HÌNH VẼ
STT Số hiệu Tên hình vẽ
1 1.1 Phát triển hệ thống phần mềm dựa thành phần
2 1.2 Kiến trúc hệ thống dựa thành phần
3 1.3 Ví dụ hệ thống dựa thành phần
4 1.4 Sự kết hợp có thể giữa client cũ và mới và các thành phần của nó
5 2.1 Kiến trúc OSGi
6 2.2
Một module định nghĩa phạm vi logic. Module tự nó cũng tường
minh chỉ định lớp nào được đóng gói bên trong, lớp nào được hiện
diện ra bên ngoài
7 2.3
Các lớp có phụ thuộc tường minh vì các tham chiếu trong mã
nguồn. Các module có phụ thuộc ngầm định vì mã nguồn chúng
bao gồm
8 2.4
Mặc dù hướng đối tượng và tính module đều cung cấp những khả
năng như nhau nhưng ở các cấp độ khác nhau
9 2.5 Cấu trúc của bundle
10 2.6 Classloader trong OSGi
11 2.7
Chuỗi Classloader, nếu một Classloader không thể nạp một lớp nó
sẽ chuyển cho Classloader tiếp theo
12 2.8 Khả năng thay thế
13 2.9
Một bundle fragment được gắn với một bundle chủ của nó và cùng
chia sẻ một Classloader
14 2.10 Cấu trúc đánh phên bản
15 2.11
Các phụ thuộc của phụ thuộc có thể có các phiên bản không tương
thích. OSGi cho phép cùng tồn tại bằng cách cô lập chúng với cái
kia
16 2.12 Class Path trong Java và quản lý vòng đời trong OSGi framework
17 2.13 Vòng đời của bundle trong OSGi
18 2.14 Các lệnh OSGi tương ứng với các thao tác khi triển khai ứng dụng
19 2.15
Một dịch vụ được cung cấp bởi một bundle và được sử dụng bởi
một bundle khác. Hình tam giác có đỉnh trỏ về bên cung cấp dịch
vụ
20 2.16
Một service consumer có thể sử dụng nhiều instance của một dịch
vụ
21 3.1 Đối tượng người dùng và chức năng của hệ thốngđặt hàng
22 3.2 Các bước xử lý khi khách hàng đặt hàng

vi
23 3.3 Kiến trúc và các thành phần công nghệ trong ứng dụng
24 3.4 Kiến trúc ba tầng
25 3.5 Phụ thuộc vòng
26 3.6 Chia các tầng thành các thành phần nhỏ hơn
27 3.7 Các tầng trong ứng dụng
28 3.8 Các thành phần trong ứng dụng
29 3.9 Các thành phần và giao tiếp giữa chúng
30 3.10 Cấu trúc bundle chipshop.admin.general.ui trong Bnd project
31 3.11 Cấu trúc bundle chipshop.admin.general.ui sau khi build
32 3.12
Tương tác giữa các bundle liên quan đến sản phẩm thông qua dịch
vụ
33 3.13 Các bundle xử lý đơn hàng
34 3.14 Các bundle của toàn bộ ứng dụng
35 3.15 Phát triển ứng dụng với Bndtool
36 3.16 Chạy ứng dụng trực tiếp trong Eclipse
37 3.17 Kết quả chạy unit test
38 3.18 Danh sách và trạng thái các bundle
39 3.19 Danh sách sản phẩm trên frontend
40 3.20 Xem thông tin trong giỏ hàng
41 3.21 Đăng ký và đăng nhập
42 3.22 Đặt hàng
43 3.23 Đặt hàng thành công
44 3.24 Xem lại đơn hàng đã đặt
45 3.25 Đăng nhập vào trang quản trị
46 3.26 Xem thông tin và sửa sản phẩm
47 3.27 Thêm sản phẩm, danh mục hoặc xóa danh mục
48 3.28 Sản phẩm mới tạo trên backend
49 3.29 Sản phẩm mới tạo trên frontend
50 3.30 Xem và cập nhật trạng thái các đơn hàng
51 3.31
Các bundle cung cấp chương trình khuyến mại sau khi được triển
khai
52 3.32
Thực đơn khuyến mại tự động xuất hiện sau khi các bundle được
triển khai
53 3.33 Thông tin khuyến mại

vii
54 3.34 Dừng bundle chipshop.discounts.mongo
55 3.35
Bundle chipshop.discounts.mongo chuyển sang trạng thái
Resolved
56 3.36
Thực đơn “khuyến mại” biến mất sau khi bundle
chipshop.discounts.mongo bị dừng
57 3.37
Các thành phần liên quan đến khuyến mại có thể được triển độc lập
và động
58 3.38
Các bundle không thể chuyển sang trạng thái Active khi các phụ
thuộc và ràng buộc chưa được thỏa mãn
1

GIỚI THIỆU
Các hệ thống phần mềm ngày càng trở nên phức tạp, cùng với nhu cầu phát triển
nhanh và cập nhật thường xuyên, từ đó tạo ra nhu cầu cần một kiến trúc để đáp ứng
được những nhiệm vụ khó khăn này. Kiến trúc dựa thành phần là một giải pháp, đặc
tính cơ bản của kiến trúc dựa thành phần là chia mã nguồn thành những thành phần
nhỏ, độc lập giúp ta dễ dàng hiểu, nâng cấp và bảo trì. Khái niệm hệ thống phần mềm
dựa thành phần và việc phát triển hệ thống phần mềm dựa thành phần không còn là
mới. Nhưng những ưu điểm của việc phát triển phần mềm theo mô hình dựa thành
phần vẫn còn nguyên giá trị và ngày càng phổ biến hơn. Chia hệ thống thành các phần
mã nguồn nhỏ giúp ta có thể thay đổi, cập nhật hoặc đơn giản thay thế nó mà không
ảnh hưởng đến các phần khác của hệ thống.
Để đưa kiến trúc dựa thành phần từ thiết kế áp dụng vào thực tế không hề đơn
giản và dễ dàng và không thể thực hiện được nếu chỉ sử dụng Java thuần túy. OSGi
giúp ta thực hiện được điều này cùng với Java. Ngoài việc giúp ta phát triển một hệ
thống dựa thành phần OSGi cũng khắc phục một số nhược điểm còn tồn tại của class
path trong Java, tránh được những lỗi khi hệ thống đang chạy (run time) rất thường
xuyên xảy ra với một hệ thống lớn và phức tạp. Triển khai hay cập nhật các thành
phần khi hệ thống vẫn đang chạy mà không phải khởi động lại, điều này không thể có
được với một hệ thống phát triển với Java thông thường.
Những ưu điểm mà OSGi mang lại là rất rõ ràng, tuy nhiên trước đây OSGi
thường có tiếng là quá phức tạp và khó sử dụng, do vậy OSGi còn chưa được sử dụng
rộng rãi. Gần đây có nhiều sự thay đổi về công cụ phát triển cũng như framework.
Trong luận văn tôi đã tìm hiểu và đưa ra những kinh nghiệm lập trình, áp dụng những
công nghệ, kỹ thuật được cho là tốt nhất hiện có với nhiều ưu điểm như dịch vụ Web
RESTful đang dần thay thế SOAP và WSDL, NoSQL hay AngularJS [21,23,16]. Kết
hợp với OSGi để đưa ra lựa chọn cho một kiến trúc hiệu quả giúp ta không còn tốn
nhiều thời gian để lựa chọn kiến trúc cũng như công nghệ trước khi phát triển một hệ
thống, nhất là hệ thống lớn và phức tạp. Giúp ta có nhiều thời gian tập trung vào phát
triển nghiệp vụ cho hệ thống.
Nội dung luận văn chia thành bốn chương. Chương 1 tìm hiểu về các khái niệm
trong hệ thống dựa thành phần, kiến trúc dựa thành phần và phát triển hệ thống phần
mềm dựa thành phần. Tìm hiểu, phân tích một số mô hình thành phần hiện tại và đưa
ra lựa chọn mô hình phù hợp cho phát triển phần mềm hiện nay. Chương 2 tìm hiểu về
lịch sử, kiến trúc và các đặc tính của OSGi. Từ đó hiểu rõ về kiến trúc, mục đích thiết
kế giúp OSGi có được những đặc tính phù hợp với việc phát triển hệ thống dựa thành
phần, bổ sung và khắc phục những nhược điểm còn tồn tại trong Java chuẩn. Chương
3 trình bày việc áp dụng OSGi để xây dựng một hệ thống bán hàng trực tuyến theo
kiến trúc dựa thành phần. Trình bày việc phân tích kiến trúc hệ thống, tìm hiểu những
2

công nghệ liên quan và những công cụ tốt nhất hiện có sử dụng cho quá trình phát
triển. Đưa ra những lựa chọn khi thiết kế, phân tách các thành phần sao cho phát huy
được tốt nhất những ưu điểm của kiến trúc dựa thành phần và OSGi. Hệ thống sau khi
hoàn thành sẽ bao gồm đầy đủ các thành phần cơ bản như một ứng dụng doanh nghiệp.
Như một giao diện Web frontend cho phép khách hàng xem và đặt mua sản phẩm
thông qua chức năng giỏ hàng và một trang quản trị dành cho quản trị viên. Web
frontend sẽ giao tiếp với hệ thống backend xử lý nghiệp vụ thông qua dịch vụ Web
RESTful. Dịch vụ Web RESTful giao tiếp với các thành phần OSGi bên dưới thông
qua các dịch vụ OSGi, bản thân dịch vụ Web RESTful cũng là một dịch vụ OSGi. Các
dịch vụ OSGi bên dưới cũng truy cập đến cơ sở dữ liệu NoSQL thông qua các dịch vụ
OSGi. Chương 4 là kết luận, đánh giá những kết quả đạt được và định hướng phát triển
của đề tài. Phần cuối cùng là tài liệu tham khảo và phụ lục.
3

Chương 1. TỔNG QUAN VỀ PHÁT TRIỂN PHẦN MỀM DỰA THÀNH
PHẦN
1.1. Giới thiệu hệ thống dựa thành phần
“Xây dựng hệ thống dựa thành phần là hướng tiếp cận dựa trên ý tưởng sử dụng lại các
thành phần phần mềm thay vì phát triển các thành phần lại từ đầu” [4]. Từ quan điểm
đó các thành phần được định nghĩa, cài đặt và sau đó các thành phần độc lập, có mối
quan hệ không chặt chẽ với nhau được kết hợp đưa vào hệ thống. Xây dựng hệ thống
dựa thành phần mang lại nhiều ưu điểm như phát triển nhanh, giảm giá thành, khả
năng sử dụng lại tốt hơn. Hình 1.1 minh họa việc sử dụng lại các thành phần từ các
nguồn cung cấp sau đó sắp xếp và cài đặt thành một hệ thống phần mềm.

Hình 1.1: Phát triển hệ thống phần mềm dựa thành phần
Các hệ thống phần mềm ngày càng trở nên phức tạp và cung cấp nhiều tính năng hơn.
Để có thể tạo ra các sản phẩm phần mềm như thế với chi phí hợp lý. Các nhà cung cấp
thường sử dụng công nghệ dựa thành phần thay vì phát triển tất cả các phần của hệ
thống từ đầu. Động lực đằng sau việc sử dụng các thành phần là giảm thiểu giá thành
phát triển, nhưng về sau nó trở thành việc quan trọng hơn đó là giảm thiểu thời gian để
đưa sản phẩm ra thị trường, nhằm đáp ứng nhu cầu cấp thiết của khách hàng.
Các kỹ sư phần mềm quan tâm đến các thành phần như một phần nền móng cho
hướng dịch vụ (Service Orientation). Ví dụ trong dịch vụ Web (Web Service) hay gần
đây là kiến trúc hướng dịch vụ (SOA), một thành phần được chuyển đổi bởi dịch vụ
Web thành một dịch vụ (service) và do đó nó kế thừa các đặc tính cao hơn vượt ra khỏi
phạm vi của một thành phần thông thường.
4

1.2. Kiến trúc phần mềm dựa thành phần
Định nghĩa một thành phần phần mềm:
“Một thành phần phần mềm (software component) là một đơn vị kết cấu
(composition) tuân thủ các quy định của mô hình thành phần. Các thành phần giao tiếp
với nhau thông qua các giao diện (interface). Thành phần phần mềm có thể được triển
khai (deploy) độc lập, là đối tượng để cấu thành hệ thống phần mềm và cũng là đối
tượng được cung cấp bởi bên thứ ba (third party) trong phát triển phần mềm dựa thành
phần” [6].
Mô hình thành phần:
“Mô hình thành phần định nghĩa định dạng và giao diện chuẩn giữa các thành phần.
Chúng cho phép các thành phần có thể được triển khai và giao tiếp với nhau” [4].
Phần mềm dựa thành phần được cấu tạo nên bởi các thành phần phần mềm. Tất cả các
quy trình của hệ thống được đặt trong các thành phần tách biệt, do đó tất cả các chức
năng và dữ liệu bên trong mỗi thành phần là có liên quan với nhau về mặt ý nghĩa nào
đó. Do vậy người ta thường nói các thành phần có tính module và gắn kết. Các thành
phần có thể sử dụng lại các thành phần có sẵn và chỉ phải phát triển những thành phần
nghiệp vụ riêng của ứng dụng. Hình 1.2 mô tả kiến trúc của một hệ thống dựa thành
phần, ứng dụng 1 có thể sử dụng chung thành phần 2 và A với ứng dụng 2 và nó chỉ
phải phát triển các thành phần A, B, C.

Hình 1.2: Kiến trúc hệ thống dựa thành phần
Mỗi thành phần có một giao diện được định nghĩa rõ ràng và chúng giao tiếp với các
thành phần khác qua giao diện này. Khi một thành phần cung cấp dịch vụ cho phần
5

còn lại của hệ thống, nó thông qua giao diện để xác định dịch vụ mà các thành phần
khác có thể sử dụng và sử dụng như thế nào. Giao diện này có thể được xem như là
chữ ký của thành phần. Hình 1.3 mô tả các thành phần trong một hệ thống dựa thành
phần và giao tiếp giữa các thành phần trong hệ thống.

Hình 1.3: Ví dụ hệ thống dựa thành phần
1.3. Đặc tính của thành phần phần mềm
Một thành phần phần mềm có những đặc tính sau [6]:
– Đóng gói (Encapsulated): Client có thể sử dụng mà không cần biết về cài đặt cụ thể
cũng như là các công việc bên trong của thành phần. Ví dụ hệ thống trong hình 1.3
trên thì thành phần đặt phòng khách sạn sẽ sử dụng dịch vụ của thành phần thanh toán.
Nó chỉ cần biết đến giao diện IBilling để sử dụng và không cần biết thành phần thanh
toán sử dụng thanh toán qua credit card, tiền mặt hay một phương thức thanh toán nào
khác.
– Chuẩn hóa (Standardised): Chuẩn hóa thành phần có nghĩa là các thành phần sử dụng
trong hệ thống dựa thành phần phải tuân theo một số mô hình thành phần đã được
chuẩn hóa. Mô hình này có thể định nghĩa các giao diện cho thành phần, meta-data,
cấu tạo của thành phần, triển khai (deployment). Khi đó thì các hệ thống có thể sử
dụng lại các thành phần và dễ dàng triển khai.
– Độc lập (Independent): Một thành phần nên độc lập, nó nên được tạo ra và triển khai
mà không cần sử dụng các thành phần khác. Trong một số trường hợp khi mà thành
phần cần các dịch vụ từ bên ngoài thì điều này nên được khai báo trong một bản đặc tả
giao diện được yêu cầu.
– Có thể thay thế (Substitutable): Một thành phần có thể được thay thế bởi một thành
phần khác (trong thời gian thiết kế hoặc thời gian chạy – run time), nếu một thành
phần đáp ứng được các yêu cầu của thành phần ban đầu (yêu cầu này mô tả thông qua
giao diện). Theo đó một thành phần có thể được thay thế bởi một phiên bản cập nhật
6

hoặc thay thế hoàn toàn mà không làm ảnh hưởng đến hệ thống mà thành phần này
đang hoạt động. Hình 1.4 mô tả ví dụ về đặc tính này, bộ xử lý văn bản có thể dễ dàng
sử dụng phiên bản mới của từ điển thay cho phiên bản cũ.
– Khả năng sử dụng lại (Reusability): Đây là một đặc tính quan trọng của một thành
phần phần mềm có chất lượng tốt. Các lập trình viên nên thiết kế và cài đặt nên các
thành phần phần mềm theo cách này, khi đó nhiều chương trình khác nhau có thể sử
dụng lại chúng.
– Triển khai độc lập (deployable): Để có thể triển khai độc lập thì một thành phần cần
phải tự bao hàm (self-contained) và có thể hoạt động như một thực thể độc lập trên
một số nền tảng thực thi mô hình thành phần.

Hình 1.4: Sự kết hợp có thể giữa client cũ và mới và các thành phần của nó
1.4. Một số mô hình thành phần hiện tại
Common Object Request Broker Architecture (CORBA)
Được phát triển từ mô hình đối tượng CORBA và được giới thiệu như một mô hình cơ
bản của đặc tả thành phần OMG. Đặc tả mô hình thành phần CORBA định nghĩa một
mô hình chung, một mô hình lập trình, một mô hình đóng gói, một mô hình triển khai,
một mô hình thực thì và một mô hình meta. Mô hình meta định nghĩa các khái niệm và
quan hệ giữa các mô hình khác nhau. Các thành phần CORBA giao tiếp với thế giới
bên ngoài thông qua các cổng. Mô hình thành phần CORBA sử dụng ngôn ngữ riêng
để đặc tả thành phần: IDL (Interface Defination Language). Mô hình thành phần
CORBA cung cấp một framework gọi là framework cài đặt thành phần CIF
(Component Implementation Framework) dựa trên ngôn ngữ định nghĩa cài đặt thành
phần CIDL (Component Implementation Definition Language) và mô tả các phần chức
năng và phi chắc năng của một thành phần nên tương tác với nhau như thế nào. Thêm
nữa, mô hình thành phần CORBA sử dụng XML để xác định các thông tin về đóng gói
và triển khai. Mô hình thành phần CORBA cũng có một bộ mô tả cài đặt, nó bao gồm
meta-data về việc làm thế nào hai hoặc nhiều thành phần có thể được kết hợp cùng
nhau [12].

Tác giả

Lê Hồng Hà

Nhà xuất bản

ĐHCN

Năm xuất bản

2014

Người hướng dẫn

Trần Thị Minh Châu

Định danh

00050004238

Kiểu

text

Định dạng

text/pdf

Nhà xuất bản

Khoa công nghệ thông tin,

Trường đại học Công nghệ

Các đánh giá

Hiện chưa có đánh giá cho sản phẩm.

Hãy là người đầu tiên đánh giá “Áp dụng OSGi trong việc xây dựng hệ thống dựa thành phần”

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *