Archive for the ‘erlang’ tag
Microsoft comes to age – AMQP
Sõnumihalduse vahekihtides hakkab väike revolutsioon kerkima. Siiani on enamus Messaging Middleware lahendusi olnud tootja spetsiifilised ning mis veelgi masendavam suletud ökosüsteemid tüüpiliselt java programeerimiskeeles ning enamasti koos konkreetse tootja suletud biblioteekidega. IBM MQSeries, Tibco Rendezvous või parimal juhul “standardiseeritud” JMS pakuvad ainult konkreetset API’t.
Aga protokolli ei paku.
Ehk ilma konkreetse tootja biblioteekideta midagi ühilduvat teha oli vägagi lootusetu. Umbes nagu veelahe IT ja Telecomi maailma vahel. Teises neist on harjutud olukorraga, et erinevate tootjate lahendused peavad koos töötama hoolimata erinevast riistvarast ning tüüpiliselt ka hoolimata totaalselt erinevast programeerimiskeskkonnast. Kuni erinevate programeerimiskeelteni välja. Kui juba on GSM mobiil, siis erinevad tootjad peavad omavahel traati mööda käiva protokolliga hakkama saama.
Messaging Middleware juures on selliseks traati mööda käivaks protokolliks AMQP.
Loodetakse, et sellest saab tootja spetsiifiliste lahendustele korralik konkurent (Can AMQP break IBM’s MOM monopoly?).
Ja tundub, et Microsoft on seekord avatud lahenduste paadis:
- http://www.interopnews.com/analysis/microsoft-embraces-amqp-open-middleware-standard.html.
- http://bryanche.blogspot.com/2008/10/welcome-to-amqp-microsoft.html
- Slashdot – Microsoft Embraces AMQP Open Middleware Standard
Üks edevamaid implementatsioone on RabbitMQ. Muide, erlangis kirjutatud.
erlang middleware.. on mida vaadata..
Täna oli kontoris väike arutelu teemal, kas ning kuidas õnnestuks ära kasutada üha populaarsemaks muutuvaid sotsiaalse võrgustiku vidinaid internetis.
Järjest kerkisid üles igasugu edevad märksõnad nagu twitter, facebook, keskus jne.. Edasi tuli loomilikult igasugu sügav tehnoloogiline jutt, kuidas neid ära kasutada ja sisuda. Jutu sisse tekkisid märksõnad nagu openid, REST.
Edasi hakkasid juba endal mõtted keerlema, milliseid vahendeid nendega tegelemiseks on kättesaadaval. Loomulikul uurisin kiiksuga inimesena (erlangi fännina s.t.), mis komponendid on olemas või lihtsalt teostatavad. Ringi surfates ja googlisse märksõnu toksides jäi silma, et ka needsamad suurte märksõnadega saidid kasutavad erlangi seal kus otstarbekas.
Tulemused umbes sellised:
- twitter, facebook – http://debasishg.blogspot.com/2008/08/erlang-as-middleware.html
- del.icio.us – http://blog.socklabs.com/2008/07/delicious_is_gone_long_live_de
- twitteri kloon twoorl – http://yarivsblog.com/articles/2008/05/28/announcing-twoorl-an-open-source-erlyweb-based-twitter-clone/
- AMQP – RabbitMQ
- erlyweb – http://erlyweb.org/
- scalaris – skaleeruv, veakindel, struktueeritud, transaktsioonidega p2p storage mootor
- CouchDB – http://incubator.apache.org/couchdb/
Ühesõnaga hunnik huvitavaid töövahendeid üsna valmis kujul olemas. Järsku peaks midagi neist ehitama? Materjali nagu ju oleks? Ja pagan, kui Yariv kirjutas twitteri klooni 2-3 päevaga..
hello world..
Iga asi algab algusest. Kui asi on kuidagigi seotud programmerimisega, siis on alguseks mingisugunne “hello worldi” ekraanile trükkimine. Näiteks erlangis käib see umbes nii:
-module(hello).
-export([world/0]).
world() ->
io:format("Hello world~n").
Aga kogu selle kirjutamise käigus armastab wordpress kuidagi vastikult asju ümber formattida. Huvitav, kuidas kogenud kasutajad postitavad artikkleid, kus on preformatitud koodi sees?
Proovime, kas nüüd on parem:
print_numbers(N) ->
[io:format("~p ", [X]) || X < - lists:seq(N)].