210 likes | 314 Views
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. Kommande events…. 12:e Juni Windows Azure Service Bus- Connectivity and Messaging Alan Smith
E N D
BizTalk - EDI & B2B Anders Was’en- Enfo Zystems IBM Champion Mikael Håkansson - Enfo Zystems MVP BizTalk http://blogical.se/blogs/mikael Twitter: @wmmihaa
Kommande events… 12:e Juni Windows Azure Service Bus- Connectivity and Messaging Alan Smith SommarKollo with Johan Hedberg Helsingborg 26:e Juni, Stockholm 27:e Juli + 21:a Aug
Agenda • What is EDI with BizTalk? • EDIFACT messagestructure • Parties, Profiles & Agreements • EDI Receive • EDI Send • EDI SendBatch • Handing CONTRL messages • What is EDI with Azure Service Bus?
What is BizTalk? LOB Adapters RFID TPM BRE ESB Toolkit EDI/B2B BAM Accelerators (SWIFT/HL7) 3 2 Process Engine 1 Messaging Pub/Sub, Transformations, Adapters
Common B2B formats • EDI • ANSI X12 or ASC X12 • 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!
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 UNB+UNOA:3+ZYSTEMS:1+DATADIRECT:1+20051107:1159+6002' UNB3 UNB4 UNB5 UNB1 UNB2 UNB4.2 UNB4.1 SegmentTerminator = ‘ ElementSeparator = + ComponentDataElementSeparator = :
EDIFACT message structure 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' 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' 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' • UNA Service String Advice • UNBInterchange Control Header • UNGFunctional Group Header • UNHMessage Header • UNTMessage Trailer • UNEFunctional Group Trailer • UNZInterchange Control Trailer Number of messages Number of Segments in the message Messagetype and version Interchange id Reference Number Interchange Message UNA: Specifies the special characters that are to be used to interpret the remainder of the message. Eg: UNA:+.? ' UNG: The function of this segment is to act as a header identifying and specifying a functional group. UNB: Identifies an interchange, -the related parties and interchange identifier. Eg: UNB+UNOB:1+5790000000555:14+5790000016662:14+111129:1130+37++++2++0' Date & time of preparation Interchange id Sender Receiver Date & time of preparation Interchange id Receiver
EDI - Trading Partner Management Agreement Acknowledgements, Validation, Batching and more Party Party Internal/External, Certificates & General properties Profiles Identifiers & Protocolsettings Profiles
EDI Receive MgmtDb UNB+UNOB:1+Contoso:14+Fabrikam:14… UNH+100+ORDER:D:93A:UN:EAN007‘ … UNH+100+ORDER:D:93A:UN:EAN007‘ … UNH+100+ORDER:D:93A:UN:EAN007‘ … UNZ+3+34' XML XML WhatAgreement is setup between Contoso and Fabrikam ? Expected Control Id (InterchangeId)? Agreement? Pipeline Pipeline XML XML XML EDI BizTalk Message Box
Handing CONTRL messages MgmtDb UNB+UNOB:1+Contoso:14+Fabrikam:14… UNH+100+ORDER:D:93A:UN:EAN007‘ … UNH+100+ORDER:D:93A:UN:EAN007‘ … UNH+100+ORDER:D:93A:UN:EAN007‘ … UNZ+3+34' UNB+UNOB:1+Fabrikam:14+Contoso:14+…‘ UNH+3+CONTRL:4:1:UN‘ … UNT+3+3'UNZ+1+3' Agreement? XML XML Pipeline Pipeline Pipeline XML XML XML EDI EDI BizTalk CONTRL Message Box
EDI Send MgmtDb 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' EDI EDI <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‘ …. WhatAgreement is connectedtothissend port? Sender Party? Receiver Party? Next Control Id (InterchangeId)? Agreement? Pipeline Pipeline XML XML BizTalk Message Box
EDI SendBatch BatchOrchestration Filter: customer == Contoso Release: Group = 3 MgmtDb UNB+UNOB:1+Fabrikam:14+Contoso:14… UNH+100+INVOIC:D:93A:UN:EAN007‘ … UNH+100+INVOIC:D:93A:UN:EAN007‘ … UNH+100+INVOIC:D:93A:UN:EAN007‘ … UNZ+3+34' EDI EDI <invoice> < invoiceId>123</ invoiceId> <customer>Consoso</customer> … </ invoice> WhatAgreement is connectedtothissend port? Sender Party? Receiver Party? Next Control Id (InterchangeId)? Agreement? Pipeline Pipeline XML XML BizTalk Filter: ReceivingParty = Contoso & ToBeBatched = false Message Box
Azure Service Bus – Enterprise Application Integration (EAI) Bridge customerType == “VIP” Bridge LOB Target BizTalk IIS customerType == “Default” Client SapBinding RelayBinding
Azure Service Bus – EDI Integration as a service Bridge EDI AS2 TPM BAM X12 EDIFACT FTP 10.000+ EDI schemas
Azure Service Bus – EDI Integration as a service Bridge EDI AS2 TPM BAM X12 EDIFACT FTP 10.000+ EDI schemas