1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế

70 501 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 70
Dung lượng 1,02 MB

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

Nội dung

Bên cạnh đó, chi phí cho những sản phẩm này thường rất cao, khó có thể được đáp ứng được với các tổ chức không chủ động về nguồn kinh Theo mô hình từ dưới lên bottom-up, trong đó các phầ

Trang 1

Bộ giáo dục và đào tạo Trường Đại học bách khoa Hà nội

Trang 2

MỤC LỤC

Trang

DANH MỤC HÌNH VẼ………

LỜI NÓI ĐẦU……… 1

CHƯƠNG I TỔNG QUAN VỀ EAI (ENTERPRISE APPLICATION INTEGRATION) ………

3 I Khái niệm ……… 3

II Phân loại EAI ……… 4

1 Application to application integration (A2A)-Tích hợp ở cấp hệ thống…… 4

2 Business to business integration (B2B) - Tích hợp ứng dụng ngoài doanh nghiệp………

4 3 Person to system integration - Giao diện (graphical user interface – GUI) chung cho nhiều ứng dụng………

5 III Mô hình quản lý hệ thống mạng……… 5

1 Đặc điểm của hệ thống Workgroup (mô hình peer to peer)……… 5

2 Đặc điểm của hệ thống Domain (mô hình client/server)……… 6

CHƯƠNG II CÁC CÔNG NGHỆ LIÊN QUAN ĐẾN EAI……… 6

I Giới thiệu về Web Services……… 6

1 Giới thiệu công nghệ……… 7

2 Đặc điểm của Dịch vụ Web……… 8

3 Kiến trúc của Dịch vụ Web……… 10

4 Các thành phần của Dịch vụ Web……… 12

5 An toàn cho dịch vụ Web……… 16

6 Quy trình xây dựng một dịch vụ Web……… 18

7 Tích hợp dịch vụ Web theo chuẩn……… 20

II Active Domain Controller (Active Directory)……… 22

III Certificate Authority……… 23

IV UDDI Services ……… 29

V Xác thực, cấp quyền người dùng, nhóm người dùng Web Services……… 30

CHƯƠNG III MỘT SỐ GIẢI PHÁP TÍCH HỢP CÔNG NGHỆ TRUYỀN THÔNG ĐIỆP TIÊN TIẾN……… 38

Trang 3

I Công nghệ SOAP – Simple Object Access Protocol……… 38

1 Đặc trưng SOAP……… 38

2 Cấu trúc một thông điệp theo dạng SOAP……… 40

3 Những kiểu truyền thông……… 41

II Giải pháp truyền thông điệp IBM - WebSphere DataPower XI50………… 42

III Giải pháp truyền thông điệp Oracle……… 44

CHƯƠNG IV ỨNG DỤNG WEB SERVICES ĐỂ GIẢM CHI PHÍ TÍCH HỢP CÁC ỨNG DỤNG DỊCH VỤ……… 49

1 Vấn đề của các hệ thống thông tin của một tổ chức……… 49

2 Khảo sát các hệ thống thông tin nghiệp vụ tại trường Đại học Bách khoa Hà Nội ………

50 3 Đề xuất giải pháp……… 54

4 Đặc tả phân hệ trung tâm……… 57

5 Tích hợp với các hệ thống thông tin sẵn có……… 58

6 Đánh giá……… 61

KẾT LUẬN……… 62

DANH MỤC TÀI LIỆU THAM KHẢO……… 63

Trang 4

PLỜI NÓI ĐẦU

Hiện nay với tốc độ phát triển không ngừng của Công Nghệ Thông Tin trong mọi lĩnh vực đời sống Kinh tế và xã hội của nước ta, các ứng dụng của công nghệ thông tin đã góp phần quan trọng vào lĩnh vực quản lý kinh tế xã hội nói chung và quản lý các doanh nghiệp, công ty nói riêng

Các phần mềm quản lý được sử dụng rộng rãi phục vụ cho công tác nghiệp

vụ của các đơn vị, tổ chức Các phần mềm của từng đơn vị, tổ chức cần được kết nối với nhau để tạo thành một hệ thống thông tin thống nhất Có thể thực hiện mục tiêu này bằng 2 cách : sử dụng các phần mềm của một nhà cung cấp cho tất cả các phần mềm nghiệp vụ hoặc sử dụng các phần mềm của các các nhà cung cấp khác nhau và xây dựng phân hệ kết nối các phần mềm nghiệp vụ

Việc sử dụng các sản phẩm của một nhà cung cấp dẫn đến vấn đề phụ thuộc vào nhà sản xuất Tất cả các sản phẩm của hệ thống cần tuân thủ các chuẩn chặt chẽ của nhà sản xuất để có thể cùng hoạt động Bên cạnh đó, chi phí cho những sản phẩm này thường rất cao, khó có thể được đáp ứng được với các tổ chức không chủ động về nguồn kinh

Theo mô hình từ dưới lên (bottom-up), trong đó các phần mềm nghiệp vụ cho các đơn vị cấu thành tổ chức được xây dựng riêng rẽ, trước khi có một chuẩn thông tin thống nhất cho cả tổ chức Trường hợp này cần thiết có một phân hệ cung cấp các công cụ để các phần mềm nghiệp vụ riêng lẻ có thể kết nối với nhau

Luận văn trình bày một giải pháp tích hợp các ứng dụng không đồng nhất, dựa trên nền tảng của web service, cho phép các ứng dụng được phát triển độc lập, song song kết nối lẫn nhau phục vụ mục đích chung của tổ chức Bên cạnh đó, luận văn cũng xây dựng một cách thức quản lý tập trung các web services này cũng như cung cấp cơ chế quản lý tài khoản, xác thực và cấp quyền truy cập web services dựa trên UDDI Services và Active Directory Hệ thống được thử nghiệm dựa trên một số dịch

vụ thông tin của trường Đại học Bách Khoa Hà Nội

Trang 5

Nội dung luận văn bao gồm các công việc sau :

- Tìm hiểu về Enterprise Application Integration và các công nghệ liên quan

- Sử dụng Web Services để giảm chi phí tích hợp các ứng dụng dịch vụ

Để hoàn thành được luận văn này, em xin chân thành cảm ơn thầy giáo Hà Quốc Trung, người đã tận tình hướng dẫn chỉ bảo và động viên em trong suốt thời gian em làm luận văn

Trang 6

CHƯƠNG I TỔNG QUAN VỀ EAI (ENTERPRISE APPLICATION INTEGRATION)

I Khái niệm

