SlideShare une entreprise Scribd logo
1  sur  11
Snack: Jak podwoić korzyści
zaimplementowanego kodu
.NET?
Przemysław Ładyński
pladynski@sdncenter.pl
.NET vs. JAVA

„80% dużych korporacji opiera swoje rozwiązania no obu technologiach” ~Gartner

.NET

JAVA

 ~4,47mln c# ~2,83mln VB.NET = ~7,3 mln
programistów

 ~ 8,3mln
programistów

 71% korporacji

 64% korporacji

 60% małych firm

 36% małych firm

 Szybka integracja z rozwiązaniami
Microsoft (AD, Sharepoint, SCCM,
Dynamics CRM, etc…)

 Duża ilość bibliotek rozwijanych jako
projekty open-source
 Duże systemy klasy enterprise (HPSM, ERP,
SAP JAVA Engine,
 Szybka integracja z systemami Oracle

* Ogółem szacuje się, że jest 43mln osób zajmujących się programowaniem
Zatem jak podwoić
korzyści
stworzonego kodu w
.NET?

Udostępnić go programistom JAVA :)
Jak udostępnić kod .NET
aplikacji pisanej na JVM?
• Połączenie TCP/IP klient serwer
• Web Services / REST

• Obiekty COM/DCOM (konieczność użycia zewnętrznej
implementacji COM dla JAVA)

• Kolejki (konieczność użycia zewnętrznej implementacji wybranej
kolejki dostępnej dla obu platform)

• Wywołanie natywne przez JNI
• Natywny pomost
Krok 1 – Dodaj Javonet JAR do projektu JAVA

Zalety

Projekt Eclipse

javonet.jar

•

Lekka biblioteka – jeden plik JAR

•

Wysoka (~natywna) wydajność

•

Brak konieczności jakiejkolwiek
implementacji po stronie .NET!

•

Proste API po stronie JAVA

•

Brak konieczności tworzenia
infrastruktury typu klient<>serwer

•

Ilość linii kodu niemal 1:1

•

Możliwość implementacji własnych
klas proxy

Projekt Eclipse

javonet.jar

.NET DLL

Brak konieczności generowania
klas proxy

•

Krok 2 – Skopiuj bibliotekę .NET

Krok 3 – Pisz swój kod
public void GenerateRandomNumber() throws JavonetException
{
NObject objRandom = Javonet.New("System.Random");
int value = objRandom.invoke("Next",10,20);
System.out.println(value);
}
Co musi zrobić
programista .NET aby
udostępnić swój kod
JAVOwcom?

Przesłać swój plik .DLL lub .EXE :)
DEMO
Jak to działa?
Bibliotek .DLL
Kod Java

.NET Reflection

Javonet API

Kontroler

Silnik Javonet
(wymienny kanał komunikacji)

.NET

CLI/C++

JNI
Co jeszcze potrafi Javonet?


Powoływanie i używanie dowolnych obiektów .NET



Wywoływanie metod statycznych i instancyjnych



Podstawianie i pobieranie wartości z pól i propert statycznych i instancyjnych



Subskrybowanie zdarzeń



Przekazywanie jako parametr i podstawianie do pól i propert dowolnych typów prostych, obiektów i tablic
(automatyczna konwersja typów prostych)



Przekazywanie argumentów z modyfikatorami „ref” i „out”



Rozszerzanie klas .NET w JAVA



Międzyplatformowa obsługa wyjątków .NET po stronie JAVA



Przekazywanie wywołań garbage-collectora z JAVA do .NET



Obsługa plików app.config



Wbudowana optymalizacji wywołań
Rosnące zaufanie
Dziękuje!
Przemysław Ładyński
pladynski@sdncenter.pl

• Darmowe demo 30 dni
• Dla projektów akademickich i nie komercyjnych bez opłat
• Strona projektu: www.javonet.com
• Wprowadzenie: www.javonet.com/quick-start-guide/

Contenu connexe

En vedette

8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...
8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...
8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...Lukas Pobocha
 
