MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I: HIỆN TRẠNG TRIỂN KHAI CHÍNH PHỦ ĐIỆN TỬ 6
TẠI HÀ NỘI 6
I. Hiện trạng triển khai chính phủ điện tử tại Hà Nội 6
1. Xây dựng nền tảng để ứng dụng và phát triển công nghệ thông tin. 6
2. Ứng dụng Công nghệ thông tin 7
II. Hiện trạng việc chuẩn hóa dữ liệu tại Việt Nam, Hà Nôi 9
III. Một số các dự án liên quan đến chuẩn thông tin ở nước ta 11
1. Các dự án của Tổng cục Tiêu chuẩn đo lường chất lượng. 11
2. Các dự án của Đề án 47 của Đảng và Đề án 112 Chính phủ. 11
3 Dự án Hải quan ASEAN điện tử 12
4. Chuẩn thông tin trong ngành tài chính 13
CHƯƠNG II: MỘT SỐ CHUẨN THÔNG TIN, CHUẨN DỮ LIỆU ĐANG ĐƯỢC ÁP DỤNG TRÊN THẾ GIỚI VÀ TRONG KHU VỰC 14
I. Các mô hình chuẩn thông tin và khung cấu trúc trao đổi dữ liệu của các ứng dụng web 14
II. Mô hình khung thông tin, cấu trúc chuẩn trao đổi dữ liệu giữa các ứng dụng của một số hãng phần mềm trên thế giới. 20
1. Một ví dụ về chuẩn của hãng phần mềm IBM. 20
2. Một ví dụ về chuẩn của hãng Oracle. 23
3. Một ví dụ về chuẩn của hãng phần mềm Microsoft 25
III. Một số chuẩn trao đổi thông tin dịch vụ, các chuẩn công nghiệp 27
1. Chuẩn XML 27
2. Chuẩn SOAP 30
3. Chuẩn ebXML 34
4. Chuẩn EDI 35
CHƯƠNG III. KHUNG CẤU TRÚC CHUẨN TRAO ĐỔI THÔNG TIN, DỮ LIỆU GIỮA CÁC ỨNG DỤNG WEB 38
I. Mô hình trao đổi dữ liệu. 38
II. Khung cấu trúc trao đổi thông tin. 39
III. Đặc tả cấu trúc thông điệp trao đổi thông tin 40
IV. Đặc tả khung cấu trúc chuẩn thông tin tích hợp dữ liệu cho hệ thống thử nghiệm. 47
1. Đặc tả thông tin trao đổi trong hệ thống thử nghiệm: 47
2. Tạo cổng truy xuất dữ liệu theo đặc tả đã nghiên cứu: 49
3. Mô hình trao đổi dư liệu giữa hai trang web 53
4. Ứng dụng yêu cầu dữ liệu: 53
5. Đánh giá kết quả thực nghiệm 58
V. Môi trường khả thi cho ứng dụng. 61
KẾT LUẬN 64
CÁC TÀI LIỆU THAM KHẢO 65
65 trang |
Chia sẻ: lynhelie | Lượt xem: 1709 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Khung chuẩn trao đổi dữ liệu giữa các ứng dụng web trong việc triển khai dịch vụ công làm nền tảng xây dựng chính phủ điện tử Thành phố Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ML schema diagram). Việc chuyển đổi định dạng giữa các XSD được thực hiện thông qua ngôn ngữ XSLT (Extensible Stylesheet Language Transformation).
Việc phát triển và tích hợp các ứng dụng gồm: các thành phần cơ bản, các ứng dụng tích hợp trực tiếp các thành phần cơ bản, các ứng dụng được thiết kế một cách tổng thể để sử dụng lại được đều sử dụng công nghệ J2EE (version 1.4 hoặc cao hơn) hay .NET Framework (.NET Framework tạo ra môi trường thời gian thực cho các ngôn ngữ lập trình khác nhau, hỗ trợ SOAP, WSDL, UDDI, XML). Ngôn ngữ PHP được sử dụng cho các ứng dụng không có phần mềm trung gian (ứng dụng đứng một mình không có phân tán hay giao tiếp với các ứng dụng CPĐT nào khác).
Trong ứng dụng CPĐT, trình duyệt web được sử dụng như thiết bị giao diện có khả năng xử lý và trình diễn các định dạng của lớp trình bày và truy xuất đến máy chủ web (định dạng HTML v3.2 dành cho các phiên bản cũ cũng được hỗ trợ). Các máy chủ email hỗ trợ kỹ thuật cho 2 tiêu chuẩn: SSL (cho việc nhận và gửi thư điện tử) và MIME (mô tả định dạng thư điện tử). Các mẫu định dạng dữ liệu stylesheet của tất cả các mô tả cách đánh dấu được trình bày thông qua ngôn ngữ CSS2 (Cascading Style Sheets 2) khi thiết kế các trang HTML và qua ngôn ngữ XSLT khi truyền và trình bày các tài liệu ở dạng .HTML (sử dụng bộ ký tự định dạng theo chuẩn ISO 10646-1:2000/Unicode). Các Servlet và JSP hoặc Servlet và XSL được sử dụng trong việc tạo ra các trang .HTML động phía máy chủ. Các định dạng ảnh .GIF và .JPEG được sử dụng để trao đổi ảnh giữa các ứng dụng. Các thông tin địa lý được cung cấp qua Internet dưới dạng bản đồ thông qua dữ liệu dạng lưới hoặc vector sử dụng ngôn ngữ GML (Geography Markup Language). Các giao tiếp không dây sử dụng WML (Wireless Markup Language).
II. Mô hình khung thông tin, cấu trúc chuẩn trao đổi dữ liệu giữa các ứng dụng của một số hãng phần mềm trên thế giới.
1. Một ví dụ về chuẩn của hãng phần mềm IBM.
Mô hình khung thông tin và cấu trúc chuẩn trao đổi dữ liệu của IBM đang được W3C đề xuất thành chuẩn chung. Nó cung cấp cú pháp cho các khai báo cấu trúc trao đổi dữ liệu trong các tài liệu XML:
Ví dụ: Khai báo kiểu dữ liệu mở rộng
Việc kế thừa sử dụng cấu trúc dữ liệu đã được khai báo trước đó vào trong các tài liệu XML có thể thực hiện được thông qua sử dụng ánh xạ không gian tên:
Với khai báo như trên, không cần phải chỉ ra vị trí chính xác của nguồn dữ liệu mà vẫn tái sử dụng được thông qua ánh xạ không gian tên vào trong khai báo cấu trúc
Trong cấu trúc trao đổi dữ liệu, khi khai báo kiểu dữ liệu, có thể chọn kiểu đơn giản hoặc phức hợp. Theo kiểu đơn giản thì trong khai báo không được trực tiếp chỉ ra giá trị thuộc tính dữ liệu. Nếu khai báo theo kiểu phức hợp thì khi khai báo có thể tạo ngay cấu trúc dữ liệu nhúng (nguồn dữ liệu lấy từ các cấu trúc khác) và gán các giá trị thuộc tính.
Ví dụ: Khai báo kiểu đơn giản
Bổ sung thuộc tính vào một khai báo theo kiểu đơn giản là điều không thể vì kiểu đơn giản không chứa giá trị thuộc tính dữ liệu. Nếu muốn bổ sung giá trị thuộc tính, cần phải khai báo kiểu phức hợp. Bản thân kiểu dữ liệu nhúng có nguồn gốc từ những cấu trúc dữ liệu khác cũng phải được khai báo dạng phức hợp thì mới thực hiện nhúng vào cấu trúc được
Ví dụ:
45.50 -->
Trong tài liệu định dạng, các cấu trúc dữ liệu có thể viết lồng nhau. Cấu trúc dữ liệu được định nghĩa qua các yếu tố thành phần với kiểu và các khai báo giá trị thuộc tính
Ví dụ:
Tài liệu XML:
Cool XML
Cool Guy
Câus trúc dữ liệu khai báo dùng XML:
Cool XML
Cool Guy
Các thuộc tính dữ liệu qui chiếu sẽ cho phép liên kết với các khai báo cấu trúc trước đó.
Ví dụ: Khai báo kiểu phức hợp sử dụng các thành phần từ một kiểu đơn giản
Với cấu trúc do IBM đề xuất, có thể hỗ trợ tái sử dụng lại các cấu trúc dữ liệu đã được định nghĩa trước đó Thông qua khai báo cấu trúc dữ liệu trích xuất, XML cung cấp một cơ chế ràng buộc đối với các thuộc tính dữ liệu thành phần trong cấu trúc.
Bản thân cấu trúc trao đổi dữ liệu cung cấp 3 thành phần: thông tin chung, mô tả chi tiết và ghi chú để phục vụ cho việt đọc hiểu của 2 phía: người đọc và trình ứng dụng
2. Một ví dụ về chuẩn của hãng Oracle.
Từ Oracle8i Release 3 (8.1.7) trở đi, Oracle cho phép trích xuất dữ liệu từ CSDL quan hệ và các đối tượng dữ liệu và hiển thị dưới dạng XML. Việc dùng XML để thực hiện thêm, sửa, xóa, cập nhật dữ liệu trong CSDL của Oracle cũng được hỗ trợ. Oracle hỗ trợ XML thông qua Oracle XML Database (Oracle XML DB). Đây là một cải tiến của Oracle trong một cố gắng hoàn thiện SQL và XML để thực hiện tương tác dữ liệu. Oracle hỗ trợ XML với các đặc điểm chính sau:
Lưu trữ dữ liệu định dạng XML tại các CSDL phía server
Cho phép truy xuất DL định dạng XML từ CSDL và các đối tượng dữ liệu của Oracle trong môi trường .NET. thông qua .NET framework.
Cho phép các ứng dụng được phát triển trên nền.NET làm việc với các dữ liệu định dạng XML thông qua sử dụng các lớp cấu trúc: OracleCommand, OracleConnection và OracleDataReader. Cụ thể có các lớp sau:
Lớp OracleXmlType
Lớp OracleXmlStream
Lớp OracleXmlQueryProperties
Lớp OracleXmlSaveProperties
Lớp OracleXmlType and Connection Dependency
XMLType trong CSDL được cập nhật thông qua sử dụng Oracle Data Provider for .NET theo một trong các cách sau:
Cập nhật với DataSet, OracleDataAdapter, và OracleCommandBuilder
Cập nhật với OracleCommand và OracleParameter
Cập nhật với DataSet, OracleDataAdapter, và OracleCommandBuilder
Khi thay đổi dữ liệu, OracleDataAdapter.Update() được triệu gọi để đảm bảo rằng XMLType được xác lập giá trị thuộc tính. OracleDataAdapter sẽ sử dụng các câu lệnh SQL dạng INSERT, UPDATE, or DELETE để tương tác với dữ liệu.
Dữ liệu định dạng XML có thể được truy xuất từ trình duyệt ở máy trạm nhờ vào .NET Framework XmlDocument sử dụng phương thức GetXmlDocument của đối tượng OracleXmlType. Một đối tượng OracleXmlType sẽ được tạo để cập nhật dữ liệu XML từ các lớp của .NET Framework. Đối tượng OracleXmlType này được sử dụng như đầu vào (input) trong cập nhật dữ liệu XML.
ODP.NET có thể sinh ra các dữ liệu có định dạng XML phục vụ lưu trữ trong các đối tượng dữ liệu của CSDL:
Ví dụ:
* Tạo bảng và kiểu dữ liệu
CREATE TYPE "EmployeeType" AS OBJECT (EMPNO NUMBER, ENAME VARCHAR2(20));
/
CREATE TYPE EmployeeListType AS TABLE OF "EmployeeType";
/
CREATE TABLE mydept (DEPTNO NUMBER, DEPTNAME VARCHAR2(20),
EMPLIST EmployeeListType)
NESTED TABLE EMPLIST STORE AS EMPLIST_TABLE;
INSERT INTO mydept VALUES (1, 'depta',
EmployeeListType("EmployeeType"(1, 'empa')));
* File XML sau sẽ truy xuất dữ liệu của bảng vừa tạo:
1
depta
1
empa
Như vậy, bảng mydept ở trên có một loạt các trường EMPLIST, mỗi trường là một tập các dữ liệu kiểu EmployeeType.
3. Một ví dụ về chuẩn của hãng phần mềm Microsoft
Thế giới văn bản đứng trước 2 sự lựa chọn ODF và Open XML. Việt Nam đã có rất nhiều kinh nghiệm về sự phức tạp của các kiểu cách gõ tiếng Việt và quá nhiều chuẩn mực về chúng để từ đó mất quá nhiều chi phí (thời gian và tiền của) để chuẩn hoá các tài liệu trong cơ quan, doanh nghiệp.
Chính vì thế, việc để tồn tại hơn một chuẩn dữ liệu (dù có một hoặc nhiều sự tương đồng) đều là không thể ở một nước nào. Đó là tính kinh tế và tính phù hợp (chấp nhận dễ dàng) cũng như khả năng độc lập của các định dạng này.
Trước hết OOXML đang tìm cách để Microsoft hoá định dạng toàn cầu, và sẽ rất khó khăn cho người lập trình, các nhà sản xuất phần mềm... thực hiện việc chuyển đổi OOXML phù hợp với dữ liệu của họ. Như được đề cập trong phần về các đặc trưng của OOXML cũng như thực tế mà Microsoft công nhận, OOXML có độ phức tạp quá lớn, điển hình là:
Bề dày 6.000 trang tài liệu để miêu tả chúng và rất phức tạp.
Chứa định dạng binary
Sử dụng quá nhiều từ vựng (27 namespace và 89 schema module).
Chưa được công nhận là chuẩn ISO
Chỉ có Microsoft đang phát triển và hỗ trợ
Không có tính tương thích tốt (ngay chính các tài liệu định dạng của Microsoft như các định dạng trong MSOffice 2003 là không thể đọc được).
Thay đổi liên tục (không ổn định về mặt quan điểm ngay trong nội bộ của Microsoft)
Nhiều sự dư thừa, trùng lặp và không tương thích để có thể làm việc với định dạng chuẩn ODF.
Sai luôn cả về các dữ liệu dạng ngày tháng (ví dụ: OOXML không thể dùng ngày 1/3/1900) và không theo chuẩn ISO trong định dạng ngày tháng năm.
Không theo chuẩn tên kích thước, cỡ trang giấy và tự ý thay đổi chúng. Vì thế, không thể hoạt động tốt với các dữ liệu chuẩn khác.
Nhiều lỗi trong chính việc thiết lập các công thức của bảng tính trong chương trình bảng tính của Microsoft-
Không hỗ trợ cho các ứng dụng trên nền khác ngay chính công cụ của Microsoft. Hiện nay, các phần mềm đang dùng MSOffice như MacOS MSOffice 2008 cũng chưa được hoàn thiện.
Tuy nhiên, OOXML vẫn có những điểm cần quan tâm về mặt tiện lợi. Microsoft đang nỗ lực hoàn thiện các bộ lọc và chuyển đổi để phù hợp những chỉ trích về OOXML. Họ cũng có những nỗ lực không ngừng trong việc đưa OOXML thành chuẩn ISO. Về sự phức tạp, OOXML hầu hết tạo ra một định dạng khá hoàn thiện (không phải tuyệt đối, như chính ODF) về mặt lý thuyết và những hỗ trợ trong bộ Microsoft Office 2007.
Về chuẩn ODF, điều đặc biệt nhất đó là đơn giản, gọn nhẹ và đã được thống nhất và công nhận chuẩn ISO bởi các yếu tố sau:
Định dạng là 100% theo chuẩn XML và nội dung được nén theo chuẩn lossless để nhẹ hoá kích thước tập tin. Rất tốt cho việc truyền thông tin cũng như trao đổi thông tin, mã hoá cần thiết.
Ví dụ, Microsoft 2007 với một văn bản bình thường chứa 2 trang A4, sẽ có kích thước gấp 5 lần kích thước OpenOffice (theo chuẩn ODF). Như vậy, để chuyển tải văn bản này, Microsoft chi trả 5 lần chi phí dung lượng đường truyền. Một khía cạnh khác, nếu tính đến bảo mật dữ liệu, Microsoft chiếm đến 5 lần thời gian so với một tập tin OpenOffice chuẩn ODF để mã hoá hết dung lượng. Nên biết rằng, bảo mật dữ liệu là cần thiết và việc bảo mật sẽ tốn rất nhiều thời gian. ODF là rất phù hợp để giải quyết công việc này.
Khả năng hỗ trợ cho người không thể đọc văn bản trong chuẩn ODF là rất quan trọng. Tuy đang trên đường được công nhận, nhưng ODF đang là một chuẩn cho phép hỗ trợ khả năng này.
Hỗ trợ cho cả OOXML, các loại văn bản khác (hầu hết)
Không có một sai sót nào trong định dạng và đã được kiểm tra rất công phu.
Chuẩn do cộng đồng đánh giá (không phải là một tổ chức 110 người như OOXML đã làm và cũng không phải chỉ có 30 ngày xem xét) rất công phu trước khi thành chuẩn ISO.
Miễn phí (ngay cả những ứng dụng).
Hỗ trợ luôn chuẩn công thức toán học cho các học giả soạn thảo văn bản định dạng báo cáo khoa học (Microsoft chưa hỗ trợ công cụ này cũng như định dạng chuẩn trên).
Hỗ trợ định dạng chuẩn cho chữ ký số (như PDF đang hỗ trợ). Nghĩa là, khả năng lưu trữ chữ ký số đã được chuẩn hoá trong khi OOXML thì chưa được thông qua. Chuẩn lưu chữ ký số củaODF dựa theo chuẩn nổi tiếng XMLDSig.
Nhìn về khía cạnh lợi ích, chúng ta sẽ thấy rằng: lựa chọn một chuẩn áp dụng cho từng quốc là rất đúng đắn. Tuy nhiên, chúng ta cũng thừa nhận rằng, thế giới không thể có một chuẩn vì sự cạnh tranh sáng tạo để đi lên. Nếu chỉ có OOXML thì LINUX và OpenOffice sẽ không tồn tại, hay ngược lại. Vì thế, hai chuẩn tồn tại là tất yếu.
III. Một số chuẩn trao đổi thông tin dịch vụ, các chuẩn công nghiệp
1. Chuẩn XML
XML là nền tảng của WebService
Được dùng để trao đổi dữ liệu cho Webservice
XML là một chuẩn nổi tiếng cho việc tổ chức, lưu trữ và trao đổi dữ liệu
XML được các hãng phần mềm lớn nhất hỗ trợ
XML được hỗ trợ bởi hầu hết các ngôn ngữ lập trình hiện đại (DotNet,java)
XML còn được sử dụng rộng rãi trong việc trao đổi dữ liệu trên môi trường Internet
XML cũng giống như HTML là dùng các thẻ để tổ chức và lưu trữ dữ liệu.Nhưng HTML mục đích là để định dạng dữ liệu do đó các cặp thẻ phải theo qui định và được hiểu bởi Browser, trong khi đó XML mục đích là để tổ chức và lưu trữ dữ liệu do vậy các cặp thẻ do người sử dụng tự định nghĩa ra.
XML là tự do và mở rộng được. Trong XML các thẻ không được định nghĩa trước mà do người dùng tự phát minh ra thẻ.
XML rất quan trọng đối với sự phát triển của web trong tương lai.
Tầm quan trọng của XML đối với tương lai của web cũng giống như tầm quan trọng của HTML đối với nền tảng của web, và XML sẽ là công cụ xử lý và truyền dữ liệu phổ biến nhất.
XML là công cụ dùng được trên mọi nền phần cứng, độc lập với phần cứng và phần mềm để truyền (trao đổi, chia sẻ) thông tin.
* XML được sử dụng như thế nào
XML được thiết kế để lưu giữ, mang, và trao đổi dữ liệu nhưng không hiển thị dữ liệu.
XML dùng cho Trao đổi Dữ liệu
Với XML, có thể trao đổi dữ liệu giữa các hệ thống không tương thích.
Trong thế giới thực, các hệ thống và cơ sở dữ liệu máy tính chứa dữ liệu ở các dạng không tương thích. Một trong những thách thức mất thì giờ nhất của người phát triển là trao đổi dữ liệu giữa các hệ thống đó qua Internet. Chuyển đổi dữ liệu sang XML có thể giảm bớt rất nhiều sự phức tạp này, và tạo ra dữ liệu có thể đọc được bởi nhiều kiểu ứng dụng khác nhau.
*Một ví dụ về tệp XML:
Dữ liệu của một thông điệp thư tín của Jim gửi Tom, dưới dạng XML, được viết như sau:
Tom
Jim Reminder
Please call me this weekend!
<?xml: Khai báo XML: khai báo một tài liệu XML
encoding="ISO-8859-1" định nghĩa bảng mã hóa ký tự dùng trong tài liệu
mô tả phần tử gốc của tài liệu
Các dòng tiếp theo mô tả các phần tử con của phần tử “thông điệp”
định nghĩa kết thúc của phần tử gốc
phần tử : định dạng chung nội dung
Chuyển đổi tài liệu XML
Với sự linh hoạt của XML trong việc phát triển các vốn từ vựng rất khác nhau, điều đó làm nảy sinh nhu cầu chuyển đổi định dạng XML từ dạng này sang dạng khác.
Hai đặc tả kỹ thuật của W3C - thuộc gia đình XSL – đó là XSLT và XPath đều được sử dụng cho mục đích chuyển đổi tài liệu XML sang một tài liệu XML khác.
XSLT là ngôn ngữ để chuyển đổi XML. Nó định nghĩa tập hợp các luật được sử dụng khi chuyển đổi từ một nguồn sang dạng đích. Một bộ định nghĩa chuyển đổi dưới dạng XSLT được gọi là bảng kiểu chuyển đổi (stylesheet).
XPath là một ngôn ngữ xử lý được XSLT sử dụng để truy câp hoặc tham chiếu tới các thành phần của tài liệu XML.
Một bộ xử lý XSLT được sử dụng trong các ngữ cảnh chuyển đổi cụ thể và thường gây ra một số vấn đề về tốc độ chuyển đổi, vì thế xử lý trực tuyến một tài liệu lớn có thể diễn ra khá chậm, mặc dù sử dụng các trình biên dịch XSL đúng thời điểm sẽ làm tăng tốc độ chuyển đổi lên đôi chút.
Với XSLT, các ứng dụng dựa trên nền XML có thể được liên kết với dịch vụ web. Nó có thể chuyển đổi một tài liệu XML sang định dạng XML khác ví dụ như giữa WSDL và SOAP. Bên cạnh đó, quá trình chuyển đổi cấu trúc logic sang định dạng thể hiện ví dụ như các trang web dạng HTML.
2. Chuẩn SOAP
SOAP đơn giản là giao thức dựa trên XML để các ứng dụng trao đổi với nhau qua HTTP. Hay đơn giản là giao thức để truy cập web service.
SOAP (simple object access protocol) nghi thức truy xuất đối tượng đơn giản, là nghi thức được sử dụng bởi các khách hàng để gửi yêu cầu đi và nhận các đáp ứng về .
SOAP một giao thức thông điệp dựa trên XML được sử dụng để mã hóa thông tin trong các thông điệp yêu cầu và hồi đáp của web service trước khi gửi chúng qua mạng. Thông điệp SOAP độc lập với hệ điều hành và giao thức, có thể được truyền đi bằng cách sử dụng 1 số giao thức Internet HTTP, HTTPS , SMTP Nhưng chủ yếu là HTTP.
SOAP là nghi thức để trao đổi dữ liệu có cấu trúc trong môi trường phân tán. SOAP sử dụng kỹ thuật XML để định nghĩa một thông điệp cái mà được trao đổi qua một số giao thức cơ bản như HTTP, TCP/IP. Gói thông điệp này được thiết kế độc lập với mô hình lập triình thông thường và một số kĩ thuật bố xung khác.
SOAP được xây dựng bên trên nghi thức HTTP. Nó định nghĩa ngữ pháp XML để chỉ ra tên của phương thức mà người dùng muốn gọi trên web service, để định nghĩa các tham số và các giá trị trả về và để mô tả kiểu của tham số và kiểu của giá trị trả về. Khi ứng dụng khách gọi web service nó phải chỉ ra tên của phương thức và các tham số bằng cách sử dụng ngữ pháp XML.
SOAP là giao thức truyền thông giữa các ứng dụng; SOAP được thiết kế để liên lạc qua Internet; SOAP độc lập nền tảng; SOAP độc lập ngôn ngữ; SOAP dựa trên XML; SOAP đơn giản và dễ mở rộng; SOAP làm việc qua tường lửa.
* SOAP có những đặc trưng sau :
SOAP được thiết kế đơn giản và dễ mở rộng.
Tất cả các message SOAP đều được mã hóa sử dụng XML.
SOAP sử dùng giao thức truyền dữ liệu riêng.
Không có garbage collection phân tán, và cũng không có cơ chế tham chiếu.Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào về các đối tượng ở xa.
SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc công nghệ nào.
Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử dụng để thực hiện miễn là người dùng sử dụng các message theo định dạng XML. Tương tự, service có thể được thực hiện trong bất kỳ ngôn ngữ nào, miễn là nó có thể xử lý được những message theo định dạng XML.
* Tại sao phải có SOAP
Quan trọng khi phát triển các ứng dụng cho phép các chương trình trao đổi qua Internet.
Các ứng dụng hiện hành liên lạc với nhau bằng cách sử dụng các cuộc gọi thủ tục ở xa giữa các đối tượng như DCOM và CORBA, nhưng HTTP không được thiết kế cho điều này. RPC mô tả vấn đề tương thích và bảo mật, firewalls và proxy servers sẽ chặn các loại tải này.
Một cách tốt hơn để liên lạc giữa các ứng dụng là qua HTTP, vì HTTP được hỗ trợ bởi tất cả các trình duyệt và servers. SOAP được tạo nên là hoàn thành điêu này.
SOAP cung cấp một cách để liên lạc giữa các ứng dụng chạy trên cac hệ điều hành khác nhau, với các công nghệ khác nhau và ngôn ngữ khác nhau.
Định dạng thông điệp SOAP:
Một thông điệp SOAP là một văn bản XML được mô tả bởi một thành phần Envelope, chứa một thành phần Body bắt buộc và một thành phần Header không bắt buộc. Thành phần Body có thể chứa một số Body Entries. Thành phần không bắt buộc Fault chỉ có trong thông điệp khi có báo cáo về một quá trình xử lý ngoại lệ.
Cấu trúc của một SOAP message
SOAP hỗ trợ hai kiểu truyền thông khác nhau :
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 web service và có nhiều trợ giúp.Phần tử Body chứa mô tả về phương thức dưới dạng XML như phương thức getStockPrice. Với RPC thì người phát triển không phải làm gì nhiều chỉ cần có một phương thức gọi. Nhưng điều này sẽ không linh hoạt khi người phát triển muốn thay đổi tham số để thực hiện một chức năng riêng.
<soapenv:Envelope
xmlns:soapenv="soap_ns"
xmlns:xsd="xml_schema_ns"
xmlns:xsi="type_ns">
<ns1:getStockPrice
xmlns:ns1="app_ns"
soapenv:encodingStyle="encoding_ns">
AAPL
Document: Được biết như kiểu hướng message : kiểu này cung cấp một lớp thấp của sự trừu tượng hóa, và yêu cầu người lập trình nhiều hơn khi làm việc. Phần tử body đơn giản chỉ chứa các tham số hay các trường dưới dạng các thẻ. Với Document người phát triển phải xử lý gần như là toàn bộ, họ phải đưa ra một loạt các tham số dưới dạng các thẻ XML, nhưng nó linh động hơn RPC vì người phát triển có thể đưa ra các thẻ tùy theo mục đích của họ.
<soapenv:Envelope
xmlns:soapenv="soap_ns"
xmlns:xsd="xml_schema_ns"
xmlns:xsi="type_ns">
<ns1:customerOrder
soapenv:encodingStyle="encoding_ns"
xmlns:ns1="app_ns">
Plastic Pens, Inc.
123 Yukon Drive
Phoenix
AZ
85021
88
Blue pen
250
563
Red stappler
30
3. Chuẩn ebXML
Tháng 9 năm 1999 UN/CEFACT đưa ra sáng kiến quốc tế để phát triển một khung dựa trên XML mở, có thể sử dụng thông tin kinh doanh điện tử trên toàn cầu một cách nhất quán, có khả năng liên tác và an toàn, từ ứng dụng tới ứng dụng, ứng dụng tới người sử dụng và từ người sử dụng tới các môi trường ứng dụng.
Sáng kiến này, về sau được gọi là ebXML, được thực hiện phối hợp với Tổ chức Thúc đẩy các Tiêu chuẩn thông tin có cấu trúc (Organization for the Advancement of Structured Information Standards - OASIS). Giai đoạn đầu tiên của dự án được hoàn thành đúng hạn vào tháng 5 năm 2001, theo quy trình xây dựng tiêu chuẩn hóa quốc tế mở, gồm một loạt cuộc họp toàn cầu và soát xét rất nhiều đóng góp thực tế.
Tiếp theo giai đoạn đầu tiên của dự án, các đặc tả được hoàn thành bởi mỗi tổ chức, hoạt động theo kiểu phối hợp, đảm nhận trách nhiệm về các đặc tả riêng và theo dõi quá trình phát triển và phê chuẩn các đặc tả này.
Đặc tả liên quan, Đặc tả kỹ thuật thành phần lõi (Core Component Technical Specification :CCTS) được thực hiện ở giai đoạn sau của sự phát triển, theo sau Quá trình Phát triển Mở của UN/CEFACT trong Nhóm các phương pháp luận và các phương pháp kỹ thuật (Techniques and Methodologies Group :TMG) .
Các đặc tả này đã được đệ trình trong phiên họp toàn thể tháng 5 năm 2003 để được phê chuẩn như các đặc tả kỹ thuật của UN/CEFACT. Sau khi phê chuẩn, phiên họp toàn thể sẽ yêu cầu CSG dự thảo văn bản cho “Khuyến cáo của UN/CEFACT về việc dùng ebXML trong chính phủ, thương mại và công nghiệp”.
Chuẩn ebXML là tập các đặc tả, có khả năng mô-đun-hóa nhưng vẫn là một cơ cấu kinh doanh điện tử hoàn chỉnh. Các đặc tả này bao gồm nhiều chủ đề khác nhau như các yêu cầu ebXML, vận chuyển, định tuyến và đóng gói và kiến trúc kỹ thuật. Tiêu chuẩn ebXML bản chất là theo mô-đun nhưng không yêu cầu thực hiện ngay một lúc toàn bộ đặc tả. Các tập đặc tả có thể được cài đặt từng đợt, có thể được thực hiện riêng rẽ hoặc theo số lượng các tổ hợp có ích. Mỗi tập tạo thành một giải pháp riêng rẽ nhưng tất cả đều nhất quán với nhau. Các đặc tả cung cấp liên tác trong và giữa các ứng dụng của đối tác thương mại tuân thủ ebXML. Các đặc tả cực đại hóa tính liên tác và hiệu quả, cung cấp đường chuyển tiếp từ các tiêu chuẩn EDI tới các tiêu chuẩn kinh doanh XML. Tập đơn các đặc tả kỹ thuật XML sẽ được trình tổ chức tiêu chuẩn được công nhận trên quốc tế để xác nhận như tiêu chuẩn quốc tế
Khả năng sử dụng và hoạt động tương tác là các yêu cầu cốt yếu của cơ cấu kỹ thuật ebXML. Mục đích là cung cấp XML nhất quán, đảm bảo và hoạt động trên những mô-đun hạ tầng độc lập nhưng liên quan với nhau. Có 4 thành phần chính trong thông điệp ebXML. Đó là đặc tả đóng gói, xử lý lỗi, bảo mật và mở rộng SOAP ebXML. Ngoài những thành phần chính, cơ sở hạ tầng cung cấp phương thức xác định quy trình kinh doanh, các thông điệp liên quan và nội dung của chúng. Bên cạnh thông tin về đối tác kinh doanh, cơ sở hạ tầng cũng đưa ra cách để xác định các quá trình kinh doanh và các thỏa thuận đối tác thương mại. Đặc tả dịch vụ thông điệp, vận chuyển, định tuyến và đóng gói cung cấp lớp vận chuyển thông điệp giống nhau.
4. Chuẩn EDI
EDI cho phép trao đổi trực tiếp dữ liệu có cấu trúc giữa các máy tính thông qua các phương tiện điện tử. EDI bao hàm những qui trình đảm bảo cho hình thức truyền thông này an toàn hơn. Ngoài khả năng nhận dạng, kỹ thuật này còn có thể hỗ trợ phát hiện và sửa lỗi. Chứng thực theo hướng xác nhận nội dung dữ liệu có thể được thực hiện và tính cá nhân được đảm bảo bởi một số phương tiện tích hợp trong hệ thống. Sau hết, chứng thực người được quyền gửi thông điệp cũng được đảm bảo.
Nhưng EDI không thể được áp dụng rộng rãi nếu như không có chuẩn quốc tế, và đã có nhiều chuẩn quốc tế được xây dựng. Ba thành phần quan trọng cần phải có, đó là : các phần tử dữ liệu chung tương đương như bộ từ vựng; một bộ cú pháp tương tự như ngữ pháp trong một ngôn ngữ và các thông điệp chuẩn đóng vai trò kết hợp các phần tử dữ liệu và cú pháp vào một thông điệp thương mại có cấu trúc giống như tài liệu giấy về mặt khái niệm.
EDI có thể được sử dụng để truyền theo đường điện tử các tài liệu như hóa đơn, phiếu đặt hàng, giấy biên nhận, các tài liệu vận chuyển và các thư từ trao đổi nghiệp vụ chuẩn khác giữa các tổ chức và các đối tác kinh doanh. EDI cũng có thể được sử dụng để truyền thông tin tài chính và thanh toán dưới dạng điện tử, thường được gọi là chuyển tiền điện tử (EFT- Electronic Funds Transfer). Do đó, ngày nay các chức năng của EDI càng trở nên có ý nghĩa hơn, đặc biệt với sự phát triển của thương mại điện tử trên thế giới. Vì vậy, điều quan trọng là ta phải nắm được cách làm việc của EDI và cải tiến phương pháp trao đổi thông tin truyền thống giữa các đối tác thương mại, sao cho năng suất và hiệu quả có thể tăng lên.
Trong hầu hết các trường hợp, một tổ chức kinh doanh phải giao tiếp với nhiều đối tác thương mại. Ví dụ trong ngành công nghiệp bán lẻ, một siêu thị trung bình có thể phải kinh doanh với hàng trăm nhà cung cấp tạp phẩm. Mỗi nhà cung cấp lại có thể có nhiều khách hàng. Nếu mỗi nhà cung cấp có giao thức riêng của họ để biểu diễn thông tin, thì họ rất khó thực hiện EDI để trao đổi thông tin và giao dịch do yêu cầu phải chuyển đổi định dạng . Kết quả là, chi phí thực hiện EDI sẽ tăng và làm giảm hiệu quả.
Nhu cầu xác định chuẩn là rõ ràng để đảm bảo sự thành công của EDI. Đó là vì EDI dựa vào việc sử dụng cấu trúc và diễn giải chuẩn của các giao dịch kinh doanh điện tử để thực hiện việc trao đổi dữ liệu giữa tất