Author Topic: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation  (Read 2161 times)

tanja

  • EA User
  • **
  • Posts: 71
  • Karma: +0/-0
    • View Profile
Hello,

For those of us using Java in general, we have to start moving to Java 11, and all Java providers, commercial or open source, stop support for 32-bit jre and jdk altogether.

This means that any automation we have today to interact with our EA models will just stop working.

It is very costly or even impossible to:
- port existing Java application talking with EA to some other programming language, and/or,
- train developers to learn another programming language (e.g., C#), and/or,
- change the enterprise server-side infrastructure to remove Java from the picture,
the options some have been proposing on other related threads  :-\

Does Sparx have plans for:
1) providing 64-bit Java API (eaapi.jar, and probably accompanying SSJavaCOM.dll)?
2) providing faster COM-independent implementation, now that there is native EA XML export?

In relation to 2): Many years ago, being desperate with the bad EA Java API performance, I have indeed developed an alternative 'builderFromEa' implementation for the basic UML model content that my open source application (http://www.tanjakostic.org/jcleancim/) needs. It took me a few week-ends back then to:
- refactor my original code that was using exclusively EA Java API iterative model walk-through, and,
- provide an alternate (now default) builder that works with SQL query results returned as XML (as recommended by Geert).
Indeed, the only times I must use EA Java API today is when I need to export diagrams and/or XMI. These operations are, again, notoriously slow (qwerty and Geert explained why in a previous thread) and this would be also something for Sparx to consider improving.

Could anybody from Sparx comment on this? It is really getting urgent to support 64-bit jre/jdk at least for read-only access.

Thanks,
Tanja

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 6963
  • Karma: +71/-10
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #1 on: December 23, 2019, 09:35:33 am »
1) providing 64-bit Java API (eaapi.jar, and probably accompanying SSJavaCOM.dll)?
It's at least theoretically possible. The EA COM api is loaded out of process, so a 64 bit dll can still call it.

2) providing faster COM-independent implementation, now that there is native EA XML export?
The OSLC interface provided by the cloud server is COM independent. Maybe you can start migrating to that?
Eve

support@sparxsystems.com

tanja

  • EA User
  • **
  • Posts: 71
  • Karma: +0/-0
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #2 on: December 24, 2019, 12:30:25 am »
Thanks for a quick reaction, but the replies do not answer my questions at all.

1) The .dll is not my problem, but rather the eaapi.jar which forces us to compile the full applications with 32-bit Java, eventhough we have OS-s and everything supporting 64-bit since so many years. So, 64-bit Java library, when?

2) OSLC ? Cloud? This would be too far fetched to push simple desktop applications to the cloud... So, without any cloud, COM-independent API, when? (I think that .NET programmers would be happy with the effort as I imagine that any COM automation implementation is utterly slow; at least, that's what profiler shows to me).

Note that although I don't hope to read such an answer, the answer could also state: "never", or "not in next 3 years", or "not before 1 year". That would be at least a clear statement for us to make timely migration choices.

Thanks for your consideration.

qwerty

  • EA Guru
  • *****
  • Posts: 10812
  • Karma: +244/-220
  • I'm no guru at all
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #3 on: December 24, 2019, 01:45:58 am »
I'd guess the answer would most likely be "In a future release". When ever that might be. Sparxians have definitely another interpretation of Christmas present than us earthlings have.

Consider that the last rand of the year ;-)

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 6963
  • Karma: +71/-10
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #4 on: December 24, 2019, 08:49:53 am »
1) The .dll is not my problem, but rather the eaapi.jar which forces us to compile the full applications with 32-bit Java, eventhough we have OS-s and everything supporting 64-bit since so many years. So, 64-bit Java library, when?
The dll is exactly the problem. The entire Java API runs through that 32 bit dll. If java is running in 64 bit it can't load that dll and as a result can't communicate with the EA API.

2) OSLC ? Cloud? This would be too far fetched to push simple desktop applications to the cloud... So, without any cloud, COM-independent API, when? (I think that .NET programmers would be happy with the effort as I imagine that any COM automation implementation is utterly slow; at least, that's what profiler shows to me).
You may not like it, but that is a COM independent API like you asked for. Duplicating the desktop API in another framework isn't going to speed it up. The speed issue isn't COM, it's that loading each object typically requires multiple database calls. When you're iterating over a collection you easily make thousands of calls.

Note that although I don't hope to read such an answer, the answer could also state: "never", or "not in next 3 years", or "not before 1 year". That would be at least a clear statement for us to make timely migration choices.
We don't have plans for a third API that runs on the desktop and magically improves the performance.

Consider that the last rand of the year ;-)
You generate your rants using a random phrase generator? I thought they were a little repetitive and unhelpful.  :P
Eve

support@sparxsystems.com

tanja

  • EA User
  • **
  • Posts: 71
  • Karma: +0/-0
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #5 on: December 24, 2019, 08:54:24 am »
Eve, let us forget 2), I got the message.

On 1), do you ever intend to move to 64-bit, and enable us to compile our applications with 64-bit Java?

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 6963
  • Karma: +71/-10
    • View Profile
Re: Java API: 64-bit eaapi.jar, and fast (COM-independent) implementation
« Reply #6 on: December 24, 2019, 12:19:42 pm »
I can't promise anything for Christmas, but I will give a little push towards 64 bit java compatibility.
Eve

support@sparxsystems.com