edi standard and tool - 2

49
EDI Standard and Tool - 2 IEEM 5352 Enterprise Integration

Upload: hanley

Post on 16-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

IEEM 5352 Enterprise Integration. EDI Standard and Tool - 2. Interchange Envelop ( EDI Document Format). ISA (Interchange Group Start). GS (Functional Group Start). ST (Transaction Set Start). Detailed Segment (with Data Elements). SE (Transaction Set End). GE (Functional Group End). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EDI Standard and Tool - 2

EDI Standard and Tool - 2

IEEM 5352Enterprise Integration

Page 2: EDI Standard and Tool - 2

Interchange EnvelopInterchange Envelop (EDI Document Format)

ISA (Interchange Group Start)

GS (Functional Group Start)

ST (Transaction Set Start)

SE (Transaction Set End)

GE (Functional Group End)

IEA (Interchange Group End)

Detailed Segment (with Data Elements)

Page 3: EDI Standard and Tool - 2

Transaction Set / Message Structure

Element Codes

Elements

Composite Elements

Segments

Transaction Sets/ MessagesST

Page 4: EDI Standard and Tool - 2

EDI EX*tender - Architecture EDI Overview The View from 50,000 ft Client/Server Communication The EX*tender Mailbox Any to Any Translation System Auditing Application Integration

Page 5: EDI Standard and Tool - 2

SAP

PeopleSoft

Oracle Apps

COMPANY

Trading Partners

Page 6: EDI Standard and Tool - 2

SAP

PeopleSoft

Oracle Apps

Trading Partners

EDIFormat

Company

ERP

Page 7: EDI Standard and Tool - 2

TP-1

TP-2

Trading Partners

EDIFormat

Company

ERP

TP-3

VAN

Page 8: EDI Standard and Tool - 2

EX*tender Server from

50,000 Feet

Page 9: EDI Standard and Tool - 2

Company

ERP

EDIFormat

TRANSLATOR

NativeFormat(udf)

Inbound

Outbound

EDI EX*tender

Page 10: EDI Standard and Tool - 2

TP-1

TP-2

Trading Partners

Company

ERP

TP-3

VAN

TRANSLATOR

xlate

xlate

Page 11: EDI Standard and Tool - 2

Oracle Apps Environment

ORACLE

TRANSLATOR

Inbound(INV)

(PO)Outbound

EDI EX*tender

EDIGateway UDF/

FF EDI

Page 12: EDI Standard and Tool - 2

High Level Architecture

mbox

mgr

com

server

server

server

in bound

out bound

EX*tender

Page 13: EDI Standard and Tool - 2

High Level Architecture

Translator

EX*tender

Mailbox:../mbox/TP1/inedi../mbox/TP2/inedi../mbox/TP3/inedi

UNIX File System../db../script../log

edi_dbms

clientDatabase

Page 14: EDI Standard and Tool - 2

EDI EX*tender

Client/Server Communication

Page 15: EDI Standard and Tool - 2

Client/Server Communication

Allows Server (translator) to be controlled by Client Start and stop the translation engine Change the number of running translator processes Collect performance data

Communication via SQL*Net and Oracle DBMS_PIPE

Facilitated by UNIX server process (edi_dbms) Edi_dbms services called through PL/SQL API

edia - administrative functions (restricted) ediu - user functions (unrestricted) edic - contains functions common to edia and ediu

Page 16: EDI Standard and Tool - 2

Monitor Tables

SQL*Net

Client

Oracle RDBMS

edi_dbms

PL/SQLAPI

dbms_pipedbms_pipe

IPC

Insert Monitor Data

dbms_alert

EDI Engine

Monitor

Change Numberof Servers

Start EngineStop Engine

OS

Start/Stop

/TP1 /inedi /inff /out/TP2 /inedi /inff /out

File System

OS Validations

System Call

Delta Monitor

Start/Stop

(Mailbox)

Page 17: EDI Standard and Tool - 2

EDIU API’s• create_mbox - create TP mailbox• submit_hostfile - submit file for translation• IsEngineRunning - check if translator is running• ScriptExists - check if mapping script exists• DirectoryExists - check if directory exists• create_directory - create directory• get_number_of_servers - get number of translators running • AnybodyHome - check if edi_dbms is responding• get_engine_status - get status of all translator processes• FixDM - used if delta monitor ends abnormally

For details see document: Technical Reference.doc

Page 18: EDI Standard and Tool - 2

EDIA API’s

• shutdown - shutdown the translator• refresh_dictionary - used when dictionary is added• shutdown_audit - shutdown audit process• configure - part of setup process• adjust_audit_flags - changes audit data written to DB• start_engine - starts the translator• stop_engine - stops the translator• change_number_of_servers - changes the number of server processes• start_audit - starts the audit process• start_com - starts the outbound device process• start_delta_monitor - starts the performance monitor• stop_delta_monitor - stops the performance monitor

For details see document: Technical Reference.doc

Page 19: EDI Standard and Tool - 2

EDI EX*tender

The Mailbox

Page 20: EDI Standard and Tool - 2

EDI EX*tender Mailbox• Each Trading Partner has a mailbox

• Implemented as directories in the file system• inedi - for edi documents translatation• inff - for user defined file (UDF) translation• out - default destination for translated documents

– More than one mailbox root is possible (mbox_aliases)• default is $EDIPATH/mbox

– Mailbox supported by edi_mbox

– Documents in ../inedi and ../inff are automatically submitted to the translator by edi_mbox

– Automatic submission controlled by MBOX_SCAN_???• see configuration file, $EDIPATH/.edirc

– Mailbox also interacts with edicopy and ‘scan’ command of console application

Page 21: EDI Standard and Tool - 2

TranslationEngine

EDI EX*tender

$EDIPATH/mbox/

TP1 /inedi /inff /out

TP2 /inedi /inff /out

TP3 /inedi /inff /out

TP4 /inedi /inff /out

Mailbox Root

EDI-FF (TP1 to TP3)

FF-EDI (TP1 to TP3)

Page 22: EDI Standard and Tool - 2

BUYER /inedi /inff /out

SELLER /inedi /inff /out

OracleApps

EDIGateway

POO TranslationEngine

OutboundDevice

VAN

Seller’sOrganization X.12 856

X.12 850

ASNI

X.12 850

ASNI

EDI EX*tender

Page 23: EDI Standard and Tool - 2

EDI EX*tender Mailbox

•Which Trading Partner Owns EX*tender?

Page 24: EDI Standard and Tool - 2

EX*tender Server

Any to Any Translation

Page 25: EDI Standard and Tool - 2

MailboxOptional

Pre-process(script)

De-group

Re-group

Translate(script)

OptionalPost-process

(script)Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

EDI EX*tender

Page 26: EDI Standard and Tool - 2

edi_mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

Page 27: EDI Standard and Tool - 2

edi-mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

edi-mbox

mbox1/TP1/inedi /inff /out /TP2/inedi /inff /out ...mbox2/TP3/inedi /inff /out...mboxn/TPn/indedi /inff /out

Page 28: EDI Standard and Tool - 2

edi_mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

Page 29: EDI Standard and Tool - 2

edi-mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

UDF/FF

EDI

or

$$$MSGSTART

ST/SE

Message Queue

edi-manager

.

.

.

Translate

Page 30: EDI Standard and Tool - 2

edi_mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

Page 31: EDI Standard and Tool - 2

edi-mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

edi_serverMemory UDF/FF Translation

scan script

Flat FileMessage map script

EDIMessage

Page 32: EDI Standard and Tool - 2

edi_mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

Page 33: EDI Standard and Tool - 2

edi-mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

edi_serverMemory

EDI Translation

EDI Dictionaryconsulted

Flat FileMessage

map script

EDIMessage (Automatic

memory population)

Page 34: EDI Standard and Tool - 2

edi_mboxedi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

Page 35: EDI Standard and Tool - 2

edi_mbox

edi_server

edi-com

Recipient

Pick up from mailbox

Send to TPTo Mailbox

To Mailbox

edi_manager

EDI EX*tender

• optional translator component• provides event driven and scheduled svc• provides communication services• used to extend translator capabilities• interface to database, email, fax, etc

edi_com

Page 36: EDI Standard and Tool - 2

edi_mbox

edi_logger

edi_mbox

edi_com

edi_server

/TP1 /inedi /inff /out/TP2 /inedi /inff /out

AsynchX.25TCP/IPBisynchDisk

In Bound

Message Queue

edi_manager

Out Bound

edi_server

Audit Tables

Setup Tables

