10/10/2018, 11:33
Sức mạnh của SOAP ?
Hiện tại em đang tìm hiểu về SOAP, em được biết nó là 1 protocol tương tự như POST và GET, nó dùng để truyền tải những dữ liệu giữa các ứng dụng với nhau dựa trên nền tảng XML. Em nghe nói nó rất "mạnh". Tại em mới đang tìm hiểu và chưa ứng dụng bao giờ nên không hiểu nó mạnh đến đâu. Nhưng theo tính năng của nó như em nói ở trên thì em nghĩ dùng PHP và response lại là file XML cũng được, ví dụ thế này (lấy thông tin user từ người dùng thiết bị điện thoại).
http://localhost/user/login.php
Kết quả:
<users>
<user username='admin' email='admin@yahoo.com' fullname='Full name' />
</users>
Như vậy cũng lấy được thông tin mà không thông qua SOAP hay REST gì đó, đó là theo cách em biết theo kiến thức ít ỏi của em, cho em 1 lời giải thích thỏa đáng hơn với, cảm ơn các anh.
http://localhost/user/login.php
Code:
<?php $user = $_POST[ 'user' ];// thong tin tu nguoi nhap tren 1 thiet bi nao do $pass = $_POST[ 'pass' ]; if($user == 'admin' && $pass=='admin') { $array = array('username'=>'admin','email'=>'admin@yahoo.com','fullname'=>'Full name'); echo '<users>'; foreach($array as $value) { echo "<user username='$value[username]' email='$value[email]' fullname='$value[fullname]' />"; } echo '</users>'; } ?>
<users>
<user username='admin' email='admin@yahoo.com' fullname='Full name' />
</users>
Như vậy cũng lấy được thông tin mà không thông qua SOAP hay REST gì đó, đó là theo cách em biết theo kiến thức ít ỏi của em, cho em 1 lời giải thích thỏa đáng hơn với, cảm ơn các anh.
Bài liên quan
Cụ thể hơn, với ví dụ của bạn, nếu server trả về 1 cấu trúc XML bất kỳ, ko định nghĩa như bạn vừa nêu thì bạn phải tự viết parser ở client cho nó, để lọc ra dữ liệu. Còn nếu bạn viết client bằng bộ thư viện có hỗ trợ SOAP thì đơn giản bạn trả về SOAP thì tự client có parser rồi bạn chỉ việc sử dụng để lấy dữ liệu bạn muốn.
Nói sơ thế, cụ thể bạn học thêm, cái này để hiểu được sẽ mất 3h-30 ngày, tùy vào kiến thức, năng lực hiện tại của bạn và tùy vào việc bạn muốn hiểu sâu đến mức nào.
Vì nếu em làm web thông thường, thì client là browser, ko support SOAP * , cho nên ít khi dùng.
Thường SOAP ứng dụng để truyền tải thông tin server-server, đây cũng là ứng dụng phổ biến của Web Services, khi nào em phải cho 2 server giao tiếp nhau, nhất là khi 2 cái dùng công nghệ khác nhau, ví dụ 1 thằng chơi .NET, 1 thằng chơi PHP thì em sẽ hiểu hơn.
Còn client-server thì ít đất cho SOAP, trừ khi em tự viết 1 mobile app (hoặc desktop app) có dùng SOAP để giao tiếp với server chẳng hạn (app này là client)
Tức là em trước tiên cần biết Web Services ** thường dùng vào cái gì đã. Nhưng biết cho vui vâỵ thôi, nếu em ko làm thật thì cũng ko hiểu sâu được.
*: đương nhiên cũng có ngoại lệ:
http://oreilly.com/pub/a/javascript/...lasoapapi.html
https://developer.mozilla.org/en/SOA...based_Browsers
nhưng người lập trình web luôn phải làm cross browser nên ngoại lệ ko có ý nghĩa lắm
** : đọc thêm cái này http://www.w3schools.com/webservices/ws_why.asp
Web Services have Two Types of Uses => có 2 ứng của WS
Reusable application-components. = Tái sử dụng 1 chức năng nào đó trên nhiều hệ thống
There are things applications need very often. So why make these over and over again?
Web services can offer application-components like: currency conversion, weather reports, or even language translation as services.
Connect existing software. = Kết nối giữa các hệ thống (phần mềm, web) dùng công nghệ khác nhau
Web services can help to solve the interoperability problem by giving different applications a way to link their data.
With Web services you can excha
1) tự viết XML = tự viết parser
2) dùng SOAP (hoặc 1 cái quái quỷ gì đó nhiều người khác cũng dùng) = ko phải tự viết parser
em ctrl F từ "parser", tôi đã nhắc đến ở trên, còn nếu ko hiểu parser là gì thì câu chuyện chắc còn dài, thôi tôi đi ngủ nhé.