Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hi Anh Quân, "REST thì có lẽ ko có tính private cần thiết, có thể thấy hết format data trên url.",
    Em nghĩ cái này Anh nghĩ có phần không đúng lắm (nếu dùng phương thức POST) thì Anh có thấy data trên địa chỉ URL không ạ?
    Thực ra hai giao thức trên đều hoạt động trên socket, và nếu bắt được gói tin thì chẳng cái nào là không thể thấy hêt được data cả ( em nói trường hợp là không mã hóa khi truyền nhé ).

    Về phần sử dụng hai cái này thì em thấy rằng sử dụng http có lợi thế hơn.
    1. Về build thì có lẽ là dể dàng hơn nhiều
    2. Kết quả trả về dễ dàng xử lý với tất cả các ngôn ngữ ( nếu ta trả về json thì chẳng có gì phải lo, vì các ngôn ngữ hầu như đều có lib hỗ trợ việc json)
    3. Việc giao tiếp trên cơ sở HTTP thực hiện dễ dàng mà không cần phải thư viện, Giả sử cần làm một ứng dụng mobile mà sử dụng thư viện để sử lý SOAP thì có vẻ là sẽ mệt + dung lượng file sẽ lớn hơn, mà nếu không dùng thư viện mà dùng socket luôn thì còn khổ hơn là dùng HTTP.

    Còn về vấn đề bảo mật thì chẳng có gì phải bàn cả. Cái đó là do mình xây dựng thôi, nếu mình sử dụng mã hóa để truyền dữ liệu thì cả hai cái là tương đương nhau.

  2. #2
    Chém gió với cu Z tí[IMG]images/smilies/biggrin.png[/IMG],cái đầu tiên (API http với Webservice) thực ra liên quan đến kiến trúc phần mềm nói chung chứ ko hẳn là trong Java. API Http mà thường được gọi là REST, WebServices thì sử dụng kiến trúc SOAP, bọn khoai tây thường gọi là architect style.
    REST đưa ra cách thức giao tiếp dựa vào các HTTP URI, mà khi sử dụng chúng ta thường gọi là url query [IMG]images/smilies/biggrin.png[/IMG],trả về data dạng XML or JSON. Sử dụng standrdized URIs để executed request (GET,POST,PUST, DELETE). Nếu bác nào làm .net thì sẽ có ADO.NET services (.Net 3.5) hoặc mới hơn thì bác Bill gọi là WCF Data Services :enables the creation and consumption of OData services for the web (formerly known as ADO.NET Data Services) . cái ODATA là Open Data Protocol, các bạn có thể xem chi tiết tại đây http://www.odata.org/
    WebServices thì trả về data dạng XML, sử dụng các phương thức mà hầu hết các Ngôn ngữ lập trình hỗ trợ đó là Serialization và deserialization để xử lý dữ liệu. Bản thân file XML mô tả các object trong WebServices đơn thuần ko chỉ là mô tả dữ liệu mà còn chứa nhiều thông tin để có thể đảm bảo sự trọn vẹn dữ liệu (hình như gọi là strongly data hay safe data gì đấy), tất cả các request trong WS đều được wrapped bằng XML. Cũng chính vì thế mà WS sẽ nặng nề hơn là REST( rest thì base trên URI như tui nói ở trên, nếu data mà trả về là json thì toàn bộ cũng chỉ là free text đơn thuần). Nhưng cũng vì thế mà nếu muốn query data với nhiều tham số chẳng hạn thì dùng REST sẽ rất là mệt, nhìn cái url dài ngoẵng thì rất chi là ngao ngán. Và dùng REST thì có lẽ ko có tính private cần thiết, có thể thấy hết format data trên url.

    Nếu bảo là lựa chọn sử dụng cái nào trong trường hợp nào thì cũng rất khó đưa ra cụ thể, vì phụ thuộc vào kiến trúc hệ thống đang sử dụng,quy mô, ứng dụng phía client, yêu cầu về securiy. Bây giờ các công nghệ web service mới đã cho phép sử dụng cách hoạt động như REST rồi.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thực ra về vấn đề bảo mật thì ko chỉ là liên quan đến HTTP POST,GET mà còn liên quan đến các phương pháp bảo mật khác, SOAP có hỗ trợ 1 số phương thức bảo mật khác (WS security, WS polici). Nhưng đúng là cái này hơi mập mờ, đọc các bài viết về vấn đề này thì REST phủ nhật các ưu điểm vè security của SOAP, thực tế thì REST dựa vào HTTP post,get thì server hoàn toàn có thể phân tích HTTP header để phân tích các request (kiểu như có cái ip đáng ngờ nào đấy mà cố get - để chỉnh sửa dữ liêu- thì block mẹ nó đi).
    Đúng là REST đơn giản, dễ xây dựng và triển khai hơn SOAP nhưng REST lại ko có tính trọn vẹn dữ liệu như SOAP (SOAP bảo đảm các đặc điểm ACID). Nói đến đây thì mới thấy, cái tên Web Services thực ra lại ko liên quan đến Web nhiều thằng REST (base hoàn toàn trên HTTP), àh, nói đến đây thì cũng cần phải nhắc đến các protocol mà SOAP hỗ trợ [IMG]images/smilies/biggrin.png[/IMG],có lẽ là phong phú hơn thằng REST chỉ mỗi HTTP.
    THực ra 2 thằng có 2 hướng sử dụng khác nhau : thằng SOAP thì có ưu điểm về tính trọn vẹn dữ liệu, security nên thường đc sử dụng trong các enterprise application, còn REST thường dùng trong các ứng dụng rich internet. Thế nên ngân hàng hay amazon, paypal thường hay sử dụng SOAP là vì thế , còn REST có thể xây dựng các ứng dụng web, mobile app dựa trên html5

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - api http thì dễ deloy+ dễ update, mỗi lần update thì chưa chắc đã phải restart webserver. còn webservice thì 100% phải restart webserver
    - api http mặc dù khả năng bảo mật (khả năng che dấu giữ liệu) ko bằng webservice , nhưng được cái là tương thích gần như với tất cả. Ví dụ : điện thoại hỗ trợ java hiện nay đều xài được api - http, còn webservice thì chưa chắc nhé.thử với con nokia 2323c hoặc con đời cũ hơn là biết ngay , lấy mấy con máy tàu ra thử cũng được [IMG]images/smilies/biggrin.png[/IMG]
    - webservice nếu mà moi móc bản chất ra thì nó cũng thông qua http thôi
    - servlet thực chất là tiền thân của JSP, viết api bằng jsp thì được cái dễ deloy,update. viết bằng servlet thì mỗi lần update là lại phải restart webserver

    câu 4 sao ko có ai hứng thú vậy ?[IMG]images/smilies/Surprised.gif[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Về bảo mật thì xin thưa rằng đấy chỉ là chuyện 'chó chê mèo lắm lông', giống như kiểu mấy cu cậu nghĩ là MVC, 3 Tiers bảo mật hơn cách truyền thống. Ví dụ là thằng Paypal, Google hỗ trợ cả 2 đấy, nó đâu có sợ thằng JSON API không bảo mật!

    Về tính chất cấu trúc dữ liệu thì JSON tốt hơn thằng XML Webservice nhiều (M$ mới đưa ra Webservice ở dạng Transform Data, nhưng lại có nhiều vấn đề khác). Phần lớn lập trình viên và các developer đều cho rằng JSON dễ dàng triển khai hơn XML Webservice, nhưng xét chi tiết thì 2 cái như nhau. Riêng JSON phổ biến và được hỗ trợ tốt hơn rất nhiều so với Webservice.

    JSON chỉ là một trong các kiểu dữ liệu phổ biến trong Web API, còn truyền thống thì có rất nhiều cách tối ưu cho từng yêu cầu, từng kiến trúc. Nếu xét giữa JSON và XML Webservice thì JSON được đánh giá là tối ưu hơn về tốc độ.

    Tóm lại ý này là: Nếu bạn thích và thành thạo cái nào thì dùng cái đó!

    JSP cuối cùng thì cũng sinh ra Servlet, việc này cũng như kiểu so sánh C và ASM. Nếu muốn có tốc độ tốt thì dùng thẳng Servlet, còn JSP thì chậm hơn nhưng được hỗ trợ tốt hơn!

    Câu số 4: Why not? Chỉ cần tư duy độc lập các vấn đề, chẳng có gì là không thể! Chỉ cần đơn giản vấn đề là: Ta không quan tâm là ta phải truyền object nào mà cái ta cần truyền là dữ liệu!

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Anh Kelvin nói chuẩn, nếu có nút Like thì em Like ngay. Tiếc là...

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •