Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
User Journal

Journal karniv0re's Journal: Every Time I EDI

As I mentioned before, I'm working on a RMM Level 3 RESTful service for our partners to use for B2B transactions. It is made up of resources and actions on those resources. But that's for the future. Right now, I'm stuck dealing with the less than stellar "Company R" as I will call them. They're primarily an EDI shop, like most of the partners I deal with. But they've been instructed to use web services. To them, that means "EDI over the Web."

So as a compromise, I've build a couple of additional services that handle the two specific types of EDIs that we need. I take the EDI in its raw form as the body of an HTTP POST request. Then I parse it using the wonderful GPL'd EDIReader.

Unfortunately, there's no Maven version for this, and it's hosted on the archaic Sourceforge. Ahh, old and decrepit, just like EDI. I have no idea if BerryWorks is maintaining this, or what, so I pulled the code into a new shared component that I'm calling edi common. EDIReader uses SAX to parse an EDI into XML format. So once I do that, I use JiBX (hello darkness, my old friend) to unmarshal the XML EDI into a Java object. I call this my BaseEDI. Since I know what kind of EDI I have, I can then get more specific, and write helper methods to get exactly what I need from a particular element on a particular segment.

All of this is very ugly, but I'd like to think that I've done it in the best way I could think of. And it works phenomenally. I just put it into test this week and I'm writing a testing tool to help with the creation of EDIs.

I have no idea when this thing will go live, but it'll be ready for whenever Company R decides to get with the program.

They have not been so good at even traditional EDI, so migrating to the web is only going to have the added benefit of getting them real-time error messages. I have surrounded my code in so many error catches with specific error messages to really hone in on where problems may lie. It's not even a bit fun to read through, but I know if they start failing, I'll be able to point to the exact reason and tell them immediately. And as in the past, it will not likely be my code that causes the problems, but theirs. I had so much fun during our first Go Live looking at errors and saying, "it's on your side." heh. There's a certain satisfying smugness in that.

Anyway, this week we also learned of impending layoffs at the company. Fuck. No good will come of this. I hope I've done enough to cement my necessity to the company. But slightly more likely is seeing my manager go, or anyone else I've enjoyed working with. That has the ability to fuck all kinds of shit up. If I end up working for Ass Hat, I'm going to lose my shit. I guess I will keep my fingers crossed until then. But I will continue to drive on and keep churning out great products that people love in the meantime.

This discussion has been archived. No new comments can be posted.

Every Time I EDI

Comments Filter:

Without life, Biology itself would be impossible.

Working...