[Subflow] ist ein Produkt der Firma [Intersult] zur Steuerung von [Geschäftsprozessen|Geschäftsprozesse] und im engeren Sinn [Workflows|Workflow]. !!!Was ist Subflow? [Subflow] ist eine Web-Anwendung, die entweder auf einem eigenen Server installiert oder als Dienstleistung genutzt werden kann. Es ist ein verteiltes System zur Kommunikation, Dokumentation, Steuerung, Überwachung und Sicherung von [Workflows|Workflow]. !!Das Dashboard Es enthält eine Übersicht der Aktivitäten auf [Subflow]. Die Einträge enthalten einige Details und sind auf den eingeloggten Benutzer zugeschnitten. [{Image src='Subflow/subflow-dashboard.png' width='100%'}] Durch Klick ins Dashboard, die Suche, andere Links oder Bookmarks kommt man auf die Details eines Prozesses: [{Image src='Subflow/subflow ticket.png' width='100%'}] Die Suche enthält einen Content-Assist, der schon während der Eingabe Vorschläge liefert. Diese Vorschläge brauchen nur noch mit Tab oder Return bestätigt werden: [{Image src='Subflow/subflow search.png' width='100%'}] Da Subflow unterschiedliche Einstellungen unterstützt, sogenannte Themes, wird die Workflow Konfiguration in einer anderen Farbe angezeigt: [{Image src='Subflow/subflow workflow.PNG' width='100%'}] !!!Technisch gesehen Es handelt sich um eine Web-Anwendung, die mit dem Browser aus dem Intra- oder Internet zugreifbar ist (je nach Sicherheits-Einstellungen). Der Kern von [Subflow] ist eine Steuerungseinheit für [Workflows|Workflow] mit der vor allem sogenannte [Transaktionen|Prozess] durchgeführt werden können. Die Steuerungseinheit bietet eine API (Advanced Programmers Interface) und ein Plugin-Interface an, mit denen eine Einbindung in andere Systeme erfolgen kann. [Prozesse|Prozess] können Tickets, Zahlungen oder andere, unternehmensspezifische [Workflows|Workflow] haben. Ein Prozess gehört immer zu einen Projekt und kann einzelnen Benutzern oder Rollen-Gruppen zugeordnet werden. Dies können Mitarbeiter sein, die im Unternehmen bestimmte Aufgaben erledigen oder Kunden, die über einzelne Schritte benachrichtigt oder zur Aktion aufgefordert werden. !!Prozesse [Subflow] unterstützt Prozesse, die unterschiedliche Workflows haben können. Häufig genutzt ist ein sogenanntes Service Ticket: [{Image src='Subflow/subflow ticket 2.PNG' width='100%'}] [{Image src='Subflow/subflow ticket 3.PNG' width='100%'}] [{Image src='Subflow/subflow ticket 4.PNG' width='100%'}] !!Schlagwörter Subflow unterstützt sie bei der Kollaboration von Fillialen, anderen Unternehmen und beim Einhalten von Service Level Agreements. [Subflow] vermeidet [Dead Ends|Dead End] in [Workflows|Workflow] durch Eskalationsstrategien. !!Noch technischer... [Subflow] basiert auf [Java] und implementiert [Servlets|http://de.wikipedia.org/wiki/Servlet], sowie Rest und [Web-Services|SOAP]. !!Bestandteile * __Frontend:__ [Subflow] umfasst ein [Frontend] zur Verwaltung von Benutzern, [Workflows|Workflow] und [Prozessen|Prozess]. * __Service:__ [Subflow] enthält eine Service-Schnittstelle, welche die Transporte SOAP, HTTP-GET und HTTP-POST unterstützt. * __Apps:__ [Subflow] kann für den Aufruf von Web-Apps konfiguriert werden, die über SOAP, HTTP-GET und HTTP-POST aufgerufen werden können. * __Kollaboration:__ [Subflow] unterstützt [Subflows|Workflow], die über Server oder Unternehmen hinweg verteilt sind. Damit ist [Subflow] auf Google-App-Engine oder anderen [Application-Servern|Application Server] lauffähig. !!!Builds Die Builds von [Subflow] im [Intersult Maven Repository] sind als [Thin WAR] konfiguriert. Diese enthalten anstelle von JARs eine [Maven] pom.xml in /META-INF/pom.xml zur Spezifikation der Abhängigkeiten. [Thin WARs|Thin WAR] können zum Beispiel auf [Tomcat] deployed werden, wenn die Erweiterung [Maven Loader] installiert ist. !!!Configuration [Subflow] hat ein paar wenige Parameter für die Konfiguration. Bei [Tomcat] können diese in die catalina.properties geschrieben werden: {{{ subflow.site=https://www.<your-domain>.com/subflow subflow.database.url=jdbc:mysql://localhost:3306/subflow subflow.database.driver=com.mysql.jdbc.Driver subflow.database.username=subflow subflow.database.password=<password> subflow.database.dialect=org.hibernate.dialect.MySQLDialect subflow.mail.process=true subflow.mail.host=localhost subflow.mail.username=system@<your-domain> subflow.mail.password=<password> subflow.mail.sender=system@<your-domain>.com subflow.crypt_key=<your-key> subflow.row_count=10 subflow.plugins.default=com.intersult.subflow.plugin.EmailPlugin }}}