EAI là một giải pháp xây dựng một hệ thống phân tán, các ứng dụng đơn mục đích dựa trên nền tảng của các ứng dụng sẵn có trong một doanh nghiệp Nói đơn giản, EAI là sự chia sẻ không giới hạn các dữ liệu, các tiến trình xử lý nghiệp vụ cho bất cứ một ứng dụng được kết nối vào trong hệ thống Việc xây dựng một giải pháp EAI vừa đáp ứng được việc không can thiệp vào hệ thống ứng dụng vốn có đồng thời giảm được chi phí cho doanh nghiệp EAI không phải là một giải pháp nằm ngoài hệ thống của doanh nghiệp mà nó là một tiến trình xử lý nhằm tạo ra một nền tảng linh hoạt, tiêu chuẩn cho phép các thành phần ứng dụng hoạt động dễ dàng

và đạt hiệu quả cao Nền tảng mới này cho phép các ứng dụng tương tác, giao tiếp với nhau một cách liên tục trong thời gian thực

Việc sử dụng các ứng dụng hay phần mềm được thương mại hóa của cùng một nhà cung cấp giải pháp đảm bảo tính tương thích của chúng phụ thuộc khá nhiều vào nhà cung cấp đó Tất cả các sản phẩm này sẽ phải tuân thủ theo đúng các quy tắc được nhà cung cấp đặt ra để có thể tương tác được với nhau Vì vậy để tích hợp các ứng dụng không có một chuẩn thông tin thống nhất gặp phải nhiều khó khăn như phụ thuộc vào nhà sản xuất, giá thành cao, độ phức tạp của hệ thống lớn Bởi vậy các tổ chức thường lựa chọn giải pháp tích hợp ứng dụng theo mô hình từ dưới lên ( bottom-up) trong đó các ứng dụng nghiệp vụ được xây dựng riêng rẽ với nhau theo yêu cầu nghiệp vụ của từng đơn vị trước khi có một chuẩn thông tin thống nhất cho cả hệ thống

Trang 7

II Phân loại EAI

1 Application to application integration (A2A): Tích hợp ở cấp hệ thống

Dữ liệu EAI là một quá trình, các kỹ thuật và công nghệ truyền dữ liệu giữa các modul dữ liệu Điều này có thể được mô tả như là lấy thông tin từ một cơ sở dữ liệu, nếu cần thiết, xử lý thông tin đó và cập nhật trong cơ sở dữ liệu khác Ưu điểm của dữ liệu cấp độ-EAI là chi phí của việc sử dụng phương pháp này Bởi vì không

có bất kỳ thay đổi nào trong các ứng dụng và do đó khi thử nghiệm và triển khai ứng dụng sẽ đem lại kết quả là giảm được chi phí Ngoài ra các công nghệ cung cấp

cơ chế để di chuyển dữ liệu giữa các cơ sở dữ liệu, cũng như định dạng lại có thông tin tương đối rẻ tiền, xem xét các mức độ khác EAI và công nghệ cho phép áp dụng

2 Business to business integration (B2B): Tích hợp ứng dụng ngoài doanh

nghiệp

Ứng dụng giao diện mức độ EAI đề cập đến việc tận dụng các giao diện tiếp xúc của các ứng dụng tùy chỉnh hoặc đóng gói Các nhà phát triển sử dụng các giao diện này để truy cập vào các quy trình kinh doanh và thông tin đơn giản Sử dụng các giao diện này, các nhà phát triển có thể mang lại nhiều ứng dụng với nhau, cho phép họ chia sẻ logic và thông tin kinh doanh Những hạn chế duy nhất mà các nhà phát triển phải đối mặt với các tính năng và chức năng cụ thể của các giao diện ứng dụng

Đặc biệt này của EAI là áp dụng cho các ứng dụng ERP, chẳng hạn như SAP, PeopleSoft, sẽ tiếp xúc với giao diện vào các quá trình và dữ liệu của họ, làm như vậy theo những cách rất khác nhau EAI công nghệ ưa thích nhất loại này là các nhà môi giới thông điệp này có thể trích xuất các thông tin từ một ứng dụng, đặt nó trong một định dạng có thể hiểu được bởi các ứng dụng mục tiêu và truyền tải thông tin

Phương pháp mức EAI là sự chia sẻ của logic kinh doanh có thể tồn tại trong doanh nghiệp Các ứng dụng có thể truy cập vào các phương pháp trên bất kỳ ứng dụng khác Các cơ chế chia sẻ phương pháp giữa các ứng dụng rất nhiều bao gồm

Trang 8

các đối tượng phân phối, các máy chủ ứng dụng Một Box có thể có những cuộc gọi của một ứng dụng với các phương pháp được lưu trữ trong các ứng dụng khác Một máy chủ ứng dụng có thể là một máy chủ vật lý chia sẻ cho một bộ chia sẻ của các máy chủ ứng dụng Hầu hết hội nhập đang diễn ra ở cấp độ này có một số công nghệ mạnh mẽ để thực hiện loại hình này

3 Person to system integration: Giao diện đồ họa (graphical user interface –

GUI) chung cho nhiều ứng dụng

Giao diện người dùng EAI là một cách tiếp cận đơn giản hơn Kiến trúc và phát triển EAI có thể đóng gói các ứng dụng bằng cách sử dụng giao diện người dùng như là một điểm chung của hội nhập Ví dụ, các ứng dụng máy tính lớn mà không có cấp độ truy cập cơ sở dữ liệu hoặc quy trình kinh doanh có thể được truy cập thông qua giao diện người dùng của ứng dụng Loại này không phải là một ưu tiên mặc dù nhiều lần, đây là cách duy nhất tiếp cận nhiệm vụ hội nhập

III Mô hình quản lý hệ thống mạng

Để quản lý một hệ thống mạng ta có 2 mô hình: Workgroup và Domain

1 Đặc điểm của hệ thống Workgroup (mô hình peer to peer)

 Các máy tính trong mạng có vai trò như nhau

 Thông tin tài khoản người dùng được lưu trong SAM (security account manager) trên mỗi máy cục bộ

 Quản lý không tập trung, ví dụ khi cần triển khai policy cho hệ thống ta phải cấu hình trên từng máy

 Mỗi người sử dụng phải sử dụng nhiều user account cho nhiều nhu cầu, ví dụ người sử dụng phải có 2 user : một để logon và một để truy cập tài nguyên trên file server

 Quá trình chứng thực cho người dùng đăng nhập diễn ra tại máy cục bộ mà user đăng nhập

Với đặc điểm trên ta sẽ rất khó khăn khi quản lý một hệ thống mạng lớn

Trang 9