Czarna księga kobiet - (red.) Christine Ockrent - ebook
Czarna księga kobiet  - (red.) Christine Ockrent - ebookCzarna księga kobiet  - (red.) Christine Ockrent - ebook
Czarna księga kobiet - (red.) Christine Ockrent - ebooke-booksweb.pl
 
Case study marki Natura z Albumu Superbrands Polska 2016
Case study marki Natura z Albumu Superbrands Polska 2016 Case study marki Natura z Albumu Superbrands Polska 2016
Case study marki Natura z Albumu Superbrands Polska 2016 Superbrands Polska
 
1.2013. bhp szkolenie okresowe bhp
1.2013. bhp   szkolenie okresowe bhp1.2013. bhp   szkolenie okresowe bhp
1.2013. bhp szkolenie okresowe bhpUlaMor
 
Презентація вирощування овочів (польський варіант)
Презентація вирощування овочів (польський варіант)Презентація вирощування овочів (польський варіант)
Презентація вирощування овочів (польський варіант)Ірина Мельник
 
System ADONIS - prezentacja
System ADONIS - prezentacjaSystem ADONIS - prezentacja
System ADONIS - prezentacjaZbigniew Misiak
 
Słowiński Park Narodowy
Słowiński Park NarodowySłowiński Park Narodowy
Słowiński Park NarodowyEwaB
 

En vedette (10)

8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...
8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...
8. Wykorzystywanie elementów elektrycznych i energoelektrycznych do budowy pr...
 
Czarna księga kobiet - (red.) Christine Ockrent - ebook
Czarna księga kobiet  - (red.) Christine Ockrent - ebookCzarna księga kobiet  - (red.) Christine Ockrent - ebook
Czarna księga kobiet - (red.) Christine Ockrent - ebook
 
Python. Receptury
Python. RecepturyPython. Receptury
Python. Receptury
 
Case study marki Natura z Albumu Superbrands Polska 2016
Case study marki Natura z Albumu Superbrands Polska 2016 Case study marki Natura z Albumu Superbrands Polska 2016
Case study marki Natura z Albumu Superbrands Polska 2016
 
Kwestionariusz ankiety
Kwestionariusz ankietyKwestionariusz ankiety
Kwestionariusz ankiety
 
1.2013. bhp szkolenie okresowe bhp
1.2013. bhp   szkolenie okresowe bhp1.2013. bhp   szkolenie okresowe bhp
1.2013. bhp szkolenie okresowe bhp
 
Презентація вирощування овочів (польський варіант)
Презентація вирощування овочів (польський варіант)Презентація вирощування овочів (польський варіант)
Презентація вирощування овочів (польський варіант)
 
System ADONIS - prezentacja
System ADONIS - prezentacjaSystem ADONIS - prezentacja
System ADONIS - prezentacja
 
Plan Działań Wspierających
Plan Działań Wspierających Plan Działań Wspierających
Plan Działań Wspierających
 
Słowiński Park Narodowy
Słowiński Park NarodowySłowiński Park Narodowy
Słowiński Park Narodowy
 

Similaire à Jak podwoić wartość kodu .NET?

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Adrian Kalbarczyk
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do AspKelut
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004Tomasz Cieplak
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPWydawnictwo Helion
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
 
ITAD PolSl 2014 - Nowości w .NET 2015
ITAD PolSl 2014 - Nowości w .NET 2015ITAD PolSl 2014 - Nowości w .NET 2015
ITAD PolSl 2014 - Nowości w .NET 2015Michał Dudak
 
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future ProcessingPROIDEA
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Tomasz Cieplak
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaJakub Hajek
 
Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńPaweł Kondraciuk
 

Similaire à Jak podwoić wartość kodu .NET? (20)

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHP
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
C#. Programowanie
C#. ProgramowanieC#. Programowanie
C#. Programowanie
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
 
