46
© 2017 APPS ASSOCIATES LLC 1 appsassociates.com Anbindung von Payback bei myToys November 23, 2017

Anbindung von Payback bei myToys - doag.org · 1 © 2017 APPS ASSOCIATES LLC appsassociates.com Anbindung von Payback bei myToys November 23, 2017

  • Upload
    lekien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

© 2017 APPS ASSOCIATES LLC 1 appsassociates.com

Anbindung von Payback bei myToys

November 23, 2017

© 2017 APPS ASSOCIATES LLC 2 © 2017 APPS ASSOCIATES LLC 2

The content of this document is proprietary, confidential information pertaining to Apps Associates’

products, services, solutions and methods. Information herein is intended for use by the client or

prospective client only and must not be shared with any third party without consent from Apps

Associates.

Confidentiality

© 2017 APPS ASSOCIATES LLC 3 © 2017 APPS ASSOCIATES LLC 3

About Presenters

Hasan Ali Yilmaz

Senior Consultant Oracle E-Business Suite und

Integration Developer

• >9 Jahre Erfahrung in Software-Entwicklung

• Rolle: technischer IT Consultant, ERP &

Integration Developer

• seit 2009 tätig für Apps Associates

• Oracle Certified Expert

© 2017 APPS ASSOCIATES LLC 4 © 2017 APPS ASSOCIATES LLC 4

Performance. Growth. Excellence.

Global Reach – US, Europe, India • Founded in 2002 in Boston, MA

• 800+ Associates

Mature Delivery Model

• CMMI Level 3 Appraised & SOC 1 Audited

• Certified AWS Managed Services Partner

Long Term Focus on Customers and Associates • 23 customers 5-10 year, 6 customers 10+ year

relationships

• 120 associates 5-10 year, 40 associates 10+ year tenures

• 4% of revenue invested in Learning & Development

Integrated Delivery Processes • Projects & Managed Services

• Flexible Global Delivery Model

Our Strategic Partners

© 2017 APPS ASSOCIATES LLC 5 © 2017 APPS ASSOCIATES LLC 5

Portfolio of Services

Analytics Product

Development

Custom Dev &

Integration

Infrastructure &

Cloud Services

Manage Advise Implement Integrate Govern Upgrade Train Host

Business

Applications

© 2017 APPS ASSOCIATES LLC 6

Agenda

• Einleitung

• IT Architektur

• DB & SOA Komponente

• BPEL Prozess

• Adapter und Nachrichtenstrukturen

• Message Redelivery Policy

• Webservice Security

• Throttling

• Monitoring

• Fazit

© 2017 APPS ASSOCIATES LLC 7

Einleitung Vorstellung myToys.de

Erfahrungen mit der Oracle SOA Suite

Beweggründe der Auswahl Oracle SOA Suite für Paybackanbindung

© 2017 APPS ASSOCIATES LLC 8 © 2017 APPS ASSOCIATES LLC 8

About Presenters

Tim Kurzmann

• ERP Anwendungsentwickler

• Integrationsprojekte mit Oracle SOA Suite

© 2017 APPS ASSOCIATES LLC 9 © 2017 APPS ASSOCIATES LLC 9

myToys

556 mio € Umsatz pro Jahr

Ca. 6 mio aktive Kunde

22 mio Besuche pro Monat

Mehr als 5 mio aktive Newsletter Empfänger

Über 11 mio Pakete pro Jahr

Über 75.000 m² Logistikzentrum

Über 1.500 Mitarbeiter

Ca. 130–140 IT-Mitarbeiter

© 2017 APPS ASSOCIATES LLC 10 © 2017 APPS ASSOCIATES LLC 10

Einsatz der Oracle SOA Suite

Projekt: Anbindung Tradebyte (2015)

Business Partner (Drop-Shipping, REST - WS)

Evaluierung geeigneter Anbindungsstrategien

Lose Kopplung

Monitoring

Maintanance

Skalierbarkeit

Vermeidung von Spaghetti Integration

High Connectivity

Vorhandene SOA Suite (Finance Projekt 2012)

© 2017 APPS ASSOCIATES LLC 11 © 2017 APPS ASSOCIATES LLC 11

Architektur Tradebyte

© 2017 APPS ASSOCIATES LLC 12 © 2017 APPS ASSOCIATES LLC 12

Einsatz der Oracle SOA Suite

Projekt: Anbindung Tradebyte (2015)

Business Partner (Drop-Shipping, REST - WS)

Evaluierung geeigneter Anbindungsstrategien

Lose Kopplung

Monitoring

Maintanance

Skalierbarkeit

Vermeidung von Spaghetti Integration

High Connectivity

Vorhandene SOA Suite (Finance Projekt 2012)

© 2017 APPS ASSOCIATES LLC 13 © 2017 APPS ASSOCIATES LLC 13

Anbindung Tradebyte

Herausforderungen waren:

Der richtige Adapter

Redelivery Service

Serverparameter

Purging

Neues Projekt: Payback

Externes Know/How

Kooperation Apps Associates

