Lotusday Arcadeon Hagen, 19. September 2007 Session C5: 14:15 – 15:00 Uhr Mettenmeier GmbH Business Solutions http://www.mbs-gmbh.de Klaus-Dieter Busch / Steffen Laux WebSphere Process Server
Lotusday 2007 WebSphere Process Server Klaus-Dieter Busch, Steffen Laux
Mettenmeier-Gruppe Struktur & Leistungsspektrum Beratung IT Solutions IT-Services  & Support Geodaten- Management Prozess- management Workflow- Anwendungen E-Business Utility  Solutions Business  Solutions Weiterbildung Anwender- schulungen FGE  TrainingsCenter www.mbs-gmbh.de Robuste Tablet-PCs Mobile  Solutions Strategische Asset- Management- Beratung Samco  Networks
Mettenmeier GmbH Mitarbeiterentwicklung
Inhalt Beraten Warten Planen Realisieren Hausanschluss Bauakte Auftrag Netzbauprojekt Störungsmeldung Reisekosten Rechnungsprüfung Bestellanforderung Brief to Contract Angebot Anfrage Arbeitsauftrag Genehmigung Inbetriebsetzung Montageauftrag Die kosteneffiziente und flexible  Koordination von Aktivitäten, Menschen und Anwendungen  innerhalb  betrieblicher Prozesse ist uns immer wieder Motivation und  Herausforderung. Mission Wir beraten, planen, realisieren und warten  Workflowanwendungen und Integrations- lösungen mit der Erfahrung zahlreicher Projekte  und mit der Leidenschaft für die Technologie. Als  IBM Premier Partner  kooperieren wir wiederum  in einem Netzwerk sich ergänzender, spezialisierter Partner. Kompetenz Unsere Dienstleistungen und Lösungen unterstützen das Management betrieb-licher Prozesse  jeder Branche . Kunden
Herausforderung IBM Premier Partner … IBM Lotus IBM WebSphere Utilities Production … … … Services ... … … … techonological capabilities business needs Lotus Workflow Lotus/Domino 8 Quickr, Web 2.0, … Process Server Portalentwicklung SOA…
Unsere Leistungen im Überblick Prozess- und Technologieberatung Implementierung und Einführung von BPM-Lösungen Workflow-Engineering Proof of Concept (PoC) Projektmanagement Wartung & Support Trainings & Workshops
SOA Lebenszyklus nach IBM Prozesse analysieren, optimieren und modellieren Simulation, BPEL Export  (Model) Prozesse implementieren (Orchestrierung) und Anwendungen integrieren, Service-Entwicklung (Assemble) Integrationslösungen testen und freigeben (Deploy) Prozessabläufe kontrollieren und überwachen (Manage) WebSphere Business Modeler WebSphere Integration Developer WebSphere Process Server WebSphere Enterprise Service Bus WebSphere Business Monitor
BPM und SOA WebSphere Server-Produkte Orchestration BPM Business Rules Messaging Vermittlung Integration Clustering Failover Load Balancing J2EE Runtime App. Server
WPS Architektur-Komponenten
Ausgangssituation: Prozessmodell (WBM) Bedarf entsteht Genehmigung Beschaffung Inventarisierung
Analyse: Beteiligte Systeme und Akteure
Design: Entwicklungs-Phasen Modellierung der Business-Objekte Modellierung des Geschäftsprozesses Definition von Regeln (Business Rules) Integration interaktiver Bearbeitungsschritte (Human Tasks) System-Integration
Design 1: Daten-Modellierung Bedarfsmeldung WID – Business Object <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:bons0=&quot;http://PurchaseRequisition&quot; targetNamespace=&quot;http://PurchaseRequisition&quot;> <xsd:include schemaLocation=&quot;GBOItem.xsd&quot;/> <xsd:include schemaLocation=&quot;ASBOItem.xsd&quot;/> <xsd:include schemaLocation=&quot;ASBOPerson.xsd&quot;/> <xsd:complexType name=&quot;PurchaseRequisition&quot;> <xsd:sequence> <xsd:element minOccurs=&quot;1&quot; name=&quot;id&quot; type=&quot;xsd:string&quot;/> <xsd:element maxOccurs=&quot;1&quot; minOccurs=&quot;1&quot; name=&quot;requestor&quot; type=&quot;bons0:Person&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;requestDate&quot; type=&quot;xsd:date&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;subject&quot; type=&quot;xsd:string&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;requestType&quot;> <xsd:simpleType> <xsd:restriction base=&quot;xsd:string&quot;> <xsd:enumeration value=&quot;01&quot;/> <xsd:enumeration value=&quot;02&quot;/> <xsd:enumeration value=&quot;03&quot;/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element minOccurs=&quot;0&quot; name=&quot;costCenter&quot; type=&quot;xsd:string&quot;/> <xsd:element minOccurs=&quot;1&quot; name=&quot;items&quot; type=&quot;bons0:RequisitionItem&quot; maxOccurs=&quot;unbounded&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;totalAmount&quot; type=&quot;xsd:float&quot;/> </xsd:sequence> </xsd:complexType> </xsd:schema>
Design 2: Prozess-Modellierung <bpws:sequence name=&quot;HiddenSequence&quot; wpc:id=&quot;1073741826&quot;> <bpws:receive createInstance=&quot;yes&quot; name=&quot;Receive&quot; operation=&quot;initiateRequisition&quot; partnerLink=&quot;Client&quot; portType=&quot;ns0:PurchaseRequisitionProcess&quot; wpc:displayName=&quot;Receive&quot; wpc:id=&quot;3&quot;> <wpc:output> <wpc:parameter name=&quot;newPurchaseRequisition&quot; variable=&quot;purchaseRequisition&quot;/> </wpc:output> </bpws:receive> <bpws:invoke name=&quot;checkOrderAmount&quot; operation=&quot;checkRequisitionAmount&quot; partnerLink=&quot;RoutingRulesMapping&quot; portType=&quot;ns4:RequisitionInvokeTasks&quot; wpc:displayName=&quot;Bestellwert prüfen&quot; wpc:id=&quot;38&quot;> <wpc:input> <wpc:parameter name=&quot;purchaseRequisition&quot; variable=&quot;purchaseRequisition&quot;/> </wpc:input> <wpc:output> <wpc:parameter name=&quot;result&quot; variable=&quot;resultCheckAmount&quot;/> </wpc:output> </bpws:invoke> <bpws:switch name=&quot;PrüfungsabhängigeVerarbeitung&quot; wpc:businessRelevant=&quot;yes&quot; wpc:displayName=&quot;Prüfungsabhängige Verarbeitung&quot; wpc:id=&quot;12&quot;> <bpws:case wpc:id=&quot;13&quot;> <bpws:condition><![CDATA[boolean __result__1 = resultCheckAmount.getBoolean(&quot;result&quot;); return !__result__1; ]]></bpws:condition> <bpws:sequence name=&quot;HiddenSequence1&quot; wpc:id=&quot;1073741841&quot;> <bpws:while name=&quot;Genehmigungszyklus&quot; wpc:businessRelevant=&quot;yes&quot; wpc:displayName=&quot;Genehmigungszyklus&quot; wpc:id=&quot;18&quot;> <bpws:condition><![CDATA[boolean __result__1 = ((approvalResult == null) || (!approvalResult.getBoolean(&quot;isApproved&quot;))); return __result__1; ]]></bpws:condition>
Design 3: Business Rules Regelsätze Entscheidungstabellen über integrierten Web-Client zu pflegen Durch SCA-Architektur von beliebigen WBI-Anwendungen zu verwenden <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <rl:RuleSet name=&quot;RequisitionRoutingRules&quot; targetNamespace=&quot;http://PurchaseRequisition2&quot;> <rl:interface operation=&quot;isSmallRequisition&quot;> <rl:porttype>_:RequisitionRules</rl:porttype> </rl:interface> <rl:rulegroup>__1:RequisitionRules</rl:rulegroup> <rl:template name=&quot;TestForSmallRequisition&quot;> <rl:id>uid-11303257474680</rl:id> <rl:webPresentation>Wenn der Gesamtbetrag einer Bestellung kleiner als {0}  EUR ist, muss keine Genehmigung durchgeführt werden.</rl:webPresentation> <rl:parameter dataType=&quot;xsd:float&quot; varName=&quot;pamount&quot;/> <rl:rule xsi:type=&quot;rl:IfThenRule&quot;> <rl:if> <rl:conditionExpression xsi:type=&quot;rl:BooleanExpression&quot;> <rl:expString>amount.totalAmount  &lt; pamount</rl:expString> </rl:conditionExpression> </rl:if> <rl:then> <rl:Action value=&quot;result.result = true&quot;/> </rl:then> </rl:rule> </rl:template> <rl:RuleBlock> <rl:rule xsi:type=&quot;rl:TemplateInstanceRule&quot; label=&quot;Rule1&quot;> <rl:templateRef>uid-11303257474680</rl:templateRef> <rl:parameterValue> <rl:name>pamount</rl:name> <rl:value value=&quot;200&quot;/> </rl:parameterValue> </rl:rule> </rl:RuleBlock> </rl:RuleSet>
Design 4: Human Task Interface zu Bearbeitern Integriertes Eskalations-Management Über individuelle JSPs (Java Server Pages) an das Corporate Design anpassbar Portal oder Rich Client Integration über API-Funktionen
Design 5: Service Aufruf Nutzung von Web-Service-Standards (WSDL) Standardisierte Integration mit Integrations-Plattformen (SAP NetWeaver) SCA oder Web Service Bindungen WBI Konnektoren
Design 6: Komponenten-Architektur Interface und Implementierung unabhängig Mögliche Implementierungen:   Java   BPEL   State Machine   .. Implementierung einfach austauschbar
SCA-Modul: Assemblierung
Danke für die Aufmerksamkeit

