-
1. Data: 2012-05-24 11:55:20
Temat: Dane przekazywane pomiedzy JEE a C# .NET
Od: Jacek Czerwinski <...@...z.pl>
Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
.NET (mały serwer). Jakaś forma serializacji, przepakowania na
XML/JSON/whatever
Obecnie są to ręcznie zrobione 2 GET-u we własnej konwencji, na 5
danych, ale szybko rośnie potrzeba robić to lepiej i szybciej.
Połączenie chcę szybko nawiązywalne, i szybko zwalniane więc mało się
podoba długotrwały socket i dlatego http.
uwarunkowanie po stronie .NET
Środowisko bez IIS (mini serwer http realizuje popularny HttpListener ze
'zwykłych' programów WinForms / CommandLine, HttpListener ma pewne
ubóstwo w kodach HTTP i do ideału REST mu daleko)
silna awersja do dodatkowych asseblies, jak najmniej a najlepiej wcale.
Framework od 2.0 do 4.0 i więcej. To powoduje że wbudowany w 4.0 JSON
uznajemy za niedostępny. Ale z kolei jakieś rozwiązania z 2.0-3.5
przestały działać w 4.0.
Klasy C# podlegające 'serializacji' nie są własne i tylko widoczne przez
metadane.
Nie mam WSDL do nich.
obecnie wydaje mi najlepsze się pozyskiwanie danych automagiczne przez
refleksję ale z korektą ręczną(np. nie ujawnianie niektórych danych)
... oraz pytanie: jak po tej stronie się mówi o czymś co w J wiąże się
ze słowem Bean (jego edycja, transmisja, serializacja itd)
Na co zwrócić uwagę?
po stronie Javy. Tu dość dobrze się czuję.
Nie boli jeden-dwa niewielkie JAR-y a wiele z nich i tak już jest.
Klient np. Apache Http Client lub Url.
chętnie przyjęte 'po drucie' dane bym przyjął w obiekty, których klasy
można wygenerować np. półautomatycznie.
-
2. Data: 2012-05-24 13:18:06
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: "yamma" <y...@w...pl>
Jacek Czerwinski wrote:
> Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
> .NET (mały serwer). Jakaś forma serializacji, przepakowania na
> XML/JSON/whatever
No przecież do takich celów wymyślono WebService'y.
yamma
-
3. Data: 2012-05-24 13:30:14
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2012-05-24 13:18, yamma pisze:
> Jacek Czerwinski wrote:
>> Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
>> .NET (mały serwer). Jakaś forma serializacji, przepakowania na
>> XML/JSON/whatever
>
> No przecież do takich celów wymyślono WebService'y.
> yamma
Więc pytam o LEKKIE (nie wymagające środowiska) webserivce
-
4. Data: 2012-05-24 14:34:10
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: "yamma" <y...@w...pl>
Jacek Czerwinski wrote:
> W dniu 2012-05-24 13:18, yamma pisze:
>> Jacek Czerwinski wrote:
>>> Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
>>> .NET (mały serwer). Jakaś forma serializacji, przepakowania na
>>> XML/JSON/whatever
>>
>> No przecież do takich celów wymyślono WebService'y.
>> yamma
>
> Więc pytam o LEKKIE (nie wymagające środowiska) webserivce
IIS masz teraz na każdym Windowsie a jeśli nie chcesz, to masz chociażby
lekki serwerek Cassini, który obsługuje każdą wersję .NET Frameworka. Jeśli
i to ci nie pasuje, to możesz skorzystać z WCF, które możesz uruchomić jako
zwykłą windowsową usługę i też będzie ci nasłuchiwać na wybranym porcie i
zwracać dane w dowolnej postaci (nawet JSON). Z .NETem tutaj problemów nie
ma, większe możesz napotkać po stronie klienta ale ja tutaj już ci nic nie
doradzę, bo Javy uczyłem się lata temu. Jakieś biblioteki do konsumowania WS
na pewno ma.
yamma
-
5. Data: 2012-05-24 15:38:15
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2012-05-24 14:34, yamma pisze:
> Jacek Czerwinski wrote:
> IIS masz teraz na każdym Windowsie a jeśli nie chcesz,
A nie "teraz" (tzn starsze Windy) nie ma lub nie chcę (np.
funkcjonalność w aplikacji). A jeśli zmienię zdanie, mała skromna usługa
'prawie' jak obsługa myszki czy UPS.
Żaden IIS który mi będzie "optymalizował" lokalny webmaster.
to masz chociażby
> lekki serwerek Cassini, który obsługuje każdą wersję .NET Frameworka.
Słyszałem, starszy/nowszy z Codelplex i jakiegoś innego...
> Jeśli i to ci nie pasuje, to możesz skorzystać z WCF, które możesz
> uruchomić jako zwykłą windowsową usługę i też będzie ci nasłuchiwać na
WCF to dla mnie marketingowy parasol nad wieloma sprawami. Czy stykając
się z klasą HttpListener, dotykam części WCF? Chronologicznie podobnie
się pojawił w XP SP2
A jeśli nie, to o jakich "punkach wejścia" mówisz?
O jakich klasach mam poczytać?
> wybranym porcie i zwracać dane w dowolnej postaci (nawet JSON).
O ile z HTTP bym coś już sobie radził, jakie przenośne 'serializery' do
w/w protokołów? Do JSON lub XML-i, zawarte już w środowisku peceta.
Jakie klasy, liby, co doczytać? Chcę sporo 'automatyki' (refleksja???)
ale panowanie ręcznym kodem też.
Po stronie Javy to z kolei ja dam sobie radę. (Myślałem że mi paluchy
się połamią, w jednym oknie debugger Eclipse z jego skrótami, w drugim MSVC#
-
6. Data: 2012-05-24 16:28:59
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: "yamma" <y...@w...pl>
Jacek Czerwinski wrote:
> WCF to dla mnie marketingowy parasol nad wieloma sprawami. Czy
> stykając się z klasą HttpListener, dotykam części WCF? Chronologicznie
> podobnie
> się pojawił w XP SP2
>
> A jeśli nie, to o jakich "punkach wejścia" mówisz?
> O jakich klasach mam poczytać?
Hm. Generalnie, dobrze byłoby abyś zapoznał się z filozofią WCF. Wiele ludzi
uważa, że jest to następca WebService'u znanego z .Net 2.0 ale tak do końca
nie jest. Nawet w samej nazwie (Windows Communication Foundation) nie ma
słowa o serwisach. Jest to tak ogólnie biblioteka do komunikacji pomiędzy
systemami. Może to być SOAP ale niekoniecznie, może być hostowana na IIS-ie
ale też niekoniecznie. Całość, to po prostu zwykła DLL-ka. Zresztą, co ja
sobie będę łamał język.:-) Tutaj masz podstawy:
http://www.codeguru.pl/baza-wiedzy/wstep-do-technolo
gii-wcf,2186
http://www.codeguru.pl/baza-wiedzy/zaawansowane-elem
enty-modelu-obietkowego-wcf,2188
> O ile z HTTP bym coś już sobie radził, jakie przenośne 'serializery'
> do w/w protokołów? Do JSON lub XML-i, zawarte już w środowisku peceta.
> Jakie klasy, liby, co doczytać? Chcę sporo 'automatyki' (refleksja???)
> ale panowanie ręcznym kodem też.
Tutaj trochę praktyki:
http://www.codeguru.pl/baza-wiedzy/wcf-w-praktyce-cz
esc-1---wstep-kontrakt---definiujemy-usluge,1718
http://www.codeguru.pl/baza-wiedzy/wcf-w-praktyce-cz
esc-2---host---udostepniamy-usluge,1893
Do twoich celów, to chyba to byłoby najlepsze:
http://www.codeproject.com/Articles/167159/How-to-cr
eate-a-JSON-WCF-RESTful-Service-in-60-sec
Po skompilowaniu to ci się odpali na czymś co nazywa się WcfSvcHost ale
docelowo możesz to uruchomić jak klasyczną usługę:
http://msdn.microsoft.com/en-us/library/ms733069.asp
x
yamma
-
7. Data: 2012-05-24 18:55:00
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2012-05-24 16:28, yamma pisze:
> Jacek Czerwinski wrote:
>
>> WCF to dla mnie marketingowy parasol nad wieloma sprawami.
> Hm. Generalnie, dobrze byłoby abyś zapoznał się z filozofią WCF. Wiele
> ludzi uważa, że jest to następca WebService'u znanego z .Net 2.0 ale tak
> do końca nie jest. Nawet w samej nazwie (Windows Communication
> Foundation) nie ma słowa o serwisach. Jest to tak ogólnie biblioteka do
> komunikacji pomiędzy systemami. Może to być SOAP ale niekoniecznie, może
> być hostowana na IIS-ie ale też niekoniecznie. Całość, to po prostu
> zwykła DLL-ka. Zresztą, co ja sobie będę łamał język.:-)
Dzieki za wprowadzenie, jak się przebić przez treści typu marketingowego
bełkotu (nawet na Wikipedii to jest), i dojść do konkretu, pierwsze
czytanie wygląda sensownie.
-
8. Data: 2012-05-24 20:08:17
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: k...@g...com
W dniu czwartek, 24 maja 2012 11:55:20 UTC+2 użytkownik Jacek Czerwinski napisał:
> Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
> .NET (mały serwer). Jakaś forma serializacji, przepakowania na
> XML/JSON/whatever
Zobacz protobuf googla i tutaj na pierwsza odpowiedz:
http://stackoverflow.com/questions/6035649/using-pro
tobuf-net-with-wcf-client-and-a-java-server
--
Pozdrawiam,
Marcin Kral
-
9. Data: 2012-05-24 21:58:38
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2012-05-24 20:08, k...@g...com pisze:
> Zobacz protobuf googla
Faaaaajne.
Co na to apostołowie tradycyjnych formatów? Nieortodoksyjne?
> i tutaj na pierwsza odpowiedz:
> http://stackoverflow.com/questions/6035649/using-pro
tobuf-net-with-wcf-client-and-a-java-server
Już się wczytuję
-
10. Data: 2012-05-24 23:43:19
Temat: Re: Dane przekazywane pomiedzy JEE a C# .NET
Od: Maciej Sobczak <s...@g...com>
On 24 Maj, 11:55, Jacek Czerwinski <x...@...z.pl> wrote:
> Jak by należało myśleć o przekazaniu danych pomiędzy Javą (klient) a
> .NET (mały serwer).
Na przykład tak:
http://www.inspirel.com/yami4/
Zwłaszcza, jeśli to ma być lekkie i mało intruzywne (znaczy: używasz
tego w swoim projekcie a nie robisz swój projekt wokół tego).
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com