© 2017 APPS ASSOCIATES LLC 14

Anbindung Payback Motivation

Evaluierung

© 2017 APPS ASSOCIATES LLC 15 © 2017 APPS ASSOCIATES LLC 15

Überblick Anbindung Payback

• Ziele: Neukundengewinnung und

Bestandskundenaktivierung

• Evaluierung Zielarchitektur

EBS

JMS

Queues

Payback

Message

Handler

Payback

API

EBS

AQ

SOA

BPEL

Payback

API

© 2017 APPS ASSOCIATES LLC 16 © 2017 APPS ASSOCIATES LLC 16

Überblick Anbindung Payback

• Fire and Forget

• Payback Webservice API Vorgaben:

• Throttling (Drosselung)

• Authentifizierung

EBS

AQ

SOA

BPEL

Payback

API

© 2017 APPS ASSOCIATES LLC 17

IT-Architektur Generelle Architektur des Transaktionsimports

Architektur mit Paybackanbindung

ERM Diagramm zur Persistierung der Punkte

© 2017 APPS ASSOCIATES LLC 18 © 2017 APPS ASSOCIATES LLC 18

IT Architektur - Transaktionsimport

Verkaufskanäle

Schnittstellen

Warenwirtschaft

Shops Filialen

ERP

Transaktions-

import

• Shop-Aufträge

• Bondaten

© 2017 APPS ASSOCIATES LLC 19 © 2017 APPS ASSOCIATES LLC 19

IT Architektur – mit Payback

Verkaufskanäle

Schnittstellen

Warenwirtschaft

Messaging

Integration

Bonussystem

Shops Filialen

Transaktions-

import

ERP

Oracle Advanced Queueing

Oracle SOA Suite

Payback API

RabbitMQ Java MS Oracle DB-Link

Persistieren der Transaktionen

Response

Queue

Request

Queue

Redelivery

Policy

Payload Logging

Throttling

Queue-Event

Trigger

Monitoring

© 2017 APPS ASSOCIATES LLC 20 © 2017 APPS ASSOCIATES LLC 20

Persistieren der Bonuspunkte

Datenmodel

Aus diesem

Datenmodel wird mit

(Oracle SQL)

XMLQuery das

gewünschte XML

Payload

zusammengestellt

und in die

bestimmte DB

Queue geschrieben.

© 2017 APPS ASSOCIATES LLC 21

Oracle Advanced Queueing Fire and Forget

© 2017 APPS ASSOCIATES LLC 22 © 2017 APPS ASSOCIATES LLC 22

Advanced Queueing - Fire and Forget

Nutzdaten Transformation Queue Tabellen

Oracle XMLQuery

• XMLType

• XMLAgg

• XMLElement

• XMLFOREST

• extractvalue

Request

Response

© 2017 APPS ASSOCIATES LLC 23

SOA Komponente & BPEL Prozess Welche Komponenten und Adapter kamen zum Einsatz?

BPEL Prozess im Detail

© 2017 APPS ASSOCIATES LLC 24 © 2017 APPS ASSOCIATES LLC 24

SOA Komponenten und Adapter

Adapter Komponenten

© 2017 APPS ASSOCIATES LLC 25 © 2017 APPS ASSOCIATES LLC 25

SOA Composite

© 2017 APPS ASSOCIATES LLC 26 © 2017 APPS ASSOCIATES LLC 26

BPEL Prozess

© 2017 APPS ASSOCIATES LLC 27 © 2017 APPS ASSOCIATES LLC 27

One Way BPEL Sub-Prozess

© 2017 APPS ASSOCIATES LLC 28

Adapter und Nachrichtenstrukturen Transformationen aus DB mit XMLTYPE

Festlegung der Strukturen

© 2017 APPS ASSOCIATES LLC 29 © 2017 APPS ASSOCIATES LLC 29

Adapter und Nachrichtenstrukturen

Adapter

Advanced Queue

SOAP

Nachrichtenaustausch erfolgt über XML

Drei Austauschformate, deren Strukturen über XML Schema Definitionen validiert werden, sind von Bedeutung:

SOA Suite > Bonus API ERP > SOA Suite Bonus API > ERP

Repräsentation Bonuspunkte-Trxn

in DB XMLTYPE()

Validierung gegen die Self-Defined-XSD

XSD Vorgabe von Payback

Validierung gegen die XSD

Validierung gegen die

Self-Defined-XSD

© 2017 APPS ASSOCIATES LLC 30

Message Redelivery Policy Wiederholung von Nachrichtenversand

Unterscheidung von technischen und fachlichen Fehlern

Komponenten die zum Einsatz kamen

© 2017 APPS ASSOCIATES LLC 31 © 2017 APPS ASSOCIATES LLC 31

Message Redelivery Policy

Vereinbarungen / Regelungen zum erneuten Versenden

der Messages

Fault Management Framework steuert die

Wiederholungsversuche zu gegebenen Parametern

Assertion in Invoke-Aktivität bestimmt, ob der vom

Bonussystem gelieferte Fehlercode einer Wiederholung

