MỤC LỤC
MỤC LỤC............................................................................................................... 1
KẾT LUẬN..........................................................................................83.................1
MỞ ĐẦU................................................................................................................ 2
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................4
DANH MỤC CÁC HÌNH VẼ....................................................................................4
CHƯƠNG I. LÝ THUYẾT KIẾN TRÚC HƯỚNG DỊCH VỤ.....................................5
1. Kiến trúc hướng dịch vụ - xu hướng mới trong công nghệ thông tin............................................................5
2. Kiến trúc hướng dịch vụ - một giải pháp..........................................................................................................7
2.1. Sự tiến hóa của lý thuyết phát triển phần mềm........................................................................................7
2.2 Kiến trúc hướng dịch vụ.........................................................................................................................10
2.3. Dịch vụ và thành phần...........................................................................................................................18
3. Thiết kế theo kiến trúc hướng dịch vụ............................................................................................................22
4. Các công nghệ hướng dịch vụ...........................................................................................................................35
4.1. Sun JINI.................................................................................................................................................35
4.2. Openwings.............................................................................................................................................36
4.3. Dịch vụ Web..........................................................................................................................................39
4.4. Enterprise Service Bus (ESB)................................................................................................................39
5. Kết luận chương:................................................................................................................................................41
CHƯƠNG II. CÔNG NGHỆ DỊCH VỤ WEB.........................................................43
1. Kiến trúc dịch vụ Web.......................................................................................................................................44
2. Các chuẩn cho dịch vụ Web..............................................................................................................................45
2.1. Ngôn ngữ mô tả dịch vụ Web WSDL....................................................................................................45
2.2. Giao thức truy cập đối tượng đơn giản SOAP.......................................................................................48
2.3. Đặc tả mô tả và tích hợp tìm kiếm UDDI..............................................................................................53
3. Các kiểu liên kết trong dịch vụ Web................................................................................................................57
3.1 Liên kết tĩnh............................................................................................................................................57
3.2. Liên kết động trong thời gian xây dựng.................................................................................................58
3.3. Liên kết động trong thời gian chạy........................................................................................................60
5. Xây dựng dịch vụ Web......................................................................................................................................61
5.1. Vòng đời của dịch vụ Web.....................................................................................................................61
thông qua giao diện của chúng, mức độ đóng gói thấp của các đối tượng vẫn làm cho
sự phụ thuộc giữa chúng trở nên khó kiểm soát trong một hệ thống tương đối lớn.
Khái niệm thành phần được phát triển giúp quản lý các hệ thống lớn tốt hơn: một
thành phần được định nghĩa là một nhóm các đối tượng hoạt động cùng nhau để thực
hiện một chức năng của hệ thống. Các công nghệ như EJB (Enterprise Java
Bean), .NET, CORBA (Common Object Request Broker Architecture) tỏ ra rất hiệu
quả trong việc cài đặt các thành phần. Phương pháp phát triển phần mềm dựa thành
phần (Component-based Development - CBD) cho phép những nhà phát triển tạo ra
các hệ thống phức tạp hơn, có chất lượng cao hơn và nhanh hơn bất kỳ phương pháp
phát triển phần mềm nào khác trước đó. Nhưng khi chúng ta xây dựng các thành phần
trên các ngôn ngữ khác nhau, hay thậm chí là trên những nền tảng khác nhau (các
thành phần không đồng nhất) cho một hệ thống thì cần có khả năng tích hợp chúng
lại với nhau, nhưng một vấn đề nảy sinh: các thành phần dùng công nghệ EJB đòi hỏi
việc triệu gọi phương thức thông qua RMI (Remote Method Invocation – Triệu gọi
Trang 2
phương thức từ xa), trong khi đó, các thành phần dùng công nghệ CORBA thì lại
dùng IIOP (Internet Inter-ORB Protocol), hơn nữa, khi các thành phần được định vị
qua Internet, các thông điệp giữa chúng có thể bị chặn bởi tường lửa. Ngay cả khi
không gặp phải những vấn đề trên thì để sử dụng được thành phần, chúng ta vẫn cần
phải biết vị trí chính xác và giao diện của thành phần để nếu giao diện thay đổi,
chúng ta cũng phải thay đổi cách gọi đến chúng. Vì số lượng người dùng thành phần
có thể rất lớn nên việc này sẽ tạo ra các phụ thuộc có quy mô lớn, rất khó kiểm soát.
Vậy làm thế nào chúng ta có thế giải quyết vấn đề này?
Kiến trúc hướng dịch vụ (Service-oriented architecture, viết tắt là SOA) đang
được phát triển và được xem như một bước đột phá tiếp theo trong kiến trúc phần
mềm giúp giải quyết vấn đề “khủng hoảng” phần mềm. Sự xuất hiện của công nghệ
dịch vụ Web (Web services) trong vài năm trở lại đây đã tạo ra sự quan tâm mạnh mẽ
tới kiến trúc này bởi Web service hiện thực hóa việc phát triển hệ thống theo kiến
trúc hướng dịch vụ một cách tự nhiên và dễ dàng hơn. Web service và kiến trúc
hướng dịch vụ đang thay đổi một cách căn bản cách thức xây dựng các hệ thống nội
• Các công nghệ giúp hiện thực hóa triết lý của kiến trúc hướng
dịch vụ.
1. Kiến trúc hướng dịch vụ - xu hướng mới trong công nghệ
thông tin.
Trong khi các nhà quản lý công nghệ thông tin đang phải đối đầu với việc
giảm giá thành và tối đa lợi ích của các công nghệ hiện có, họ vẫn phải liên tục cố
gắng để phục vụ khách hàng được tốt hơn, trở nên cạnh tranh hơn và phản ứng nhanh
hơn với chiến lược của doanh nghiệp.
Có hai yếu tố chính ẩn sau những áp lực này, đó là tính không đồng nhất của
các hệ thống và sự thay đổi nhanh về mặt công nghệ. Phần lớn các doanh nghiệp
ngày nay đều gồm nhiều hệ thống, ứng dụng và kiến trúc khác nhau với thời gian tồn
tại và công nghệ khác nhau. Việc tích hợp các sản phẩm từ nhiều nhà cung cấp và
nhiều nền tảng thực sự là điều khó khăn. Nhưng chúng ta cũng không thể cố gắng
tiếp cận theo kiểu một nhà cung cấp đối với công nghệ thông tin vì các bộ ứng dụng
và kiến trúc hỗ trợ rất không mềm dẻo.
Sự thay đổi công nghệ là yếu tố thứ hai mà các nhà quản lý công nghệ thông
tin phải đối mặt. Sự toàn cầu hoá và kinh doanh điện tử đang làm tăng tốc sự thay
đổi. Sự toàn cầu hoá dẫn tới sự cạnh tranh gay gắt trong việc rút ngắn chu kỳ sản xuất
để có thể chiếm ưu thế đối với đối thủ cạnh tranh. Các thay đổi về yêu cầu và nhu cầu
của khách hàng nhanh chóng hơn do tác động của phân phối cạnh tranh và sự phong
phú về thông tin sản phẩm trên Internet. Do đó lại càng thúc đẩy việc cải tiến trong
sản phẩm và dịch vụ diễn ra nhanh hơn.
Các cải tiến trong công nghệ tiếp tục tăng, làm tăng sự thay đổi yêu cầu của
khách hàng. Doanh nghiệp phải nhanh chóng thích nghi để tồn tại, chưa kể đến việc
phải thành công trong môi trường cạnh tranh động ngày nay, và hạ tầng công nghệ
thông tin phải đem lại khả năng thích nghi cho các doanh nghiệp.
Vì vậy, các tổ chức kinh doanh đang phát triển từ sự phân chia doanh nghiệp
theo chiều thẳng dọc, cô lập của những năm 1980 về trước thành các cấu trúc chú
trọng quy trình kinh doanh theo chiều ngang của những năm 1980, 1990, tới mô hình
kinh doanh mới trong đó các doanh nghiệp có tác động lẫn nhau. Các dịch vụ kinh