Wednesday, June 11, 2014

2014-05-06 Pisanie i testowanie programów pod kątem integralności danych

Na ostatnim spotkaniu JUG Łódź Marek Strejczek z firmy Rule Financial wprowadził nas w ważny świat integralności danych. Prostymi przykładami oraz przystępnym wstępem teoretycznym przedstawił co to znaczy integralność danych, kiedy potrzebujemy takiej integralności i jakie są sposoby by ją osiągnąć.

Przypomnieliśmy sobie co znaczy ACID, oraz jak działają transakcje. Marek przedstawił też model BASE, który rozwinąć można do Basic Availability, Soft-state, Eventual consistency. Dowiedzieliśmy się jak do integralności danych podchodzą banki na przykładzie bankomatu a jak podchodzi Amazon na przykładzie kupowania książek.

Na spotkaniu nie obyło się bez działającego przykładu. Marek przedstawił nam prosty system zbudowany w oparciu o kilka interesujących technologii:

  • Active MQ
  • MySQL
  • JBoss
  • JBehave
  • Apache Camel

System składał się z dwóch kolejek, serwisu oraz bazy danych. Serwis miał na celu pobranie danych z kolejki wejściowej, umieszczenie danych w bazie danych a potem wrzucenie odpowiedzi na kolejkę wyjściową.

Za pomocą narzędzia Byteman Marek doprowadził do błędów w działającym systemie przez co została uszkodzona integralność danych w przykładowej bazie. Zaprezentowane zostały specjalne historyjki BDD napisane w JBehave sprawdzające reakcję systemu na wypadek porażki jak i sukcesu.

Na koniec prezentacji rozmawialiśmy o Shared Resource Pattern i jakie problemy rozwiązuje.

Jako, że było to pierwsze spotkanie w miesiącu, rozlosowaliśmy jedną licencję na jeden z produktów JetBrains. Na najbliższym spotkaniu JUG Łódź będziemy mieli okazję posłuchać wujka Boba na temat Dependancy Injection.

Jeżeli jesteście zainteresowani koniecznie zarejestrujcie się na spotkanie na naszym JUG-owym meetupie. Link do meetup-a:

http://www.meetup.com/Java-User-Group-Lodz/events/184627302/

Do zobaczenia na spotkaniu.

No comments:

Post a Comment