Day 3 in my RosettaNet implementation nightmare and I still can’t see the end of the road!
As you may or may not know, the American Petroleum Institute (API) has it’s own set of XML schemas and transport standards know as the Petroleum Industry Data Exchange or PIDX for short. This is the actual “standard” that my current RosettaNet project is really all about. The interesting about these schemas is the fact that they use their own unique namespace and prefix as shown below:
Since the BizTalk Mapper tool always generates XML document with the “ns0″ prefix and there is no property you can set to change this, you’ll need to use a little “XSLT slight-of-hand” to get this to work.
Step 1: Create your BizTalk Map as you normally would using the mapper tool.
Step 2: Validate your map and open the xslt generated by BizTalk Server 2006 in your favorite text editor. This file can usually be found in the “\temp\_mapdata” folder.
Step 3: Replace all instances of the namespace prefix “ns0″ with the prefix you require (which in this case is “pidx”) as shown below.
Step 4: Save the result as an .xslt file and include it (or add it) into your BizTalk project.
Step 5: Create a new map using the same source and destination schemas you used in Step 1 but use the external xslt you generated by setting the “Custom XSLT Path” property on your new map.
The results are shown in the figure below. Viola! The “ns0″ namespace prefix has been replaced by the desired “pidx” prefix.
Click below for more information about using external xslt in your maps.
Custom XSLT in BizTalk Maps
Take Away: There is always more than one way to skin a cat! In BTS2006 it may not be obvious how to do something a little unusual.
I’m stepping on my soapbox again so be warned!
I’ve recently encountered a number of well-intentioned (or perhaps not so well-intentioned) companies looking to reduce their internal costs for processing orders and invoices through some sort of “business process automation” system. Being an avid BPA developer I applaud these efforts so long as they bring “value” to everyone in the supply chain. What I see all too often is companies spending thousands and thousands of dollars on web-based initiatives where the main goal is to shift the transaction processing from themselves to their suppliers. From a business perspective, this just isn’t a wise choice and from a technological perspective, it just isn’t necessary. Having your suppliers enter their invoices first on their ERP system and then on your web-based system does not reduce the “transaction cost” it just shifts the labor from yourself to your supplier.
True B2B Integration Doesn’t Just Shift Costs, It Eliminates Them!
The Internet offers developers the unparalleled opportunity to connect disparate systems together without paying EDI “VAN” (Value Added Private Network) charges, telecom “WAN” (wide area network) charges or even leased-line charges. Basically, all the infrastructure costs are essentially free or paid for though corporate web access. All the developer (and business analyst) has to do is “connect-the-dots” using products like Microsoft’s BizTalk Server, Tibco’s iProcess Suite or Software AG’s WebMethods product to eliminate the real transaction costs. It’s never been easier or more affordable to do this and the benefits to the entire supply chain are enormous! Automating the transaction processing so that the document (purchase order or invoice) is “touched” by human hands only during it’s creation doesn’t just shift costs, it eliminates them!
Yes, I’ve heard all the arguments about how “costly” B2B integration can be and how smaller companies really can’t afford to participate but IT JUST ISN’T TRUE! Products like BizTalk Server 2006 make BPA truly affordable for companies of any size. I know of at least one very small company that used this product to integrate QuickBooks (their “ERP” system) to their much larger suppliers and customers. If they can do this without breaking the bank, anyone can!
Developer Call To Action: The next time your senior management talks about automating business processes with customers and suppliers, don’t just develop a BPA system that shifts the costs, work to eliminate them altogether!
Captain Picard – “Admiral, we’ve engaged the Borg”
Day 2 in my RosettaNet development project and all I can say is “Who Invents This Stuff”?
Yes, it’s been a glorious two days of trying to comprehend the world’s most complicated business-to-business process. Only the electronics industry could conceive of something so overly complex. Secure, internet-based transactions were never meant to be this difficult. It’s like swatting a fly with an atom bomb! After ten years of B2B development I though I had seen it all. Boy, was I wrong!
And the worse thing is that you have to pay for the privilege of enduring this torture. Every other xml standards organization I’ve ever dealt with freely distributes their schemas and specifications for everyone to use. Not so for the folks at RosettaNet.org! You’ll have to pay anywhere from several hundred to several thousand dollars for the rights to use their “PIP”s (Partner Interface Process) which is really nothing for than an XML DTD or XSD (schema) and a process guide explaining the message flow. It looks like RosettaNet.org used to publish these on their web site but now you’ll have to pay for a subscription to get these.
Why on earth would so many smart B2B developers adopt such an overly complex, expensive and time consuming standard is beyond my understanding. Folks, business-to-business transactions do NOT have to be this difficult.
Stay tuned for more fun & games!
This week I’m going to embark on a dark and mysterious journey, fraught with great danger, both real and imagined. I’m about to begin development of a BizTalk Accelerator for RosettaNet (BTARN 3.5) project with the assistance of Microsoft Consulting Services. For those of you experienced in BizTalk development, you’ll understand my trepidation. For those of you familiar with RosettaNet (RNIF), you’ll understand my sheer terror!
If I survive this ordeal, I promise to post about my experiences, so that future generations of BizTalk developers don’t make the same mistakes, don’t fall into the same traps and don’t lose what little is left of their rapidly graying hair!
I received a recent comment from Paul, asking how I found my “weekend gigs” or freelance development work. That’s a pretty good question and the short answer (without sounding too presumptuous) is that God provides! The long answer is “I don’t really know, it just seems to happen”.
I started my career many years ago as a degreed mechanical engineer, fresh from college and looking for fame and fortune in the “oil business” (which in Texas is correctly pronounced “Awl Bidness”). Unfortunately, I arrived on the scene just in time to watch oil drop from $40 per barrel down to $7 per barrel which left myself and about 100,000 other engineers scrambling for any work we could find. (If you’re a history buff or just follow the price of oil, you should be able to place my age within +/- 2 years from this information) Luckily, I landed a real engineering job for a valve manufacturer in Houston. I worked for that company for 18 years and watched it grow from $50 million in revenue to over $40 billion as it was acquired and reacquired over the next ten years. When I began with the company we had 300 employees and when I left the “company” we had over 240,000 employees and our CEO and CFO had just been indicted for tax evasion and securities fraud among other things. Care to guess the name of that company?
I held a number of engineering, product management and sales & marketing positions in that 18 year period and finally got tired of all the politics and corporate ladder climbing. So I asked the IT Director (a good friend) if he could find a position for me somewhere in the IT programming or operations area so that I could explore my love of computers, software and e-commerce. My friend and new boss gave me the opportunity to learn, do, and learn by doing and we had a blast. We put together that company’s first web site, first e-commerce site and first B2B system using pre-release versions of Microsoft’s SQL Server, BizTalk Server and Commerce Server. Over the next two years, with the help of some great people at Microsoft (yes, the Blue Monster really does have some great people) we designed and built a world-class B2B e-commerce system for (you guessed it) Tyco. One that has transacted literally hundreds of millions of dollars in transactions and is still in use almost ten years later.
My boss and I left Tyco, formed our own B2B consulting firm and as we had hoped, got Tyco as a client. The first year was great. We had lots of projects, worked 70 hour weeks and made good money. The second year taught us the lesson that most consultants come to call “going from feast to famine”. We called it something else (mostly unprintable) but learned several valuable lessons from the experience. I learned that I’m not cut out to be a full-time consultant and for me, it’s tremendously important to see “the fruits of my labors”. Which is why I work for a great medium-size “private” company today and do my “freelance” work in the evenings and on the weekends “as my time and energy permits”.
How do I find the work? I don’t really. It just seems to find me somehow, but I can give you a few tips to get started!
- Do volunteer work! It’s good for the soul and opens you to all sorts of opportunities.
- Give back to the community! Share your best work, start a blog or two. Post in the community forums.
- Answer your email and every (non-spam) blog comment! It’s amazing how word gets around the Internet.
- Try something new! Life is way too short to always take the safe road. Learn a new programming language. Hell, learn a new language period.
- Be courageous! Buy a Mac. Become a fanboy! Put an Apple sticker on your car.
Currently listening to Diana Krall’s “The Look of Love”.