Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ich erinnere mich noch sehr genau daran, wie ich vor 20 Jahren beschloss, eine kleine Open-Source-Workflow-Engine, die in Java implementiert war, zu verwenden, um eine Unternehmenssoftware für einen Freund zu schreiben. Diese Entscheidung veränderte mein Leben. Ich begeisterte mich für die Prozessautomatisierung und engagierte mich in der Community des Open-Source-Projekts. Letztlich hat mich diese Erfahrung dazu gebracht, mein eigenes Unternehmen mitzugründen, das sich zum führenden Anbieter von quelloffenen Prozessautomatisierungswerkzeugen entwickelt hat (ich hätte mir nie träumen lassen, dass die großen Namen heute unsere Software nutzen!) Mit diesem Buch möchte ich nicht nur meine Begeisterung für die Prozessautomatisierung weitergeben, sondern auch erklären, wie man die Technologie zur Prozessautomatisierung in der Praxis anwendet - auf pragmatische und entwicklerfreundliche Weise.
Aber zuerst eine Anekdote. Während der High School gründete ein guter Freund von mir sein eigenes Geschäft: ein Fachgeschäft für Grafikkarten. Du erinnerst dich vielleicht an diese Karten, wenn du einen Computer zusammengebaut hast - sie konnten "modifiziert" werden, um mehr Leistung aus dem Chip herauszuholen, was es Spielern ermöglichte, günstigere Karten zu kaufen und eine bessere Leistung zu erzielen. Das Geschäftsmodell erforderte es, jede physische Grafikkarte als Einzelstück zu behandeln und sehr spezifische Verfahren für den Verkauf und Vertrieb festzulegen.
Mein Freund war mit diesem Geschäftsmodell erfolgreich. Sogar sehr erfolgreich. So erfolgreich, dass der Prozess, der auf manueller Bearbeitung und E-Mails basierte, zusammenbrach. Bestellungen verzögerten sich und Stapel von Grafikkarten sowie unbearbeitete Rücksendungen begannen die Räume zu füllen.
Wir diskutierten über Lösungen für diese Situation und entwickelten schließlich eine maßgeschneiderte Software, die einige ihrer Prozesse automatisierte und gleichzeitig die Besonderheiten ihres Geschäftsmodells unterstützte. Sie hatte einen ziemlich engen Fokus, aber sie half ihnen, die ganzen Stapel von Material zu entfernen. Sie verkürzten die Durchlaufzeit, so dass die Bestellungen innerhalb eines Tages ausgeliefert werden konnten. Die manuelle Arbeit im neu gestalteten Prozess wurde auf die Schritte reduziert, die die physischen Waren betrafen (z. B. das Verpacken des Pakets), während andere Aufgaben automatisiert wurden (Erstellen und Drucken der Rechnung und des Versandetiketts, Versenden von Kundenbestätigungen usw.). Die Kunden erhielten Transparenz über den Status ihrer Bestellungen, und wir boten sogar ein sehr einfaches Self-Service-Portal zur Sendungsverfolgung an. Die Software eskalierte Probleme, wenn ein Prozess zu lange stockte, so dass es nicht mehr nötig war, auf Kundenbeschwerden zu warten, um Korrekturmaßnahmen zu ergreifen. So praktisch die Software auch war, sie war ein großer Erfolg.
Damals hätte ich es nie so formuliert, aber ich habe die Vorteile der Prozessautomatisierung aus erster Hand erfahren: verbesserte Prozessqualität, kürzere Durchlaufzeiten, Automatisierung langweiliger Aufgaben, Skalierbarkeit und geringere Betriebsausgaben.
In den nächsten 20 Jahren habe ich gesehen, wie Kernprozesse und unterstützende Prozesse in allen Branchen automatisiert wurden. Ich sah, wie die NASA die Daten des Mars-Roboters mithilfe eines automatisierten Prozesses auf der Erde verarbeitete, um Steuersignale in den Weltraum zurückzusenden. Ich habe gesehen, wie Versicherungsunternehmen die Aufnahme von Kunden und die Bearbeitung von Schadensfällen automatisiert haben, einschließlich der Meldung von Unfällen über Apps und der vollautomatischen Bearbeitung dieser Meldungen. Ich habe gesehen, wie Technologien zur Prozessautomatisierung im Handel und bei Geldtransfers sowie bei vielen verschiedenen Prozessen in der Telekommunikation eingesetzt werden. Ich habe sogar Laborroboter gesehen, die von einer Workflow-Engine gesteuert werden.
Prozessautomatisierung ist überall, und sie ist super spannend. Der Bedarf an Automatisierung wächst fast täglich. Der digitale Wandel ermöglicht völlig neue Geschäftsmodelle und verlangt von den Unternehmen, ihre Geschäftsprozesse grundlegend zu ändern. Kürzlich hat die COVID-19-Pandemie dies deutlich gemacht: Unternehmen mussten praktisch über Nacht von vor Ort unterschriebenen Papieren auf elektronische Prozesse umstellen; Unternehmen mussten komplette Prozesse skalieren, die vorher relativ unüblich waren, wie z. B. die Stornierung von Flugtickets und die Entschädigung von Flügen durch Fluggesellschaften; und Organisationen haben sich schnell auf völlig neue Geschäftsmodelle umgestellt, wie z. B. den Vertrieb von Gesichtsmasken.
Dies sind nur einige Beispiele für den größeren Trend, den Gartner "Hyperautomation" nennt.
Es gibt viele Gründe, warum sich Unternehmen auf diese Reise begeben: Bestehende Prozesse können zu ineffizient, zu langsam, zu teuer im Betrieb, nicht skalierbar oder einfach nicht flexibel genug sein, um neue Geschäftsmodelle zu unterstützen (oder all diese Dinge gleichzeitig!). Und manuell ausgeführte oder schlecht automatisierte Prozesse liefern nicht genügend Daten, um verwertbare Erkenntnisse über die Vorgänge zu gewinnen, so dass es schwierig ist, zu lernen und sich anzupassen. Das macht das Unternehmen anfällig für Konkurrenten, die die digitale Transformation und Prozessautomatisierung bereits umgesetzt haben.
Prozessautomatisierung befasst sich in der Regel mit Prozessen, die auf die Bedürfnisse eines Unternehmens zugeschnitten sein müssen. Deshalb kann man sie nicht als Anwendungssoftware von der Stange kaufen. Auch wenn diese Prozesse in verschiedenen Unternehmen oft gleich sind (z. B. Kundenanmeldung, Auftragsmanagement, Schadensregulierung), ist die Art und Weise, wie jedes Unternehmen sie gestaltet und umsetzt, einzigartig und kann ein Unterscheidungsmerkmal für sie auf ihrem Markt sein. Prozessautomatisierung ermöglicht es Unternehmen, wettbewerbsfähiger zu sein, ihre Geschäfte effizienter zu führen, Kosten zu sparen, ihren Umsatz zu steigern und bei ihrer digitalen Transformation voranzukommen.
Die Chancen stehen gut, dass du in einem solchen Unternehmen arbeitest, vielleicht als Softwarearchitekt, Unternehmensarchitekt, Business Analyst oder Entwickler. Prozessautomatisierung wird eines der wichtigsten Werkzeuge in deinem Werkzeugkasten sein.
Mit diesem Buch möchte ich dich auf deinem Weg unterstützen, indem ich meine Erfahrungen aus 20 Jahren Prozessautomatisierung mit dir teile.
Werkzeuge und Techniken zur Prozessautomatisierung
Es gibt viele Möglichkeiten, Prozesse zu automatisieren, von der einfachen Softwareentwicklung bis hin zur Stapelverarbeitung, ereignisgesteuerten Microservices und jeder anderen Entwicklungsmethode, die du dir vorstellen kannst.
Die Automatisierung von Prozessen hat jedoch spezifische Merkmale und Anforderungen, für die es spezielle Software gibt. Analysten definieren verschiedene Software-Marktkategorien, die mit Prozessautomatisierung zu tun haben: zum Beispiel digitale Prozessautomatisierung (DPA), intelligente Business Process Management Suites (iBPMS), Low-Code-Plattformen, robotische Prozessautomatisierung (RPA), Microservice-Orchestrierung, Prozessorchestrierung, Prozessüberwachung, Process Mining, Entscheidungshilfe und Automatisierung.
Die verschiedenen Softwarekategorien bieten Werkzeuge und Technologien, mit denen Unternehmen ihre Geschäftsprozesse koordinieren, automatisieren und verbessern können. Diese Prozesse können Menschen, Software, Entscheidungen, Bots und Dinge umfassen.
Das ist ein weites Feld. Worauf werden wir uns also in diesem Buch konzentrieren?
Der Umfang dieses Buches
Dieses Buch befasst sich damit, wie Prozessautomatisierung in modernen Systemarchitekturen und Softwareentwicklungspraktiken eingesetzt werden kann. Es untersucht, wie die Werkzeugunterstützung aussehen muss, damit sie zu einem unverzichtbaren Bestandteil des Werkzeugkastens eines jeden Entwicklers wird. Es zeigt, dass die Kernkomponente dafür eine leichtgewichtige und entwicklerfreundliche Workflow-Engine ist, auf die im Laufe des Buches ausführlich eingegangen wird.
Dabei werden wir auch einige typische Missverständnisse diskutieren. Workflow-Engines sind in der Softwareentwicklung nicht so fremd, wie manche Leute vielleicht denken. Und auch wenn weder die Analystenberichte noch die Tools der großen Anbieter besonders entwicklerorientiert oder entwicklerfreundlich sind, gibt es heute alternative Tools, wie du in diesem Buch sehen wirst. Einige von ihnen passen vielleicht nicht in die oben genannten Kategorien, aber andere schon.
Deshalb werde ich nicht viel Zeit darauf verwenden, was Analysten über Software zur Prozessautomatisierung sagen, sondern mich darauf konzentrieren, praktische Ratschläge zu Workflow-Engines im Kontext der Softwareentwicklung in modernen Architekturen zu geben. In diesem Zusammenhang werde ich Ideen aus den Bereichen Microservices, ereignisgesteuerte Systeme und domänengesteuertes Design miteinander verweben.
Das könnte dir eine neue Perspektive auf die Prozessautomatisierung geben.
Für wen dieses Buch ist
Dieses Buch richtet sich an Softwareentwickler und Software- oder Systemarchitekten, die etwas über Prozessautomatisierung lernen wollen.
Hinweis
Vielleicht ziehst du es vor, als Softwareentwickler/in bezeichnet zu werden, und das ist auch völlig in Ordnung. In diesem Buch verwende ich den Begriff Softwareentwickler, einfach weil ich mich für einen entscheiden musste.
Wenn du ein Softwareentwickler bist, möchtest du vielleicht eine Workflow-Engine in deiner Anwendung, deinem Dienst oder Microservice einsetzen, um praktische Probleme zu lösen. In diesem Buch erfährst du, welche Probleme eine Workflow-Engine für dich lösen kann und wie du loslegen kannst.
Wenn du ein Systemarchitekt bist, wird dir dieses Buch helfen, die Möglichkeiten und Fallstricke der Prozessautomatisierung zu verstehen. Es führt dich durch einige schwierige architektonische Entscheidungen und Kompromisse, z. B. wie der Einsatz einer Workflow-Engine im Vergleich zu alternativen Ansätzen aussieht oder ob eine Workflow-Engine zentral betrieben werden sollte.
Aber du kannst auch profitieren, wenn du in anderen Funktionen arbeitest. Zum Beispiel:
-
Wenn du ein IT-Manager bist, kann dir dieses Buch helfen, besser informierte Entscheidungen zu treffen und intern die richtigen Fragen zu stellen.
-
Wenn du Business Analyst bist, kann dir dieses Buch helfen, wenn du motiviert bist, über den Tellerrand zu schauen und die technische Seite der Dinge zu verstehen.
Insgesamt brauchst du eine gewisse allgemeine Erfahrung im Bereich Softwareentwicklung, aber keine weiteren spezifischen Kenntnisse.
Der Architekt setzt immer um
Die Diskussion von Konzepten macht nur halb so viel Spaß, wenn du nicht auf konkrete Codebeispiele verweisen kannst. Lauffähiger Code zwingt dich dazu, präzise zu sein, über Details nachzudenken, die du auf der konzeptionellen Ebene weglassen kannst - und, was am wichtigsten ist, er erklärt die Dinge oft am besten. Ich persönlich bin ein großer Fan des Mottos "Der Architekt implementiert immer". Der Nachteil ist, dass ich mich für eine konkrete Technologie entscheiden muss (die vielleicht nicht die Technologie deiner Wahl ist) und für konkrete Produkte (die vielleicht schon veraltet sind, wenn das Buch gedruckt wird). Ich habe versucht, so herstellerneutral wie möglich zu sein, aber als Mitbegründer eines Anbieters von Prozessautomatisierung, Camunda, habe ich natürlich eine eigene Meinung und neige dazu, die Werkzeuge zu verwenden, die ich am besten kenne, nämlich die, die mein Unternehmen anbietet.
Meine Meinung beeinflusst natürlich auch unser Produkt, was bedeutet, dass eine gewisse Anpassung unvermeidlich ist. Aber als Prozessautomatisierungssüchtiger mit 20 Jahren Praxiserfahrung ist dieses Buch in den direkten Kundenkontakten verwurzelt, die diese Meinungen geprägt haben.
An einigen Stellen verwende ich ausführbaren Quellcode, da alles andere das Verständnis bestimmter Konzepte erschweren würde. In diesen Fällen verwende ich die Prozessautomatisierungsplattform von Camunda.
Begleitende Website und Code-Beispiele
Zusätzlich zu diesem Buch findest du zusätzliches Material (Codebeispiele usw.) zum Herunterladen unter https://ProcessAutomationBook.com. Diese Website verlinkt auch auf den Quellcode, der auf GitHub verfügbar ist.
Diese Beispiele helfen dir nicht nur, die im Buch beschriebenen Konzepte besser zu verstehen, sondern bieten dir auch eine tolle Möglichkeit, mit der Technik zu spielen, wenn dir beim Lesen langweilig ist.
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, schicke bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eineGenehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Praktische Prozessautomatisierung von Bernd Ruecker (O'Reilly). Copyright 2021 Bernd Ruecker, 978-1-492-06145-8."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
Feedback
Ich freue mich über jedes Feedback über feedback@ProcessAutomationBook.com.
Wie man dieses Buch liest
Generell empfehle ich dir, zuerst und der Reihe nach Kapitel 1 und Kapitel 2 zu lesen. So erhältst du das Grundwissen, um zu verstehen, was das Buch behandelt und wie es auf dein Szenario anwendbar ist.
Von da an kannst du einfach weiter lesen oder zu den Kapiteln vorspulen, die dir am interessantesten erscheinen. Natürlich gibt es im ganzen Buch eine logische Handlung, aber ich habe versucht, Querverweise zu setzen, falls du bestimmte Teile überspringst.
Es gibt jedoch ein paar Abweichungen, die ich empfehlen kann:
-
Wenn du in der Vergangenheit schlechte Erfahrungen mit Business Process Management (BPM) gemacht hast, solltest du zuerst "Not Your Parents' Process Automation Tools " lesen, denn das sollte dir die Gewissheit geben, dass du das richtige Buch in Händen hältst.
-
Wenn du Erfahrung mit ereignisgesteuerten Systemen hast und glaubst, dass du keine Orchestrierung brauchst, solltest du einen Blick auf Kapitel 8 werfen, um ein besseres Gefühl dafür zu bekommen, warum dieses Buch für dich relevant ist. Sieh dir auch Kapitel 2 an, um besser zu verstehen, was ich mit Prozessautomatisierung meine.
-
Wenn du ein Fan von Microservices oder domain-driven Design (DDD) bist, bist du vielleicht skeptisch, wie Prozessautomatisierung in diese Welt passen kann. Ich empfehle dir, Kapitel 7 gleich zu Beginn zu lesen, denn dort wird am besten deutlich, wie sich die Denkweise über Prozessautomatisierung in diesem Buch von vielen traditionellen Ansätzen in diesem Bereich unterscheidet.
-
Wenn du ein IT-Manager bist, der in einem unvorhergesehenen Moment in ein Projekt zur Geschäfts- oder Prozessautomatisierung hineingezogen wurde, solltest du mit Kapitel 12 beginnen, denn es gibt dir einige Hinweise, wie du deine Reise gestalten kannst.
-
Wenn du meiner Empfehlung, eine BPMN-basierte Workflow-Engine zu verwenden, folgen möchtest, kannst du Kapitel 5 überspringen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter http://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Du kannst die Webseite zu diesem Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten, unter https://oreil.ly/Practical_Process_Automation aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und weitere Informationen zu unseren Büchern und Kursen findest du auf unserer Website unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://youtube.com/oreillymedia
Danksagungen
Ich möchte all den Menschen danken, die mir geholfen haben, dieses Buch zu schreiben. Dazu gehören in erster Linie all die Menschen, die ich in den letzten zehn Jahren kennengelernt habe, zum Beispiel in der Camunda Community, in Kundenprojekten oder auf Konferenzen. Unzählige Diskussionen haben mir geholfen, die Welt der Prozessautomatisierung zu verstehen, und das ständige Feedback hat nicht nur die Camunda Plattform, sondern auch mein Lehrmaterial dazu geprägt.
Ich möchte mich bei jedem einzelnen Mitarbeiter von Camunda bedanken. Camunda ist nicht nur ein großartiger Ort zum Arbeiten, vor allem wegen all der tollen Kolleginnen und Kollegen, sondern verändert auch die Welt der Prozessautomatisierung. Was wir mit dem Unternehmen erreicht haben, ist weit mehr, als ich mir je hätte träumen lassen, als ich es mitbegründet habe. Und jeder Tag macht immer noch eine Menge Spaß, also lass uns weitermachen :-)
Außerdem möchte ich meinem guten Freund Martin Schimak danken, der mir geholfen hat, die ersten Gedanken zu formulieren, die ich in diesem Buch festgehalten habe. Martin war auch ein großartiger Sparringspartner für die Strukturierung des Buches. Ich bin auch all den großartigen Technik-Reviewern sehr dankbar, die mir sehr hilfreiches Feedback gegeben haben. Diese Leute haben einen Haufen Freizeit investiert, um dieses Buch zu verbessern. Vielen Dank an (in alphabetischer Reihenfolge) Tiese Barrell, AdamBellamare, Rutger van Bergen, Colin Breck, Joe Bowbeer, Norbert Kuchenmeister, Kamil Litman, Chris McKinty, Surush Samani, Volker Stiehl und all die anderen.
Natürlich danke ich auch meiner Familie, die nicht nur eine Pandemie, sondern auch meine Arbeit an diesem Buch ertragen hat. Und nicht zuletzt möchte ich dem gesamten Team von O'Reilly dafür danken, dass der Prozess des Buchschreibens nicht nur schmerzfrei, sondern auch ziemlich angenehm war.
Get Praktische Prozessautomatisierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.