I need to develop an app that will take data in one database and
transform it and put it into another database.
The databases are MongoDb storing JSon data.
I could just do it in Java, converting the Json in Java objects,
transform them and then convert the resulting objects back into JSon
for inserting into the other database.
Anyone have any ideas for doing it any other way? The requirements:
1. Developed using proper tooling - none of this Vi/Emacs/Non-GUI
crap. I use IntelliJ.
2. Needs to be unit testable
3. Performance is key
Thanks
Rakesh
Are remote connection capability common in this brand new NoSQL world?
Regards,
Ryan Schipper
> --
> You received this message because you are subscribed to the Google Groups "The Java Posse" group.
> To post to this group, send email to java...@googlegroups.com.
> To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
>
Java: Officially supported and mature. Would seem at first glance to move you out of your comfort zone, but to get FP you'd need either google-guice or lambdaj. Juice is enough of a paradigm shift that you're practically learning another language anyway, and lambdaj needs you to set up support in your IDE and build system. Most boilerplatey of the alternatives.
[snip]
You didn't say if this is a one-time "moving from one db to another"
kind of thing or an ongoing need. If one time, then just hack
something together and be done with it.
If this is going to be an ongoing need, maybe you should think about
integrating Mule ESB, Spring Integration, Apache Camel (which has a
Scala DSL for Kevin) or a similar ESB framework that abstracts out
some of the Json and Mongodb pieces and lets you focus on the
transformation that needs to occur.
I assume your goal is not to spend a lot of time on the annoying bits
at either end (getting data in, adapting it to an object you can
interact with, pushing data back out) but rather focus energies on the
important part (business logic/transformation) in the middle. This may
also be total overkill depending on the specifics of your project but
something to consider.
Wayne
These ESB platforms generally only load what you need (ala OSGI) so
while they have a long list of supported components, you will rarely
load more than what you're actually using for your specific
implementation. I can't make specific claims about performance for
your situation but we have been happy with our ESB experiences.
And I did say...
>> important part (business logic/transformation) in the middle. This may
>> also be total overkill depending on the specifics of your project but
>> something to consider.
If this is a single app to move data from one place to another, an ESB
is probably overkill. If you anticipate a future need to pipe the same
data (via another transformer or the same one etc) to another
destination (endpoint), or do some other analysis of the data, you may
find this to be a useful foundation block that you can build on (as we
have).
Wayne
It actually seems like a good choice as its almost like a stored
procedure so performance should be excellent.
R