SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Ruby to the Rescue!
Agenda
● About me
● What is this not about
● Ruby to the Rescue!
About me
● Senad Uka – (twitter: @senaduka)
● A-net d.o.o., Compusight d.o.o.
● Today: Six Sigma Software d.o.o.
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!)
What is this not about?
● Ruby “rescue” statement
● Rails
– It's not cool anymore ;)
● A beautiful summer day
● Vacation
The Project
● Logistics industry
● 1 month to the first phase production
● Web Application + Integration software
● Canceled vacation plans !
Web Application
● ASP.NET Web Forms
● MS SQL SERVER
● Windows Server
UN/EDIFACT Integration
● 4 kinds of messages
● 2 way communication (over FTP server
running on IBM System/360?!)
● Cca. 500 printed pages of computer
unreadable specification
● Cca. 5% chance of errors (syntax &
semantics)
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+4230783213'
●
DTM+137:20110905:102'
●
TSR+++7'
●
UNA:+.? '
UNB+UNOC:3+4023083000008+INTERSPEDS+130531:2353+1389'
UNH+M130531235340A+IFCSUM:S:93A:UN'
BGM+787+425'
CNT+10:11:PCE'
CNT+7:3164:KGM'
CNT+11:87:PCE'
RFF+FF:0100000300171300425'
DTM+171:20130531:102'
TDT+20++3+31++++:::SARAJEVO 01?:15:SRB'
DTM+186:201305312353:203'
NAD+CS+04900000300'
DOC+787+425'
DTM+137:20130531:102'
NAD+DC+INTERSA01'
CNI+1+4028417482'
DTM+137:20130528:102'
TSR+++3'
MOA+116:3581.75:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13PL445010E0083932 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+ACB+++NIE PI TROWA'
FTX+ACB+++OS. KONT. SELMIR SABITOV, 0038735279196'
FTX+ACB+++WYCENA WDL. OFERTY?:3244444 ; 120,57 EUR'
TOD+5++DD1'
RFF+FF:04028417482'
RFF+CR:FSE-44/13/FSE'
GOR+1+5'
DOC+830+13PL445010E0083932 '
DTM+137:201305271538:203'
NAD+CZ+00146561++BIUROMAX SP. Z O.O.+UL. SOLEC 156 A+BANIOCHA++05-532+PL'
NAD+CN+00001007++GIZMO D.O.O. ZA PROMET I USLUG+STUPINE B6 / LAMELA 7+TUZLA++75000+BA'
GID+1+1:EP'
FTX+AAA+++TUSZE,TONERY,CZCI'
MEA+WT+AAE+KGM:240'
MEA+VOL++MTQ:1.008'
DIM+1+M:1.2:0.8:1.05'
PCI+24+00340258760563375862'
PCI+28+FSE-44/13/FSE'
CNI+2+1114738181'
DTM+137:20130530:102'
TSR+++3+HAZ'
MOA+116:286.5:EUR'
FTX+ACB+++COMERCIAL INVOICE?: 202009647'
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+DIN+++WARE IST NICHT STAPELBAR!!!'
TOD+5++DD1'
RFF+FF:01114738181'
RFF+CR:330454'
GOR+1+5'
DOC+380+202009647'
DTM+137:201305141953:203'
NAD+CZ+11032163++CTA GMBH+INDUSTRIESTR. 2+BIETIGHEIM-BISSINGEN++74321+DE'
NAD+CN+00001004++DIT TUZLA BO:BLAZENKA MARKOVIC+V. IVANOVICA 31+TUZLA++75000+BA'
GID+1+1:PE'
FTX+AAA+++NALCO VARIDOS LASERC'
MEA+WT+AAE+KGM:17'
MEA+VOL++MTQ:0.113'
PCI+24+00340228090132716635'
PCI+28+380/ 202009647'
DGS+ADR'
FTX+ADW+++LQ'
MEA+WT+AAE+KGM:11'
CNI+3+4028494560'
DTM+137:20130529:102'
TSR+++3+HAZ'
MOA+116:10711.56:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13DE810377614381E0 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
TOD+5++DD1'
RFF+FF:04028494560'
RFF+CR:1729256'
GOR+1+5'
DOC+830+13DE810377614381E0 '
DTM+137:201305281406:203'
NAD+CZ+18019513++DREVE OTOPLASTIK GMBH+MAX-PLANCK-STR. 31+UNNA++59423+DE'
NAD+CN+00001025++WIDEX SLUSNI APARATI D.O.O.:MR RASIM GRANULO+GRADACACKA 29 A+SARAJEVO++71000+BA'
GID+1+1:PE'
FTX+AAA+++ROHR,SCHLAUCH,LACK.'
MEA+WT+AAE+KGM:196'
MEA+VOL++MTQ:0.686'
DIM+1+M:0.6:0.8:1.43'
PCI+24+00340258760564496900'
PCI+28+1729256'
DGS+ADR'
FTX+ADW+++LQ'
MEA+WT+AAE+KGM:1'
CNI+4+4028495569'
DTM+63:201306040000:203'
DTM+137:20130530:102'
TSR+++3+HAZ'
MOA+116:2690:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13DE505277624224E7 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+DEL+++20 SACK SIND AUF EINER PALETTE'
FTX+DIN+++DELIVERY DATE?: DUE TO 04.06.2013'
TOD+5++DD1'
RFF+FF:04028495569'
RFF+CR:80023343'
RFF+DQ:80023343'
GOR+1+5'
DOC+830+13DE505277624224E7 '
DTM+137:20130529851:203'
NAD+CZ+06003869++HEUBACH GMBH+HEUBACHSTR. 7+LANGELSHEIM++38685+DE'
NAD+CN+00001014++NUTAL D.O.O.+POCULICA+VITEZ++72250+BA'
GID+1+20:SA'
FTX+AAA+++HEUCOTRON YELLOW'
MEA+WT+AAE+KGM:506'
MEA+LMT++M:0.5'
PCI+24+00340258760564518275'
PCI+28+80023343'
DGS+ADR+6.1:T5+2291++III'
FTX+F02+++SA::20'
FTX+AAD+++BLEIVERBINDUNG, LOESLICH, N.A.G.'
FTX+AAE+++BLEICHROMAT'
FTX+BAM+++1218'
FTX+DAC+++1182'
FTX+RAH+++E'
FTX+HAZ++15:ZZZ'
MEA+WT+AAE+KGM:500'
CNI+5+33000486806'
DTM+137:20130530:102'
TSR+++3'
MOA+116:4921.77:EUR'
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
TOD+5++DD1'
RFF+FF:33000486806'
GOR+1+5'
NAD+CZ+33300427++HYDROCHEM S.R.O.:IAO?: 35861843+¯OLTESOVEJ 20+BRATISLAVA 1++82108+SK'
NAD+CN+00001008++HIDROINœENJERING PJ BR??KO+UL. BRA??E ??USKI??A 17+BRAKO 1++76101+BA'
GID+1+1:BI'
FTX+AAA+++ELEKTROMOTOR'
MEA+WT+AAE+KGM:300'
PCI+24+00340465760004742473'
CNI+6+4028460883'
DTM+137:20130529:102'
TSR+++3+HAZ'
MOA+116:3219.52:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13DE955177475557E8 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+DIN+++* BEI ABLIEFERHINDERNISSEN AUSSCHLIESLICH KONTAKTAUFNAHME'
FTX+DIN+++* MIT DACHSER ROTTENBURG, TEL. 07457/730-150.'
FTX+DIN+++* KEINE ZUSTELLAVISIERUNG BEIM EMPFANGER !'
FTX+DIN+++RE.AE ANBEI!!'
TOD+5++DAF'
RFF+FF:04028460883'
RFF+CR:832487'
GOR+1+5'
DOC+830+13DE955177475557E8 '
DTM+137:201305281655:203'
NAD+CZ+08029838++IVM CHEMICALS GMBH+JOHANNES-KEPLER-STR. 3+HERRENBERG++71083+DE'
NAD+CN+00001010++JAVOR+RUDI CAJAVACA 3+PRIJEDOR++79000+BA'
LOC+11+BOSNIEN-HERZEGOWINA'
GID+1+53:BI'
FTX+AAA+++HOLZLACKE UND HARTER'
MEA+WT+AAE+KGM:598'
PCI+24+00340258760564730592'
PCI+28+832487'
DGS+ADR+3:F1+1263++II'
FTX+F02+++BU::12'
FTX+AAD+++FARBE'
FTX+BAM+++8619'
FTX+DAC+++7575'
FTX+RAH+++D/E'
MEA+WT+AAE+KGM:300'
DGS+ADR+3:F1+1263++II'
FTX+F02+++KK::18'
FTX+AAD+++FARBE'
FTX+BAM+++8619'
FTX+DAC+++7575'
FTX+RAH+++D/E'
MEA+WT+AAE+KGM:45'
DGS+ADR+3:F1+1263++II'
FTX+F02+++BU::7'
FTX+AAD+++FARBZUBEHOERSTOFFE'
FTX+BAM+++8563'
FTX+DAC+++7553'
FTX+RAH+++D/E'
MEA+WT+AAE+KGM:155'
DGS+ADR+3:F1+1263++III'
FTX+F02+++BU::1'
FTX+AAD+++FARBE'
FTX+BAM+++3054'
FTX+DAC+++2624'
FTX+RAH+++D/E'
MEA+WT+AAE+KGM:18'
CNI+7+4256317559'
DTM+63:201306120000:203'
DTM+137:20130531:102'
TSR+++3'
MOA+116:649.79:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13DE510277774392E6 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+DIN+++KEINE ANLIEFERUNG IN GITTERBOXEN ! ! !'
FTX+DIN+++12.06.2013'
FTX+DIN+++URSPRUNGSERKLARUNG?:'
FTX+DIN+++THE EXPORTER OF THE PRODUCTS COVERED BY THIS DOCUMENT'
FTX+DIN+++(CUSTOMS AUTHORIZATION NO. DE/5100/EA/0083) DECLARES THAT,'
FTX+DIN+++EXCEPT WHERE OTHERWISE CLEARLY INDICATED, THESE PRODUCTS ARE'
FTX+DIN+++CE PREFERENTIAL ORIGIN.'
TOD+5++DD1'
RFF+FF:04256317559'
RFF+CR:81442007'
GOR+1+5'
DOC+830+13DE510277774392E6 '
DTM+137:201305301248:203'
NAD+CZ+14003803++MARLEY-DEUTSCHLAND GMBH+ADOLF-OESTERHELD-STR. 28+WUNSTORF++31515+DE'
NAD+CN+41060495++OBI BANJA LUKA MARKET 714:AX TROPIC D.O.O+BRANKA POPOVICA 310+BANJA LUKA, REPUBLIKA SRPS++78000+BA'
GID+1+1:PC'
FTX+AAA+++BAUBEDARFSARTIKEL,RI'
MEA+WT+AAE+KGM:181'
MEA+VOL++MTQ:4.208'
PCI+24+00340026440179787510:00340026440179787497:00340026440179787503:00340026440179787527:00340026440179787541:00340026440179787534'
PCI+28+81442007'
GID+2+3:EP'
FTX+AAA+++FORMSTUCKE, VERSCHLU'
PCI+28+81442007'
GID+3+2:BH'
FTX+AAA+++ROHRE NAHTLOS AUS PO'
PCI+28+81442007'
CNI+8+4256315260'
DTM+137:20130530:102'
TSR+++3'
MOA+116:1874.48:EUR'
FTX+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.?: 813957'
FTX+DIN+++34012090, 39249000, 69120090, 70099200, 73249000,'
FTX+DIN+++84798997, 94032080, 96039091'
FTX+DIN+++ACHTUNG ZOLLGUT! ANLAGE ZOLLVERSANDSCHEIN-NR.?:'
FTX+DIN+++RECHNUNG, AE NR. 13DE345477633773E5, ZTN?:'
TOD+5++DD1'
RFF+FF:04256315260'
GOR+1+5'
DOC+830+13DE345477633773E5 '
DTM+137:201305302002:203'
NAD+CZ+02013046++SANWOOD BAD-AUSSTATTUNGS-:GMBH ?+ CO. VERTRIEBS KG+KASSELER STR. 58+FULDABRUECK++34277+DE'
NAD+CN+41060733++BAU & GARTEN D.O.O.:OBI-MARKET 711+LUZANSKO POLJE 9+SARAJEVO++71000+BA'
GID+1+1:PE'
FTX+AAA+++BADAUSSTATTUNGSPRODU'
MEA+WT+AAE+KGM:162'
PCI+24+00340395121010288409'
PCI+28+727887'
CNI+9+4256128757'
DTM+137:20130527:102'
TSR+++3'
MOA+116:1334.8:EUR'
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
TOD+5++EXW'
RFF+FF:04256128757'
RFF+CR:4028336126'
GOR+1+5'
NAD+CZ+00001019++SISAS BG+KUKLENSKO SHOSE BLVD+PLOVDIV++4000+BG'
NAD+CN+00001022++TIMING DOO TUZLA+PUT KRI#ANI BR 69+TUZLA++75000+BA'
GID+1+1:ST'
FTX+AAA+++SPEED BUMP'
MEA+WT+AAE+KGM:930'
MEA+VOL++MTQ:1.4'
PCI+24+00338002241819025460'
CNI+10+4028457465'
DTM+137:20130529:102'
TSR+++3'
MOA+116:144.35:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13NL0D968A2BA61330 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+ACB+++10.06.2013 MAX. DELIVERY DATE'
TOD+5++DD1'
RFF+FF:04028457465'
RFF+CR:95175940-886494'
RFF+DQ:0095175940'
GOR+1+5'
DOC+830+13NL0D968A2BA61330 '
DTM+137:201305281527:203'
NAD+CZ+00132737++VILLEROY & BOCH:WELLNESS BV+DWAZZIEWEGEN 13+RODEN++9301ZR+NL'
NAD+CN+00001015++ORFEJ DOO+IVANA GORANA KOVACICA BB+BANJA LUKA++78000+BA'
GID+1+1:PE'
FTX+AAA+++SANITAIR'
MEA+WT+AAE+KGM:27'
MEA+VOL++MTQ:1.12'
DIM+1+M:0.8:1:1.4'
PCI+24+00340258760564603056'
PCI+28+95175940-886494'
CNI+11+4256305013'
DTM+137:20130531:102'
TSR+++3'
MOA+116:167.2:EUR'
FTX+ACB+++EXPORT NOTIFICATION?: 13DE800377735342E0 '
FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !'
FTX+ACB+++LS?: 106379'
FTX+DIN+++PLEASE TAKE CARE OF COMPLETE DELIVERY'
FTX+DIN+++* THE PACKING LIST CAN BE FOUND WITH THE GOODSU *'
TOD+5++DD1'
RFF+FF:04256305013'
RFF+CR:SD13086042'
RFF+DQ:106379'
GOR+1+5'
DOC+830+13DE800377735342E0 '
DTM+137:201305291843:203'
NAD+CZ+27008525++ZETT LITE LIGHTING GMBH+BOSCHSTRASSE 1-10+HERZEBROCK-CLARHOLZ++33442+DE'
NAD+CN+41060733++OBI SARAJEVO MARKET 711:BAU & GARTEN D.O.O.+LUZANSKO POLJE 9+SARAJEVO++71000+BA'
GID+1+1:PC'
FTX+AAA+++LEUCHTEN'
MEA+WT+AAE+KGM:7'
MEA+VOL++MTQ:0.05'
PCI+24+00340048940860420013'
PCI+28+SD13086042'
UNT+308+M130531235340A'
UNZ+1+1389'
UN/EDIFACT Integration
● BizTalk
UN/EDIFACT Integration
● BizTalk – yeah right.
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
UN/EDIFACT Integration
● ~ 10 000 lines of code for description
Ruby to the Rescue!
● Ruby!
– Edi4r gem
– 0 lines for describing messages (yaay dynamic
typing!)
Ruby to the Rescue!
● Parser
Ruby to the Rescue!
● Parser
Ruby to the Rescue!
● Model (Active Record, MSSQL, LINQ2SQL)
Ruby to the Rescue!
● Putting it together
Ruby to the Rescue!
● Putting it together
● Generator
– Easier!
– Ruby DSL magic!
● Generator
– Behind the scenes
Result
Thank you!

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Ruby to the Rescue!

  • 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 – It's not cool anymore ;)
  • 6. ● A beautiful summer day
  • 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 server running on IBM System/360?!) ● Cca. 500 printed pages of computer unreadable 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+4230783213' ● DTM+137:20110905:102' ● TSR+++7' ● UNA:+.? ' UNB+UNOC:3+4023083000008+INTERSPEDS+130531:2353+1389' UNH+M130531235340A+IFCSUM:S:93A:UN' BGM+787+425' CNT+10:11:PCE' CNT+7:3164:KGM' CNT+11:87:PCE' RFF+FF:0100000300171300425' DTM+171:20130531:102' TDT+20++3+31++++:::SARAJEVO 01?:15:SRB' DTM+186:201305312353:203' NAD+CS+04900000300' DOC+787+425' DTM+137:20130531:102' NAD+DC+INTERSA01' CNI+1+4028417482' DTM+137:20130528:102' TSR+++3' MOA+116:3581.75:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13PL445010E0083932 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+ACB+++NIE PI TROWA' FTX+ACB+++OS. KONT. SELMIR SABITOV, 0038735279196' FTX+ACB+++WYCENA WDL. OFERTY?:3244444 ; 120,57 EUR' TOD+5++DD1' RFF+FF:04028417482' RFF+CR:FSE-44/13/FSE' GOR+1+5' DOC+830+13PL445010E0083932 ' DTM+137:201305271538:203' NAD+CZ+00146561++BIUROMAX SP. Z O.O.+UL. SOLEC 156 A+BANIOCHA++05-532+PL' NAD+CN+00001007++GIZMO D.O.O. ZA PROMET I USLUG+STUPINE B6 / LAMELA 7+TUZLA++75000+BA' GID+1+1:EP' FTX+AAA+++TUSZE,TONERY,CZCI' MEA+WT+AAE+KGM:240' MEA+VOL++MTQ:1.008' DIM+1+M:1.2:0.8:1.05' PCI+24+00340258760563375862' PCI+28+FSE-44/13/FSE' CNI+2+1114738181' DTM+137:20130530:102' TSR+++3+HAZ' MOA+116:286.5:EUR' FTX+ACB+++COMERCIAL INVOICE?: 202009647' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+DIN+++WARE IST NICHT STAPELBAR!!!' TOD+5++DD1' RFF+FF:01114738181' RFF+CR:330454' GOR+1+5' DOC+380+202009647' DTM+137:201305141953:203' NAD+CZ+11032163++CTA GMBH+INDUSTRIESTR. 2+BIETIGHEIM-BISSINGEN++74321+DE' NAD+CN+00001004++DIT TUZLA BO:BLAZENKA MARKOVIC+V. IVANOVICA 31+TUZLA++75000+BA' GID+1+1:PE' FTX+AAA+++NALCO VARIDOS LASERC' MEA+WT+AAE+KGM:17' MEA+VOL++MTQ:0.113' PCI+24+00340228090132716635' PCI+28+380/ 202009647' DGS+ADR' FTX+ADW+++LQ' MEA+WT+AAE+KGM:11' CNI+3+4028494560' DTM+137:20130529:102' TSR+++3+HAZ' MOA+116:10711.56:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13DE810377614381E0 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' TOD+5++DD1' RFF+FF:04028494560' RFF+CR:1729256' GOR+1+5' DOC+830+13DE810377614381E0 ' DTM+137:201305281406:203' NAD+CZ+18019513++DREVE OTOPLASTIK GMBH+MAX-PLANCK-STR. 31+UNNA++59423+DE' NAD+CN+00001025++WIDEX SLUSNI APARATI D.O.O.:MR RASIM GRANULO+GRADACACKA 29 A+SARAJEVO++71000+BA' GID+1+1:PE' FTX+AAA+++ROHR,SCHLAUCH,LACK.' MEA+WT+AAE+KGM:196' MEA+VOL++MTQ:0.686' DIM+1+M:0.6:0.8:1.43' PCI+24+00340258760564496900' PCI+28+1729256' DGS+ADR' FTX+ADW+++LQ' MEA+WT+AAE+KGM:1' CNI+4+4028495569' DTM+63:201306040000:203' DTM+137:20130530:102' TSR+++3+HAZ' MOA+116:2690:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13DE505277624224E7 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+DEL+++20 SACK SIND AUF EINER PALETTE' FTX+DIN+++DELIVERY DATE?: DUE TO 04.06.2013' TOD+5++DD1' RFF+FF:04028495569' RFF+CR:80023343' RFF+DQ:80023343' GOR+1+5' DOC+830+13DE505277624224E7 ' DTM+137:20130529851:203' NAD+CZ+06003869++HEUBACH GMBH+HEUBACHSTR. 7+LANGELSHEIM++38685+DE' NAD+CN+00001014++NUTAL D.O.O.+POCULICA+VITEZ++72250+BA' GID+1+20:SA' FTX+AAA+++HEUCOTRON YELLOW' MEA+WT+AAE+KGM:506' MEA+LMT++M:0.5' PCI+24+00340258760564518275' PCI+28+80023343' DGS+ADR+6.1:T5+2291++III' FTX+F02+++SA::20' FTX+AAD+++BLEIVERBINDUNG, LOESLICH, N.A.G.' FTX+AAE+++BLEICHROMAT' FTX+BAM+++1218' FTX+DAC+++1182' FTX+RAH+++E' FTX+HAZ++15:ZZZ' MEA+WT+AAE+KGM:500' CNI+5+33000486806' DTM+137:20130530:102' TSR+++3' MOA+116:4921.77:EUR' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' TOD+5++DD1' RFF+FF:33000486806' GOR+1+5' NAD+CZ+33300427++HYDROCHEM S.R.O.:IAO?: 35861843+¯OLTESOVEJ 20+BRATISLAVA 1++82108+SK' NAD+CN+00001008++HIDROINœENJERING PJ BR??KO+UL. BRA??E ??USKI??A 17+BRAKO 1++76101+BA' GID+1+1:BI' FTX+AAA+++ELEKTROMOTOR' MEA+WT+AAE+KGM:300' PCI+24+00340465760004742473' CNI+6+4028460883' DTM+137:20130529:102' TSR+++3+HAZ' MOA+116:3219.52:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13DE955177475557E8 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+DIN+++* BEI ABLIEFERHINDERNISSEN AUSSCHLIESLICH KONTAKTAUFNAHME' FTX+DIN+++* MIT DACHSER ROTTENBURG, TEL. 07457/730-150.' FTX+DIN+++* KEINE ZUSTELLAVISIERUNG BEIM EMPFANGER !' FTX+DIN+++RE.AE ANBEI!!' TOD+5++DAF' RFF+FF:04028460883' RFF+CR:832487' GOR+1+5' DOC+830+13DE955177475557E8 ' DTM+137:201305281655:203' NAD+CZ+08029838++IVM CHEMICALS GMBH+JOHANNES-KEPLER-STR. 3+HERRENBERG++71083+DE' NAD+CN+00001010++JAVOR+RUDI CAJAVACA 3+PRIJEDOR++79000+BA' LOC+11+BOSNIEN-HERZEGOWINA' GID+1+53:BI' FTX+AAA+++HOLZLACKE UND HARTER' MEA+WT+AAE+KGM:598' PCI+24+00340258760564730592' PCI+28+832487' DGS+ADR+3:F1+1263++II' FTX+F02+++BU::12' FTX+AAD+++FARBE' FTX+BAM+++8619' FTX+DAC+++7575' FTX+RAH+++D/E' MEA+WT+AAE+KGM:300' DGS+ADR+3:F1+1263++II' FTX+F02+++KK::18' FTX+AAD+++FARBE' FTX+BAM+++8619' FTX+DAC+++7575' FTX+RAH+++D/E' MEA+WT+AAE+KGM:45' DGS+ADR+3:F1+1263++II' FTX+F02+++BU::7' FTX+AAD+++FARBZUBEHOERSTOFFE' FTX+BAM+++8563' FTX+DAC+++7553' FTX+RAH+++D/E' MEA+WT+AAE+KGM:155' DGS+ADR+3:F1+1263++III' FTX+F02+++BU::1' FTX+AAD+++FARBE' FTX+BAM+++3054' FTX+DAC+++2624' FTX+RAH+++D/E' MEA+WT+AAE+KGM:18' CNI+7+4256317559' DTM+63:201306120000:203' DTM+137:20130531:102' TSR+++3' MOA+116:649.79:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13DE510277774392E6 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+DIN+++KEINE ANLIEFERUNG IN GITTERBOXEN ! ! !' FTX+DIN+++12.06.2013' FTX+DIN+++URSPRUNGSERKLARUNG?:' FTX+DIN+++THE EXPORTER OF THE PRODUCTS COVERED BY THIS DOCUMENT' FTX+DIN+++(CUSTOMS AUTHORIZATION NO. DE/5100/EA/0083) DECLARES THAT,' FTX+DIN+++EXCEPT WHERE OTHERWISE CLEARLY INDICATED, THESE PRODUCTS ARE' FTX+DIN+++CE PREFERENTIAL ORIGIN.' TOD+5++DD1' RFF+FF:04256317559' RFF+CR:81442007' GOR+1+5' DOC+830+13DE510277774392E6 ' DTM+137:201305301248:203' NAD+CZ+14003803++MARLEY-DEUTSCHLAND GMBH+ADOLF-OESTERHELD-STR. 28+WUNSTORF++31515+DE' NAD+CN+41060495++OBI BANJA LUKA MARKET 714:AX TROPIC D.O.O+BRANKA POPOVICA 310+BANJA LUKA, REPUBLIKA SRPS++78000+BA' GID+1+1:PC' FTX+AAA+++BAUBEDARFSARTIKEL,RI' MEA+WT+AAE+KGM:181' MEA+VOL++MTQ:4.208' PCI+24+00340026440179787510:00340026440179787497:00340026440179787503:00340026440179787527:00340026440179787541:00340026440179787534' PCI+28+81442007' GID+2+3:EP' FTX+AAA+++FORMSTUCKE, VERSCHLU' PCI+28+81442007' GID+3+2:BH' FTX+AAA+++ROHRE NAHTLOS AUS PO' PCI+28+81442007' CNI+8+4256315260' DTM+137:20130530:102' TSR+++3' MOA+116:1874.48:EUR' FTX+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.?: 813957' FTX+DIN+++34012090, 39249000, 69120090, 70099200, 73249000,' FTX+DIN+++84798997, 94032080, 96039091' FTX+DIN+++ACHTUNG ZOLLGUT! ANLAGE ZOLLVERSANDSCHEIN-NR.?:' FTX+DIN+++RECHNUNG, AE NR. 13DE345477633773E5, ZTN?:' TOD+5++DD1' RFF+FF:04256315260' GOR+1+5' DOC+830+13DE345477633773E5 ' DTM+137:201305302002:203' NAD+CZ+02013046++SANWOOD BAD-AUSSTATTUNGS-:GMBH ?+ CO. VERTRIEBS KG+KASSELER STR. 58+FULDABRUECK++34277+DE' NAD+CN+41060733++BAU & GARTEN D.O.O.:OBI-MARKET 711+LUZANSKO POLJE 9+SARAJEVO++71000+BA' GID+1+1:PE' FTX+AAA+++BADAUSSTATTUNGSPRODU' MEA+WT+AAE+KGM:162' PCI+24+00340395121010288409' PCI+28+727887' CNI+9+4256128757' DTM+137:20130527:102' TSR+++3' MOA+116:1334.8:EUR' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' TOD+5++EXW' RFF+FF:04256128757' RFF+CR:4028336126' GOR+1+5' NAD+CZ+00001019++SISAS BG+KUKLENSKO SHOSE BLVD+PLOVDIV++4000+BG' NAD+CN+00001022++TIMING DOO TUZLA+PUT KRI#ANI BR 69+TUZLA++75000+BA' GID+1+1:ST' FTX+AAA+++SPEED BUMP' MEA+WT+AAE+KGM:930' MEA+VOL++MTQ:1.4' PCI+24+00338002241819025460' CNI+10+4028457465' DTM+137:20130529:102' TSR+++3' MOA+116:144.35:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13NL0D968A2BA61330 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+ACB+++10.06.2013 MAX. DELIVERY DATE' TOD+5++DD1' RFF+FF:04028457465' RFF+CR:95175940-886494' RFF+DQ:0095175940' GOR+1+5' DOC+830+13NL0D968A2BA61330 ' DTM+137:201305281527:203' NAD+CZ+00132737++VILLEROY & BOCH:WELLNESS BV+DWAZZIEWEGEN 13+RODEN++9301ZR+NL' NAD+CN+00001015++ORFEJ DOO+IVANA GORANA KOVACICA BB+BANJA LUKA++78000+BA' GID+1+1:PE' FTX+AAA+++SANITAIR' MEA+WT+AAE+KGM:27' MEA+VOL++MTQ:1.12' DIM+1+M:0.8:1:1.4' PCI+24+00340258760564603056' PCI+28+95175940-886494' CNI+11+4256305013' DTM+137:20130531:102' TSR+++3' MOA+116:167.2:EUR' FTX+ACB+++EXPORT NOTIFICATION?: 13DE800377735342E0 ' FTX+DIN+++GOODS UNDER CUSTOMS CONTROL !' FTX+ACB+++LS?: 106379' FTX+DIN+++PLEASE TAKE CARE OF COMPLETE DELIVERY' FTX+DIN+++* THE PACKING LIST CAN BE FOUND WITH THE GOODSU *' TOD+5++DD1' RFF+FF:04256305013' RFF+CR:SD13086042' RFF+DQ:106379' GOR+1+5' DOC+830+13DE800377735342E0 ' DTM+137:201305291843:203' NAD+CZ+27008525++ZETT LITE LIGHTING GMBH+BOSCHSTRASSE 1-10+HERZEBROCK-CLARHOLZ++33442+DE' NAD+CN+41060733++OBI SARAJEVO MARKET 711:BAU & GARTEN D.O.O.+LUZANSKO POLJE 9+SARAJEVO++71000+BA' GID+1+1:PC' FTX+AAA+++LEUCHTEN' MEA+WT+AAE+KGM:7' MEA+VOL++MTQ:0.05' PCI+24+00340048940860420013' PCI+28+SD13086042' UNT+308+M130531235340A' UNZ+1+1389'
  • 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 dynamic typing!)
  • 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!