2 Đặc điểm của hệ thống Domain (mô hình client/server)

 Có ít nhất một server làm chức năng điều khiển vùng (domain controller)

 Quản lý theo cấu trúc danh bạ : tất cả các đối tượng (group, user, computer account,…) và tài nguyên đều được quản lý tập trung bằng dịch vụ Active Directory, được lưu trữ trên domain controller với tên tập tin là NTDS.DIT

 Là một mô hình quản lý tập trung, ví dụ 1 policy khi triển khai cùng lúc có thể ảnh hưởng trên nhiều máy hoặc nhiều user account

 Hỗ trợ Single Sign On, mỗi người sử dụng trong hệ thống chỉ cần một user account cho tất cả các nhu cầu : logon, truy cập tài nguyên, sử dụng e-mail,…

 Quá trình chứng thực cho người dùng diễn ra tập trung tại máy domain controller

Với sự khác nhau giữa 2 hệ thống Workgroup và Domain như trên, để quản lý một hệ thống mạng lớn như trong trường Đại học Bách Khoa Hà Nội chúng ta nên chọn mô hình Domain

CHƯƠNG II CÁC CÔNG NGHỆ LIÊN QUAN ĐẾN EAI

I Giới thiệu về Web Services

Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer) Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính Tuy nhiên, công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ

Trang 10

thống Chúng ta sẽ xem xét các dịch vụ Web từ mức khái niệm đến cách thức xây dựng

1 Giới thiệu công nghệ

Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML Dịch vụ Web là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server

Trước hết, có thể nói rằng ứng dụng cơ bản của Dịch vụ Web là tích hợp các

hệ thống và là một trong những hoạt động chính khi phát triển hệ thống Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ liệu Trong thời gian gần đây, việc phát triển mạnh mẽ của thương mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương tác với hệ thống bên ngoài - bên cạnh tương tác với các thành phần bên trong của hệ thống trong doanh nghiệp)

Dưới đây, chúng ta sẽ xem qua những khái niệm và cách thức cơ bản nhất để xây dựng một dịch vụ Web trong tích hợp và phát triển hệ thống

Trang 11

2 Đặc điểm của Dịch vụ Web

a) Đặc điểm

- Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau Ví dụ, đặt Web server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này

- Phần lớn kĩ thuật của Dịch vụ Web được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML

- Một Dịch vụ Web bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet

- Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet

- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server

Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP, Oracle Application server hay Microsoft.Net…

- Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc sống

có thể áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe…

Trang 12

- Các ứng dụng có tích hợp dịch vụ Web đã không còn là xa lạ, đặc biệt trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với dịch vụ Web, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Do vậy, việc phát triển và tích hợp các ứng dụng với dịch vụ Web đang được quan tâm phát triển

là điều hoàn toàn dễ hiểu

b) Ưu và nhược điểm

+ Nâng cao khả năng tái sử dụng

+ Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web

+ Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong

hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

+ Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác

Nhược điểm:

Trang 13

+ Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành

+ Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt

+ Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

3 Kiến trúc của Dịch vụ Web

Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) Hình 1 mô tả chồng giao thức của dịch vụ Web, trong

đó UDDI được sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP

Hình 1 Chồng giao thức của dịch vụ Web

Trang 14

Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác với những ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:

- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP)

- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML

để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST

- Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ Web cụ thể WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ

mô tả giao tiếp và thực thi dựa trên XML Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp

- Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác Một dịch vụ Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này

Kiến trúc sâu hơn được mô tả trong hình 2:

Trang 15

Hình 2 Kiến trúc của Web Services

Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công nghệ chuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp XML Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn

và bảo mật thông tin, trong kiến trúc dịch vụ Web, chúng ta có thêm các tầng Policy, Security, Transaction, Management

4 Các thành phần của Dịch vụ Web

a) XML – eXtensible Markup Language

Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đó chứa cái gì Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗi trang web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở

Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ

Trang 16

chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch

vụ Web, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác với nhau trong một thể thống nhất

b) WSDL - Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin:

- Tên dịch vụ

- Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web

- Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụ Web cộng với tên cho giao diện này)

Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ được lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ Giao diện của một dịch vụ Web được miêu tả trong phần này đưa ra cách thức làm thế nào để giao tiếp qua dịch vụ Web Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với dịch vụ Web được đưa vào thư mục của WSDL

WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp dịch vụ Web qua Internet Một client khi kết nối tới dịch vụ Web có thể đọc WSDL

để xác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP để lấy ra chức năng chính xác có trong WSDL

c) Universal Description, Discovery, and Integration (UDDI)

Trang 17

Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web

- Cấu trúc UDDI :

+ Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin này cho phép các đối tượng khác xác định được dịch vụ

+ Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web theo từng loại với nó

+ Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của dịch vụ Web

+ Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng

Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụng giao thức này Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Web khác nhằm xác định xem dịch vụ nào sẽ cần đến nó

d) SOAP - Simple Object Access Protocol

Chúng ta đã hiểu cơ bản dịch vụ Web như thế nào nhưng vẫn còn một vấn đề khá quan trọng Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời

là các dịch vụ Web có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP

Trang 18

SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấu trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các hệ điều hành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên XML qua mạng máy tính, thông thường sử dụng giao thức HTTP

Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi những thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớp ứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngày nay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet

Cấu trúc một thông điệp theo dạng SOAP

Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:

- Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP

- Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản Header còn có thể mang những dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác

- Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu cầu và thông tin được phản hồi

- Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong quá trình xử lý thông điệp

Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông

Trang 19

điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi)

Kiểu truyền thông: Có 2 kiểu truyền thông

- Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng Kiểu này được khai thác bởi nhiều dịch vụ Web

- Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp

ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn

Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp với dịch vụ Web cần xây dựng

Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiều phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong namespace SOAP-ENC

Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi đó mã hóa SOAP là làm thế nào chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML Bất kỳ một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đó được gọi là SOAPMappingRegistry Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó

5 An toàn cho dịch vụ Web

Dịch vụ Web liên kết và tương tác với các ứng dụng qua Internet, chính vì vậy bảo mật là một vấn đề được quan tâm khi các công ty tiến tới kết hợp ứng dụng với

Trang 20

một dịch vụ Web Việc đảm bảo an toàn cho dịch vụ Web là một vấn đề quan trọng, đặc biệt đối với những dịch vụ liên quan đến trao đổi tiền tệ, thông tin từ thị trường chứng khoán hay dịch vụ bán hàng qua mạng (liên quan đến trả tiền bằng tài khoản

và có yêu cầu thông tin cá nhân của người dùng)

Trước khi có WS-Security (bảo mật cho dịch vụ Web) thì ý nghĩa thông thường của an toàn dịch vụ Web là bảo mật kênh truyền dữ liệu Hiện nay, nó được thực hiện cho những SOAP/HTTP dựa trên cơ chế truyền thông điệp bằng cách sử dụng giao thức HTTPS Không chỉ là an toàn ở mức truyền thông điệp, HTTPS còn cung cấp sự an toàn tới toàn bộ gói dữ liệu HTTP