bedarf (XPATH Expression).

Unterscheidung zwischen technische und fachliche

Fehler

Erneutes Versenden bei bestimmen fachlichen

Fehlercodes, die in einer Domain Value Map

festgehalten werden.

Technische Fehler(codes) wie z.B.

Verbindungsprobleme zum Bonussystem werden

ebenso erneut angestoßen.

XPath

DVM

Assertion

© 2017 APPS ASSOCIATES LLC 32 © 2017 APPS ASSOCIATES LLC 32

Fault Management Framework

Framework zur

Behandlung von

Laufzeit- und

fachlichen Fehlern

Steuerung von

Aktionen bei

bestimmten

Fehlertypen

Konfiguration des

Wiederholungs-

mechanismus:

© 2017 APPS ASSOCIATES LLC 33 © 2017 APPS ASSOCIATES LLC 33

Assertion – Business Fault

Prüfung, ob Bedingung nach

Webservice-Response erfüllt ist

Assertion definierbar in Invoke-

Acitivity

Bedingung ist deklariert als

XPATH-Expression

ora:countNodes('InvokePurchase_OutputVariable',

'body','/ns4:ProcessPurchaseEventResponse/ns5:FaultMess

age') = 0

or (

dvm:lookupValue(“BonusErrorCodesConfig.dvm","ERROR_

CODE",

(bpws:getVariableData('InvokePurchase_OutputVariable','bo

dy','/ns4:ProcessPurchaseEventResponse/ns5:FaultMessag

e/ns5:Code')),"RETRYABLE_FLAG","Y") = 'N')

© 2017 APPS ASSOCIATES LLC 34 © 2017 APPS ASSOCIATES LLC 34

Domain Value Map

DVMs sind flexibel

konfigurierbar (Aufbau

ähnelt einer DB-Tabelle)

Editierbar in SOA Composer

Änderungen werden direkt

von DVM Consumer

übernommen

Keine Downtime notwendig

API Funktion zur Selektion

bestimmter Werte

vorhanden:

dvm:lookupValue

Desig

n T

ime

R

untim

e

© 2017 APPS ASSOCIATES LLC 35

Webservice Security Oracle Webservice Manager

© 2017 APPS ASSOCIATES LLC 36 © 2017 APPS ASSOCIATES LLC 36

Webservice Security

Oracle Webservice Manager

Deklaration Username Token in

Credential Store Provider

Credential Store Framework Key

(CSF-KEY)

WS Security Policy:

oracle/wss_http_token_client_policy

© 2017 APPS ASSOCIATES LLC 37

Throttling Drosselung der Nachrichten

© 2017 APPS ASSOCIATES LLC 38 © 2017 APPS ASSOCIATES LLC 38

Throttling

Vorgabe vom Payback Webservice Interface:

Maximale Transaktionsmenge von 20 in einer Sekunde

Nachrichten-Batch Drosselung Anzahl Nachrichten pro Sekunde

sec Throttling 1 2 3

<property name="minimumDelayBetweenMessages">1000</property>

<property name="adapter.aq.dequeue.threads" type="xs:string" many="false">20</property>

© 2017 APPS ASSOCIATES LLC 39

Monitoring Möglichkeiten Wie ist die gezielte Suche nach Transaktionen möglich?

Prozess Drill-Down

© 2017 APPS ASSOCIATES LLC 40 © 2017 APPS ASSOCIATES LLC 40

Monitoring - Composite Sensor

SOA Composite Dashboard

Ermöglicht das Finden einer SOA-Instanz

über eine eindeutige Kennung, die in dem

Payload vorhanden ist

© 2017 APPS ASSOCIATES LLC 41 © 2017 APPS ASSOCIATES LLC 41

Monitoring – Flow Trace

SOA Composite Dashboard

© 2017 APPS ASSOCIATES LLC 42 © 2017 APPS ASSOCIATES LLC 42

Monitoring – Audit Trail

Detaillierte Prozessanalyse

Zwischenwerte einsehbar

Audit Level

Development

Production

© 2017 APPS ASSOCIATES LLC 43

Fazit

© 2017 APPS ASSOCIATES LLC 44 © 2017 APPS ASSOCIATES LLC 44

Fazit

Mit der SOA Suite war es möglich alle Anforderung abzudecken

Sehr gute Betriebsbedingungen

Tracking, Monitoring, Performance-Dashboard

Qual der Wahl an Konfigurationsmöglichkeiten: Aufwendige Analyse bei

Suche nach der „Best Practise“

Purging Lösung nicht Elegant (in 11g)

Globale Parameteränderungen sind mit Vorsicht zu genießen.

Nebeneffekte auf andere Projekte in der SOA Domain.

Nach erfolgreicher Einführung ist die strategische Planung das Produkt in

weiteren Integrations-Projekten einzusetzen

© 2017 APPS ASSOCIATES LLC 45 © 2017 APPS ASSOCIATES LLC 45

Scope Alliance – Besuchen Sie uns!

Ebene 1

Stand 130