Workflow til ERP-systemer, eScience, e-handel og planlægning Christian Stefansen
eScience, DIKU, 19. sept, Projektet NEXT •NEXT generation Enterprise Resource Planning (ERP) systems •” The over-all goal of the project is to develop software technology and methods for development of the next generation of [...] ERP-systems.” •Microsoft Dynamics er tidligere Navision/Damgaard plus Great Plains etc.
eScience, DIKU, 19. sept, Min brogede fortid og nutid •Kandidat i datalogi med bifag i matematik fra KU •HD(I) fra Handelshøjskolen i København •Fulbright Fellow på Harvard University •Intern hos IBM Research, New York •Partner i Concentric IT •Indtil juli 2007: ph.d.-studerende på DIKU “En proces-baseret arkitektur for ERP-systemer”
eScience, DIKU, 19. sept, Har vi brug for workflow? “Hvordan plejer vi nu at gøre det her?” “Hvad skal der ske når jeg er færdig med det her?” “Hvorfor skal jeg altid udfylde X bare for at komme til Y?” “Kan I dokumentere at jeres procedurer lever op til Sarbanes- Oxley §404 og ÅRL?” “Kan I beskrive jeres proces for gutterne i Bangalore?” “Kan I gennemføre proceduren på præcis samme måde med de nye data?”
eScience, DIKU, 19. sept, Hvordan man ikke skal lave sine workflow Potentielle problemer? •Rigide workflow (Bliver der mon altid f ø rst ans ø gt om rejsetilladelse?) •Forglemmelser/fejl/overseelser (Hvad hvis billet ikke modtaget inden for nogle dage?) •Kræver masser af programmørtimer (Skriv det hele i BPEL! Og når det så skal ændres?) Bestil fly Bestil hotel Ansøg om rejsetilladelse Bestil bil Modtag refusion Modtag billet Modtag bekræftelse Send bilag til regnskab Modtag bekræftelse Design (konsulenter/ brugere)
eScience, DIKU, 19. sept, En bedre model Bestil fly Bestil hotel Ansøg om rejsetilladelse Bestil bil Modtag refusion Modtag billet Modtag bekræftelse Send bilag til regnskab Modtag bekræftelse Design (konsulenter/ brugere) Proces-mining Automatiseret procesanalyse ? ! Revision, rapportering, outsourcing
eScience, DIKU, 19. sept, Vision •Workflow til folket! (Lige så almindeligt som Microsoft Office) •Fleksibilitet i workflows (Opgaver kan overspringes, omgøres, ændres undervejs af brugere) •Systemer der kan ændres hurtigt, når processer gør det •Beskrive ERP-systemer som processer (Mennesker og systemer arbejder som del af samme proces) En datalogs fornemmeste opgave er at gøre sig selv arbejdsløs...
eScience, DIKU, 19. sept, Konkrete behov •Grafiske værktøjer (Til at designe formularer og workflows) •En arkitektur der understøtter processer og services (SOA er et skridt på vejen) •Solidt teoretisk fundament (Til proces-mining og automatiseret analyse)
eScience, DIKU, 19. sept, Workflowmønstre - benchmarks fra industri og produkter Cancel Pattern 20: Cancel Case Cancel (disable) the process) Merge Choice Pattern 10: Arbitrary Cycles Execute workflow graph without any structural restriction on loops. Pattern 16: Deferred Choice Execute one of two alternative threads. The choice [...] should be implicit. Def’d
eScience, DIKU, 19. sept, Calculus of Communicating Systems Syntaks for CCS: (Aktiviteter i workflowet skrives som a,b,c etc.)
eScience, DIKU, 19. sept, Mønstereksempel Pattern 7/9: Multiple Choice/Discriminator •(.P 1 + .skip!) | | (.P n + .skip!) | ok?.(Q | skip?*.0 | ok?*.0)... Mult P1P1 PnPn... Disc Q
eScience, DIKU, 19. sept, Workflow for mit ph.d.-forløb i SMAWL Workflow- mønstre KontrakterIntro REA SMAWL Afslutning Kodning CDL Arkitektur workflow Q = Intro; choose any { Workflowmønstre; Kodning; SMAWL Kontrakter; CDL REA }; Arkitektur; Afslutning end Auto- generering
eScience, DIKU, 19. sept, Transformation fra SMAWL til CCS Sekvens Multiple Instanser
eScience, DIKU, 19. sept, Hvordan I kan hjælpe Industri: •Fortæl om jeres problemer •Fortæl om jeres forretningsprocesser Studerende: •Hjælp os med at designe/analysere en proces-kalkule •Hjælp os med at designe et proces-sprog •Skriv en oversætter til vores sprog •Skriv en model-checker og andre værktøjer hertil eScience (forskere/industri): •Brug vores værktøjer •Fortæl om jeres erfaringer med dem
Mange tak!...spørgsmål? Se også: Eller skriv til: