RMI z IIOP POA (do współpracy z omniorb) Tomasz Kubik
|
|
- Łucja Kaźmierczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 RMI z IIOP POA (do współpracy z omniorb) Tomasz Kubik Java Napisz interfejs: HelloInterface.java import java.rmi.remote; public interface HelloInterface extends java.rmi.remote { public void sayhello() throws java.rmi.remoteexception; Napisz implementację: HelloImpl.java import javax.rmi.portableremoteobject; public class HelloImpl extends PortableRemoteObject implements HelloInterface { public HelloImpl() throws java.rmi.remoteexception { super(); // invoke rmi linking and remote object initialization public void sayhello() throws java.rmi.remoteexception { System.out.println( "It works! Hello World!!" ); Napisz klienta: HelloClient.java import java.rmi.remoteexception; import java.net.malformedurlexception; import java.rmi.notboundexception; import javax.rmi.*; import java.util.vector; import javax.naming.namingexception; import javax.naming.initialcontext; import javax.naming.context; public class HelloClient { public static void main( String args[] ) { Context ic; Object objref; HelloInterface hi; ic = new InitialContext(); catch (NamingException e) { System.out.println("failed to obtain context" + e); e.printstacktrace(); return; 1
2 // STEP 1: Get the Object reference from the Name Service // using JNDI call. objref = ic.lookup("helloservice"); System.out.println("Client: Obtained a ref. to Hello server."); catch (NamingException e) { System.out.println("failed to lookup object reference"); e.printstacktrace(); return; // STEP 2: Narrow the object reference to the concrete type and // invoke the method. hi = (HelloInterface) PortableRemoteObject.narrow( objref, HelloInterface.class); hi.sayhello(); catch (ClassCastException e) { System.out.println("narrow failed"); e.printstacktrace(); return; catch( Exception e ) { System.err.println( "Exception " + e + "Caught" ); e.printstacktrace( ); return; Napisz serwer: HelloServer.java import javax.naming.initialcontext; import javax.naming.context; import javax.rmi.portableremoteobject ; import com.sun.corba.se.internal.poa.poaorb; import org.omg.portableserver.*; import java.util.*; import org.omg.corba.*; import javax.rmi.corba.stub; import javax.rmi.corba.util; public class HelloServer { public HelloServer(String[] args) { Properties p = System.getProperties(); // add runtime properties here p.put("org.omg.corba.orbclass", "com.sun.corba.se.internal.poa.poaorb"); p.put("org.omg.corba.orbsingletonclass", "com.sun.corba.se.internal.corba.orbsingleton"); ORB orb = ORB.init( args, p ); POA rootpoa = (POA)orb.resolve_initial_references("RootPOA"); // STEP 1: Create a POA with the appropriate policies Policy[] tpolicy = new Policy[3]; tpolicy[0] = rootpoa.create_lifespan_policy( LifespanPolicyValue.TRANSIENT ); 2
3 tpolicy[1] = rootpoa.create_request_processing_policy( RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY ); tpolicy[2] = rootpoa.create_servant_retention_policy( ServantRetentionPolicyValue.RETAIN); POA tpoa = rootpoa.create_poa("mytransientpoa", null, tpolicy); // STEP 2: Activate the POA Manager, otherwise all calls to the // servant hang because, by default, POAManager will be in the // HOLD state. tpoa.the_poamanager().activate(); // STEP 3: Instantiate the Servant and activate the Tie, If the // POA policy is USE_ACTIVE_OBJECT_MAP_ONLY HelloImpl helloimpl = new HelloImpl(); _HelloImpl_Tie tie = (_HelloImpl_Tie)Util.getTie( helloimpl ); String helloid = "hello"; byte[] id = helloid.getbytes(); tpoa.activate_object_with_id( id, tie ); // STEP 4: Publish the object reference using the same object id // used to activate the Tie object. Context initialnamingcontext = new InitialContext(); initialnamingcontext.rebind("helloservice", tpoa.create_reference_with_id(id, tie._all_interfaces(tpoa,id)[0]) ); System.out.println("Hello Server: Ready..."); // STEP 5: Get ready to accept requests from the client orb.run(); catch (Exception e) { System.out.println("Problem running HelloServer: " + e); e.printstacktrace(); public static void main(string args[]) { new HelloServer( args ); Skompiluj źródła: komenda powstałe pliki 1 javac d. classpath. HelloImpl.java HelloImpl.class 2 rmic poa iiop HelloImpl _HelloInterface_Stub.class, _HelloImpl_Tie.class 3 javac d. classpath. HelloInterface.java HelloServer.java HelloClient.java HelloInterface.class HelloServer.class HelloClient.class Utwórz plik iterfejsu w języku idl: komenda rmic idl HelloInterface powstałe pliki HelloInterface.idl omniorb (4.0.5) 3
4 Skompiluj plik interfejsu w języku idl: komenda omniidl Ie:\omniORB-4.0.5\idl bcxx Wbtp Wbexample Wbh=.h Wbs=.cpp HelloInterface.idl powstałe pliki HelloInterface_i.cc HelloInterface.h HelloInterface.cpp HelloInterface_i.cc - przykładowy plik (implementacja serwera) HelloInterface.h nagłówek HelloInterface.cpp szkielet Napisz klienta HelloInterface_client.cpp #include <iostream.h> #include "HelloInterface.h" static CORBA::Object_ptr getobjectreference(corba::orb_ptr orb); int main (int argc, char **argv) { CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);//, "omniorb3"); // receive reference from NameService CORBA::Object_var obj = getobjectreference(orb); HelloInterface_var hellointerfaceref = HelloInterface::_narrow(obj); if( CORBA::is_nil(helloInterfaceref) ) { cerr << "hello: The object reference is nil!\n" << endl; return -1; hellointerfaceref->sayhello(); cerr << "I did: sayhello()" << endl; orb->destroy(); catch(corba::comm_failure& ex) { cerr << "Caught system exception COMM_FAILURE -- unable to " << "contact the object." << endl; catch(corba::systemexception&) { cerr << "Caught CORBA::SystemException." << endl; catch(corba::exception&) { cerr << "Caught CORBA::Exception." << endl; catch(omniorb::fatalexception& fe) { cerr << "Caught omniorb::fatalexception:" << endl; cerr << " file: " << fe.file() << endl; cerr << " line: " << fe.line() << endl; cerr << " mesg: " << fe.errmsg() << endl; catch(...) { cerr << "Caught unknown exception." << endl; static CORBA::Object_ptr getobjectreference(corba::orb_ptr orb) { CosNaming::NamingContext_var rootcontext; // Obtain a reference to the root context of the Name service: 4
5 CORBA::Object_var obj; obj = orb->resolve_initial_references("nameservice"); // Narrow the reference returned. rootcontext = CosNaming::NamingContext::_narrow(obj); if( CORBA::is_nil(rootContext) ) { cerr << "Failed to narrow the root naming context." << endl; return CORBA::Object::_nil(); catch(corba::orb::invalidname& ex) { // This should not happen! cerr << "Service required is invalid [does not exist]." << endl; return CORBA::Object::_nil(); // Create a name object, containing the name test/context: CosNaming::Name name; name.length(1); name[0].id = CORBA::string_dup ("HelloService"); name[0].kind = CORBA::string_dup (""); // string copied // Resolve the name to an object reference. return rootcontext->resolve(name); catch(cosnaming::namingcontext::notfound& ex) { // This exception is thrown if any of the components of the // path [contexts or the object] aren't found: cerr << "Context not found." << endl; catch(corba::comm_failure& ex) { cerr << "Caught system exception COMM_FAILURE -- unable to " << "contact the naming service." << endl; catch(corba::systemexception&) { cerr << "Caught a CORBA::SystemException while using the " << "naming service." << endl; return CORBA::Object::_nil(); Napisz serwera (zmodyfikuj plik HelloInterface_i.cc) HelloInterface_server #include <iostream.h> #include "HelloInterface.h" static CORBA::Boolean bindobjecttoname(corba::orb_ptr,corba::object_ptr); // // Example class implementing IDL interface HelloInterface // class HelloInterface_i: public POA_HelloInterface, public PortableServer::RefCountServantBase { private: // Make sure all instances are built on the heap by making the // destructor non-public virtual ~HelloInterface_i(); 5
6 public: // standard constructor HelloInterface_i(); virtual ~HelloInterface_i(); // methods corresponding to defined IDL attributes and operations void sayhello(); ; // Example implementational code for IDL interface HelloInterface HelloInterface_i::HelloInterface_i(){ // add extra constructor code here HelloInterface_i::~HelloInterface_i(){ // add extra destructor code here // Methods corresponding to IDL attributes and operations void HelloInterface_i::sayHello(){ // insert code here and remove the warning cout << "It works! Hello World!!\n"; cout.flush(); // End of example implementational code int main(int argc, char** argv) { // Initialise the ORB. CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); // Obtain a reference to the root POA. CORBA::Object_var obj = orb->resolve_initial_references("rootpoa"); PortableServer::POA_var poa = PortableServer::POA::_narrow(obj); // We allocate the objects on the heap. Since these are reference // counted objects, they will be deleted by the POA when they are no // longer needed. HelloInterface_i* myhellointerface_i = new HelloInterface_i(); PortableServer::ObjectId_var myhellointerface_iid = poa->activate_object(myhellointerface_i); CORBA::Object_var myhellointerface_var = myhellointerface_i->_this(); CORBA::String_var sior(orb->object_to_string(myhellointerface_var.in())); cerr << "'" << (char*)sior << "'" << endl; cerr.flush(); // Obtain a reference to the object, and register it in the naming service. if(!bindobjecttoname(orb, myhellointerface_var.in()) ) return 1; myhellointerface_i->_remove_ref(); // Obtain a POAManager, and tell the POA to start accepting requests on its objects. PortableServer::POAManager_var pman = poa->the_poamanager(); pman->activate(); cout << "Server started\n"; cout.flush(); orb->run(); orb->destroy(); catch(corba::systemexception&) { cerr << "Caught CORBA::SystemException." << endl; 6
7 catch(corba::exception&) { cerr << "Caught CORBA::Exception." << endl; catch(omniorb::fatalexception& fe) { cerr << "Caught omniorb::fatalexception:" << endl; cerr << " file: " << fe.file() << endl; cerr << " line: " << fe.line() << endl; cerr << " mesg: " << fe.errmsg() << endl; catch(...) { cerr << "Caught unknown exception." << endl; static CORBA::Boolean bindobjecttoname(corba::orb_ptr orb, CORBA::Object_ptr objref) { // Bind object to name service CosNaming::NamingContext_var nc; CORBA::Object_var _obj1= orb->resolve_initial_references("nameservice"); // narrow this to the naming context nc = CosNaming::NamingContext::_narrow(_obj1.in()); if( CORBA::is_nil(nc) ) { cerr << "Failed to narrow the root naming context." << endl; catch(corba::orb::invalidname& ex) { // This should not happen! cerr << "Service required is invalid [does not exist]." << endl; // Bind to CORBA name service. Same name to be requested by client. CosNaming::Name name; name.length(1); name[0].id=corba::string_dup("helloservice"); nc->rebind (name,objref); catch(corba::comm_failure& ex) { cerr << "Caught system exception COMM_FAILURE -- unable to contact the " << "naming service." << endl; catch(corba::systemexception&) { cerr << "Caught a CORBA::SystemException while using the naming service." << endl; return 1; Skompiluj klienta i serwera z biblioteką OmniORB. 7
8 Dla VC++ 5/6 skonfiguruj projekt dla serwera (podobnie będzie dla klienta): a) Dodaj do projektu pliki wygenerowane przez kompilator omniidl oraz źródło serwera (Insert->"Files into Project"; HelloInterface.h, HelloInterface.cpp, HelloInterface_server.cpp) b) Ustaw ścieżki dostępu do plików nagłówkowych i bibliotek: 1. Wybierz menu Tools->Options i zakładkę Directories. 2. W polu "Show directories for" wybierz "Include files". 3. Dodaj ścieżkę dostępu do katalogu include w zainstalowanej dystrybucji omniorb (tj. <Top-Level Directory>\include, gdzie <Top-Level Directory> to katalog główny omniorb). 4. W polu "Show directories for" wybierz "Library files". 5. Dodaj ścieżkę dostępu do katalogu bibliotek w dystrybucji omniorb (tj. <Top-Level Directory\lib\x86_win32). c) Ustaw makra i biblioteki w projekcie: 1. Wybierz menu Build->Settings i zakładkę "C/C++". 2. W polu "Category" wybierz "C++ Language". Zaznacz "Enable exception handling". 3. W polu "Category" wybierz "Code Generation". W polu "Use run-time library" wybierz "Multithreaded DLL". 4. W polu "Category" wybierz "Preprocessor". Następnie w polu "Preprocessor" dodaj makra: WIN32, x86,_win32_winnt=0x0400 Jeśli jest to NT 4.0, Windows 2000, XP, Windows 2003 Server, dodaj makra: NT, OSVERSION =4 5. Wybierz zakładlę "Link" 6. W polu "Category" wybierz "Input". W polu "Object/library modules" dodaj biblioteki: ws2_32.lib, mswsock.lib, advapi32.lib, oraz omniorb405_rt.lib, omnidynamic405_rt.lib, omnithread30_rt.lib Aby móc śledzić wykonywanie programu (fragmenty omniorb), należy zamiast powyższych bibliotek dołączyć ich debbugowalne wersje: omniorb405_rtd.lib, omnidynamic405_rtd.lib, omnithread30_rtd.lib Dla VC++ 7 skonfiguruj projekt dla serwera (podobnie będzie dla klienta). Przed kompilacją zapoznaj się z dokumentację omniorb. Konfiguracja projektu: a) Dodaj do projektu pliki wygenerowane przez kompilator omniidl oraz źródło serwera (Project ->"Add existing Item"; HelloInterface.h, HelloInterface.cpp, HelloInterface_server.cpp) b) Ustaw ścieżki dostępu do plików nagłówkowych i bibliotek: 1. Otwórz okno Project Properties 2. Wybierz C++ -> General(Additonal Include Directories) i wprowadź ścieżkę dostępu do katalogu include w zainstalowanej dystrybucji omniorb (tj. <Top-Level Directory>\include, gdzie <Top-Level Directory> to katalog główny omniorb). 3. Wybierz Linker -> General (Additional Library Directories), i wprowadź ścieżkę dostępu do katalogu bibliotek w dystrybucji omniorb (tj. <Top-Level Directory\lib\x86_win32). c) Ustaw makra i biblioteki w projekcie: 1. W Project Properties ->Settings, wybierz zakładkę "C/C++". 2. Wybierz zakładkę "The Code Generaion": 4. Dla "Enable exception Handling" wybierz "Yes" 5. Dla "Run-Time Library" wybierz "Mulithreaded DLL". 6. Wybierz zakładkę "The Code Generaion" Tab: (pod "C++" w "project properties") i w polu "Preprocessor Definitions" dodaj makra: WIN32, x86,_win32_winnt=0x0400 Jeśli jest to NT 4.0, Windows 2000, XP, Windows 2003 Server, dodaj makra: 8
9 NT, OSVERSION =4 7. Rozwiń zakładkę "Linker" 8. Wybierz zakładkę "Input" 9. Dodaj biblioteki w "Additional Dependencies" ws2_32.lib, mswsock.lib, advapi32.lib, omniorb405_rt.lib, omnidynamic405_rt.lib, omnithread30_rt.lib Aby móc śledzić wykonywanie programu (fragmenty omniorb), należy zamiast powyższych bibliotek dołączyć ich debbugowalne wersje: omniorb405_rtd.lib, omnidynamic405_rtd.lib, omnithread30_rtd.lib Dla kompilacji ze statycznymi wersjami bibliotek omniorb i omnithread, makra powinny wyglądać nieco inaczej: _WINSTATIC zaś dołączane biblioteki zamiast: omniorb405_rt.lib, omnidynamic405_rt.lib omnithread30_rt.lib powinno być: omniorb4.lib, omnidynamic4.lib i omnithread.lib Uruchom aplikacje 1. Upewnij się, że ścieżka systemowa PATH zawiera ścieżkę dostępu do katalogu bibliotek DLL z dystrybucji omniorb: C:\omniORB-4.0.5\bin\x86_win32\ 2. Podobnie zapewnij dostęp do wykonywalnych plików z j2sdk. 3. Wystartuj serwis nazw: start e:\omniorb-4.0.5\bin\x86_win32\omninames.exe -logdir. -start ORBsupportBootstrapAgent 1 Uwaga: jeśli przy pierwszym uruchomieniu w bieżącym katalogu znajdują się logi wygenerowane wcześniej przez omninames, należy je usunąć. 4. Uruchom jednego serwera: a) dla Javy: start java -classpath. -Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory - Djava.naming.provider.url=iiop://localhost:3020 HelloServer b) dla omniorb: start omnihellointerface_server.exe -ORBInitRef nameservice=corbaloc:iiop:localhost:3020/nameservice 5. Uruchom klienta: a) dla Javy: start java -classpath. -Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory - Djava.naming.provider.url=iiop://localhost:3020 HelloClient b) dla omniorb: start omnihellointerface_client.exe -ORBInitRef nameservice=corbaloc:iiop:localhost:3020/nameservice 9
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Common Object Request Broker Architecture (CORBA)
Budowa aplikacji sieciowych Common Object Request Broker Architecture (CORBA) dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Standard Corba
Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Podejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Remote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1
P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw
Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Podejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Interfejsy w Javie. Przykład zastosowania interfejsów:
1 Plan wykładu 1. Interfejsy w Javie. 2. Zdalne wywołanie metod (Remote Method Invocation). interfejsy w RMI, architektura RMI, przykładowa aplikacja korzystająca z RMI, przekazywanie parametrów, dystrybucja
Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu
Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja
Oprogramowanie systemów równoległych i rozproszonych Wykład 7
Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie
Wprowadzenie CORBA ORB
Plan wykładu 1. CORBA (Common Object Request Broker Architecture) wprowadzenie, rodzaje obiektów, typy i interfejsy, model operacji, struktura ORB, język IDL. 2. Przykład aplikacji rozproszonej CORBA.
Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone
Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Standard CORBA. Oprogramowanie systemów równoległych i rozproszonych Wykład 8. Zalety (I) Model komunikacji. Dr inż. Tomasz Olas
Standard CORBA Oprogramowanie systemów równoległych i rozproszonych Wykład 8 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska CORBA (Common
Systemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Remote Method Invocation
Remote Method Invocation 1. Interfejsy w Javie. 2. Zdalne wywołanie metod (Remote Method Invocation). interfejsy w RMI, 3. Przykładowa aplikacja korzystająca z RMI, 4. Własne gniazda w RMI. 5. Dystrybucja
Server-Side C++ Mapping
Server-Side C++ Mapping Streszczenie Pojęcia podstawowe Przekazywanie parametrów Zgłaszanie wyjątków Tie classes ORB, POA i serwant request ORB POA Manager POA Servants Mapping dla interfejsów IDL: Interface
2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK
Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty
Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Kurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Interfejs IUnknown. Każdy obiekt COM musi implementować interfejs IUnknown, który zawiera trzy metody:
Plan wykładu 1. Technologia COM (DCOM) wprowadzenie, korzystanie z obiektu COM, program klienta, schemat programu serwera. 2. Porównanie DCOM, CORBA i RMI. Wprowadzenie Opracowana przez Microsoft technologia
Informatyka I : Tworzenie projektu
Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz
Tworzenia aplikacji rozproszonej RMI
Tworzenia aplikacji rozproszonej RMI Mówiąc o aplikacjach RMI wyróżnia się w nich dwa typy obiektów: obiekty wywołujące metody zdalne (klienci) obiekty udostępniające metody zdalne (serwery) RMI dostarcza
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie
MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty
MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,
Systemy rozproszone. Dr inż. L. Miękina. Department of Robotics and Mechatronics AGH University of Science and Technology 1/1
1/1 Systemy rozproszone Dr inż. L. Miękina Department of Robotics and Mechatronics AGH University of Science and Technology Marzec, 2013 RMI - zdalne wywołanie metod Rozproszone obiekty Stan obiektu składa
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Refleksja Typy anonimowe Wyrażenia lambda Extension methods *LINQ Java jest językiem dynamicznym
Programowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu)
Dr inż. Wojciech Koziński maj 2007 ZS ISEP WE PW Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu) Opis systemu (wzorca Mediator):
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Ćwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
sieć 4) Mechanizm RMI jest zazwyczaj wykorzystywany w rozwiązaniach typu klient-serwer.
RMI (Remote Method Invocation) zdalne wywołanie metod Część 1 1) RMI jest mechanizmem, który pozwala danej aplikacji: wywoływać metody obiektów zdalnych oraz uzyskać dostęp do obiektów zdalnych (np. w
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Java programowanie w sieci. java.net RMI
Java programowanie w sieci java.net RMI Programowanie sieciowe OSI WARSTWA APLIKACJI (7) WARSTWA PREZENTACJI(6) WARSTWA SESJI (5) WARSTWA TRANSPORTU (4) DoD Warstwa aplikacji (HTTP) Transport (gniazdka)
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Instrukcja obsługi User s manual
Instrukcja obsługi User s manual Konfigurator Lanberg Lanberg Configurator E-mail: support@lanberg.pl support@lanberg.eu www.lanberg.pl www.lanberg.eu Lanberg 2015-2018 WERSJA VERSION: 2018/11 Instrukcja
Sieciowa komunikacja procesów - XDR i RPC
*** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania
Bezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Java Podstawy JUST JAVA 28.03.2007. Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej
Java Podstawy JUST JAVA 28.03.2007 Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej beretam@torus.uck.pk.edu.pl http://torus.uck.pk.edu.pl/~beretam Hello
Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.
Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.
1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Instrukcja instalacji winbgim
Instrukcja instalacji winbgim 1. Przegląd instalacji Instalacja winbgim polega na przekopiowaniu w odpowiednie miejsca dwóch plików: pliku biblioteki, zawierającego m.in. skompilowane funkcje (libbgi.a),
Stanowe komponenty sesyjne
Stanowe komponenty sesyjne 1. Porównanie komponentów stanowych i bezstanowych. 2. Cykl życia stanowego komponentu sesyjnego, 3. Komponenty sesyjne a kontekst utrwalania, 4. Zagnieżdżanie komponentów sesyjnych,
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana
Programowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Java Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Aplikacje biznesowe Wykład dla studentów Informatyki Stosowanej
Aplikacje biznesowe Wykład dla studentów Informatyki Stosowanej UJ 2006/2007 Michał Cieśla pok. 440a, email: ciesla@if.uj.edu.pl konsultacje: wtorki 10-12 http://users.uj.edu.pl/~ciesla/ 1 2 Plan wykładu
Katalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Wykład 12. Programowanie serwera MS SQL 2005 w C#
Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych
Technologie internetowe laboratorium nr 4. Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS
Technologie internetowe laboratorium nr 4 Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS 1. Wprowadzenie i konfiguracja Celem niniejszego laboratorium jest zainstalowanie i uruchomienie
Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Refleksja Typy anonimowe Wyrażenia lambda Extension methods *LINQ Nullable type, null-coalesce,
Wykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Programowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Rodzina protokołów TCP/IP. Aplikacja: ipconfig.
Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:
WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT
Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza
Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,
Aplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Programowanie obiektowe
Programowanie obiektowe Wykład 13: RTTI 6/2/2013 S.Deniziak: Programowanie obiektowe - Java 1 Po co informacja o typie obiektu? Polimorfizm Kolekcje Deserializacja 6/2/2013 S.Deniziak: Programowanie obiektowe
Projektowanie aplikacji internetowych laboratorium
Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji
Tworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
SFML. (Simple and Fast Multimedia Library)
SFML (Simple and Fast Multimedia Library) I Przygotowanie do tworzenia programów z użyciem biblioteki SFML w środowisku Code::Blocks.... 2 II Struktura programu... 3 III Obiekty graficzne... 3 1. Podstawowe
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Zaawansowane Systemy Decyzyjne Laboratorium prowadzący: Andrzej Czajkowski 1 Dostęp do Bazy Danych. 1 Cel ćwiczenia. Celem ćwiczenia
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG
Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku
#line #endif #ifndef #pragma
8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,
Git, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Java. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Db4o obiektowa baza danych wersja.net
Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki Computer Games Poker Bot - komunikacja Dokumentacja Wersja z dnia 01.01.2012 Zespół: Kamil Mazurek Tomasz Kruczkowski
Pobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK
Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)