Permalänk

Plattformoberoende serialisering

Jag håller på med ett examensarbete där jag kommer ha kommunikation mellan mobilapp och en server skriven i java. Appen kommer skrivas till Android, men jag vill lämna dörren öppen för andra OS, då främst IOS, och vill därav använda mig av en välkänd standard.
Som del av examensarbetet har jag tänkt mig att utvärdera olika standarder och olika implementationer av dessa standarder. Främst blir det JSon och XML med diverse API's respektive. Har också sneglat på EXI men denna verkar, än så länge, endast ha en kommersiell API-stöd på IOS, så kommer nog låta bli den även om jag kanske även utvärderar dess prestanda mellan android och java server.

Har själv läst en del och kommer förbjuda mig mycket mer också, men skulle gärna vilja ha lite tips av er på teknologier/API'er som ni tycker är relevanta och jag inte borde missa. Kommer inte kunna utvärdera alla, men vill gärna få med dom mest relevanta.

Visa signatur

e6600@3.2GHz@1.35v + P5B deluxe + corsair 2gb pc6400 + HD4350 m.m.

Permalänk
Medlem

Brukar själv köra på JSON för de mesta, å REST lr REST liknande resurser, föredrar det över XML som har för mkt lull å krafs
JSON har jag även använt en hel del i Android också, mycket lätt att ladda in data och mappa den till objekt (1 rad kod ja).

Visa signatur

Spelrigg: 800D| i7 3930K@4,7 GHz - Custom WC | 32 GB Kingston HyperX Beast | 7970 GHz X-Edition |1x30 Dell U3011, 2x27" | Sennheiser HD650 | Xonar Essence STX |
Laptop: G74SX 17,3" 120 Hz 3D |
Server: Phenom II X4 955BE | Corsair XMS3 8 GB | 16 HDDs, 27 TB |
HTPCs: ASUS EEE Box 1.8 Ghz | Blu-Ray | OCZ Vertex 2 60 GB | 4 GB RAM |

Permalänk

+1 för JSON.

Permalänk
Skrivet av Gnejs:

Brukar själv köra på JSON för de mesta, å REST lr REST liknande resurser, föredrar det över XML som har för mkt lull å krafs
JSON har jag även använt en hel del i Android också, mycket lätt att ladda in data och mappa den till objekt (1 rad kod ja).

JSON verkar onekligen mycket trevligare än XML och skulle det inte vara ett examensarbete skulle jag valt första bästa populära API för JSON och använt det. Tyvärr räknas inte högst upp på Google som "vetenskaplig grund" :/ Därav tänkte jag prova några olika tekniker och benchmarka. Men frågan är vilka man ska testa? Och vilka JSON och XML API:er brukar ni använda er av?

Visa signatur

e6600@3.2GHz@1.35v + P5B deluxe + corsair 2gb pc6400 + HD4350 m.m.

Permalänk
Medlem
Skrivet av sl2wm-rocks:

JSON verkar onekligen mycket trevligare än XML och skulle det inte vara ett examensarbete skulle jag valt första bästa populära API för JSON och använt det. Tyvärr räknas inte högst upp på Google som "vetenskaplig grund" :/ Därav tänkte jag prova några olika tekniker och benchmarka. Men frågan är vilka man ska testa? Och vilka JSON och XML API:er brukar ni använda er av?

Just JSON och XML är ju bara två sätt att strukturera data på så det behöver inte direkt knutet till service 'tekniken' om det är det du syftar på när du menar API:er.
Kan vara värt och testa olika kombinationer, t.ex. REST med JSON, REST med SOAP, .NET WebServices osv. Kan säkert vara värt och kolla på WSDL(för definitioner, samt kodgenerering osv) samt väga för å nackdelar mellan t.ex. JSON-REST och SOAP WSes när det kommer till overhead, versionshantering vid förändring i APIer, säkerhetsaspekter, t.ex. hur man löser "inloggning", användning av API nycklar osv Jadu finns massa att kolla på som kan vara del av utredningen i exjobbet, bara börja läsa Finns säkert fler tekniker men har själv ingen erfarenhet av dem^^