C5 Mettenmeier Lotusday2007

  • 1.
    Lotusday Arcadeon Hagen,19. September 2007 Session C5: 14:15 – 15:00 Uhr Mettenmeier GmbH Business Solutions http://www.mbs-gmbh.de Klaus-Dieter Busch / Steffen Laux WebSphere Process Server
  • 2.
    Lotusday 2007 WebSphereProcess Server Klaus-Dieter Busch, Steffen Laux
  • 3.
    Mettenmeier-Gruppe Struktur &Leistungsspektrum Beratung IT Solutions IT-Services & Support Geodaten- Management Prozess- management Workflow- Anwendungen E-Business Utility Solutions Business Solutions Weiterbildung Anwender- schulungen FGE TrainingsCenter www.mbs-gmbh.de Robuste Tablet-PCs Mobile Solutions Strategische Asset- Management- Beratung Samco Networks
  • 4.
  • 5.
    Inhalt Beraten WartenPlanen Realisieren Hausanschluss Bauakte Auftrag Netzbauprojekt Störungsmeldung Reisekosten Rechnungsprüfung Bestellanforderung Brief to Contract Angebot Anfrage Arbeitsauftrag Genehmigung Inbetriebsetzung Montageauftrag Die kosteneffiziente und flexible Koordination von Aktivitäten, Menschen und Anwendungen innerhalb betrieblicher Prozesse ist uns immer wieder Motivation und Herausforderung. Mission Wir beraten, planen, realisieren und warten Workflowanwendungen und Integrations- lösungen mit der Erfahrung zahlreicher Projekte und mit der Leidenschaft für die Technologie. Als IBM Premier Partner kooperieren wir wiederum in einem Netzwerk sich ergänzender, spezialisierter Partner. Kompetenz Unsere Dienstleistungen und Lösungen unterstützen das Management betrieb-licher Prozesse jeder Branche . Kunden
  • 6.
    Herausforderung IBM PremierPartner … IBM Lotus IBM WebSphere Utilities Production … … … Services ... … … … techonological capabilities business needs Lotus Workflow Lotus/Domino 8 Quickr, Web 2.0, … Process Server Portalentwicklung SOA…
  • 7.
    Unsere Leistungen imÜberblick Prozess- und Technologieberatung Implementierung und Einführung von BPM-Lösungen Workflow-Engineering Proof of Concept (PoC) Projektmanagement Wartung & Support Trainings & Workshops
  • 8.
    SOA Lebenszyklus nachIBM Prozesse analysieren, optimieren und modellieren Simulation, BPEL Export (Model) Prozesse implementieren (Orchestrierung) und Anwendungen integrieren, Service-Entwicklung (Assemble) Integrationslösungen testen und freigeben (Deploy) Prozessabläufe kontrollieren und überwachen (Manage) WebSphere Business Modeler WebSphere Integration Developer WebSphere Process Server WebSphere Enterprise Service Bus WebSphere Business Monitor
  • 9.
    BPM und SOAWebSphere Server-Produkte Orchestration BPM Business Rules Messaging Vermittlung Integration Clustering Failover Load Balancing J2EE Runtime App. Server
  • 10.
  • 11.
    Ausgangssituation: Prozessmodell (WBM)Bedarf entsteht Genehmigung Beschaffung Inventarisierung
  • 12.
  • 13.
    Design: Entwicklungs-Phasen Modellierungder Business-Objekte Modellierung des Geschäftsprozesses Definition von Regeln (Business Rules) Integration interaktiver Bearbeitungsschritte (Human Tasks) System-Integration
  • 14.
    Design 1: Daten-ModellierungBedarfsmeldung WID – Business Object <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:bons0=&quot;http://PurchaseRequisition&quot; targetNamespace=&quot;http://PurchaseRequisition&quot;> <xsd:include schemaLocation=&quot;GBOItem.xsd&quot;/> <xsd:include schemaLocation=&quot;ASBOItem.xsd&quot;/> <xsd:include schemaLocation=&quot;ASBOPerson.xsd&quot;/> <xsd:complexType name=&quot;PurchaseRequisition&quot;> <xsd:sequence> <xsd:element minOccurs=&quot;1&quot; name=&quot;id&quot; type=&quot;xsd:string&quot;/> <xsd:element maxOccurs=&quot;1&quot; minOccurs=&quot;1&quot; name=&quot;requestor&quot; type=&quot;bons0:Person&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;requestDate&quot; type=&quot;xsd:date&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;subject&quot; type=&quot;xsd:string&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;requestType&quot;> <xsd:simpleType> <xsd:restriction base=&quot;xsd:string&quot;> <xsd:enumeration value=&quot;01&quot;/> <xsd:enumeration value=&quot;02&quot;/> <xsd:enumeration value=&quot;03&quot;/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element minOccurs=&quot;0&quot; name=&quot;costCenter&quot; type=&quot;xsd:string&quot;/> <xsd:element minOccurs=&quot;1&quot; name=&quot;items&quot; type=&quot;bons0:RequisitionItem&quot; maxOccurs=&quot;unbounded&quot;/> <xsd:element minOccurs=&quot;0&quot; name=&quot;totalAmount&quot; type=&quot;xsd:float&quot;/> </xsd:sequence> </xsd:complexType> </xsd:schema>
  • 15.
    Design 2: Prozess-Modellierung<bpws:sequence name=&quot;HiddenSequence&quot; wpc:id=&quot;1073741826&quot;> <bpws:receive createInstance=&quot;yes&quot; name=&quot;Receive&quot; operation=&quot;initiateRequisition&quot; partnerLink=&quot;Client&quot; portType=&quot;ns0:PurchaseRequisitionProcess&quot; wpc:displayName=&quot;Receive&quot; wpc:id=&quot;3&quot;> <wpc:output> <wpc:parameter name=&quot;newPurchaseRequisition&quot; variable=&quot;purchaseRequisition&quot;/> </wpc:output> </bpws:receive> <bpws:invoke name=&quot;checkOrderAmount&quot; operation=&quot;checkRequisitionAmount&quot; partnerLink=&quot;RoutingRulesMapping&quot; portType=&quot;ns4:RequisitionInvokeTasks&quot; wpc:displayName=&quot;Bestellwert prüfen&quot; wpc:id=&quot;38&quot;> <wpc:input> <wpc:parameter name=&quot;purchaseRequisition&quot; variable=&quot;purchaseRequisition&quot;/> </wpc:input> <wpc:output> <wpc:parameter name=&quot;result&quot; variable=&quot;resultCheckAmount&quot;/> </wpc:output> </bpws:invoke> <bpws:switch name=&quot;PrüfungsabhängigeVerarbeitung&quot; wpc:businessRelevant=&quot;yes&quot; wpc:displayName=&quot;Prüfungsabhängige Verarbeitung&quot; wpc:id=&quot;12&quot;> <bpws:case wpc:id=&quot;13&quot;> <bpws:condition><![CDATA[boolean __result__1 = resultCheckAmount.getBoolean(&quot;result&quot;); return !__result__1; ]]></bpws:condition> <bpws:sequence name=&quot;HiddenSequence1&quot; wpc:id=&quot;1073741841&quot;> <bpws:while name=&quot;Genehmigungszyklus&quot; wpc:businessRelevant=&quot;yes&quot; wpc:displayName=&quot;Genehmigungszyklus&quot; wpc:id=&quot;18&quot;> <bpws:condition><![CDATA[boolean __result__1 = ((approvalResult == null) || (!approvalResult.getBoolean(&quot;isApproved&quot;))); return __result__1; ]]></bpws:condition>
  • 16.
    Design 3: BusinessRules Regelsätze Entscheidungstabellen über integrierten Web-Client zu pflegen Durch SCA-Architektur von beliebigen WBI-Anwendungen zu verwenden <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <rl:RuleSet name=&quot;RequisitionRoutingRules&quot; targetNamespace=&quot;http://PurchaseRequisition2&quot;> <rl:interface operation=&quot;isSmallRequisition&quot;> <rl:porttype>_:RequisitionRules</rl:porttype> </rl:interface> <rl:rulegroup>__1:RequisitionRules</rl:rulegroup> <rl:template name=&quot;TestForSmallRequisition&quot;> <rl:id>uid-11303257474680</rl:id> <rl:webPresentation>Wenn der Gesamtbetrag einer Bestellung kleiner als {0} EUR ist, muss keine Genehmigung durchgeführt werden.</rl:webPresentation> <rl:parameter dataType=&quot;xsd:float&quot; varName=&quot;pamount&quot;/> <rl:rule xsi:type=&quot;rl:IfThenRule&quot;> <rl:if> <rl:conditionExpression xsi:type=&quot;rl:BooleanExpression&quot;> <rl:expString>amount.totalAmount &lt; pamount</rl:expString> </rl:conditionExpression> </rl:if> <rl:then> <rl:Action value=&quot;result.result = true&quot;/> </rl:then> </rl:rule> </rl:template> <rl:RuleBlock> <rl:rule xsi:type=&quot;rl:TemplateInstanceRule&quot; label=&quot;Rule1&quot;> <rl:templateRef>uid-11303257474680</rl:templateRef> <rl:parameterValue> <rl:name>pamount</rl:name> <rl:value value=&quot;200&quot;/> </rl:parameterValue> </rl:rule> </rl:RuleBlock> </rl:RuleSet>
  • 17.
    Design 4: HumanTask Interface zu Bearbeitern Integriertes Eskalations-Management Über individuelle JSPs (Java Server Pages) an das Corporate Design anpassbar Portal oder Rich Client Integration über API-Funktionen
  • 18.
    Design 5: ServiceAufruf Nutzung von Web-Service-Standards (WSDL) Standardisierte Integration mit Integrations-Plattformen (SAP NetWeaver) SCA oder Web Service Bindungen WBI Konnektoren
  • 19.
    Design 6: Komponenten-ArchitekturInterface und Implementierung unabhängig Mögliche Implementierungen: Java BPEL State Machine .. Implementierung einfach austauschbar
  • 20.
  • 21.
    Danke für dieAufmerksamkeit