Mặc dù HTTPS không bao gồm tất cả các khía cạnh trong chuẩn an toàn chung cho dịch vụ Web nhưng nó đã cung cấp một lớp bảo mật khá đầy đủ với định danh, chứng thực, tính toàn vẹn thông điệp hay độ tin cậy

- Đảm bảo an toàn cho dịch vụ Web:

Khái niệm về WS-Security: đây là một chuẩn an toàn bao trùm cho SOAP, nó được dùng khi muốn xây dựng những dịch vụ Web toàn vẹn và tin cậy Toàn vẹn có nghĩa là khi có một giao dịch hay khi truyền thông tin, hệ thống và thông tin sẽ không bị chặn, giao dịch sẽ không bị mất cũng như không thể có người lấy cắp được dữ liệu trên đường truyền WS-security được thiết kế mang tính mở nhằm hướng tới những mô hình an toàn khác bao gồm PKI, Kerberos và SSL Nó cũng đưa ra nhiều hỗ trợ cho các cơ chế an toàn khác, nhiều khuôn dạng chữ ký và công nghệ mã hóa, đảm bảo sự an toàn, toàn vẹn thông điệp và tính tin cậy của thông điệp Tuy nhiên, WS–security cũng chưa thể đảm bảo được tất cả yêu cầu về bảo mật và an toàn thông tin, nó chỉ là một trong những lớp của giải pháp an toàn cho dịch vụ Web

Tính toàn vẹn tạo ra một chữ ký số hóa XML dựa trên nội dung của thông điệp Nếu dữ liệu bị thay đổi bất hợp pháp, nó sẽ không còn thích hợp với chữ ký số

Trang 21

hóa XML đó Chữ ký này được tạo ra dựa trên khóa mà người gửi thông điệp tạo ra,

do đó người nhận chỉ nhận thông điệp khi có chữ ký sử dụng và nội dung phù hợp Ngược lại sẽ có một thông báo lỗi Việc chứng thực được thực hiện giữa client và server là cách chứng thực rất cơ bản (sử dụng định danh người dùng và mật khẩu)

WS-security chỉ là một trong những lớp an toàn và bảo mật cho dịch vụ Web,

vì vậy cần một mô hình an toàn chung lớn hơn để có thể bao quát được các khía cạnh khác Các thành phần được thêm có thể là WS-Secure Conversation Describes,WS-Authentication Describes,WS-Policy Describes hay WS-Trust Describes Chúng sẽ thực hiện việc đảm bảo an toàn hơn cho hệ thống khi trao đổi

dữ liệu, mở và đóng các phiên làm việc cũng như quản lý dữ liệu cần chứng thực và chính sách chứng thực

6 Quy trình xây dựng một dịch vụ Web

Có 4 giai đoạn chính để xây dựng một dịch vụ Web là xây dựng, triển khai, tiến hành và quản lý, trong đó:

- Giai đoạn xây dựng bao gồm phát triển và chạy thử ứng dụng dịch vụ Web, xây dựng các chức năng và định nghĩa dịch vụ Có hai cách khác nhau để tiến hành trong giai đoạn này, đó là Red-path- solod và Blue-path-dashed Với Red- path-solod, chúng ta sẽ xây dựng một dịch vụ Web mới từ trạng thái ban đầu hoặc với một dịch vụ đã có sẵn Từ đó, xây dựng định nghĩa service (WSDL) với các đối tượng, hàm chức năng mà chúng ta mong muốn Nếu theo cách Blue-path-dashed, dịch vụ Web sẽ được xây dựng từ đầu hoặc từ một định nghĩa dịch vụ WSDL Sử dụng WSDL này, xây dựng hoặc sửa đổi lại mã để thực hiện các yêu cầu mong muốn trong dịch vụ Web

- Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã thực thi của dịch vụ Web Triển khai dịch vụ Web tới một ứng dụng phía

Trang 22

server, sau đó sẽ công bố dịch vụ Web trên mạng Internet để các client có thể nhìn thấy Sử dụng UDDI registry để công bố lên mạng

- Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những người dùng muốn sử dụng dịch vụ

- Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhật thông tin mới, sửa lỗi khi nó xảy ra…

Để xây dựng một dịch vụ Web, chúng ta cần hiểu được những việc phải làm

và nên bắt đầu từ đâu Có 3 cách tiếp cận chủ yếu để xây dựng nên một dịch vụ Web, có thể từ một ứng dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL

để phát sinh một ứng dụng mới (top-down) hoặc có thể từ một nhóm các dịch vụ Web hiện có, kết hợp lại với nhau để tạo nên các chức năng mới hoặc mở rộng thêm chức năng Những hướng tiếp cận này dựa trên những gì mà chúng ta đã có, tùy thuộc vào yêu cầu của hệ thống, trong đó tối đa việc sử dụng lại các chức năng, các thành phần, môđun đã được xây dựng

Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:

- Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp (sử dụng ngôn ngữ Java chẳng hạn)

- Tạo WSDL cho dịch vụ

- Xây dựng SOAP server

- Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất

- Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối với SOAP server

Trang 23

- Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP server

Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng ta bắt đầu tạo nên một dịch vụ Web như ý muốn Sau đó là cung cấp dịch vụ Web này trên Internet

7 Tích hợp dịch vụ Web theo chuẩn

Để có thể thành công với dịch vụ Web chúng ta phải quan tâm đến khá nhiều vấn đề, bao gồm việc triển khai, giám sát và tích hợp hệ thống Doanh nghiệp không những phải phát triển một ứng dụng dịch vụ Web mới mà còn phải tích hợp các ứng dụng nghiệp vụ phụ trợ của họ trong kiến trúc Dịch vụ Web Cùng với việc triển khai và tích hợp, những nhà kinh doanh và những người sử dụng kỹ thuật cũng cần

có khả năng giám sát, triển khai toàn diện để đảm bảo hoạt động kinh doanh hiệu quả và tin cậy

- Giám sát (monitoring): Cần hỗ trợ ở cả mức công cụ và cơ sở hạ tầng để giám sát các dịch vụ Web chạy như thế nào qua toàn bộ mạng, từ một chi nhánh con của một công ty trên mạng tới các chi nhánh khác trong công ty hay giao tiếp với doanh nghiệp khác Kết hợp thông báo theo sự kiện với các lỗi trong luồng nghiệp

vụ cho những người dùng không có kinh nghiệm giám sát dịch vụ Web và các dịch

vụ kế thừa khác

- Xác định đường đi dữ liệu (Data routing): Việc thiết lập đường đi của dữ liệu giữa những thành phần của dịch vụ Web hướng tới tối đa hóa khả năng sử dụng lại Nếu coi một thành phần (component) là một đối tượng thì mỗi thể hiện (instance) của nó sẽ không quan tâm đến các thể hiện khác của cùng thành phần đó Những thể hiện của cùng một thành phần có thể dễ dàng được sử dụng lại trong các ứng dụng phân tán khác bởi vì chúng hoàn toàn độc lập và không phụ thuộc lẫn nhau

