TỔNG QUAN…● Một số đặc điểm chính của SOA - Các DV kết nối “mềm dẻo” với nhau: 1 ứng dụng có thể “nói chuyện” với 1 ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong - Các
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2NỘI DUNG
1. Tổng quan SOA
2. So sánh SOA và OOP
3. Lợi ích, thách thức, tương lai của SOA
4. Xây dựng SOA với Web service
5. Cài đặt thử nghiệm
Trang 3TỔNG QUAN
● Bài toán tích hợp dữ liệu các HTTT quản lý, KPDL
Trang 4- Nhận dạng và phân loại, cung cấp và phân phối, giám sát và theo dõi các loại dịch vụ
Trang 5TỔNG QUAN…
● Kiến trúc SOA
Trang 6TỔNG QUAN…
● Một số đặc điểm chính của SOA
- Các DV kết nối “mềm dẻo” với nhau: 1 ứng dụng có thể “nói chuyện” với 1 ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong
- Các thành phần giao tiếp được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng
- SOA chú trọng đến qui trình nghiệp vụ và dùng giao tiếp chuẩn
để giúp che đi sự phức tạp kỹ thuật bên dưới
- SOA là cấp độ cao hơn trong phát triển ứng dụng, chú trọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để sử dụng dịch vụ
- SOA tââp trung vào các dịch vụ trên Internet có sử dụng các tiện ích web
- SOA là một tập hợp các dịch vụ có liên hệ với nhau, có thể 2-3 dịch vụ cùng phối hợp thực hiện một hoạt động nào đó
Trang 7SO SÁNH SOA VÀ OOP
● Kiến trúc 3 cấp tiêu biểu của mô hình đối tượng
● Sự ràng buộc giữa lớp thể hiện (đối tượng) và các đối tượng của lớp nghiệp vụ
Chương trình client phải tương tác với mô hình đối tượng của lớp nghiệp vụ, điều này làm tăng sự ràng buộc và yêu cầu số lượng đáng kể các “gọi hàm” giữa các 2 lớp.
● Số lượng đối tượng nghiệp vụ mà lớp thể hiện phải thao tác làm giảm sự độc lập giữa các lớp và làm cho khó sử dụng lớp nghiệp vụ
Lớp đối tượng giao
tiếp, Lớp biên
Lớp truy cập dữ liệu Lớp logic nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ Đối tượng nghiệp vụ
Trang 8SO SÁNH SOA VÀ OOP…
Mô hình SOA phát triển lên từ mô hình đối tượng
Sự khác biệt giữa SOA và mô hình đối tượng chính là lớp mới “Services”
- Lớp thể hiện giờ đây không còn thao tác trực tiếp lên các đối tượng nghiệp vụ nữa, mà sử dụng dịch vụ để truy cập chúng
- Các đối tượng nghiệp vụ được đặt trong thư viện và được dịch vụ nạp vào bộ nhớ - lớp dịch vụ và lớp nghiệp vụ nằm trong cùng tiến trình, nhờ vậy lời gọi hàm đến đối tượng nghiệp vụ sẽ không hề bị quá tải.
Dịch vụ đóng vai trò như “hộp đen”: cung cấp một lớp trung gian cho mô hình đối tượng và đưa ra tập chức năng rút gọn, làm giảm nhu cầu trao đổi giữa các lớp.
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Đối tượng nghiệp vụ
Lớp dịch vụ Dịch vụ Dịch vụ
Trang 9LỢI ÍCH KHI SỬ DỤNG SOA
● Khả năng kết nối “mềm dẻo” : nhờ sự chuẩn hóa giao tiếp
● Tái sử dụng cao : Các dịch vụ có thể được sử dụng với trình client chạy trên nền tảng bất kỳ và được viết với ngôn ngữ bất kỳ (Ví dụ, ứng dụng Java có thể liên kết với dịch vụ viết trên nền NET và ngược lại)
Kiến trúc hướng dịch vụ SOA dựa trên 3 nguyên tắc thiết kế rất quan trọng:
● Đơn thể hoá : Tách vấn đề lớn thành nhiều vấn đề nhỏ.
● Đóng gói : Che đi dữ liệu và lô-gic trong từng mô-đun (hay “hộp đen”) đối với truy cập từ ngoài.
Theo InfoWorld, công nghệ này đang tạo ra cơ hội để các doanh nghiệp tìm kiếm những dữ liệu hay chia sẻ với đối tác, khách hàng quan trọng và
sử dụng một cách sáng tạo kho dữ liệu
Trang 10THÁCH THỨC
● Vấn đề quản lý dữ liệu dịch vụ : phức tạp khi các dịch vụ này được cung cấp bởi các tổ chức khác nhau trong công ty hoặc công ty khác nhau
● Bảo mật trong SOA : Mô hình bảo mật được xây dựng vào một ứng dụng
có thể không còn đủ khi một ứng dụng cho thấy nhiều khả năng của mình như các dịch vụ có thể được sử dụng bởi các ứng dụng khác
● Khi áp dụng SOA đòi hỏi công ty, tổ chức áp dụng phải có một trình độ cao hơn về quản trị
Trang 11TƯƠNG LAI CỦA SOA
● IBM đã khai trương 4 trung tâm nghiên cứu và triển khai SOA tại Austin (Mỹ), Bắc Kinh (Trung Quốc), Delhi (Ấn độ) và Hursley (Anh)
● Motorola cho biết sau ba năm xây dựng SOA họ đã triển khai được 180 dịch vụ và năm sau con số này sẽ tăng lên 1.000 Lợi ích mà SOA mang lại là sự tích hợp dữ liệu đơn giản thông qua XML, chi phí thấp, tốc độ cao, đáp ứng nhanh những yêu cầu của doanh nghiệp.
● Singapore , công ty Springboard Research chuyên nghiên cứu thị trường công bố kết quả nghiên cứu mới nhất về thị trường kiến trúc hướng dịch
vụ SOA tại khu vực châu Á (không bao gồm Nhật Bản) Thị trường SOA của châu Á năm 2007 sẽ đạt 810 triệu USD và thị trường SOA châu Á sẽ tăng lên mức 2,2 tỷ USD vào năm 2010 Úc sẽ là thị trường SOA lớn nhất trong khu vực với giá trị 205 triệu USD.
Trang 12SOA VÀ WEB SERVICE
Web service là một công nghệ gọi hàm (phương thức) từ xa có tính khả chuyển cao nhất hiện nay: mang tính độc lập nền, độc lập ngôn ngữ Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này
SOA là kiến trúc phần mềm phát xuất từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng như là mô hình các giao tiếp, hiện thực giao tiếp và phương thức gọi giao tiếp Giao tiếp là trung tâm của toàn bộ triết lý kiến trúc này; Dịch vụ và module phần mềm nghiệp vụ được truy cập thông qua giao tiếp, thường theo cách thức yêu cầu - đáp trả
Trang 13SOA VÀ WEB SERVICE
Ví dụ
● Có thể tạo ra một ứng dụng mới bằng cách tổng hợp dữ liệu từ những sơ
đồ của Google và danh sách nhà cửa của hãng kinh doanh bất động sản BĐS
● Kết quả là họ có được một trang web thể hiện sơ đồ Google trên một mặt còn mặt kia thể hiện dữ liệu của BĐS, cho phép người sử dụng đọc được một sơ đồ hiện hữu danh sách nhà cửa thông qua dịch vụ của Google.
● Trang web tích hợp này chỉ ra được vị trí chính xác các ngôi nhà của BĐS cùng nhiều thông tin khác trên danh sách như địa chỉ liên hệ với người trung gian cho bất động sản đó.
Trang 14XÂY DỰNG SOA VỚI WEB SERVICE
Một số khó khăn khi xây dựng ứng dụng SOA
Nắm bắt yêu cầu người dùng : số lượng người dùng lớn, nhu cầu đa dạng
Xây dựng trên nhiều nền tảng công nghệ khác nhau
Tương tác giữa nhiều loại dịch vụ khác nhau : ví dụ một số hỗ trợ đồng
bộ, một số không hỗ trợ đồng bộ
Vấn đề giao tiếp : một số thông điệp hướng văn bản (document-oriented message exchange), một số hướng tham số (parameters-oriented message exchange)
Phức tạp khi thử nghiệm : đòi hỏi sự thống nhất từ nhiều bên tham gia
Trang 15XÂY DỰNG SOA VỚI WEB SERVICE
Một số công nghệ hỗ trợ trước Web service
RMI (Remote Method Invocation)
DCOM (Distributed Component Object Model)
CORBA (Object Request Broker Architecture)
Trang 16KiẾN TRÚC CỦA WEB SERVICE
Trang 17XÂY DỰNG SOA VỚI WEB SERVICE…
Công nghệ nền tảng của Web service
XML – eXtensible Markup Language
SOAP – Simple Object Access Protocol
WSDL – Web Service Definition Language
UDDI – Universal Description, Discovery, and Integration
Trang 18XÂY DỰNG SOA VỚI WEB SERVICE…
Mối quan hệ giữa SOA và Web service
1. Web service là đặc tả công nghệ
2. SOA là triết lý thiết kế phần mềm
Web service đưa ra một loại giải pháp kỹ thuật giúp thực hiện SOA
Với các giải pháp thực hiện SOA thì Web service cung cấp nền tảng đảm bảo giao tiếp giữa các đối tượng dễ dàng và linh hoạt hơn các công nghệ khác như DCOM, CORB
Trang 19XÂY DỰNG SOA VỚI WEB SERVICE…
Lợi ích khi sử dụng Web service trong cài đặt ứng dụng SOA
Dễ dàng chia sẻ dữ liệu do độc lập nền tảng công nghệ
Khả năng liên kết linh hoạt trong xử lý yêu cầu
Chi phí thấp
Khả năng bảo mật cao
Trang 20XÂY DỰNG SOA VỚI WEB SERVICE…
Cài đặt thử nghiệm
Trang 21có thể sử dụng lại.
Trang 22TÀI LIỆU THAM KHẢO
[1] Marks, Eric and Bell, Michael Service-oriented Architecture: A planning and
implementation Guide for Business and Technology s.l : John Wiley & Sons, Inc.,
2006
[2] Minoli, Daniel Enterprise Architecture A to Z: Frameworks, Business Process
Modeling, SOA, and Infrastructure Technology s.l : Taylor & Prancis, 2008.
[3] Báo cáo đề tài “Nghiên cứu tổng quan về kiến trúc phần mềm hướng dịch vụ
phục vụ phát triển các ứng dụng trong quản lý hành chính nhà nước”, Viện CNTT,
HN 2008, 2009
[4] Chip Irek, Realizing a Service-Oriented Architecture with NET
[5] Siew Poh Lee, Lai Peng Chan, Eng Wah Lee Web Services Implementation
Methodology for SOA Application.
Trang 23Xin chân thành cảm ơn!