Jesteś tutaj

www.poznan.pl i serwisy społecznościowe

Znaczący wzrost popularności serwisów społecznościowych takich jak Facebook czy Twitter daje nowe możliwości udostępniania informacji w Internecie i dotarcia do adresatów. Wymaga to jednak od projektantów stron internetowych takie dostosowanie swoich produktów, aby w łatwy sposób umożliwiły dzielenie się treścią w nich zawartą na profilach w wyżej wymienionych serwisach. Podążając za tym trendem, portal poznan.pl udostępnił odwiedzającym możliwość publikowania informacji w nim zawartych za pomocą dobrze znanego paska „Podziel się” (zobacz przykład).

Założenia projektu
Projekt zakłada, że portal miasta Poznania będzie coraz szerzej wykorzystywał możliwości oferowane przez portale społecznościowe. Obecnie portal jest integrowany z serwisami takimi jak Facebook, Twitter i Blip, jednak lista obsługiwanych sieci w przyszłości może ulec zmianom.

Nie należy również traktować portalu jak monolitu. Zbudowany jest on przecież z wielu wortali (dla przykładu: „Studiuj w Poznaniu”, bądź „Turystyka”), które mogą posiadać swoje własne profile w serwisach społecznościowych. Dlatego każdy wortal, a mówiąc bardziej ogólnie komponent, powinien mieć możliwość zarejestrowania i obsługi swoich kont w ramach stworzonego prototypu.

Usługi sieciowe
Powiązania pomiędzy poszczególnymi składowymi portalu są dość luźne, dlatego jako formę realizacji założeń wybrano usługę sieciową. Każdy komponent, który będzie chciał wykorzystywać jej funkcjonalność będzie musiał zarejestrować swoje konto w usłudze, a następnie powiązać usługę z profilami społecznościowymi.

Aby rozwiązanie było bezpieczne, w usłudze nie są przechowywane żadne dane logowania (nazwa użytkownika, hasło) do profilów. Do komunikacji z zewnętrznymi portalami został użyty standard OAuth, dzięki któremu po stronie usługi przechowywane są tylko tokeny, a użytkownik w każdej chwili może zablokować usłudze dostęp do swojego profilu.

Ogólny zarys API
Dostępna funkcjonalność tworzonych usług różni się w zależności od integrowanej sieci społecznościowej. W obecnej chwili wygląda ona następująco:

  • Blip/Twitter – publikacja i usuwanie statusów,
  • Facebook – publikacja i usuwanie wiadomości na tablicy, publikacja i usuwanie notatek, oraz publikacja i usuwanie linków.

Do komunikacji z usługą wykorzystany został format JSON, który daje możliwość przyszłego rozbudowania usługi o dodatkowe metody. W jednym żądaniu do usługi przesyłane są: nazwa użytkownika, nazwa sieci, nazwa metody, która ma być wykonana, parametry wykonania tej metody (opcjonalne), a także podpis cyfrowy dla sprawdzenia autentyczności żądania i ochrony przed nieautoryzowanym wykorzystaniem konta. Odpowiedź usługi również przesyłana jest w formacie JSON.

Wykorzystane technologie
Implementacja usługi została wykonana w języku Java, wykorzystując bibliotekę Apache Axis2, osadzoną w kontenerze serwletów Apache Tomcat 6. Do komunikacji w standardzie OAuth 1.0a (Blip, Twitter) wykorzystano bibliotekę Scribe. W ramach projektu powstała implementacja potrzebnych metod API dla serwisów Blip i Facebook (wykorzystanie standardu OAuth 2.0). Jako API serwisu Twitter wykorzystana została biblioteka jTwitter. Projekt zarządzany jest za pomocą Apache Maven2.

Przydatne linki

Odpowiedz

Filtered HTML

  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Plain text

  • Znaczniki HTML niedozwolone.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Znaki końca linii i akapitu dodawane są automatycznie.
2 + 11 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.