Trang 24

- Triển khai (Deployment): Triển khai các dịch vụ Web có khả năng nâng cấp, điều khiển và cấu hình các thành phần từ xa thông qua mạng phân tán

- Quản lý (Management): Có thể xây dựng theo kiến trúc P2P (Peer-to-Peer) Các hoạt động chính như thực thi các thành phần, định tuyến dữ liệu, xử lý luồng công việc và chuyển đổi dữ liệu được thực hiện tại các điểm cuối của mạng Server

sẽ tập trung giải quyết các hoạt động khác như quản lý, điều khiển sự kiện, chứng thực bảo mật và quản trị

- Cấu hình và quản lý phiên bản (Configuration and version management): Sử dụng các công cụ linh hoạt để quản lý các phiên bản khác nhau của dịch vụ Web, cho phép các phiên bản được nâng cấp và điều khiển từ một công cụ quản lý tập trung Kết hợp giữa ứng dụng và mạng giúp các kỹ sư triển khai có thể điều khiển các thành phần chạy trên nền tảng hệ thống phần cứng cụ thể bên trong mạng

- Bảo mật (Security): các chuẩn mở như HTTP, XML, SOAP, WSDL và chuẩn bảo mật JSM được sử dụng rộng rãi khiến chúng trở thành lý tưởng để xây dựng các ứng dụng web Đầu tiên, dịch vụ Web sử dụng những công nghệ này giống như firewall, SSL và các chứng nhận số Dịch vụ Web thế hệ sau này sẽ kết hợp với những công nghệ có khả năng bảo mật cao hơn, giống như mã hóa XML và chứng nhận số XML

Trang 25

Như vậy, với một dịch vụ Web, việc giao tiếp và truyền nhận dữ liệu trở nên

dễ dàng và hiệu quả hơn, đồng thời đem lại chi phí thấp hơn và tăng cường những khả năng giao tiếp thời gian thực, kết nối với mọi người trên khắp thế giới Bản chất của nền tảng công nghệ này là kiến trúc hướng dịch vụ và sự phát triển của dịch vụ Web có tương lai rất khả quan

II Active Domain Controller (Active Directory)

Active Directory là một cơ sở dữ liệu của các tài nguyên trên mạng (hay còn gọi là đối tượng) cũng như các thông tin liên quan đến các đối tượng đó Các chức năng của Active Directory bao gồm:

- Lưu giữ một danh sách tập trung các tên tài khoản người dùng, mật khẩu tương ứng và các tài khoản máy tính

- Cung cấp một server đóng vai trò chứng thực (authentication server) hoặc server quản lý đăng nhập (logon server), server này còn gọi là domain controller

- Duy trì một bảnh hướng dẫn hoặc bảng chỉ mục giúp các máy tính trong mạng có thể dò tìm nhanh một tài nguyên nào đó trên các máy tính khác trong vùng

- Cho phép chúng ta tạo ra những tài khoản người dùng với những mức độ quyền (rights) khác nhau như: toàn quyền trên hệ thống mạng, chỉ có quyền backup

dữ liệu hay shutdown server từ xa…

- Cho phép chúng ta chia nhỏ miền của mình ra thành các miền con (subdomain) hay các đơn vị tổ chức OU (Organization Unit) Sau đó chúng ta có thể

ủy quyền cho các quản trị viên bộ phận quản lý từng bộ phận nhỏ

Domain là đơn vị chức năng nòng cốt của cấu trúc logic Active Directory

Nó là phương tiện để quy định một tập hợp những người dùng, máy tính, tài nguyên chia sẻ có những quy tắc bảo mật giống nhau từ đó giúp cho việc quản lý các truy cập vào các server dễ dàng hơn Domain đóng vai trò như một khu vực quản trị các đối tượng, là một tập hợp các định nghĩa quản trị cho các đối tượng chia sẻ như: có

Trang 26

chung một cơ sở dữ liệu thư mục, chính sách bảo mật, các quan hệ ủy quyền với các domain khác Giúp chúng ta quản lý bảo mật các tài nguyên chia sẻ

Trong hệ thống tích hợp ứng dụng nghiệp vụ, domain controller đóng vai trò

là nơi cung cấp tài khoản cho người dùng trong hệ thống, phân quyền truy cập sử dụng các web service

III Certificate Authority

Các dữ liệu được truyền đi trên mạng có thể bị nghe trộm, giả mạo, cũng như mạo danh… Để đảm bảo dữ liệu truyền đi an toàn, ta cần xây dựng một mô hình truyền tin an toàn

Hình 3 Mô hình truyền tin an toàn

Một phương pháp hay được sử dụng hiện này là mã hóa đường truyền sử dụng mã hóa khóa công khai Trong hệ mật khóa công khai có 3 thành phần tham gia vào quá trình truyền tin, trong đó CA đóng vai trò là thành phần thứ 3 cung cấp chứng thực số cho 2 bên tham gia trao đổi thông tin

Mật mã công khai dựa trên cơ sở của các hàm toán học chứ không dựa trên phép thay thế và đổi chỗ như trong phương pháp mã hóa đối xứng Mật mã công

Trang 27

mật và khóa công khai Việc sử dụng hai khóa không đối xứng đưa đến những hệ

quả sâu sắc trong lĩnh vực an toàn thông tin: tính toàn vẹn, tính xác thực, phân phối

khóa Hệ mã mật khóa công khai được phát triển nhằm giải quyết hai vấn đề phức

tạp nảy sinh từ phương pháp mã hóa đối xứng:

- Vấn đề thứ nhất: bài toán phân phối khóa Cần phải duy trì kênh mật để trao đổi khóa, độ an toàn của hệ mật phụ thuộc vào độ an toan của khóa, do vậy phụ thuộc vào độ an toàn của kênh mật

- Vấn đề thứ hai: Chữ ký điện tử, đây là dấu hiệu đặc trưng cho từng bên trao đổi thông tin Dấu hiệu này không thể giả mạo

Với hệ mật khóa công khai, ta sử dụng một khóa để mã hóa và một khóa khác có liên quan để giải mã Các thuật toán mã hóa và giải mã có một số đặc điểm quan trọng sau:

- Không thể xác định được khóa giải mã nếu chỉ biết thuật toán mã hóa và khóa mã hóa

- Một số hệ mật khóa công khai như RSA còn cung cấp khả năng sử dụng bất

kỳ một khóa trong cặp khóa làm khóa mã hóa, khóa còn lại sẽ dùng làm khóa giải

