Komunikace desktopove aplikace s Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MartyIX
Člen | 217
+
0
-

Zdravim,

chtel bych se zeptat, jestli se zde na foru neresilo, jak komunikovat s nette z normalni desktopove aplikace.

Uvazoval jsem o techto zpusobech:

  • Mohl bych vytvorit novy presenter a udelat „handle“ pro komunikaci podobne jako se to dela pro javascript:
<?php
  public function handleRemoteCall($request, $param)
  {
    //...

    $this->sendPayload();
    $this->terminate();
  }
?>

Toto bude vsak bude mozna pomale pro me ucely, precejen nacteni frameworku nejakou dobu trva.

  • Nebo vytvorit skript, ktery vubec na Nette nejede a pouzit pouze Dibi (jen nevim, jak zde vyuzit data z config.ini, abych se mohl pripojit k databazi bez nutnosti mit prihlasovaci udaje na dvou mistech, ale to bude mozne)

Toto by bylo asi optimalni reseni.

Co myslite?

Editoval MartyIX (2. 7. 2010 11:11)

Petr Motejlek
Člen | 293
+
0
-

Co si představuješ pod pojmem komunikovat? To, co navrhuješ, se udělat dá. Z tvé aplikace pošleš HTTP požadavek na url a ručně si naparsuješ odpověď, to je určitě jedna z možností.

Další řešení (kvůli zrychlení) by bylo vypnutí session, odstřihnutí šablon, atd., ale to budeš muset udělat sám (např. poděděním Presenter). Nette ještě samo o sobě REST (SOAP, atd.) přímo neumí.

Ola
Člen | 385
+
0
-

A nebo můžeš zkusit udělat nějakej connector (jako to má ExtJS), a pomocí něj jen volat metody modelu tvé Nette aplikace.

Ped
Člen | 64
+
0
-

Ale jestli te zajima jenom dibi, t.j. pristup do databaze, proc se do DB nepripojis nativne??

MartyIX
Člen | 217
+
0
-

Díky za odpovědi.

@Petr, @Ola: diky za info a tip

@Ped: Chtel bych to udelat alespon trochu elegatne a protoze nechci mit konfiguracni udaje na dvou mistech a kdyz jsem koukal, co bych musel udelat, abych donutil k praci cast Nette, ktera se stara o ini soubor, tak jsem to vzdal, protoze to ted nestiham. Zatim jsem zvolil prvni moznost.

norbe
Backer | 405
+
0
-

Ped napsal(a):

Ale jestli te zajima jenom dibi, t.j. pristup do databaze, proc se do DB nepripojis nativne??

Ono docela záleží i na typu aplikace, pokud má být volně ke stažení, tak nemůžeš znát IP adresy, ze kterých se lidé budou připojovat a volný přístup k databázi Ti žádný (minimálně né sdílený) hosting nepovolý z bezpečnostních důvodů.

MartyIX
Člen | 217
+
0
-

@norbe: Nativne mi to nedovoli. Takze vracim odpovedi jednoduse pres XML.