520 likes | 676 Views
E161 Integration of Internet Marketplaces based on OAGIS XML to the Sales Systems of INA - A success story. Karen Knösel Team Leader eTechnologies INA-Schaeffler KG karen.knoesel@de.ina.com. Matthias Stemmler Senior Consultant Sybase stemmler@sybase.com. Agenda. Introduction
E N D
E161 Integration of Internet Marketplaces based on OAGIS XML to the Sales Systems of INA - A success story • Karen Knösel Team Leader eTechnologies • INA-Schaeffler KG • karen.knoesel@de.ina.com • Matthias Stemmler • Senior Consultant • Sybase • stemmler@sybase.com
Agenda • Introduction • Involved systems • Message standards • Project best practises • Transactions • Technical architecture • Formats and Processes • Live Demonstration • Conclusion
INA-Schaeffler KG: Company profile • One of the worlds leading manufacturer of • Needle roller bearings • Radial ball and plain bearings • Housing units • Linear units and systems • Engine components • Precision products
INA-Schaeffler KG: Company profile • Plants and Companies • 39 worldwide manufacturing plants • Sales network with 41 companies worldwide
INA-Schaeffler KG: Company profile • INA-Holding • INA • FAG • LuK
INA-Schaeffler KG: Company profile • Company figures • Headquarter in Herzogenaurach/Bavaria • 56.000 employees worldwide • Centralized IT with 250 employees
INA-Schaeffler KG: Company profile • INA as supplier for automotive companies, e.g. • Audi AG • BMW AG • DaimlerChrysler • Ford Motor Company • General Motors/Opel • HYUNDAI / Isuzu / Nissan • Porsche • Renault • Toyota • Volvo • VW
Endorsia • Company information • Dynamic electronic marketplace for branded industrial goods and services • Owners: • INA Holding Schaeffler KG • Rockwell Automation • Sandvik • SKF • The Timken Company
Endorsia • Company information • Buying and selling requirements of • Manufacturers • Distributors • End users • Connectivity of suppliers and customers on a single platform
Manufacturer Distributor Customer Endorsia • An eBusiness ECO System Traditional value chainendorsia.com
Project Scope (I) • Integration of 16 INA european companies and their sales systems to Endorsia Marketplaces • Handle 10 different transactions per company • Overall logging of transactions • Simulate functionality for backend systems relevant for the Marketplaces • System Management • Phased approach
Project Scope (II) • Consolidate the solutions found in the preceding project „Integration of the American Marketplace CoLinx with the corresponding INA Sales System IAS“ • Enable a stable and flexible environment which can handle CoLinx, Endorsia and future projects (Serveral projects in the Queue)
Product Set Involved • AIX 4.3 • MQ Series 5.1 CSD5 • DB2 V7.2 • Visual Age for C V5.0 • e-Biz Integrator V3.2i • Process Server V3.1.1 • Adapter for XML 3.8
Involved systems • Endorsia • J2EE business application • MQ Series as middleware • Transaction based processing • OAGIS XML standard for communication.
Involved System • INA Sales System IAS • Selfprogrammed solution based on AS/400 with RPG • Set oriented communication with own standard • INA Message Standard
Message Gateway • MQ Gateway in DMZ • MQ Series based • Physical Message HUB between INA internal systems and external partners • No Transformation • No Intelligence
IBIS • Message HUB between different applications • IBIS: INA Business Integration Services • Persistend Storage -> DB2 7.2 • Communication -> MQ Series 5.1 CSD 5 • EAI -> e-Biz, Process Server, Adapters • OS -> AIX 4.3 • Hardware: SP Wide Node
Endorsia Internet INA INA DMZ EDO FRA IAS FRA IAS DE EDO DE IBIS Message Gateway . . . . . . IAS AT EDO AT System Architecture
OAGIS • OAGIS: • Open Applications Group Integration Specification • OAG (open applications group) • Largest publisher of XML based content for business interoperability software • Definition of unifying standard for eBusiness applications and business object interoperability
INA „Standard Message Format“ • MQSeries as standard Middleware for all systems • Message setup: • Message header (Routing and application info) • Message body (application data) • Example: • ABCD011234567899DATADATADATA... • ABCD (Transaction code application level) • 01 (System code Sender ID) • 12345678 (Unique ID) • 99 (System code Receiver ID)
imp_all History File imp_all History File Directory: formats Directory: formats Exp.<format>_<datestring>.fmt Exp.<format>_<datestring>.fmt Development Cycle Developer Tester/ Customer Marketplace Integration Marketplace Integration GUIs NNFie, NNRie, EDLUtil NNFie, NNRie, EDLUtil Insert Insert NNFie, NNRie, EDLUtil ftp ftp e-Biz/Process Server Repository Development Production Integration Test
System Management (Directory Structure) endorsia bin logs imp_all configs localisation edl formats EDL File for each program Format File for each Format, Map, Rule start stop status start_<component> stop_<component> status_<component> Config_file for each component Logdir for each Component NEONMessageLog.nml for NAX Own Logfiles
Log Demon • C++ Program • Simple Delimited configurable Message Strukure • Configurable SQL Statement (and Delimiter) Field1<DEL1>Field2<DEL1>Field3<DEL1>Field4 MQS INSERT INTO LOG_TABLE VALUES(:Field1, CURRENT TIMESTAMP, :Field2, Field3, Field4); DB2
Transactions • PROCESS_PO - ACKNOWLEDGE_PO • GETLIST_PO - LIST_PO • GET_PO - SHOW_PO • GET_PRODUCT - SHOW_PRODUCT • GETLIST_ALTPRODUCT - LIST_ALTPRODUCT
Simple Transactions: 1:1 • 1 XML Message transformed to 1 IAS Message • 1 IAS Message transformed to 1 XML Message • ACKNOWLEDGE_PO (from IAS) • GETLIST_PO (to IAS) • GET_PO (to IAS) • GET_PRODUCT (to IAS) • GETLIST_ALTPRODUCT (to IAS)
Medium Transactions • Combine n messages of one IAS type to 1 XML transaction • Merge and sort • LIST_PO • SHOW_PRODUCT • LIST_ALTPRODUCT
Complex Transactions (I)PROCESS_PO (Endorsia View) • Header Technical Data • POHEADER Sold_to, Ship_to, Bill_to Salesorder ID Shipment Details, Payment Details • POLINE(s) Product(s), Quantity(s), Quality(s), Shipment request(s)
Complex Transaction (I)PROCESS_PO (IAS view) • m messages for adresses (CS1, ...) • n purchase order details (xxx, ... ) • o messages per POLINE (AR1, ...) • IAS requests messages in special sorted order
Complex Transactions (II):GET_PO (Endorsia view) • Header Technical Data • POHEADER • Poid, SalesordID, Partner(Customer, Supplier) • POLINE • Polinenum
Complex Transactions (II):SHOW_PO (IAS view) • Three different message types • Type 1: POHEADER information • Type 2 & 3 link to relational tables • Type 2: POLINE information n times • Type 3: SHIPMENT information m times • POLINE and SHIPMENT data is connected via RI contraints
Difficult Transaction (II):SHOW_PO (IBIS) • To build the POLINE SQL functions like • ORDER BY and • GROUP BY are needed
Endorsia Internet INA DMZ INA EDO FRA IAS FRA IAS DE EDO DE IBIS Message Gateway . . . . . . IAS AT EDO AT System Architecture
Endorsia Internet INA INA DMZ EDO FRA IAS FRA IAS DE EDO DE IBIS Message Gateway . . . . . . IAS AT EDO AT System Architecture
Architecture of IBIS EDO LOG IN IN EPE OUT OUT EPE IAS Logging queue Incoming queue Outgoing queue Internal queue e-Biz integrator XML adapter process server
XML Message comes in Add RF Header to mark a specific marketplace Convert to NCF Generate IAS Transaction ID and log If only one message must be send put it to LOG If multiple message, generate them and put them to EPE. EPE sorts them Log messages Put them to the correct IAS System (Without RF Header) Architecture of IBIS (In) EDO LOG IN IN EPE
EPE IAS message comes in. IAS message is logged. Endorsia transaction ID is enriched. Simple transactions are transformed and sent to EPE Medium and complex transactions need to be handled (for aggregation and sorting, grouping) by EPE Transform to NCF and log Message is sent to OUT NAX Convert to XML Filter RF Header and send to the correct Endorsia Marketplace Architecture of IBIS (Out) OUT OUT EPE IAS
RF Header RF Header PO_HEADER PO_HEADER PO_HEADER PO_LINES PO_LINES PO_LINES XML Message comes in It gets an RF Header marking his marketplace Convert to NCF Example: PROCESS_PO (I) XML XML NCF
BD1 RF Header RF Header PO_HEADER PO_HEADER IFS BG1 MID PO_LINES PO_LINES CS1 IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID IAS ID END CS2 IFS CS4 VD1 DEL Coding EDO ID -Generating IAS ID per PO_LINE Logging of message SA1 Generating Single IAS Messages DST AR1 and the messages per PO_LINE Example: PROCESS_PO (II) Generator EDO ID - IAS ID Log
ID ID ID ID ID ID ID ID IAS ID ID ID ID ID ID Example: PROCESS_PO (III) IFS BG1 MID CS1 CS2 CS4 IFS VD1 DEL SA1 AR1 DST SA1 AR1 DST SA1 AR1 DST SA1 AR1 DST END IFS e.g. BG1 MID CS1 sorting END CS2 IFS IFS CS4 VD1 DEL Log SA1 DST AR1 Sorting Logging Put to correctt IAS System
IAS ID Example Transaction ACKNOWLEDGE_PO Log From DB IAS ID EDO ID IAS ID ACPO ACPO ACPO RF Header RF Header IAS ID - EDO ID ACK_PO ACK_PO ACK_PO Log XML NCF XML
Example Transaction SHOW_PO 1 2 1 14 9 3 2 4 12 3 5 4 6 13 SHOW_PO Process Server 5 15 e-Biz 8 7 7 10 11 17 9 10 18 11 8 12 13 14 NCF 21 15 16 20 17 18 19 19 20 16 21 6
Rules / Formats for PROCESS_PO POLINE Driver Which transaction? Logging Format IAS Messages