Robin Dee

+ Follow
since Mar 25, 2010
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Robin Dee

Ivan Krizsan wrote:Hi!
I don't have extensive experience with different ESBs, but as far as I can tell the community (free) version of Mule 3 will be able to talk to the different systems you mention.
I do have some experience with Mule and would be happy to be of assistance. It really is not difficult, though - do some tutorials and you will quickly grasp the basics. Their documentation is quite good and there are plenty of resources in their forums.
Best wishes!

Hi Ivan,

Thanks for the information. I'd be glad to accept some assistance :-).

Thing is that I'm really new to ESBs and I'm probably worrying of matters of lesser importance. For example, how do I define what data to sync in what manner? I know when writing my own, I first define a set of business rules or use cases and transform those to the corresponding source code. Can I do just the same with an ESB?

So for example: update record X, providing or unless condition C applies...?

Best, R.
11 years ago
Hello all,

For some time I've been developing software and along the way I've done a number of "data synchronization" projects.

Now I'm looking into new project where data synchronization plays an important role (the main role). Given the case I know I probably shouldn't be writing my own framework, but use an ESB instead. So I've been looking into different open source ESBs (from the Java world) but it's quite hard to get the facts straight. I'm hoping you guys can shed a light on my question.

The case: we have two databases (MsSQL), an LDAP backend (active directory) and a CRM system (SugarCRM). We want to synchronize data from the databases and the AD to SugarCRM. As transport we'd like to use JDBC (for the databases), LDAP (AD) and SOAP (for the CRM system). As we need to combine data from the databases and the AD into single records, we need support for something like a decorator pattern.

We're wondering what open source ESB would suite us best. As it's just a small project there's no budget for anything fancy, so we're looking into open source / free stuff.

Any thoughts perhaps? Mule ESB CE, ServiceMix, JbossESB?

11 years ago

Frank Bennett wrote:You cannot directly process the XML-based data from a Java application. First you need to read the data and extract the data that is relevant to what you want and then populate one or more Java data objects with this data. Once this data is in object form, you can then do whatever you want with it. There are many, many different way to get the data from XML-based format to object-oriented format and then to relational table format.

Hi Frank,

Thanks for the insights.

It's mainly the translation from XML to the object form what I'm wondering about. As the data in the XML message isn't typed and the XML message itself has zero or more repetitions, I'm wondering about the best way to do so. Sure, splitting up the XML into some objects would a good way to start.

Suppose I were to do so, could you give me any advice on how to do this? As I'm a newbie I'm more concerned about learning and understanding the process than I'm concerned about maximum performance (and the like).

Thanks again!
Hello all,

I'm fairly new to Java; since a few days I've been playing around with Java, XML and SOAP. With some aid of Eclipse I've written a client for a SOAP webservice, using Axis.

The webservice I need to access anwers in a somewhat odd way: the body of the SOAP response features a CDATA block, containing another XML document with the requested data. I can handle that, so no questions there.

However... I need to process the information in the SOAP response. Because of the document layout I don't know how to do that in an efficient way.

XML example:

As you might have noticed, the document above contains information on a customer and products somehow related to this customer. Put differently: there's a one-to-many relationship hidden in this document.

So here's the question: how to handle this in an efficient way, given I want to do things like listing all the products for a customer..? Should I put the relevant information from the XML document in some other data container first (multidimensional array?)?

The actual XML document as returned by the SOAP service is rather large and may contain quite a few of these constructions.

Thanks in advance!

Jelle Klap wrote:This is commonly solved by obtaining a byte representation of the (usually password) String in a fixed encoding (e.g. UTF-8), applying the one-way hashing algorithm of your choosing to that byte sequence to obtain the digest, applying BASE64 encoding to that digest and storing it in the database in US-ASCII encoding.

Hi Jelle,

I'd figure I only need to do the first thing: obtain a byte representation of the String and pass that to my MD5 hasher...? As the output of the MD5 hasher is ASCII encoded? Or would there be any good reason to convert the digest to BASE64 and store that?


ps Dutch I presume? ;)
12 years ago

Paul Clapham wrote:When you say "the outcome of the MD5 hashing", are you comparing the array of bytes which is the outcome? Or are you converting that array of bytes to a String?

If it's the latter, then don't do that. You should only convert bytes to a String if they represent text. And an MD5 hash doesn't represent text.

Hi Paul,

I'm using only strings; I store the output of the PDF text extraction in a string-typed variable and both the input and output of the MD5 hash are strings. The output should be a string (I don't see any harm in that, as md5 hashes only contain ASCII chars, right?).

12 years ago
Hello all,

I'm quite new to Java (not to programming though) and I've run into some kind of problem in a tiny app I wrote. I hope I can get some help here :-).

What's going on? Using Apache's PDFbox I extract some text from PDF files. After extracting text from an PDF, I MD5 the text and store that in a database. That works just fine. Except... in some special cases. If the characters encountered are non-ASCII characters, the outcome of the MD5 hashing is different when I run my Java app on a Linux or a Windows system. My guess would be the difference in character encodings used by Linux and Windows.

What would be a good way to solve this issue? Can I force my string to be converted into some specific encoding (LATIN-1 for example) before applying the MD5 hash in order to guarantee identical results on Windows and Linux?

Best, Robin
12 years ago