1 Akka, Play & Scala u praksi STJEPAN BULJAT ETNA D.O.O.
[email protected] @sbuljat JavaCro ‘13 – 2nd International Java Conference in Croatia 2 O predavaču… Radim kao voditelj tima za razvoj i istraživanje u tvrtki Etna d.o.o. Završio FER (mag.ing.comp.) i EFZG (univ.spec.oec ) Povijest programiranja: Pascal C Smalltalk Java Scala je privatna tvrtka iz Zagreba osnovana 1990. godine Zapošljava 30ak djelatnika 22 godine iskustva u bankarstvu i informatici Usluge razvoja i uvođenja informatičkih rješenja uz primjenu suvremenih informacijskih tehnologija Usluge prilagodbe i integracije postojećih informatičkih rješenja Usluge poslovne analize i poslovnih konzultacija All rights reserved. Copyright © 2013 Etna d.o.o. | www.etna.hr 16.6.2013. 21:33 3 Akka - Uvod Threads are bad? Ne nužno, ali apstrakcija može biti korisna… tu dolazi Akka Akka je middleware koji omogućuje izgradnju visoko konkurentnih i distribuiranih event-driven aplikacija koje su otporne na greške (eng. fault tolerant ) Komunikacijski model se bazira na asinkronoj razmjeni poruka između dijelova sustava Omogućuje konkurentnost bez dijeljenog promjenjivog stanja i zaključavanja resursa Osnovni gradivni element u Akka-i je ACTOR Location Transparent & Distributable by Design Actor Model je definirao Carl Hewitt 1973, ali zasluge za popularizaciju ipak pripadaju Erlangu Actori omogućuju Jednostavnu apstrakciju konkurentnosti i paralelizma Asinkroni, ne blokirajući i jako učinkovit event-driven programski model Lightweight event-driven procese (cca 2.7M actora po GB Heap-a) All rights reserved. Copyright © 2013 Etna d.o.o. | www.etna.hr 16.6.2013. 21:33 4 Akka – Actor Actor može biti alternativa za: Thread, Component, Listener , Service, Load balancer , EJB SB / MDB, … Osnovne actor operacije DEFINE CREATE SEND BECOME SUPERVISE All rights reserved.