CA là nhà cung cấp chứng thực số Vai trò của CA trong EAI chính là nhà cung cấp các chứng thực khóa công khai cho người dùng, cũng như các web services CA đóng vai trò là bên thứ ba, được cả hai bên tin tưởng để hỗ trợ cho quá trình trao đổi thông tin an toàn Đây chính là thành phần trung tâm trong nhiều mô hình hạ tầng khóa công khai (PKI) CA phát hành các chứng thực khóa công khai, chứng thực khóa công khai nằm trong mỗi chứng thực thuộc về cá nhân, tổ chức, máy chủ hay bất kỳ thực thể nào ghi trong chứng thực đó Nhiệm vụ của CA là kiểm tra tính chính xác của thông tin liên quan đến thực thể được cấp chứng thực Khi người sử dụng tin tưởng vào một CA và có thể kiểm tra chữ ký số của CA đó thì họ có thể tin tưởng vào khóa công khai và thực thể được ghi trong chứng thực

Trang 28

Trong hệ thống EAI, dữ liệu được trao đổi giữa các hệ thống với nhau Đây

là những dữ liệu quan trọng của doanh nghiệp, tổ chức Vì thế việc đảm bảo an toàn

dữ liệu khi truyền là rất cần thiết Để đảm bảo độ an toàn khi truyền dữ liệu ta có thể sử dụng phương pháp mã hóa đường truyền

Hình 4 Mã hóa đường truyền

Để mã hóa đường truyền từ A đến B, phía yêu cầu khóa cần phải có khóa công khai của B Tính toàn vẹn của khóa công khai là yếu tố rất quan trọng đảm bảo tính an toàn trong phiên truyền dữ liệu Nếu một bên thứ ba là C thay thế khóa đó bằng chính khóa công khai của nó, thì C sẽ có khả năng đọc được toàn bộ nội dung được truyền đi

Để ngăn chặn kiểu tấn công này, phía B sẽ gửi cho A khóa công khai của B được một CA ký chứng thực Phía A sẽ kiểm tra chữ ký số CA, nếu chữ ký đó là hợp lệ và A tin tưởng vào CA, khi đó A tin rằng khóa công khai nhận được là của

B, và sẽ dùng khóa đó để mã hóa dữ liệu Khóa công khai cũng được dùng để xác thực người dùng Khi B nhận được bản tin từ A, B muốn xác minh xem gói tin có đích thực là do A gửi tới hay không, B có thể sử dụng khóa công khai của A để kiểm tra

Văn bản mật

Mã hóa

Văn bản rõ

Trang 29

Hệ thống các CA được phân cấp theo mô hình cây với nút gốc ở trên đầu, xuống dưới là các nút trung gian và dưới cùng là các nút lá

Hình 6 Hệ thống phân cấp CA

Trong sơ đồ này, nút gốc đại diện cho một CA đặc biệt được gọi là root CA,

CA này chứng thực cho tất cả các thực thể trong hạ tầng PKI CA gốc được tạo ra,

nó tự ký cho chứng thực số của nó CA gốc này cũng chứng thực cho các CA cấp thấp hơn, Các CA này lại chứng thực cho các CA cấp thấp hơn nó Các CA từ mức thứ 2 đến mức cuối có thể chứng thực cho các thực thể cuối (End Entity) Mỗi thực thể kể cả CA cấp thấp và các thực thể cuối đều giữ bản sao khóa công khai của root

CA và kiểm tra đường dẫn của chứng thư bắt đầu từ chữ ký của root CA Đây là mô hình PKI tin cậy nhất được sử dụng trong PEM Quá trình cài đặt khóa công khai là

cơ sở cho việc xử lý chứng thực cho tất cả các quá trình truyền thông trong mô hình, vì thế việc cài đặt phải được thực hiện một cách an toàn

Trang 30

 Các chức năng của CA phù hợp với EAI

Mã hóa

Lợi ích đầu tiên của chứng chỉ số là tính bảo mật thông tin Khi người gửi đã

mã hóa thông tin bằng khóa công khai của bạn, chắc chắn chỉ có bạn mới có thể giải mãi được thông tin đó Trong quá trình truyền dữ liệu trên mạng Internet, dù người khác có lấy được dữ liệu, cũng không thể biết được trong gói tin có chứa những thông tin gì Đây là tính năng rất quan trọng, giúp người sử dụng hoàn toàn tin về khả năng bảo mật thông tin Những thông tin nhạy cảm như giao dịch liên ngân hang, ngân hàng điện tử, thanh toán bằng thẻ tín dụng… đều cần phải có chứng chỉ

số để đảm bảo độ an toàn Với các hệ thống EAI, việc mã hóa dữ liệu đảm bảo độ

an toàn về thông tin khi thông tin được gửi đi giữa các hệ thống xử lý

Chống giả mạo

Khi dữ liệu hoặc email sử dụng chứng chỉ số được gửi đi, người nhận sẽ kiểm tra được thông tin nhận được có bị thay đổi trong quá trình truyền hay không Bất kỳ một sự thay đổi thông tin nào cũng đều bị phát hiện Địa chỉ hòm thư, tên domain… tất cả đều có thể bị làm giả để đánh lừa người nhận nhằm thực hiện những mục đích không tốt Tuy nhiên chứng chỉ số thì không thể làm giả, vì thế việc trao đổi thông tin có kèm theo chứng chỉ số luôn đảm bảo an toàn, nhất là dữ liệu trong một doanh nghiệp điều này lại càng cần thiết

Xác thực

Khi dữ liệu, thông tin được gửi kèm cùng chứng chỉ số, phía nhận dữ liệu sẽ xác định được rõ danh tính của phía gửi Phía bên nhận sẽ biết chắc chắn dữ liệu nhận được là của ai Xác thực là một tính năng rất quan trọng trong việc thực hiện các giao dịch điện tử qua mạng, cũng như các thủ tục hành chính với cơ quan pháp quyền, các hoạt động này cần phải xác minh rõ người gửi thông tin để sử dụng tư cách pháp nhận Điều này cho phép chúng ta phát triển, xây dựng một Chính phủ

Trang 31

điện tử, cho phép các công dân có thể giao tiếp và thực hiện các công việc hành chính với cơ quan nhà nước thông qua mạng

Chống chối cãi nguồn gốc

Khi sử dụng chứng chỉ số đi kèm, người gửi sẽ phải chịu trách nhiệm hoàn toàn về thông tin gửi đi Trong trường hợp người gửi chối cãi, phủ nhận thông tin

do mình gửi đi, chứng chỉ số mà người nhận có được sẽ là bằng chứng khẳng định người gửi là tác giả của thông tin đó CA cung cấp chứng chỉ số cho hai bên sẽ chịu trách nhiệm xác minh nguồn gốc của thông tin

