ruby to the rescue!

Download Ruby to the Rescue!

If you can't read please download the document

Upload: senad-uka

Post on 27-Jun-2015

390 views

Category:

Technology


2 download

DESCRIPTION

Sarajevo Ruby meetup / 20.6.2013. Senad Uka

TRANSCRIPT

  • 1. Ruby to the Rescue!

2. Agenda About me What is this not about Ruby to the Rescue! 3. About me Senad Uka (twitter: @senaduka) A-net d.o.o., Compusight d.o.o. Today: Six Sigma Software d.o.o. 4. About me On the side: M0 http://www.mhalka.com FlapsApps http://www.flapsapps.com Ruby and I: End of 2005. (Rails 1.0 release!) 5. What is this not about? Ruby rescue statement Rails Its not cool anymore ;) 6. A beautiful summer day 7. Vacation 8. The Project Logistics industry 1 month to the first phase production Web Application + Integration software Canceled vacation plans ! 9. Web Application ASP.NET Web Forms MS SQL SERVER Windows Server 10. UN/EDIFACT Integration 4 kinds of messages 2 way communication (over FTP serverrunning on IBM System/360?!) Cca. 500 printed pages of computerunreadable specification Cca. 5% chance of errors (syntax &semantics) 11. EDIFACT SAMPLE UNA:+.? UNB+UNOC:3+4023083000008+1929+110906:1458+346 UNH+M110906145822A+IFCSUM:S:93A:UN BGM+787+172 FTX+SPH++T CNT+10:4:PCE CNT+7:330:KGM CNT+11:10:PCE RFF+FF:0100000545196900172 DTM+171:20110906:102 TDT+20++3+31:BARCELONE++++:::BARCELONE:F DTM+186:201109061048:203 NAD+CS+54665033400396 DOC+787+172 DTM+137:20110906:102 NAD+DC+1902 NAD+F03+1902 EQD+SW+339YE85 CNI+1+4230783213DTM+137:20110905:102TSR+++7UNA:+.? UNB+UNOC:3+4023083000008+INTERSPEDS+130531:2353+1389UNH+M130531235340A+IFCSUM:S:93A:UNBGM+787+425CNT+10:11:PCECNT+7:3164:KGMCNT+11:87:PCERFF+FF:0100000300171300425DTM+171:20130531:102TDT+20++3+31++++:::SARAJEVO 01?:15:SRBDTM+186:201305312353:203NAD+CS+04900000300DOC+787+425DTM+137:20130531:102NAD+DC+INTERSA01CNI+1+4028417482DTM+137:20130528:102TSR+++3MOA+116:3581.75:EURFTX+ACB+++EXPORT NOTIFICATION?: 13PL445010E0083932 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+ACB+++NIE PI TROWAFTX+ACB+++OS. KONT. SELMIR SABITOV, 0038735279196FTX+ACB+++WYCENA WDL. OFERTY?:3244444 ; 120,57 EURTOD+5++DD1RFF+FF:04028417482RFF+CR:FSE-44/13/FSEGOR+1+5DOC+830+13PL445010E0083932 DTM+137:201305271538:203NAD+CZ+00146561++BIUROMAX SP. Z O.O.+UL. SOLEC 156 A+BANIOCHA++05-532+PLNAD+CN+00001007++GIZMO D.O.O. ZA PROMET I USLUG+STUPINE B6 / LAMELA 7+TUZLA++75000+BAGID+1+1:EPFTX+AAA+++TUSZE,TONERY,CZCIMEA+WT+AAE+KGM:240MEA+VOL++MTQ:1.008DIM+1+M:1.2:0.8:1.05PCI+24+00340258760563375862PCI+28+FSE-44/13/FSECNI+2+1114738181DTM+137:20130530:102TSR+++3+HAZMOA+116:286.5:EURFTX+ACB+++COMERCIAL INVOICE?: 202009647FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+DIN+++WARE IST NICHT STAPELBAR!!!TOD+5++DD1RFF+FF:01114738181RFF+CR:330454GOR+1+5DOC+380+202009647DTM+137:201305141953:203NAD+CZ+11032163++CTA GMBH+INDUSTRIESTR. 2+BIETIGHEIM-BISSINGEN++74321+DENAD+CN+00001004++DIT TUZLA BO:BLAZENKA MARKOVIC+V. IVANOVICA 31+TUZLA++75000+BAGID+1+1:PEFTX+AAA+++NALCO VARIDOS LASERCMEA+WT+AAE+KGM:17MEA+VOL++MTQ:0.113PCI+24+00340228090132716635PCI+28+380/ 202009647DGS+ADRFTX+ADW+++LQMEA+WT+AAE+KGM:11CNI+3+4028494560DTM+137:20130529:102TSR+++3+HAZMOA+116:10711.56:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE810377614381E0 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !TOD+5++DD1RFF+FF:04028494560RFF+CR:1729256GOR+1+5DOC+830+13DE810377614381E0 DTM+137:201305281406:203NAD+CZ+18019513++DREVE OTOPLASTIK GMBH+MAX-PLANCK-STR. 31+UNNA++59423+DENAD+CN+00001025++WIDEX SLUSNI APARATI D.O.O.:MR RASIM GRANULO+GRADACACKA 29 A+SARAJEVO++71000+BAGID+1+1:PEFTX+AAA+++ROHR,SCHLAUCH,LACK.MEA+WT+AAE+KGM:196MEA+VOL++MTQ:0.686DIM+1+M:0.6:0.8:1.43PCI+24+00340258760564496900PCI+28+1729256DGS+ADRFTX+ADW+++LQMEA+WT+AAE+KGM:1CNI+4+4028495569DTM+63:201306040000:203DTM+137:20130530:102TSR+++3+HAZMOA+116:2690:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE505277624224E7 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+DEL+++20 SACK SIND AUF EINER PALETTEFTX+DIN+++DELIVERY DATE?: DUE TO 04.06.2013TOD+5++DD1RFF+FF:04028495569RFF+CR:80023343RFF+DQ:80023343GOR+1+5DOC+830+13DE505277624224E7 DTM+137:20130529851:203NAD+CZ+06003869++HEUBACH GMBH+HEUBACHSTR. 7+LANGELSHEIM++38685+DENAD+CN+00001014++NUTAL D.O.O.+POCULICA+VITEZ++72250+BAGID+1+20:SAFTX+AAA+++HEUCOTRON YELLOWMEA+WT+AAE+KGM:506MEA+LMT++M:0.5PCI+24+00340258760564518275PCI+28+80023343DGS+ADR+6.1:T5+2291++IIIFTX+F02+++SA::20FTX+AAD+++BLEIVERBINDUNG, LOESLICH, N.A.G.FTX+AAE+++BLEICHROMATFTX+BAM+++1218FTX+DAC+++1182FTX+RAH+++EFTX+HAZ++15:ZZZMEA+WT+AAE+KGM:500CNI+5+33000486806DTM+137:20130530:102TSR+++3MOA+116:4921.77:EURFTX+DIN+++GOODS UNDER CUSTOMS CONTROL !TOD+5++DD1RFF+FF:33000486806GOR+1+5NAD+CZ+33300427++HYDROCHEM S.R.O.:IAO?: 35861843+OLTESOVEJ 20+BRATISLAVA 1++82108+SKNAD+CN+00001008++HIDROINENJERING PJ BR??KO+UL. BRA??E ??USKI??A 17+BRAKO 1++76101+BAGID+1+1:BIFTX+AAA+++ELEKTROMOTORMEA+WT+AAE+KGM:300PCI+24+00340465760004742473CNI+6+4028460883DTM+137:20130529:102TSR+++3+HAZMOA+116:3219.52:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE955177475557E8 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+DIN+++* BEI ABLIEFERHINDERNISSEN AUSSCHLIESLICH KONTAKTAUFNAHMEFTX+DIN+++* MIT DACHSER ROTTENBURG, TEL. 07457/730-150.FTX+DIN+++* KEINE ZUSTELLAVISIERUNG BEIM EMPFANGER !FTX+DIN+++RE.AE ANBEI!!TOD+5++DAFRFF+FF:04028460883RFF+CR:832487GOR+1+5DOC+830+13DE955177475557E8 DTM+137:201305281655:203NAD+CZ+08029838++IVM CHEMICALS GMBH+JOHANNES-KEPLER-STR. 3+HERRENBERG++71083+DENAD+CN+00001010++JAVOR+RUDI CAJAVACA 3+PRIJEDOR++79000+BALOC+11+BOSNIEN-HERZEGOWINAGID+1+53:BIFTX+AAA+++HOLZLACKE UND HARTERMEA+WT+AAE+KGM:598PCI+24+00340258760564730592PCI+28+832487DGS+ADR+3:F1+1263++IIFTX+F02+++BU::12FTX+AAD+++FARBEFTX+BAM+++8619FTX+DAC+++7575FTX+RAH+++D/EMEA+WT+AAE+KGM:300DGS+ADR+3:F1+1263++IIFTX+F02+++KK::18FTX+AAD+++FARBEFTX+BAM+++8619FTX+DAC+++7575FTX+RAH+++D/EMEA+WT+AAE+KGM:45DGS+ADR+3:F1+1263++IIFTX+F02+++BU::7FTX+AAD+++FARBZUBEHOERSTOFFEFTX+BAM+++8563FTX+DAC+++7553FTX+RAH+++D/EMEA+WT+AAE+KGM:155DGS+ADR+3:F1+1263++IIIFTX+F02+++BU::1FTX+AAD+++FARBEFTX+BAM+++3054FTX+DAC+++2624FTX+RAH+++D/EMEA+WT+AAE+KGM:18CNI+7+4256317559DTM+63:201306120000:203DTM+137:20130531:102TSR+++3MOA+116:649.79:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE510277774392E6 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+DIN+++KEINE ANLIEFERUNG IN GITTERBOXEN ! ! !FTX+DIN+++12.06.2013FTX+DIN+++URSPRUNGSERKLARUNG?:FTX+DIN+++THE EXPORTER OF THE PRODUCTS COVERED BY THIS DOCUMENTFTX+DIN+++(CUSTOMS AUTHORIZATION NO. DE/5100/EA/0083) DECLARES THAT,FTX+DIN+++EXCEPT WHERE OTHERWISE CLEARLY INDICATED, THESE PRODUCTS AREFTX+DIN+++CE PREFERENTIAL ORIGIN.TOD+5++DD1RFF+FF:04256317559RFF+CR:81442007GOR+1+5DOC+830+13DE510277774392E6 DTM+137:201305301248:203NAD+CZ+14003803++MARLEY-DEUTSCHLAND GMBH+ADOLF-OESTERHELD-STR. 28+WUNSTORF++31515+DENAD+CN+41060495++OBI BANJA LUKA MARKET 714:AX TROPIC D.O.O+BRANKA POPOVICA 310+BANJA LUKA, REPUBLIKA SRPS++78000+BAGID+1+1:PCFTX+AAA+++BAUBEDARFSARTIKEL,RIMEA+WT+AAE+KGM:181MEA+VOL++MTQ:4.208PCI+24+00340026440179787510:00340026440179787497:00340026440179787503:00340026440179787527:00340026440179787541:00340026440179787534PCI+28+81442007GID+2+3:EPFTX+AAA+++FORMSTUCKE, VERSCHLUPCI+28+81442007GID+3+2:BHFTX+AAA+++ROHRE NAHTLOS AUS POPCI+28+81442007CNI+8+4256315260DTM+137:20130530:102TSR+++3MOA+116:1874.48:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE345477633773E5 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+DIN+++ZUSATZINFO EMPFAENGER?:FTX+DIN+++ZUSATZINFO VERSENDER?:FTX+DIN+++ACHTUNG ZOLLGUT; ANLAGE ZOLLVERSANDSCHEIN-NR.?:FTX+DIN+++AUFTRAGSNR.?: 813957FTX+DIN+++34012090, 39249000, 69120090, 70099200, 73249000,FTX+DIN+++84798997, 94032080, 96039091FTX+DIN+++ACHTUNG ZOLLGUT! ANLAGE ZOLLVERSANDSCHEIN-NR.?:FTX+DIN+++RECHNUNG, AE NR. 13DE345477633773E5, ZTN?:TOD+5++DD1RFF+FF:04256315260GOR+1+5DOC+830+13DE345477633773E5 DTM+137:201305302002:203NAD+CZ+02013046++SANWOOD BAD-AUSSTATTUNGS-:GMBH ?+ CO. VERTRIEBS KG+KASSELER STR. 58+FULDABRUECK++34277+DENAD+CN+41060733++BAU & GARTEN D.O.O.:OBI-MARKET 711+LUZANSKO POLJE 9+SARAJEVO++71000+BAGID+1+1:PEFTX+AAA+++BADAUSSTATTUNGSPRODUMEA+WT+AAE+KGM:162PCI+24+00340395121010288409PCI+28+727887CNI+9+4256128757DTM+137:20130527:102TSR+++3MOA+116:1334.8:EURFTX+DIN+++GOODS UNDER CUSTOMS CONTROL !TOD+5++EXWRFF+FF:04256128757RFF+CR:4028336126GOR+1+5NAD+CZ+00001019++SISAS BG+KUKLENSKO SHOSE BLVD+PLOVDIV++4000+BGNAD+CN+00001022++TIMING DOO TUZLA+PUT KRI#ANI BR 69+TUZLA++75000+BAGID+1+1:STFTX+AAA+++SPEED BUMPMEA+WT+AAE+KGM:930MEA+VOL++MTQ:1.4PCI+24+00338002241819025460CNI+10+4028457465DTM+137:20130529:102TSR+++3MOA+116:144.35:EURFTX+ACB+++EXPORT NOTIFICATION?: 13NL0D968A2BA61330 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+ACB+++10.06.2013 MAX. DELIVERY DATETOD+5++DD1RFF+FF:04028457465RFF+CR:95175940-886494RFF+DQ:0095175940GOR+1+5DOC+830+13NL0D968A2BA61330 DTM+137:201305281527:203NAD+CZ+00132737++VILLEROY & BOCH:WELLNESS BV+DWAZZIEWEGEN 13+RODEN++9301ZR+NLNAD+CN+00001015++ORFEJ DOO+IVANA GORANA KOVACICA BB+BANJA LUKA++78000+BAGID+1+1:PEFTX+AAA+++SANITAIRMEA+WT+AAE+KGM:27MEA+VOL++MTQ:1.12DIM+1+M:0.8:1:1.4PCI+24+00340258760564603056PCI+28+95175940-886494CNI+11+4256305013DTM+137:20130531:102TSR+++3MOA+116:167.2:EURFTX+ACB+++EXPORT NOTIFICATION?: 13DE800377735342E0 FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !FTX+ACB+++LS?: 106379FTX+DIN+++PLEASE TAKE CARE OF COMPLETE DELIVERYFTX+DIN+++* THE PACKING LIST CAN BE FOUND WITH THE GOODSU *TOD+5++DD1RFF+FF:04256305013RFF+CR:SD13086042RFF+DQ:106379GOR+1+5DOC+830+13DE800377735342E0 DTM+137:201305291843:203NAD+CZ+27008525++ZETT LITE LIGHTING GMBH+BOSCHSTRASSE 1-10+HERZEBROCK-CLARHOLZ++33442+DENAD+CN+41060733++OBI SARAJEVO MARKET 711:BAU & GARTEN D.O.O.+LUZANSKO POLJE 9+SARAJEVO++71000+BAGID+1+1:PCFTX+AAA+++LEUCHTENMEA+WT+AAE+KGM:7MEA+VOL++MTQ:0.05PCI+24+00340048940860420013PCI+28+SD13086042UNT+308+M130531235340AUNZ+1+1389 12. UN/EDIFACT Integration BizTalk 13. UN/EDIFACT Integration BizTalk yeah right. 14. UN/EDIFACT Integration C# ? http://www.codeproject.com/Articles/11278/EDIFACT-to-XML-to-Anything-You-Want Static typing Good for bigger projects - they say 15. UN/EDIFACT Integration ~ 10 000 lines of code for description 16. Ruby to the Rescue! Ruby! Edi4r gem 0 lines for describing messages (yaay dynamictyping!) 17. Ruby to the Rescue! Parser 18. Ruby to the Rescue! Parser 19. Ruby to the Rescue! Model (Active Record, MSSQL, LINQ2SQL) 20. Ruby to the Rescue! Putting it together 21. Ruby to the Rescue! Putting it together 22. Generator Easier! Ruby DSL magic! 23. Generator Behind the scenes 24. Result 25. Thank you!