Visa signatur

Spelrigg: 800D| i7 3930K@4,7 GHz - Custom WC | 32 GB Kingston HyperX Beast | 7970 GHz X-Edition |1x30 Dell U3011, 2x27" | Sennheiser HD650 | Xonar Essence STX |
Laptop: G74SX 17,3" 120 Hz 3D |
Server: Phenom II X4 955BE | Corsair XMS3 8 GB | 16 HDDs, 27 TB |
HTPCs: ASUS EEE Box 1.8 Ghz | Blu-Ray | OCZ Vertex 2 60 GB | 4 GB RAM |

Permalänk

Är servern skriven i Java så har ju Java EE 6 bra stöd out of the box när det gäller json och xml genom JAX-RS. Du kan ocskå kika på JAX-WS för att generera SOAP. Du kan kankse kolla in olika ramverk så som Play! och till och med Spring.

Jag kanske inte svara på din fråga riktigt.
Vad menar du med API i den här frågan, det verkar som du är ute efter allmänna bibliotek som serialiserar/deserialiserar vilka objekt som helst till och från och till JSON/XML/SOAP?

EDIT: Gnejs kom med några bra förslag där. Minnesanvändning och overhead är nog intressant att kolla på när det gäller mobila klienter tex.

Visa signatur

The statement below is true.
The statement above is false.

Permalänk
Medlem

http://json.org/ förklarar det mesta som har med JSON att göra, och länkar dessutom till ett antal olika bibliotek för att serialisera till just JSON. Många språk har redan stöd inbyggt, men det finns även lite alternativ (som finns på json.org). JSON är i grunden skapat för att vara så simpelt som möjligt, och så enkelt som möjligt att implementera, vilket inte direkt kan sägas för XML.

I övrigt håller jag med de ovan. Jag kommer inte ens ihåg när jag senast använde XML. Enda gångerna jag skulle kunna tänka mig att använda XML är om jag av någon anledning inte kan använda JSON, en situation som ännu inte uppstått, har alltid gått att lösa på nått vis.

Här är även ett klipp med Douglas Crockford som "skapade" (för att vara exakt så standardiserade han JSON, och gjorde det populärt) JSON: http://www.youtube.com/watch?v=-C-JoyNuQJs

Permalänk
Skrivet av ministerkrister:

Är servern skriven i Java så har ju Java EE 6 bra stöd out of the box när det gäller json och xml genom JAX-RS. Du kan ocskå kika på JAX-WS för att generera SOAP. Du kan kankse kolla in olika ramverk så som Play! och till och med Spring.

Jag kanske inte svara på din fråga riktigt.
Vad menar du med API i den här frågan, det verkar som du är ute efter allmänna bibliotek som serialiserar/deserialiserar vilka objekt som helst till och från och till JSON/XML/SOAP?

EDIT: Gnejs kom med några bra förslag där. Minnesanvändning och overhead är nog intressant att kolla på när det gäller mobila klienter tex.

Jo jag var lite otydlig, men det är bibliotek jag menar. Jag kommer ju prova det inbyggda stödet för XML och JSON i Java EE 6 och Android, men också testa andra bibliotek, såsom Jackson, för detta ändamål som använder sig av JSON/XML eller något annat men med krav att det stöds i Android och IPhone(även om detta kommer jag inte att prova, bara lämna dörren öppen för att senare lätt kunna använda samma server). Har inte hunnit sätta in mig alls mycket än så länge men protobuf och Apache thrift är något som jag också hunnit snappa upp och tänkte titta lite mer på.

Är helt enkelt ute efter tips på både tekniker och bibliotek med grundkravet att det stöds i Java SE/EE, Android och IPhone.

Förövrigt så var det ett bra tips det där med minnesanvändning, tack, hade faktiskt inte tänkt på det (än iaf), overhead har jag dock redan planerat att titta på.

Visa signatur

e6600@3.2GHz@1.35v + P5B deluxe + corsair 2gb pc6400 + HD4350 m.m.