ITAD PolSl 2014 - Nowości w .NET 2015
ITAD PolSl 2014 - Nowości w .NET 2015ITAD PolSl 2014 - Nowości w .NET 2015
ITAD PolSl 2014 - Nowości w .NET 2015
 
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future Processing
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004
 
C# i .NET
C# i .NETC# i .NET
C# i .NET
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzień
 

Jak podwoić wartość kodu .NET?

  • 1. Snack: Jak podwoić korzyści zaimplementowanego kodu .NET? Przemysław Ładyński pladynski@sdncenter.pl
  • 2. .NET vs. JAVA „80% dużych korporacji opiera swoje rozwiązania no obu technologiach” ~Gartner .NET JAVA  ~4,47mln c# ~2,83mln VB.NET = ~7,3 mln programistów  ~ 8,3mln programistów  71% korporacji  64% korporacji  60% małych firm  36% małych firm  Szybka integracja z rozwiązaniami Microsoft (AD, Sharepoint, SCCM, Dynamics CRM, etc…)  Duża ilość bibliotek rozwijanych jako projekty open-source  Duże systemy klasy enterprise (HPSM, ERP, SAP JAVA Engine,  Szybka integracja z systemami Oracle * Ogółem szacuje się, że jest 43mln osób zajmujących się programowaniem
  • 3. Zatem jak podwoić korzyści stworzonego kodu w .NET? Udostępnić go programistom JAVA :)
  • 4. Jak udostępnić kod .NET aplikacji pisanej na JVM? • Połączenie TCP/IP klient serwer • Web Services / REST • Obiekty COM/DCOM (konieczność użycia zewnętrznej implementacji COM dla JAVA) • Kolejki (konieczność użycia zewnętrznej implementacji wybranej kolejki dostępnej dla obu platform) • Wywołanie natywne przez JNI • Natywny pomost
  • 5. Krok 1 – Dodaj Javonet JAR do projektu JAVA Zalety Projekt Eclipse javonet.jar • Lekka biblioteka – jeden plik JAR • Wysoka (~natywna) wydajność • Brak konieczności jakiejkolwiek implementacji po stronie .NET! • Proste API po stronie JAVA • Brak konieczności tworzenia infrastruktury typu klient<>serwer • Ilość linii kodu niemal 1:1 • Możliwość implementacji własnych klas proxy Projekt Eclipse javonet.jar .NET DLL Brak konieczności generowania klas proxy • Krok 2 – Skopiuj bibliotekę .NET Krok 3 – Pisz swój kod public void GenerateRandomNumber() throws JavonetException { NObject objRandom = Javonet.New("System.Random"); int value = objRandom.invoke("Next",10,20); System.out.println(value); }
  • 6. Co musi zrobić programista .NET aby udostępnić swój kod JAVOwcom? Przesłać swój plik .DLL lub .EXE :)
  • 8. Jak to działa? Bibliotek .DLL Kod Java .NET Reflection Javonet API Kontroler Silnik Javonet (wymienny kanał komunikacji) .NET CLI/C++ JNI
  • 9. Co jeszcze potrafi Javonet?  Powoływanie i używanie dowolnych obiektów .NET  Wywoływanie metod statycznych i instancyjnych  Podstawianie i pobieranie wartości z pól i propert statycznych i instancyjnych  Subskrybowanie zdarzeń  Przekazywanie jako parametr i podstawianie do pól i propert dowolnych typów prostych, obiektów i tablic (automatyczna konwersja typów prostych)  Przekazywanie argumentów z modyfikatorami „ref” i „out”  Rozszerzanie klas .NET w JAVA  Międzyplatformowa obsługa wyjątków .NET po stronie JAVA  Przekazywanie wywołań garbage-collectora z JAVA do .NET  Obsługa plików app.config  Wbudowana optymalizacji wywołań
  • 11. Dziękuje! Przemysław Ładyński pladynski@sdncenter.pl • Darmowe demo 30 dni • Dla projektów akademickich i nie komercyjnych bez opłat • Strona projektu: www.javonet.com • Wprowadzenie: www.javonet.com/quick-start-guide/