Sitter och funderar på att skriva ihop en klient-server-applikation, dvs ett distribuerat system.
När jag ska välja meddelandeformat och transportsätt så finns det några alternativ. Ett är naturligtvis att använda http och xml, då blir det väl en s.k. Web service. Alternativet är väl att skriva ett eget specifikt protokoll och ett binärt format.
Vad är egentligen för och nackdelarna i dessa format?
Som jag har förstått det är att ifall man använder http, så är det mesta av internets infrastruktur anpassad för det och kan därför använda proxies och cachning, och brandväggar mycket bättre.
Fördelningen med xml ska väl vara att det är läsbart för människor, och generellt med datatyper. Men detta format tar ju en hel del plats, därför vill man gärna komprimera trafiken och gärna kryptera den, då känns det som hela poängen med ett läsbart format försvinner, om inte jag har förstått det fel?
Är det något jag har missat eller har jag förstått detta rätt?
Många frågor :) Fördelarna med en webservice är precis de som du nämner. Det är standard och använder http som transport protokoll vilket gör det enkelt att få igenom brandväggar, proxies, etc. Det är bra om du har en service som du vill låta en 3:e part använda eftersom du kan validera indatat som du får via ett schema, och skickar användaren felaktigt data kan den på en gång se vad som är fel, och du slipper få in skräp i ditt system. XML är precis som du säger mänskligt läsbart, vilket gör det överskådligt under utveckling och felsökning.
Fördelarna med ett eget (och kanske binärt) format är att du kan optimera det utifrån dina behov. Det kan minska bandbredd vid överföringen, osv. Systemet blir mer slutet och försvårar för 3:e part att använda det (vilket kan vara både en fördel och en nackdel givetvis).
Kryptering av datat kan som sagt vara bra, men sköts normalt på ett annat lager, vanligtvis via SSL. Datat är fortfarande läsbart i båda ändarna, men på mitten (läs valfri router ute på internet) är det inte läsbart, vilket det givetvis inte skall vara där.
En nackdel med webservice och Xml är att det är ett långsamt sätt att skicka dataposter på ... ha detta i åtanke när du designar systemen ..... att uppdatera 20000 poster via webservice låter sig inte göras så enkelt
276 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25