Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: [JSP] So sánh API http với Webservice. JSP với Servlet

  1. #1
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    Mặc định [JSP] So sánh API http với Webservice. JSP với Servlet

    hãy cùng thảo luận :

    So sánh API http với Webservice. JSP với Servlet
    1. lúc nào bạn dùng API http, Webservice ?. ưu nhược điểm ? hoặc trong quá trình bạn làm việc với 2 thằng thì bạn rút ra được những kinh nghiệm gì. hãy cùng chia sẻ
    2. tương tự với cặp JSP,Servlet ?
    3. bạn dùng JSP hay servlet để viết API http ? tại sao ? ưu nhược điểm khi viết = JSP và Servlet
    4. theo bạn khi viết webservice bằng Java, bạn có thể truyền được 1 object bất kì không (bao gồm cả user define object ) ? nếu có hoặc ko thì hãy nêu lí do chính đáng (cấm chém gió vớ vẩn)

    vấn đề mình nêu ra cũng ko có gì mới, nhưng cũng có nhiều cái khá thú vị (*)

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Chém gió với cu Z tí,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 ,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.
    Cánh Chym ứ mỏi

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    258

    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.
    Anh yêu em hí hí

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    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ợ ,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
    Cánh Chym ứ mỏi

  5. #5
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    - 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
    - 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 ?

  6. #6
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Mặc định [JSP] So sánh API http với Webservice. JSP với Servlet

    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!
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  7. #7
    Ngày gia nhập
    09 2008
    Bài viết
    57

    Anh Kelvin nói chuẩn, nếu có nút Like thì em Like ngay. Tiếc là...
    Ghi rõ license hoặc 0 điểm

Các đề tài tương tự

  1. Mọi người cho em xin tài liệu Webservice với
    Gửi bởi vduong0110 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 29-05-2012, 11:31 AM
  2. Kết hợp webservice với mô hình MVC
    Gửi bởi tungkontin trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 28-10-2011, 09:45 AM
  3. Call webservice ASP.NET from PHP
    Gửi bởi tranphu0ng trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 08-09-2011, 12:00 PM
  4. Webservice với soap cho người mới ?
    Gửi bởi langtu072 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 07-04-2011, 01:33 PM
  5. tạo webservice kiểm tra bộ nhớ ram
    Gửi bởi Riku trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 15
    Bài viết cuối: 07-04-2011, 06:52 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn