Våra sponsorer
BizTalk - EDI & B2B Anders Was’en- Enfo Zystems IBM Champion Mikael Håkansson - Enfo Zystems MVP BizTalk http://blogical.se/blogs/mikael Twitter: @wmmihaa Please use this slide as your first slide. It means a lot to start and end all presentation generic to give an event a strong identity. Thank you!
Kommande events… 12:e Juni Windows Azure Service Bus- Connectivity and Messaging Alan Smith Sommar Kollo with Johan Hedberg Helsingborg 26:e Juni, Stockholm 27:e Juli + 21:a Aug
EDI support in BizTalk Server 2010
Agenda What is EDI with BizTalk? What is EDI with Azure Service Bus? EDIFACT message structure Parties, Profiles & Agreements EDI Receive EDI Send EDI Send Batch Handing CONTRL messages What is EDI with Azure Service Bus?
What is BizTalk? TPM BRE ESB Toolkit EDI/B2B RFID Process Engine BAM 3 TPM BRE ESB Toolkit EDI/B2B RFID Process Engine 2 BAM LOB Adapters Accelerators (SWIFT/HL7) Messaging Pub/Sub, Transformations, Adapters 1
Common B2B formats ANSI X12 or ASC X12 EDI Created 1979 Numbered messages, e.g. 850 (Purchase Order), 810 (Invoice) Using “version” and “release”, e.g. Version 4 Release 1 (typed as: 004010) SAMPLE MESSAGE: ISA*00* *00* *08*9251750000 *08*1234567890 *030627*1304*U*00401*000001403*0*P*>~ GS*PO*8019721193*1234567890*20030627*1304*1403*X*004010~ ST*850*01403001~ BEG*00*SA*548177**20030627~ REF*AN*547794~ PER*BD*JOHN JONES*TE*5552225555~ ……. SE*30*01403001~ GE*1*1403~ IEA*1*000001403~
Common B2B formats EDI EDIFACT Approved by United Nations 1986, based 1978 ISO standard ISO-9735 Named messages (6 letters), e.g. ORDERS, INVOIC Two releases yearly: D[YY].A and D[YY].B E.g. D96.A (NB! S-releases exist) SAMPLE MESSAGE: UNA:+.? ' UNB+UNOA:3+ZYSTEMS:1+DATADIRECT:1+20051107:1159+6002' UNH+SSDD1+ORDERS:D:03B:UN:EAN008' BGM+220+BKOD99+9' DTM+137:20051107:102' NAD+BY+5412345000176::9' NAD+SU+4012345000094::9' CNT+2:4' UNT+22+SSDD1' UNZ+1+6002' Microsoft BizTalk Service 2010 ships with ~ 10 000 EDI schemas!
B2B protocols HTTP/S FTP/S sFTP (SSH) VAN (Value Added Network) Common and recommended: HTTP/S FTP/S sFTP (SSH) VAN (Value Added Network) Common: VPN X.25 Less common and NOT recommended: X.400 (Yes, it is still alive) SMTP USB Stick, print-outs or CD
B2B protocols AS1 - Email AS2 - HTTP/S AS3 - FTP/S & sFTP Applicability Statement AS1 - Email AS2 - HTTP/S AS3 - FTP/S & sFTP AS4 – SOAP/WS (TBD) Based on S/MIME Supports digital certificates and encryption Messages may request a Message Disposition Notification (MDN) Non-repudiation achieved through digest exchange in MDN
EDIFACT – Message structure UNA:+.? ' UNB+UNOA:3+ZYSTEMS:1+DATADIRECT:1+20051107:1159+6002' UNH+SSDD1+ORDERS:D:03B:UN:EAN008' BGM+220+BKOD99+9' DTM+137:20051107:102' NAD+BY+5412345000176::9' NAD+SU+4012345000094::9' CNT+2:4' UNT+22+SSDD1' UNZ+1+6002' SegmentTerminator = ‘ ElementSeparator = + ComponentDataElementSeparator = :
EDIFACT – Message structure UNB4.1 UNB4.2 UNB+UNOA:3+ZYSTEMS:1+DATADIRECT:1+20051107:1159+6002' UNB1 UNB2 UNB3 UNB4 UNB5 SegmentTerminator = ‘ ElementSeparator = + ComponentDataElementSeparator = :
EDIFACT message structure UNA Service String Advice UNB Interchange Control Header UNG Functional Group Header UNH Message Header UNT Message Trailer UNE Functional Group Trailer UNZ Interchange Control Trailer Interchange Message UNZ: The segment is used to indicate the end of an interchange and to check the interchange reference and number of documents in the interchange. Eg: UNZ+3+37' Number of messages Interchange id UNT: Message Trailer segment of an EDIFACT document. It includes the elements document reference and number of segments in the document. . Eg: UNT+97+109' Number of Segments in the message Reference Number UNH: This is the Message Header segment of an EDIFACT document. The UNH segment elements provide information about the message type, and the agency responsible for maintaining the publication of the message type. This segment indicates the start of a document in an interchange and the type of document that follows. Eg: UNH+109+INVOIC:D:93A:UN:EAN007' Message type and version UNA: Specifies the special characters that are to be used to interpret the remainder of the message. Eg: UNA:+.? ' UNB: Identifies an interchange, -the related parties and interchange identifier. Eg: UNB+UNOB:1+5790000000555:14+5790000016662:14+111129:1130+37++++2++0' Sender Receiver Date & time of preparation Interchange id UNG: The function of this segment is to act as a header identifying and specifying a functional group. Date & time of preparation Receiver Interchange id
EDI - Trading Partner Management Party Internal/External, Certificates & General properties Party Profiles Identifiers & Protocol settings Profiles Agreement Acknowledgements, Validation, Batching and more
EDI Receive BizTalk Agreement? Pipeline Pipeline MgmtDb XML EDI XML UNB+UNOB:1+Contoso:14+Fabrikam:14… UNH+100+ORDER:D:93A:UN:EAN007‘ … UNZ+3+34' MgmtDb What Agreement is setup between Contoso and Fabrikam ? Expected Control Id (InterchangeId)? Agreement? Pipeline Pipeline XML EDI XML XML Message Box
Handing CONTRL messages UNB+UNOB:1+Contoso:14+Fabrikam:14… UNH+100+ORDER:D:93A:UN:EAN007‘ … UNZ+3+34' BizTalk MgmtDb UNB+UNOB:1+Fabrikam:14+Contoso:14+…‘ UNH+3+CONTRL:4:1:UN‘ … UNT+3+3'UNZ+1+3' Agreement? Pipeline EDI XML XML Pipeline XML Pipeline EDI CONTRL Message Box
EDI Send BizTalk Agreement? Pipeline Pipeline MgmtDb XML XML EDI EDI UNB+UNOB:1+Fabrikam:14+Contoso:14… UNH+100+INVOIC:D:93A:UN:EAN007‘ BGM+380:::DVA001V02+1018083+9‘ DTM+3:20111027:102‘ DTM+137:20111027:102‘ RFF+ON:18046697‘ …. UNZ+3+34' What Agreement is connected to this send port? Sender Party? Receiver Party? Next Control Id (InterchangeId)? <invoice> < invoiceId>123</ invoiceId> <customer>Contoso</customer> … </ invoice> UNH+100+INVOIC:D:93A:UN:EAN007‘ BGM+380:::DVA001V02+1018083+9‘ DTM+3:20111027:102‘ DTM+137:20111027:102‘ RFF+ON:18046697‘ …. Agreement? Pipeline Pipeline XML XML EDI EDI Message Box
EDI Send Batch BizTalk Agreement? Pipeline Pipeline Batch Orchestration Filter: customer == Contoso Release: Group = 3 MgmtDb UNB+UNOB:1+Fabrikam:14+Contoso:14… UNH+100+INVOIC:D:93A:UN:EAN007‘ … UNZ+3+34' What Agreement is connected to this send port? Sender Party? Receiver Party? Next Control Id (InterchangeId)? <invoice> < invoiceId>123</ invoiceId> <customer>Consoso</customer> … </ invoice> Agreement? Pipeline Pipeline XML XML EDI EDI Filter: ReceivingParty = Contoso & ToBeBatched = false Message Box
What is EDI with Azure Service Bus?
Azure Service Bus – Enterprise Application Integration (EAI) Bridge customerType == “VIP” customerType == “Default” Bridge LOB Target BizTalk IIS Client SapBinding RelayBinding
Azure Service Bus – EDI Integration as a service Bridge EDI TPM AS2 EDIFACT X12 BAM FTP 10.000+ EDI schemas
Azure Service Bus – EDI Integration as a service Bridge EDI TPM AS2 EDIFACT X12 BAM FTP 10.000+ EDI schemas
the end