wtorek, listopada 10, 2009

Inter Oper

JNI - Java Native Interface

Wg. wiki - http://en.wikipedia.org/wiki/Java_Native_Interface - pozwala na komunikację między aplikacją w środowisku JVM (m.in. podpisanych appletów) ze środowiskiem uruchomieniowym danej platformy). Łącznikiem jest program w C++ lub rzadziej w C.

  1. Podobny bardzo jest http://en.wikipedia.org/wiki/Platform_Invocation_Services - P/Invoke w .NET.
  2. Podstawy JNI - http://www.codeproject.com/java/jnibasics1.asp - uruchomienie z Javy funkcji z DLL. Obiecuje autor cz 2 w której pokaże jak przekazywać parametry.
  3. Bardziej obiecujacy tutorial - http://jnative.free.fr/SPIP-v1-8-3/
  4. Pełny przykład - http://www.codetoad.com/java_simpleJNI.asp - z tego przykładu wygląda na to, że w Borland C++ dużo łatwiej się przygotowuje DLL.
  5. Najbardziej klasyczny i poprawny politycznie przykład pochodzący od samego SUN-a -http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html

  6. A oto odpowiedź rywala SUN-a http://www-128.ibm.com/developerworks/edu/j-dw-javajni-i.html

  7. http://www.jguru.com/faq/JNI

  8. technologia JAWIN - demo -> http://jawinproject.sourceforge.net/jawin.html#gettingStarted_demos (wywołanie PPT, czyli sterowanie COM) oraz łącznik do .NET.  Besides the COM and Win32 interoperability, Jawin can also be used for in-process interoperability with the Microsoft .NET platform. This can be accomplished because the .NET development tools makes it possible to export .NET objects as COM-objects. If in-process interoperability is not strictly needed, the recommended (and buzzword compatible) way to communicate between .NET and Java services is probably to use webservices. There should be plenty of resources around the Internet and in books, that explains webservices. One starting resource could be WS-I - the Web Services Interoperability Organization.  The Userguide - Interoperability with .NET Classes document contains a walk through the simple prof-of-concept net-hello demo.

  9. Piękna sprawa - wołanie C# z Java - http://jawinproject.sourceforge.net/jawinuserguide_net.html

JNI - pozwala na b. elastyczną komunikację między JVM i natywną platformą ale wymaga zabiegów po obu stronach (w javie i w C), zawężeniem funkcjonalności i uproszczeniem jest COM wrapper JCOM naprzykład (tutaj przygotowujemy łącznik do obiektów COM tylko w środowisku JAVA).

Tak swoja drogą przydałby się program do kompilacji JAVA z linii poleceń i GUI ale nie RAD.

  1. Inne projekty – JAWIN - http://jawinproject.sourceforge.net/jawinuserguide_net.html (ciekawa lista odwołań
    1. The MSDN .NET Framework Developers Guide section about Advanced COM Interop.
    2. A couple of additional articles about .NET and COM that helped me when writing this part of the Jawin Userguide: An article from CSharpFriends.com Calling .NET From COM, another from C# Help Using C# Classes as COM Objects and one from the C# Corner .NET COM Interoperability - Part 2: Using .NET Components from COM.)
  2. Budujemy mosty (Sun JAVA<->Ms COM)
    1. Płatne
      1. http://www.jacozoom.com/en_home.shtml
      2. http://www.nevaobject.com/j2cdetails.asp?kw=java%20com%20bridge
    2. Ten jest bezpłatny - http://danadler.com/jacob/
    3. Bezpłatny - http://php-java-bridge.sourceforge.net/pjb/examples.php
    4. http://sourceforge.net/projects/jcom/
    5. http://sourceforge.net/projects/jacob-project/
    6. http://www.alphaworks.ibm.com/tech/dtjcb?open&S_TACT=104AHW61&S_CMP=GR&ca=dgr-jw26awdtjcb
    7. Płatna - http://j-integra.intrinsyc.com/

Brak komentarzy: