Anders,

IKVM doesn't support the javax.transactions package.

In fact, the main difference pointed out by neo4j between java and
.NET is the lack of support for X/Open XA resource management: this is
possible only by calling an "interop" OLEDB component, which is
non-native .NET, which should be implemented in C++ and deployed to
the host machine separately. Naturally, OLE development is forbidden
in Linux machines, which makes things tougher.

While under .NET framework (since the 2.0 specifications there's the
inclusion of System.Transactions) it is provided a mechanism for
transactions, architecturally different from the X/Open specifications
(implemented with quite fidelity by javax.transactions), it is not
provided a mechanism to handle MTS or two-phase commits.

Since in neo4j one of the main aspects it's the XAResource
implementation for persisting and retrieving data, the "port" is also
conceptually difficult.


Cheers.
Antonello


On Sun, May 3, 2009 at 9:59 AM, Anders Nawroth <and...@neotechnology.com> wrote:
> Hi!
>
> Have you tried using IKVM.NET?
> http://www.ikvm.net/
>
>
> /anders
>
> Antonello Provenzano skrev:
>> Emil,
>>
>> I'm a good expert on .NET architecture and technology, having
>> contributed for years to the development of Mono and being a
>> recognized developer and architect in this domain.
>>
>> Last week I tried to implement a port version of neo4j for .NET,
>> applying the same concepts you implemented, not always plain porting
>> the code: Java and C# themselves are pretty different seen from
>> inside, and when you put in the middle also some architectural issues
>> like transactions and such (eg. the NIO extension), the things become
>> much less straight-forward.
>>
>> Although at the beginning my plan was to port in short time neo4j to
>> .NET, once I analyzed the full source code I've been aware of the
>> impossibility to accomplish this goal in small time: in fact, I
>> decided to start the implemenation of a brand new project based on the
>> concepts, rather than the actual code, of neo4j. This, as you can
>> guess, requires additional work for the architectural design,
>> prototyping and implementation, plus testing.
>>
>> In the short-medium term then, the best way will be to use a REST
>> solution, as you suggested (but I've already considered, in case of
>> not existence of native .NET solutions), which is not optimal by the
>> way, although viable for the bootstrap of the project.
>>
>> I hope we will keep in touch anyway, in case i would need your and
>> Neo's team assistance during the implementation of the .NET solution.
>>
>> Cheers!
>> Antonello
>>
>>
>>
>> On Sun, May 3, 2009 at 4:11 AM, Emil Eifrem <e...@neotechnology.com> wrote:
>>
>>> On Sun, May 3, 2009 at 03:55, Antonello Provenzano <antone...@deveel.com> 
>>> wrote:
>>>
>>>> I've found that neo4j would be perfect for my scope: unfortunately, it
>>>> is purely written in Java code and it's not portable to .NET, because
>>>> of the massive differences between the two architectures.
>>>>
>>>> Can you tell me if is it there any language binding or any port of
>>>> neo4j for .NET/Mono?
>>>>
>>> Hi Antonello,
>>>
>>> There's no port and no language binding at the time. I agree with you
>>> that porting Neo4j to .NET would probably be require a substantial
>>> investment, although I'm certainly no expert at .NET.
>>>
>>> As for bindings, I don't know how hard that would be. Neo4j currently
>>> has bindings for a number of languages (Python, Jython, Ruby, Clojure)
>>> and sometimes they've been fairly easy to roll. The conceptual
>>> impedance between Java and C# is certainly close to zero, so maybe
>>> adding .NET bindings is not that hard. You're certainly welcome to
>>> give it a shot!
>>>
>>> Another thought: Would it work if you implemented your graph algos in
>>> Java using Neo4j, then wrapped them in a thin REST layer and used that
>>> as a backend to the rest of your app written in .NET?
>>>
>>> Cheers,
>>>
>>> --
>>> Emil Eifrém, CEO [e...@neotechnology.com]
>>> Neo Technology, www.neotechnology.com
>>> Cell: +46 733 462 271 | US: 206 403 8808
>>> http://twitter.com/emileifrem
>>> _______________________________________________
>>> Neo mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>>
>> _______________________________________________
>> Neo mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>>
>
>
> --
> Anders Nawroth [and...@neotechnology.com]
> GTalk, Skype: anders.nawroth
> Phone: +46 737 894 163
> http://twitter.com/nawroth
> http://blog.nawroth.com/
>
> _______________________________________________
> Neo mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to