Chữ ký điện tử

Ngày nay việc trao đổi thông tin qua email là hình thức trao đổi thông tin phổ biến Tuy nhiên, email có thể bị các hacker dễ dàng đọc được hay có thể giả mạo trước khi đến người nhận Với việc sử dụng chữ ký điện tử, người gửi có thể hoàn toàn yên tâm dữ liệu mình gửi đi không bị lộ, và người nhận cũng sẽ yên tâm rằng dữ liệu nhận được không hề bị thay đổi

Bảo mật website

Khi website được sử dụng với mục đích thương mại điện tử hay cho những mục đích khác, những thông tin trao đổi giữa các bên với nhau có thể bị lộ Để tránh nguy cơ này, ta có thể sử dụng chứng chỉ số SSL Server để bảo mật cho website Chứng chỉ số SSL Server cho phép ta cấu hình website truyền dữ liệu theo giao thức SSL Chứng chỉ này sẽ cung cấp cho website một định danh duy nhất nhằm đảm bảo với khách hàng về tính xác thực và hợp pháp của website Giao thức SSL cũng cho phép trao đổi thông tin an toàn và bảo mật giữa website với người sử dụng

Trong hệ thống EAI, việc sử dụng giao thức SSL truyền dữ liệu giữa các web service và các hệ thống sử dụng web service nhằm đảm bảo tính an toàn khi trao đổi

dữ liệu Đồng thời ta cũng cấu hình cho phép chỉ những người dùng hợp lệ mới có thể sử dụng các web service

Trang 32

IV UDDI Services

UDDI Services là một dịch vụ chuẩn có thể được sử dụng để chạy thư mục UDDI (Universal Description, Discovery, và Intergration) cho mạng intranet hay mạng extranet, giúp dễ dàng hơn cho việc tìm ra các Services và những nguồn chương trình khác Bằng việc cung cấp một nơi tập trung chứa Services, UDDI Services giúp người phát triển có thể dễ dàng và nhanh chóng tìm kiếm và sử dụng lại Services, cho phép họ xây dựng và triển khai các ứng dụng mở rộng và đáng tin cậy

UDDI Services giúp các doanh nghiệp, tổ chức sắp xếp mục lục Services và những nguồn chương trình khác Bằng việc sắp xếp, phân loại theo vị trí, chất lượng của Services hay đơn vị cung cấp trong UDDI Services, các doanh nghiệp, tổ chức

có thể thiết lập một cấu trúc chuẩn để mô tả và tìm kiếm Services UDDI Services lưu trữ cả những thông tin công nghệ liên quan đến việc xây dựng một ứng dụng phù hợp với Services, cũng như thông tin được yêu cầu để kết nối thành công đến Services

Hầu hết kịch bản thông thường cho các hoạt động bên trong UDDI Services như sau :

 Người phát triển sử dụng lại : Ở thời điểm thiết kế, người phát triển tìm kiếm các Services trên UDDI Services để sử dụng lại trong việc xây dựng các ứng dụng mới

 UDDI Services đưa ra tất cả các thông tin cần thiết để gọi một Service, dễ dàng cho người phát triển tích hợp các Services vào một ứng dụng UDDI Services cung cấp cho người phát triển nơi tập trung chứa mô tả Services và thông tin công nghệ ràng buộc, giúp việc sử dụng lại các Services đang tồn tại và công bố các Services mới dựa trên việc tổ chức, phân loại theo chuẩn và theo tùy chọn một cách

dễ dàng

Trang 33

V Xác thực, cấp quyền người dùng, nhóm người dùng Web Services

Xác thực (Authentication)

Xác thực là quá trình lấy ra những đặc điểm nhận biết của một người dùng

và đảm bảo việc xác minh những đặc điểm nhận biết này Quá trình xác thực tương

tự như quá trình kiểm tra trong một bàn đăng ký hội nghị Đầu tiên, bạn cần phải cung cấp một số giấy tờ xác minh những đặc điểm nhận biết của bản thân (như giấy phép lái xe hay hộ chiếu) Thứ hai, khi đặc điểm nhận biết được xác minh với thông tin này, bạn sẽ được cấp một thẻ hội nghị, mà bạn sẽ mang theo bên mình khi vào hội nghị Bất kỳ ai trong hội nghị có thể ngay lập tức biết được một số đặc điểm nhận biết của bạn dựa vào thẻ của bạn, thông thường nó chứa một số thông tin nhận biết cơ bản, như họ và tên Quá trình này là một ví dụ cho việc xác thực Khi những đặc điểm nhận biết của bạn được xác minh, mỗi nơi bạn đi qua, mọi người đều sẽ biết được những đặc điểm nhận biết này của bạn

Xác thực cho phép ứng dụng xác định một người dùng trong mỗi yêu cầu là

ai Việc này cũng giống như việc cá nhân hóa, bởi vì có thể sử dụng các thông tin nhận biết để đưa ra những thông báo riêng cho người dùng đó trên trang Web, thay đổi cách hiển thị của Website, thêm nội dung tùy chỉnh dựa vào quyền của người dùng…Tuy nhiên, việc xác thực là không đủ để hạn chế các nhiệm vụ mà 1 người dùng được phép thực hiện dựa vào đặc điểm nhận biết của người dùng đó Vì thế, cần phải cấp quyền cho người dùng

Cấp quyền (Authorization)

Cấp quyền là tiến trình xác định các quyền và những hạn chế được chỉ định cho một người dùng đã được xác thực Ví dụ như trong một hội nghị, việc cấp quyền là tiến trình cấp các quyền hạn cho một kiểu riêng biệt nào đó trong hội nghị, như được toàn quyền tham dự mọi nơi trong hội nghị, chỉ trước hội nghị, hay chỉ được quyền vào hội trường triểm lãm Điều này có nghĩa là nếu như muốn tham dự

1 bài phát biểu của hội nghị, phải được quyền tham dự Trước khi vào hội trường

Trang 34

diễn ra buổi phát biểu, một nhân viên sẽ kiểm tra thẻ hội nghị của bạn Dựa vào thông tin trên thẻ, nhân viên đó sẽ cho phép bạn vào trong hay yêu cầu rời khỏi Đây là một ví dụ cho việc cấp quyền Tương tự trong một hệ thống thông tin, phụ thuộc vào thông tin liên quan đến đặc điểm nhận biết của người dùng, người dùng

đó sẽ được cho phép hay bị từ chối truy cập đến các nguồn tài nguyên yêu cầu

Ví dụ trên chỉ là một ví dụ cơ bản cho việc cấp quyền Việc cấp quyền phụ thuộc vào vai trò hoặc quyền của một nhóm người dùng chứ không chỉ dựa vào việc người dùng đó là ai Trong nhiều trường hợp, việc cấp quyền cơ bản được ưu tiên vì

