Examensarbete Kontextuell ärendehantering Henrik Carlsson Johan Karlsson Agenda Bakgrund Ärendehantering Kravbild och lösningar Arkitektur Utvärdering Sammanfattning Frågor Opponering IT-konsultbolag Komponentbaserade verksamhetslösningar Utbildning Bakgrund Ärendehantering Effektivisera Koordinera Banker, försäkringsbolag m.m. Ärendehanteringssystem Ärendehanteringsmotor Problemformuleringar Identifiera komponentens roll i ett större sammanhang Formulera krav på komponenten Utvärdera alternativa lösningar Ta fram en design och implementera denna Utvärdera produkten Låneärende 3 5 $ 1 Kund som vill låna pengar 2 Billån Ansökan om län $ Beslut om billån Genomför lån 4 6 Beslut om bostadslån Avslag av lån Bostadslån 7 Kund Syftet med ärendehantering Ökad produktivitet Eliminering av väntetider och fördröjningar Kvalitetsförbättringar Ökad kundservice Ökad kontroll Ärendehanteringsmotorns roll Verktyg för processdefinition Gränssnitt 1 Ärendehanteringsmotor Gränssnitt 2 Workflow klientapplikationer Gränssnitt 4 Verktyg för administration och övervakning Gränssnitt 5 Workflow API Gränssnitt 3 Anropade applikationer Andra Ärendehanteringsmotorer Användningsfall Skapa ärendetyper Metadata Skapa arbetsflöden Hantera användare och roller Hantera ärenden Skapa Bearbeta/uppdatera Söka Avsluta Loggning Systemkrav Plattform: Microsoft .NET Utvecklingsspråk: C# Databas: SQL Server 2000 Utvärdering av möjliga lösningar Val av lösning Standardprodukt Egenutvecklad produkt Format för konfiguration Standardformat Egenutvecklat format Ärendehanteringsmotorns gränssnitt Arkitektur Ärendehanterings -motor Interface services Använder Workflow Services Anpassningsbart för olika sammanhang Workflow services Issue Workflow WorkflowTask RulesEngine Log Surveillance Komponentberoenden Interface Services Workflow Surveillance Har ett beroende mot alla komponenter WorkflowTask Alla komponenter har ett beroende mot log Log RulesEngine Issue Lagerarkitektur Ärendehanteringssystem Tillämpat ärendehanteringssystem Ärendehanteringsmotor Interface Services Paket 1 Paket 2 Facade Business Data SQL-server Datamodell Regler och händelser Regler tillämpas vid vägval och övervakning Händelser utför handlingar, t ex skicka e-post Implementeras som separata klasser när behov uppstår Låneärende 3 5 $ 1 Kund som vill låna pengar 2 Billån Ansökan om län $ Beslut om billån Genomför lån 4 6 Beslut om bostadslån Avslag av lån Bostadslån 7 Kund Tillståndsform Billån 2 4 Beslut om billån Genomför lån 1 6 Ansökan Avslutat 3 5 Beslut om bostadslån Avslag lån Bostadslån XML-konfigurering <?xml version="1.0" encoding="utf-8" ?> <!-- Konfigurationsfil för ärendetyper --> <ErrandTypes> <ErrandType errandTypeId="1" workflowId="1"> <Metadata metadataId="1" type="string" languageDependent="no"> <MetadataTitle languageId="1">Namn</MetadataTitle> </Metadata> <Metadata metadataId="2" type="string" languageDependent="no"> <MetadataTitle languageId="1"> Typ av lån</MetadataTitle> </Metadata> <Metadata metadataId="3" type="float"> <MetadataTitle languageId="1">Belopp</MetadataTitle> </Metadata> </ErrandType> </ErrandTypes> XML-konfigurering <States> <State stateId="1" decisionType="auto" decisionId="1"> <Title languageId="1">Ansökan</Title> </State> <State stateId="2" decisionType="manual" decisionId="1"> <Title languageId="1">Godkännande bil</Title> <Alarm alarmConfigurationid="1" /> </State> <State stateId="3" decisionType="manual" decisionId="2"> <Title languageId="1">Godkännande hus</Title> <Alarm alarmConfigurationid="1" /> </State> <State stateId="4"> <Title languageId="1">Genomför lån</Title> <Task taskId="1" /> </State> AdHoc-flöde G B I A C E F H Adhoc Fixed Guided D Erfarenheter Svår uppgift Förändrad kravbild .NET-miljön Utvärdering Plattformsberoende Databasoberoende Konfiguration av ärendehanteringsmotorn Arbetsflödet Rättigheter Arkitektur Utvecklingsmöjligheter Standardiserade gränssnitt Grafiskt gränssnitt för konfiguration Filhantering Web services Externt regelverk Sammanfattning Komponentens roll Alternativa lösningar Arkitektur Frågor?