Integrate Social into Enterprise - JavaCro Conference · Neos profil Op ćenito › Utemeljeno 2002...
Transcript of Integrate Social into Enterprise - JavaCro Conference · Neos profil Op ćenito › Utemeljeno 2002...
Integrate Social into Enterprise
Tuhelj, 03. lipanj
TIHOMIR TOMAŠEVIĆ
EMINA ELEZOVIĆ
Integrate Social into Enterprise
Neos profilOpćenito
› Utemeljeno 2002› 30 zaposlenih› Specijalizirani za područje poslovne inteligencije i skladištenja podataka,
Java/Oracle razvoj aplikativnih rješenja i konzultantke usluge
Kompetencije› Više od 10 godina iskustva na projektima s velikim i srednjim korisnicima u
Hrvatskoj, regiji i Europi
26SLIDE 2 16.6.2013.2
Hrvatskoj, regiji i Europi› Certificirani stručnjaci (Oracle Certified Professional, Specialists, Experts…)› Veliki broj uspješno završenih projekata i zadovoljnih korisnika
Oracle Partner - Gold Level› Od 2002
Specialized Oracle BI Foundation Partner› tada (3/2011) kao jedna od tek 30-ak tvrtki u svijetu
Specialized Oracle ADF Partner› Druga tvrtka u svijetu (12/2011)
Područja djelatnosti
26SLIDE 3 16.6.2013.3
› Razvoj i rješenja – temeljeni na iskušanim metodologijama, tehnologijama i produktima
• Oracle RDBMS, OBI EE, Essbase, OWB, ODI... • Metodologije – Oracle OUM (CDM/DWM), PMI PMBOK, IBM RUP
› Partnerski odnos s vodećim IT tvrtkama• Oracle, IBM, Microsoft
› AZfond (obvezni i dobrovoljni fondovi)› Croatia Osiguranje d.d.› ERSTE d.d.› HEP
NEOS - Klijenti
26SLIDE 4 16.6.2013.4
› HEP› HZZO› ISBank (Turska)› PBZ d.d.› Sitronics Telecom Solutions (Češka)› T-com (Makedonija)› Vipnet d.d.› ZABA d.d.
Društvene mreže
› Online servis/platforma/stranica › Objedinjavanje ljudi sa zajedničkim interesima,
hobijima
26SLIDE 5 16.6.2013.5
hobijima› Facebook, Twitter, LinkedIn, Google+... › Psihologija grupe› Crowdsoursing› Crowdfunding
LJUDI IMA ČETKICU ZA ZUBE
4.8 mlrdLJUDI IMA SMARTPHONE
200 milLJUDI JE NA LINKEDINU
26SLIDE 6 6/16/20136
200LJUDI JE NA LINKEDINU
SVAKE MINUTE NA YOUTUBE SE POSTAVI
SATA VIDEOMATERIJALA
955 mil
NA FACEBOOKSE SVAKE MINUTE
POSTAVI OKO
174.000
FOTOGRAFIJA
165 mil ljudi
64%HRVATA
JE ONLINE
800.000HRVATA IMA SMARTPHONE
234.54952.000
26SLIDE 7 6/16/20137
234.549HRVATA JE NA GOOGLE+
229.212HRVATA JE NALINKEDINU
1.642.200HRVATA JE NA FACEBOOKU
52.000HRVATA JE NA TWITTERU
Sustav s podrškom društvenih mreža
26SLIDE 16.6.2013.8
› Povećanje ROI-a› Povećanja broja korisnika› Promocija C2C
Promocija putem društvenih mreža
26SLIDE
› Promocija C2C› Karlovačka pivovara
16.6.2013.9
› Nedostatak službenih Java API-ja› Loša dokumentacija i upute› Izmjene u adresama servisa i strukturi podataka
Java i društvene mreže
26SLIDE
› Izmjene u adresama servisa i strukturi podataka› Parsiranje JSON podataka – izgradnja
relacijskog modela?› Privatnost korisnika - dopuštenja za rad s
podacima
16.6.2013.10
OAuth protokol
26SLIDE 16.6.2013.11
› Neslužbeni Facebook Java API-ji: • facebook-java-api – klijent kojeg je razvio
Facebook – trenutno je mrtav projekt,
Facebook i Java
26SLIDE
Facebook – trenutno je mrtav projekt, zamjena je restfb
• Spring Social Facebook› Razvoj vlastitih servisa
16.6.2013.12
› Otvaranje virtualne Facebook aplikacije › OAuth protokol › Korištenje App ID i App Secret vrijednosti kod
Spajanje na Facebook
26SLIDE
› Korištenje App ID i App Secret vrijednosti kod dobivanja tokena za pristup, npr. poziv servisa za autorizaciju aplikacije
• https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
› Postoje javni i privatni podaci – scope
› Za razmjenu podataka koristi se JSON
16.6.2013.13
Facebook aplikativna konzola
26SLIDE 16.6.2013.14
Facebook autentifikacijski dijalog
26SLIDE 16.6.2013.15
Upit o osobnim podacima o meni s parametrom scope=email{
"id": "1070779263", "name": "Tihomir Tomašević", "first_name": "Tihomir",
JSON format podataka
26SLIDE
"first_name": "Tihomir", "last_name": "Tomašević", "link": "http://www.facebook.com/tihomir.tomasevic", "username": "tihomir.tomasevic", "gender": "male", "email": "[email protected]", "timezone": 2, "locale": "en_GB", "verified": true, "updated_time": "2013-05-08T14:18:58+0000„
}
16.6.2013.16
› U svakom upitu je obavezan parametar access_token, npr:
Primjeri Facebook REST poziva
26SLIDE
https://graph.facebook.com/me?access_token=...https://graph.facebook.com/tihomir.tomasevic?access_token=...https://graph.facebook.com/tihomir.tomasevic/likes?access_token=...https://graph.facebook.com/tihomir.tomasevic/friends?access_token=...https://graph.facebook.com/cocacola?access_token=...https://graph.facebook.com/cocacola/feed?access_token=...
16.6.2013.17
Podaci o Facebook korisniku
id name first_name middle_name last_name gender
locale languages link username age_range third_party_id
installed timezone updated_time verified bio birthday
cover currency devices education email hometown
interested_in location political payment_pricepoints favorite_athletes favorite_teams
26SLIDE
picture quotes relationship_status religion security_settings significant_other
video_upload_limits website work accounts achievements activities
albums apprequests books checkins events family
feed friendlists friendrequests friends games groups
home inbox interests likes links locations
movies music mutualfriends notes notifications outbox
payment_transactions payments permissions photos photos/uploaded picture
pokes posts questions scores sharedposts statuses
subscribedto subscribers tagged television updates videos
16.6.2013.18
Primjer iz prakse
26SLIDE 16.6.2013.19
Twitter i Java
› Neslužbeni Twitter Java API-ji:• Twitter4J• Spring Social Twitter
26SLIDE
• Spring Social Twitter› Razvoj vlastitih servisa
16.6.2013.20
Spajanje na Twitter
› Otvaranje virtualne Twitter aplikacije› OAuth/REST› Consumer Key i Consumer Secret se koriste za
26SLIDE
› Consumer Key i Consumer Secret se koriste za aplikativni pristup servisima
› Za objavljivanje poruka u ime nekog korisnika trebaju izričita dopuštenja
› Za razmjenu podataka koristi se JSON
16.6.2013.21
Twitter aplikativna konzola
26SLIDE 16.6.2013.22
Twitter request
POST /1/statuses/update.json?include_entities=true HTTP/1.1 Accept: */* Connection: closeUser-Agent: OAuth gem v0.4.4 Content-Type: application/x-www-form-urlencodedAuthorization: OAuth
26SLIDE
Authorization: OAuthoauth_consumer_key="xvz1evFS4wEEPTGEFPHBog", oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg", oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1318622958", oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb", oauth_version="1.0"
Content-Length: 76 Host: api.twitter.comstatus=Hello%20Ladies%20%2b%20Gentlemen%2c%20a%20signed%20OAuth%20reque
st%21
16.6.2013.23
Twitter Wall
26SLIDE 16.6.2013.24
Big Data
› Vrlo velike količine podataka› Prikupljanje svih postova na Facebook-u i
Twitter-u u queue-ove
26SLIDE
Twitter-u u queue-ove› Semantički algoritmi za obradu teksta› Dodjeljivanje značenja sadržaju, priprema
statističkih podataka
16.6.2013.25
Pitanja?
› Više tehničkih detalja o izvedbi konekcije na Facebook na:
26SLIDE
http://www.adfkickstart.com/blog
16.6.2013.26