nó dễ dàng hơn để thực hiện

Trong một ứng dụng Web, có nhiều kiểu khác nhau cho việc cấp quyền với các cấp độ khác nhau Ví dụ, ở cấp độ cao nhất, có thể lập trình để kiểm tra đặc điểm nhận biết của người dùng và quyết định xem liệu có tiếp tục việc trả ra kết quả yêu cầu hay không Ở một cấp độ thấp hơn, có thể cấu hình để từ chối truy cập đối với các trang web cụ thể hoặc đường dẫn tới tệp tin đối với những người dùng, nhóm người dùng cụ thể

Kết hợp xác thực, cấp quyền vào trong ứng dụng

Bây giờ, làm cách nào để gom tất cả việc xác thực, cấp quyền lại với nhau trong một ứng dụng Web?

Khi người dùng bắt đầu truy cập vào Website, họ đều là những người dùng

ẩn danh Nói cách khác, ứng dụng không biết và không quan tâm họ là ai Trừ khi xác thực họ, đây là cách để thực hiện điều này

Mặc định, những người dùng ẩn danh có quyền truy cập vào bất kỳ một trang Web nào Nhưng khi một người dùng yêu cầu truy cập vào một trang Web mà người dùng ẩn danh không được phép, một vài bước sau đây được đưa ra :

 Yêu cầu được gửi lên Web Server Lúc này đặc điểm nhận biết của người dùng chưa được biết đến vào lúc này, người dùng được yêu cầu phải đăng nhập (sử

Trang 35

dụng một trang đăng nhập hoặc một hộp thông báo đăng nhập cơ bản trên trình duyệt) Chi tiết của tiến trình đăng nhập phụ thuộc vào kiểu xác thực đang sử dụng

 Người dùng cung cấp thông tin chứng nhận của họ, chúng sẽ được xác minh bởi ứng dụng (nếu sử dụng forms authentication) hoặc tự động bởi IIS (trong trường hợp sử dụng Windows authentication)

 Nếu thông tin chứng thực của người dùng hợp lệ, người dùng sẽ được cho phép truy cập trang Web Nếu những thông tin này không hợp lệ, người dùng sẽ được nhắc nhở yêu cầu đăng nhập lại, hoặc người dùng sẽ được đọc một thông báo với tin nhắn từ chối truy cập

Hình 7 Tiến trình xác thực

Khi một người dùng yêu cầu truy cập một trang Web bảo mật, chỉ cho phép những người dùng trong một nhóm quyền, tiến trình là tương tự nhưng 1 bước mở rộng được đưa ra :

 Yêu cầu được gửi lên Web Server Lúc này đặc điểm nhận biết của người dùng chưa được biết đến vào lúc này, người dùng được yêu cầu phải đăng nhập (sử dụng một trang đăng nhập hoặc một hộp thông báo đăng nhập cơ bản trên trình duyệt) Chi tiết của tiến trình đăng nhập phụ thuộc vào kiểu xác thực đang sử dụng

 Người dùng cung cấp thông tin chứng thực của họ, chúng sẽ được xác minh bởi ứng dụng Đây là giai đoạn xác thực

Ngày đăng: 22/07/2017, 22:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
4. Enterprise UDDI Services, http://www.developer.com/net/net/article.php/3107951/Enterprise-UDDI-Services.htm, 2009 Link
5. Authorization Manager and Role-Based Administration in Windows Server 2003 (Part 1),http://www.windowsecurity.com/articles/Authorization_Manager_Role_Based_Administration_Windows_Server_2003_Part1.html, 2010 Link
6. Authorization Manager and Role-Based Administration in Windows Server 2003 (Part 2),http://www.windowsecurity.com/articles/Authorization_Manager_Role_Based_Administration_Windows_Server_2003_Part2.html, 2011 Link
7. Active Directory toàn tập - Phần 1+2, http://vnexperts.net/bai-viet-ky-thuat/windows/609-active-directory-toan-tp-phn-12.html, 2010 Link
8. Use Forms Authentication with Active Directory in ASP.NET 2.0, http://msdn.microsoft.com/en-us/library/ff650308.aspx, 2010 Link
1. TS. Hà Quốc Trung, Một giải pháp tích hợp các ứng dụng nghiệp vụ phân tán không đồng nhất, Tạp chí Khoa học và Công nghệ các trường đại học kỹ thuật, 2010 Khác
2. Matthew MacDonald and Mario Szpuszta, Pro ASP.Net 3.5 in C# 2008, Second Edition Khác
3. David Linthicium, Enterprise Application Integration, 1th edition Addison- Wesley 1999 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2. Kiến trúc của Web Services - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 2. Kiến trúc của Web Services (Trang 15)
Hình 3. Mô hình truyền tin an toàn - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 3. Mô hình truyền tin an toàn (Trang 26)
Hình 4. Mã hóa đường truyền - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 4. Mã hóa đường truyền (Trang 28)
Hình 6. Hệ thống phân cấp CA - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 6. Hệ thống phân cấp CA (Trang 29)
Hình 7. Tiến trình xác thực - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 7. Tiến trình xác thực (Trang 35)
Hình 8. Tiến trình xác thực, cấp quyền truy cập - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 8. Tiến trình xác thực, cấp quyền truy cập (Trang 36)
Hình 9. Forms authentication - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 9. Forms authentication (Trang 37)
Hình 10. Membership - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 10. Membership (Trang 40)
Hình 12. Cấu trúc thông điệp SOAP - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 12. Cấu trúc thông điệp SOAP (Trang 43)
Hình 16. Sản phẩm tích hợp B2B của Oracle - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 16. Sản phẩm tích hợp B2B của Oracle (Trang 50)
Hình 17. Mô hình chung của các hệ thống nghiệp vụ - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 17. Mô hình chung của các hệ thống nghiệp vụ (Trang 54)
Hình  19: Mô hình tích hợp các thành phần nghiệp vụ - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
nh 19: Mô hình tích hợp các thành phần nghiệp vụ (Trang 58)
Hình 21. Mô hình tương tác triển khai tại Trường Đại học Bách khoa Hà Nội. - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
Hình 21. Mô hình tương tác triển khai tại Trường Đại học Bách khoa Hà Nội (Trang 62)
Sơ đồ đăng ký, cung cấp thông tin: - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
ng ký, cung cấp thông tin: (Trang 63)
Sơ đồ đăng ký, cung cấp thông tin (tiếp): - Nghiên cứu tìm hiểu EAI (enterprise application integration), đề xuất mô hình áp dụng thực tế
ng ký, cung cấp thông tin (tiếp): (Trang 64)

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