1 / 13

JWeiBo : an SDK Solution for Sina WeiBo RESTful Open API

北京理工大学本科生毕业设计答辩. JWeiBo : an SDK Solution for Sina WeiBo RESTful Open API. Date: 06/08/2011. Mentor: Dai Yintao. Student : Deng Litao . Outline. Background Related work Requirement Design Implementation Sample codes Future work. Background. Microblogging’s characters.

lynton
Download Presentation

JWeiBo : an SDK Solution for Sina WeiBo RESTful Open API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 北京理工大学本科生毕业设计答辩 JWeiBo: an SDK Solution for Sina WeiBo RESTful Open API Date: 06/08/2011 Mentor: Dai Yintao Student:Deng Litao

  2. Outline Background Related work Requirement Design Implementation Sample codes Future work

  3. Background Microblogging’s characters Microblogging’s bombing development  Increasing demands for third-party applications.

  4. Background RESTful Web Services • 1: The base URL (or URI) for the Web Services. • 2: The Internet media type for the data supported by the Web Services, XML and JSON. • 3: The set of operations of HTTP methods defined on the resources, such as GET, POST, PUT and DELETE.

  5. Related Work JWeiBo’s role 1: Request from outside. 2: Data demand from Controller to Model. 3: Data interchange between application and Sina WeiBo. 4: Data from Model to Controller. 5: Data from Controller to View. 6: Response to outside.

  6. Requirement Function Data flow in swim lane 1: The request parameters could be viewed as the input. 2: Initializing the HTTP call. 3: Invoke the HTTP call by specified scheme. Finally, the HTTP headers and body can be used as the output.

  7. Design Architecture of JWeiBo 1: Initializing API. 2: Constructing Request. 3: HTTP Transaction. 4: Fetching Response.

  8. Design Program interface between classes

  9. Implementation HTTP HTTPManager(SinaWeiBoHTTPManager) HTTP Basic: encodedBasic="Basic"+newString(new BASE64Encoder().encode((credential.getUsername() +":"+ credential.getPassword()).getBytes())); httpGet.addHeader("Authorization", encodedBasic);

  10. Implementation HTTP HTTPManager(SinaWeiBoHTTPManager) OAuth: Steps in OAuth authentication

  11. Implementation Response • Response(SinaWeiBoResponse) • Data format: • XML, JSON. • Ultimate Container: • JavaBean (Status, User, Comment, Emotion……). • private long id, String screen_name; • public void assignXML(Element elem), assignJSON(JSONObject jsonObject){} • public static List<User> parseXML(Document document), parseJSON(JSONArray jsonArray){} • public static User parseXMLAsElement(Document document), parseJSONAsObject(JSONObject jsonObject) • public static List<User> parseJSONAsHybrid(JSONObject jsonObject){ • @Overridepublic String toString(), boolean equals(Object object), int hashCode()

  12. Sample codes Source Code: api = SinaWeiBo.builder().initialize(appKey,appSecret).build(); request = ((SinaWeiBo)api).publicTimeline().count(10).build(); response = request.httpCall(); System.out.println(response.toString()); statuses = PublicTimeline.parser(response).parse(); for(Status status : statuses){ System.out.println(status.toString()); } Output: JSON XML

  13. Acknowledgments It has been a great pleasure to work with my advisor Dai Yintao, during the course E-Commerce and the graduation project; he impressed me a lot by his critical thinking and kindness. Zhao Fengnian also deserves a great of thanks, for he introduced me to the Web Technology and led to all of the work I have done about the applications and systems on network. I would like to thank all of my classmates who accompanied me through the graduation project; you gave me so many strong encouragements and selfless cares.

More Related