Muutke küpsiste eelistusi

E-raamat: Pro Mapping in BizTalk Server 2009

  • Formaat: PDF+DRM
  • Ilmumisaeg: 29-Apr-2009
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781430218586
  • Formaat - PDF+DRM
  • Hind: 55,56 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 29-Apr-2009
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781430218586

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Learning good map design techniques for BizTalk Server will make a huge difference to the processing speed of your implementation, as well as to the scalability and maintainability of your code. Regardless of your experience, expert authors Jim Dawson and John Wainwright ensure you make the right choices to reap the rewards and avoid the potential penalties of poor design.



Pro Mapping in BizTalk Server 2009 provides indepth coverage of all aspects of mapping to enable you to quickly and efficiently incorporate logic that will fulfill your mapping requirements. While the mapping techniques will be useful for all versions of BizTalk Server, the code is tailored toward BizTalk Server 2006 R3 and demonstrates the latest approaches to standard maps, electronic data interchange, and RFID components. You'll refer again and again to the multiple solutions that will help solve your new mapping challenges, and soon find this is an essential reference for any BizTalk implementation.
About the Authors xvii
About the Technical Reviewer xix
Acknowledgments xxi
Introduction xxiii
PART 1 Basic Concepts of BizTalk Mapping
Creating a Simple Map
3(28)
Using the Development Studio
3(6)
The Mapper Grid
3(3)
The Solution Explorer Window
6(1)
The Toolbox Window
6(2)
The Properties Window
8(1)
The Working Environment
8(1)
Creating the Map
9(21)
Creating a BizTalk Project
9(1)
Adding a Project File Structure
10(1)
Creating the Input and Output Schemas
11(3)
Creating a New BizTalk Map File
14(2)
A Test Input file
16(1)
Building the Map
17(13)
Summary
30(1)
How BizTalk Maps Work
31(28)
Understanding How BizTalk Maps Work
31(5)
Constructing Map Rules
32(1)
Generating the Underlying Map
33(3)
Examining the Hidden Constructs in Maps
36(4)
Compiler-Generated Links
36(2)
Compiler-Generated Variables
38(2)
Compiler-Generated Scripts
40(1)
Digging into the HelloWorld Map Rules
40(17)
Using the Logical String Functoid Rule to Qualify a Data Extract
42(4)
Looking Deeper into Understanding Maps
46(11)
Summary
57(2)
Using Scripting in Maps
59(34)
Choosing Between Scripts and Functoids
59(6)
Our Guidelines for Scripts vs. Functoids
61(1)
Using the Rule of Six
61(4)
Selecting from Available Scripting Languages
65(17)
C#
66(5)
VB.NET
71(1)
JScript .NET
72(2)
XSLT Call Template
74(1)
Using Inline XSLT
74(2)
Using External Assemblies
76(6)
Choosing Your Scripting Language
82(2)
Combining Types of Scripting
84(4)
Examples of When You Should Use a Script
88(3)
Summary
91(2)
Testing BizTalk Maps
93(22)
Incremental Testing
93(3)
Addressing Architecture Considerations
96(4)
Organizing Your BizTalk Applications
97(1)
Organizing Your BizTalk Solutions
98(1)
Organizing Your BizTalk Projects
98(1)
Separating Schemas and Maps
99(1)
Test Data
100(3)
Generating Test Data from a Schema
100(1)
Generating Test Data from a Flat File
101(2)
Generating Test Data from an EDI File
103(1)
Testing in the Map Editor
103(7)
Advantages to Testing in the Map Editor
104(1)
Testing Techniques for the Map Editor
104(5)
Testing Output Structures
109(1)
Summary
110(5)
PART 2 Step-by-Step Mapping
Mapping Conditionals
115(16)
Checking If Data Exists
115(2)
Blocking Output When Data Doesn't Exist
117(2)
Checking If a Specific Condition Exists
119(2)
Checking If a Specific Condition Does Not Exist
121(2)
An If/Else Condition
123(2)
Using the Logical OR for a Single Return Value
125(1)
Using a case Statement
126(2)
Summary
128(3)
Dealing with Numbers
131(22)
Is This a Number?
131(4)
Determining if a String Is a Number
133(1)
Using a Regular Expression to Check for a Number
134(1)
Testing for a Numeric Value with the XSLT Number Function
134(1)
Is This Number an Integer?
135(2)
Rounding Numbers
137(2)
Summing Numbers
139(2)
Using the Cumulative Sum Functoid to Sum Data
139(1)
Using an Inline XSLT Script to Sum Data
140(1)
Summing Complex Data
141(1)
Counting Records
141(4)
Counting Records Simply
142(1)
Counting Qualified Records Simply
142(1)
Counting Complex Qualified Records
143(2)
Converting Real Numbers to Integers (and Back Again)
145(1)
Moving the Sign to a Trailing Position
146(3)
Converting a Number to or from Sign-Trailing Overpunch Format
149(3)
Summary
152(1)
Manipulating Strings
153(16)
Trimming Strings
153(3)
Trimming Nonblank Characters from a String
156(1)
Padding a String
157(1)
Selecting Substrings from String Data
158(3)
Concatenating Strings
161(2)
Searching String Data
163(1)
Removing and Replacing Characters from Strings
164(3)
Using the RegEx Function to Remove Garbage from a String
167(1)
Summary
167(2)
Manipulating Dates and Times
169(14)
BizTalk Date and Time Functoids
169(2)
Altering the Format of a Date
171(3)
Calculating a Due Date
174(1)
Comparing Date Intervals
175(1)
Performing Time Zone Conversions
176(1)
Converting Gregorian Dates to Ordinal Dates
177(1)
Converting Ordinal Dates to Gregorian Dates
178(2)
Converting Dates and Times Using the ParseExact Method
180(1)
Getting Dates and Times for an XSLT Script
180(2)
Summary
182(1)
Collecting Data
183(20)
Collecting Nonlooping Data from the Source
183(2)
Collecting Looping Data from the Source
185(4)
Modifying the Target Schema for Data Collection
189(1)
Using Global Variables for Data Collection
190(4)
Accumulating an Output Counter in a Script
190(2)
Accumulating an Output Counter in an XSLT Script
192(1)
Loading a Hard-Coded Reference List
193(1)
Loading a Unique List from Input Data
194(1)
Arrays vs. Hash Tables
195(1)
Using an Array to Control Data Selection for Output
195(7)
Summary
202(1)
Accessing External Data
203(26)
Using External Flat Files
204(12)
Retrieving a Single Value from a Flat File
204(5)
Retrieving Multiple Values from a Flat File
209(4)
Retrieving Values from a Flat File Using an Array
213(3)
Using the BizTalk Database Functoids with External Data
216(5)
Retrieving a Single Value Using Database Functoids
217(3)
Retrieving Multiple Values Using Multiple Value Extractor Functoids
220(1)
Locating External Files with Path Names and Connect Strings
221(4)
Using the Machine Name
221(1)
Using System Environment Variables
222(2)
Using the Machine Configuration File
224(1)
Using an Application Configuration File
225(1)
BizTalk Cross-Reference Tables
225(1)
Summary
225(4)
PART 3 Looping
Using Basic Looping Controls
229(30)
Understanding Loops
229(2)
Understanding BizTalk Mapping Engine's Basic Looping Concepts
231(8)
Adding Context Nodes
234(2)
Adding Compiler-Generated Links
236(3)
Limiting the Output of a Loop
239(3)
Forcing Looping in the Output
242(2)
Simultaneously Forcing and Limiting a Loop
244(3)
Many-to-One Looping
247(2)
One-to-Many Looping
249(1)
One-to-Nested Looping
250(4)
Nested-to-One Looping
254(3)
Summary
257(2)
Handling Advanced Looping
259(18)
Many-to-One Looping with a Source Child Loop
259(7)
One-to-Many Looping with a Child Target Loop
266(7)
Summary
273(4)
PART 4 EDI Mapping with BizTalk
Introducing Electronic Data Interchange (EDI)
277(24)
EDI Standards-Based Transactions
278(1)
Versions and Releases
279(1)
X12
279(1)
EDIFACT
280(1)
Using the Basic Building Blocks of EDI Messages
280(11)
Examining a Simple X12 Data Element
281(1)
Using Simple EDIFACT Data Elements
282(1)
Using Composite X12 Elements
283(1)
Using Composite EDIFACT Elements
284(1)
Creating X12 Segments
284(2)
Creating EDIFACT Segments
286(1)
Exploring X12 Segment Syntax Rules and Mapping
286(1)
Understanding X12 Transactions
287(3)
Understanding EDIFACT Transactions
290(1)
Exploring X12 Interchanges
291(4)
ST and SE
291(1)
GS and GE
292(1)
ISA and IEA
293(2)
Exploring EDIFACT Interchanges
295(4)
UNH and UNT
296(1)
UNG and UNE
297(1)
UNA, UNB, and UNZ
298(1)
Illustrating the Differences Between X12 and EDIFACT
299(1)
Summary
300(1)
Exploring EDI Looping
301(16)
Looping from EDI to an Application
301(9)
Exploring the X12-to-Application Solution
305(4)
Exploring the EDIFACT-to-Application Solution
309(1)
Looping from an Application to EDI
310(6)
Summary
316(1)
Processing EDI Code Pairs
317(18)
Introducing EDI Code Pairs
317(1)
Handling ID Codes in X12 REF and EDIFACT RFF Segments
318(4)
Looking for Specific Code Pairs in an X12-to-Application Map
318(2)
Looking for Specific Code Pairs in an EDIFACT-to-Application Map
320(1)
Using a Script to Select Specific Code Pairs from One REF or RFF Loop
321(1)
Using a Recursive XSLT Call Template to Process Code Pairs
322(2)
Using Nested XSLT Call Templates to Process Code Pairs
324(3)
Multiple Code Pair Positions in a Single Segment
327(3)
Handling Multiple Code Pairs in an Inbound Segment with C#
328(2)
Handling Multiple Code Pairs in an Inbound Segment with XSLT
330(1)
Creating Code Pairs in EDI Output
330(3)
Summary
333(2)
Unraveling the SDQ Segment
335(24)
Exploring the SDQ Segment
335(1)
Mapping Inbound SDQ Data
336(12)
Gathering the Data
337(1)
Sorting and Storing the Data into Hash Tables
338(3)
Retrieving the Locations for Output
341(2)
Outputting the Locations
343(2)
Adding the Item Numbers and Quantity Information to the Output
345(2)
Considering the Decisions in This Map
347(1)
Mapping Outbound SDQ Data
348(10)
Collecting the Item and Quantity Information
348(2)
Retrieving Item Numbers from the Hash Table
350(1)
Building the LIN and ZA Loops
351(4)
Adding the SDQ Node to the ZALoop1 Nodes
355(3)
Summary
358(1)
Taming the Dreaded 856 ASN HL Loop
359(34)
Exploring the HL Loop
359(4)
Planning to Map the HL Loop
363(1)
Mapping an Inbound 856
363(7)
Mapping an Outbound 856 ASN
370(11)
Building the ASN with an XSLT Script
378(3)
Creating the Simple Outbound 856 ASN
381(9)
Summary
390(3)
PART 5 Advanced Techniques
Building Custom Assemblies and Functoids
393(20)
Deciding to Use a Custom Assembly or Custom Functoid
393(1)
Creating an External Assembly for Date Conversion Functions
394(2)
Building a Custom Functoid
396(12)
Establishing a Common Terminology
397(1)
Laying Out the Approach
397(1)
Building the Functoid Worksheet
398(1)
Creating the Class Library Project
399(1)
Creating a Strong-Named Key File
399(1)
Setting Up the Application Values
400(1)
Setting Up the Functoid Resource File
401(1)
Adding the Bitmap for the Functoid Icon
402(1)
Adding Resources to the Project
403(1)
Adding Code to the Class Library Object
403(3)
Building and Deploying the Class Library Object
406(1)
Adding the Functoid to the Toolbar
406(1)
Testing the Functoid
407(1)
Adding More Functoids
408(1)
Doing a Custom Database Lookup
408(4)
Summary
412(1)
Examples from the Fringe
413(28)
Modifying Outbound EDI Envelope Data
413(4)
Creating the Custom Pipeline Component
414(3)
Building BizTalk Maps Outside the Map Editor
417(6)
Deciding to Use an XSLT File As Your Map
417(1)
Creating an External XSLT Map
418(2)
Implementing the External XSLT File As a Map
420(1)
Accessing C# Scripts in a Stand-Alone XSLT Map
421(1)
Calling Other XSLT Templates From a Stand-Alone XSLT Map
422(1)
Building Dynamic Tag Names in Your XML Output
422(1)
Breaking Up Large Strings Using Table Looping
423(16)
Reformatting Source Files for Easier Mapping
428(5)
Testing C# and VB Scripts
433(1)
Setting Up a Test Project
433(2)
Creating Test Code
435(1)
Using a Console Window to View the Function's Returned Value
436(1)
Using Function Calls to View the Function's Returned Value
436(1)
Running and Continuing the Debugger
437(1)
Stopping the Debugger
437(1)
Viewing Data in the Debugger
438(1)
Summary
439(2)
Index 441
Jim Dawson spent his first life in the U.S. Marine Corps, including a tour in Vietnam as an infantry platoon and company commander. Since then, his has gathered more than 25 years of experience in development, including working as a programmer analyst, systems analyst, electronic data interchange (EDI) analyst, BizTalk integrator, team leader, project manager, and departmental director. He has programmed in C, C++, C#, VB, XSLT, PHP, SQL, HTML, FORTRAN, PL1, and Assembly. He has worked with the BizTalk mapping engine for the last six years, concentrating on applying BizTalk to EDI uses. Jim is currently a managing partner of Second Star Professional Services (SSPS), LLC, a Microsoft Partner that provides expert electronic commerce implementation and integration services related to EDI.