Monitor Tables

SQL*Net

Forms Client

edi_mboxedi_audit

File

Page 37: EDI Standard and Tool - 2

EDI EX*tender

System Audit

Page 38: EDI Standard and Tool - 2

EX*tender Auditing

Audit tracks all actions performed by EX*tender All translator processes communicate with edi_logger Each file passing through the translator is assigned a ‘s

ession’ number Each audit record identifies a particular session

• except for system level audit records which are associated with translator start session

Audit records are perodically written to the database by edi_audit

During idle times, edi_audit summarizes session activity

Page 39: EDI Standard and Tool - 2

edi_mbox

edi_manager

edi_server

edi_com

edi_logger

sndevtlog

snderrlog

$EDIPATH/log/edi_answer_log

$EDIPATH/log/edi_answer_log.old

IPCedi_audit

readwrite

idle time move

move

$EDIPATH/log/edi_answer_log.old.xyz

edi_audit

parse

insert

Database

* Error: audit needs recovery

Page 40: EDI Standard and Tool - 2

EDI EX*tender

Application Integration

Page 41: EDI Standard and Tool - 2

EDI EX*tender Application Integration Implemented by an Outbound Device Outbound Devices are managed by edi_com There are four types of Outbound Devices

• Scheduled• Scheduled, Event Driven• Periodic• Periodic, Event Driven

Outbound Devices are cached by edi_com when EX*tender is startedAn Outbound Device is an interface to the Operating System via a Shell Script

Page 42: EDI Standard and Tool - 2

Scheduled Outbound Device

• Similar to UNIX cron process

• Can specify up to 4 times the device should execute

• Can specify the period (in days) the device should execute

– Period = 0 means execute daily

– Period = 1 means execute every other day

• When a device is marked as event driven it will execute

– only if it has been the destination of a translation

• When a device is not event driven it will

– unconditionally execute at its scheduled time

Page 43: EDI Standard and Tool - 2

Periodic Outbound Device Also similar to UNIX cron process

Specify a period in days and minutes

Device will execute when the period expires

When a device is marked as event driven it will execute only if it has been the destination of a translation

When a device is not event driven it will unconditionally execute when the period expires

A special case, an event driven periodic device with Period = 0 days, 0 minutes Executes immediately after message is translated

Watch out for gotcha!!

Page 44: EDI Standard and Tool - 2

Outbound Device Specifics An Outbound Device is a UNIX shell script The script must be in $EDIPATH/script The script is named according to the Outbound Device

If device is named: 810out then shell script is named: $EDIPATH/script/810out.com

Data translated to the device is written to the file: $EDIPATH/tmp/com/810out.lhot

When device executes the data file is renamed to: $EDIPATH/tmp/810out.dat This is the file that an event driven device processes

Page 45: EDI Standard and Tool - 2

Event Driven Outbound Device

• For an Outbound Device called 810out • Device is executed only if

$EDIPATH/tmp/com/810out.lhot exists

• Messages translated to 810out will be appended to 810out.lhot

• Just before executing the outbound device– 810out.lhot is moved/appended to

$EDIPATH/tmp/810out.dat

• After processing the data file, the outbound device must delete the file to prevent the data from being processed again

Page 46: EDI Standard and Tool - 2

Scheduled Outbound DeviceNot Event Driven Unconditionally

executes dailyExecutes at Midnight

and 12 noon

Page 47: EDI Standard and Tool - 2

Periodic Outbound DeviceEvent Driven

Executes each time a fileis translated to this device

PeriodicOutbound Device

Page 48: EDI Standard and Tool - 2

Outbound Device Usage in TranslationOutbound Device Executes each time a file

is translated to this device

Page 49: EDI Standard and Tool - 2

translator

edi_com

$EDIPATH/tmp/com

810out.lhot

1$EDIPATH/tmp

810out.dat

move 2

$EDIPATH/script/810out.comexecute

3

(move)process4

Event Driven Outbound Device Event Driven Outbound Device (810out)(810out)

1. Documents translated to Outbound Device 810out are written to 810out.lhot

When its time to execute the outbound device:2. edi_com moves/appends 810out.lhot to $EDIPATH/tmp/810out.dat3. if $EDIPATH/tmp/810out.dat exists then 810out.com is executed by edi_com4. 810out.com process the translated data and deletes the file when finished