Co je to samostatná aplikace? Hlavní platformy a technologie

Musíme vytvořit samostatnou aplikaci, která by obsahovala engine prohlížeče. Vlastně se plánuje, že veškerá logika bude napsána v JS a mohla by být triviálně umístěna na internet, ale je potřeba spojení s jinou paralelně běžící aplikací.

První návrh je použít komponentu IE a nestarat se o to. Ale možná se dá něco udělat na FF motoru, ale nedokážu si představit jak. Slyšel jsem něco o XUL Runner, ale tohle je trochu jiné.

Pokud by někdo mohl stručně vysvětlit a poskytnout odkazy, byl bych velmi vděčný. No, názory na realitu a smysluplnost takových problémů jsou také potřeba)

Alexander aka Efreeti [dokumentace]
Plná multiplatformní funkčnost nebude fungovat.

  1. může být napsán v XUL (ověřte si u znalých), ale ke spuštění vaší aplikace bude vyžadovat mozilla, ale bude fungovat na téměř všech operačních systémech podporovaných mozillou.
  2. můžete napsat HTA (hypertextovou aplikaci) pouze pro Windows pomocí celého arzenálu funkcí JScript a Windows Scripting Host

Nemohu uvést přesné odkazy - protože ten první neznám, ale pro informace o druhém jdu na web společnosti Microsoft a hledám

Rumata [dokumentace]
Multiplatformní není prioritou, chci používat FF z „ideologických“ důvodů;)
Ve skutečnosti tuto otázku položil někdo znalý XUL, ale HTA to není. Pokud používáte IE, bude k dispozici aplikace C++.

David Mzareulyan[dokument]
Jak pak můžete tuto aplikaci propojit s jinou? Na webu jsem nenašel žádné informace o externím API.

XULRunner (na základě vlastní zkušenosti) je více než vhodný pro rychlý vývoj tlustých klientů a samostatných aplikací. Včetně jednoduché interakce s databází SQLite. Co se týče komunikace s ostatními aplikacemi - buď TCP/IP nebo konzolové wrappery (v druhém případě je nevýhoda, nemůžete přistupovat ke stdout přes nsIProcess). Vzhledem k tomu, že specifika úkolu nejsou jasná, je obtížné odpovědět podrobněji.

Kirill [dokumentace], David Mzareulyan[dokument]
Potřebuji udělat program s vestavěným prohlížečem (bez forward/backward a dalších věcí), který by zároveň dokázal přenášet data z JavaScript programu třetí strany, který běží právě v tomto prohlížeči.

Nejzřejmější možností (pro mě) je IE engine a samostatně napsaná komponenta ActiveX, která umožňuje přístup k tomuto jinému programu.
Ale já chci FF (nebo ne IE). Ptám se na možnosti, jak to lze provést (a zda je vhodné to udělat).

Alexander aka Efreeti [dokumentace]
Nejsem zastáncem ani zastáncem určitých OS.
Ale pro váš případ jsou JScript a MSIE engine vhodnější.

otázka a byla položena odborníkem na XUL

Vaše otázka pak zní trochu jinak.

VST (technologie virtuálního studia)– formát audio plug-in představený společností Steinberg. Formát je poměrně rozšířený a mnoho lidí ví, co to je a s čím to jedí... Ale pořád na fórech vidím příspěvky typu: “Co je to VST?” nebo „Nainstaloval jsem nástroj VST, ale nefunguje. Nemá ani zástupce na ploše nebo exe…“ atd. Takže ve zkratce: co to je a jak to funguje.

Co jsou nástroje Vst (VSTi).

Zdroj zvuku ovládaný přes midi. Může to být syntezátor, sampler nebo Rompler. Aby plugin Vst fungoval, potřebujete hostitelský program, pomocí kterého k němu budete mít přístup.
Je to jednoduché: nejprve nainstalujte hostitelský program (například: Sonar nebo Cubase, Nuendo, Fruity Loops, Logic atd. atd.). Poté nainstalujte samotný nástroj Vst, po jeho instalaci spusťte hostitelský program a použijte jej.

Něco málo o obsahu samotných pluginů.

Základem pluginu VST je zpravidla *.dll ( ne exe!), který se po instalaci nástroje umístí do složky s vašimi pluginy VST.
Pokud například pracujete v Cubase, cesta bude vypadat takto:
C:\Program Files\Steinberg\Vstplugins
Pokud v Sonaru, tak takto:
C:\Program Files\Cakewalk\VstPlugins
Totéž pro ostatní programy. To znamená, že pokud instalujete plugin Vst poprvé a není vidět v (hostitelském programu), nejprve zkontrolujte přítomnost dll v této složce.
Další bod. Pokud jsou soubory dll přítomny v adresáři VST Plugins, ale plugin stále není v systému viditelný, váš DAW možná bude muset prohledat složku, aby našel nové pluginy, jako byste to udělali například, pokud pracujete v Sonar ( Tlačítko Re-Scan Plugin).

Samostatný.

Jedná se o samostatné verze zásuvných modulů, které nevyžadují hostitelský program. U nich je vše úplně jednoduché: po instalaci se na ploše objeví jak exe soubor, tak zástupce. Spuštěno a fungovalo. Jedna nevýhoda. Můžete snadno přehrávat zvuky nainstalovaného nástroje, ale stále budete potřebovat hostitelský program pro nahrávání toho, co hrajete 

Vst efekty.

Jak jsem již řekl. VST nástroje jsou zdroje zvuku. Efekty Vst nevytvářejí zvuky; zpracovávají příchozí audio stream. Vše ostatní je pravda z toho, co bylo napsáno výše.

Dx, Dxi

Nástroje a efekty Dxi jsou alternativou k VST, formátu vyvinutému společností Microsoft. Nejsou zde žádné zásadní rozdíly, formáty jsou v mnoha ohledech totožné. Mnoho programů stejně podporuje pluginy VST i Dxi, navíc existují adaptéry Vst, které je mohou snadno přizpůsobit pro práci v hostitelských programech kompatibilních s Dxi...
V shellu při instalaci mnoha pluginů je také nabídka, ve které si můžete vybrat, ve kterém formátu chcete plugin nainstalovat.

Meziplatformní technologie umožňují společný provoz různých hardwarových a softwarových platforem ve prospěch spotřebitelských organizací.

Základní softwarové architektury

Samostatné aplikace

Obvykle se může jednat o servisní programy, systémové nástroje, textové a grafické editory, kompilátory, vcelku jednoduché firemní programy. Vyvinutý podnikový informační systém se zpravidla nemůže skládat ze samostatných, nesouvisejících komponent.

Dvouvrstvá architektura klient-server

Tato architektura se rozšířila od počátku 90. let 20. století uprostřed růstu trhu osobních počítačů a poklesu poptávky po sálových počítačích. V architektuře klient-server je software rozdělen na dvě části – klientskou část a serverovou část. Úkolem klientské části (klientského programu) je komunikovat s uživatelem, přenést požadavek uživatele na server, přijmout požadavek od serverové části (serverového programu) a prezentovat jej uživatelsky přívětivou formou. Serverový program zpracovává požadavky klientů a vydává odpovědi. Klasické příklady: Webové technologie (klient-prohlížeč, server-Web-server), práce s distribuovanými DBMS (klient - speciální program, server - databázový server). Rozvoj architektury klient-server a zejména vznik moderních grafických rozhraní vedly nejprve ke vzniku typu architektury klient-server tzv. "architektura tlustého klienta" Zde je logika prezentace dat a obchodní logika umístěna na klienta, který (řekněme v případě, že server je DBMS) komunikuje s logikou ukládání a akumulace dat na serveru pomocí strukturovaného dotazovacího jazyka. SQL.Je však potřeba nainstalovat " tlustí klienti", vyžadující značný počet speciálních knihoven a speciálních nastavení prostředí, na velkém počtu uživatelských počítačů s různým operačním prostředím obvykle způsobuje mnoho problémů. Jako alternativa se proto objevila také dvouvrstvá architektura "s tenkým klientem".V tomto případě v ideálním případě klientský program implementuje pouze grafické uživatelské rozhraní (GUI) a odesílá/přijímá požadavky a veškerou obchodní logiku provádí server. V ideálním případě je klientem jednoduše internetový prohlížeč, který je dostupný ve standardním operačním prostředí libovolného uživatelského počítače a nevyžaduje speciální konfiguraci, instalaci specializovaného softwaru atd. Bohužel ani toto schéma není prosté nedostatků, už jen proto, že server někdy musí převzít funkce, které pro něj nejsou typické, aby implementoval obchodní logiku aplikace (například server DBMS musí provádět výpočty!)

Vícevrstvá architektura

Zahájení procesu vývoje podnikového softwaru v vícevrstvá architektura vznikla v rámci technologie klient/server. V nich se spolu s klientskou částí aplikace a databázovým serverem objevily aplikační servery (Aplikační servery).Ideálně:

  • implementuje klientský program GUI,odesílá požadavky na aplikační server a přijímá od něj odpověď,
  • aplikační server implementuje obchodní logiku a odesílá požadavky na server „třetí úrovně“ (například databázový server pro data),
  • server třetí úrovně obsluhuje požadavky z aplikačního serveru.

Klientský program tak může být „tenký“. Výhody této architektury jsou zřejmé:

  • změny na každém odkazu lze provádět nezávisle;
  • zatížení sítě je sníženo, protože spoje si mezi sebou nevyměňují velké množství informací;
  • je zajištěno škálování a jednoduchá modernizace zařízení a softwaru podporujícího každý z odkazů, včetně aktualizace flotily serverů a koncových zařízení, DBMS atd.;
  • Aplikace lze psát ve standardních jazycích třetí nebo čtvrté generace ( Jáva, C/C++).

Dalším logickým krokem je další navyšování počtu odkazů, a to nejen díky rozdělení, kdy je každý ze známých technických odkazů „tenčí“, ale celý obchodní model je postaven jako vícelinkový. Moderní podnikové softwarové systémy jsou zpravidla komplexní systémy komponent vzájemně interagujících na různých úrovních, z nichž každá může být pro některé komponenty klientem a pro jiné servery.

Hlavní problém systémů založených na dvouvrstvé architektuře klient-server, nebo ještě více vícevrstvá architektura, je, že musí být mobilní v co nejširší třídě hardwarových a softwarových prostředí. I když se omezujeme UNIX- orientované lokální sítě, různé sítě používají různá zařízení a komunikační protokoly. Pokusy o vytvoření systémů podporujících všechny možné protokoly vedou k jejich přetěžování síťovými detaily na úkor funkčnosti. Ještě složitější aspekt tohoto problému je spojen s možností použití různých reprezentací dat v různých uzlech heterogenní lokální sítě. Různé počítače mohou mít různé adresování, reprezentaci čísel, kódování znaků atd. To je zvláště důležité pro servery na vysoké úrovni: telekomunikace, výpočetní technika, databáze.

Obecným řešením problému mobility takových systémů je použití technologií, které implementují protokoly vzdáleného volání procedur (RPC - Vzdálené volání procedury standardizovaným a na platformě nezávislým způsobem. Při použití takových technologií vypadá přístup ke službě ve vzdáleném uzlu jako běžné volání procedury (metody vzdálených objektů). Prostředek RPC, který přirozeně obsahuje všechny informace o specifikách místního síťového vybavení a síťových protokolů, převádí volání do sekvence síťových interakcí. Specifika síťového prostředí a protokolů jsou tedy před programátorem aplikací skryta.

Při volání vzdálené procedury program RPC produkce konverze formátu dat klienta do středních formátů nezávislých na stroji a poté převod do formátů dat serveru. Při přenosu parametrů odezvy se provádějí inverzní transformace. Pokud je tedy systém implementován na základě standardního balíčku RPC, Lze jej snadno přenést do jakéhokoli otevřeného prostředí.

Technologie CORBA

CORBA (Common Object Request Broker Architecture)- toto je sada otevřené specifikace rozhraní, které definuje architekturu technologie pro meziprocesovou a na platformě nezávislou manipulaci s objekty. Vývojáři těchto rozhraní jsou OMG A X/Otevřít.

Object Management Group, Inc. (OMG) je mezinárodní organizace založená v roce 1989, skládající se z více než 800 členů: poskytovatelů informačních systémů, vývojářů softwaru a uživatelů. OMG posouvá teorii a praxi objektově orientované technologie do oblasti praktického vývoje softwaru. Tento proces zahrnuje vývoj průmyslových standardů a specifikací facility managementu za účelem vytvoření společného rámce pro vývoj softwaru. Primární cíle jsou: znovupoužitelnost, přenositelnost a interoperabilita objektově orientovaný software v distribuovaných, heterogenních prostředích. Podpora těchto standardů umožňuje vyvíjet heterogenní aplikace, které běží na všech hlavních platformách a operačních systémech.

X/Otevřít je nezávislá, celosvětová, otevřená organizace podporovaná většinou největších prodejců informačních systémů, uživatelských organizací a softwarových společností. X/Otevřít vyvíjí komplexní a integrované systémové prostředí založené na stávajících a nově vznikajících standardech - Společné aplikační prostředí (CAE).Součástky CAE definované v normách X/Open CAE.Hlavní cíl CAE- tvorba balíčků softwarového rozhraní (API) které lze v praxi využít při zachování maximální přenositelnosti na úrovni zdrojových kódů programu. API také zlepšit interoperabilitu aplikací poskytováním definic a odkazů na protokoly a jejich profily.

Výše uvedené specifikace jsou důkladně testovány a ty, které testem projdou, jsou oceněny ochranná známka X/Open (značka XPG),licencovaný X/Otevřít.

Koncepční infrastruktura, na které jsou založeny všechny specifikace OMG,je Architektura správy objektů (OMA).Včetně OMA zahrnuje řadu standardizovaných nebo aktuálně standardizovaných OMG služby, služby, vzorky softwaru a šablony (služby CORBA, horizontální a vertikální zařízení CORBA),jazyk pro definování rozhraní distribuovaných objektů ,standardizovaná nebo standardizovatelná zobrazení IDL do programovacích jazyků a nakonec do objektového modelu CORBA.

Každý může implementovat technologii podle specifikací. Vytvořené softwarové produkty přirozeně již nejsou open source, ale stávají se komerčními produkty.

architektura CORBA

CORBA definuje, jak mohou softwarové komponenty distribuované po síti vzájemně interagovat bez ohledu na operační systémy a implementační jazyky kolem nich. Ústřední prvek architektury CORBA je ORB (Object Request Broker)- software, který zajišťuje komunikaci mezi objekty, včetně povolování

  • najít vzdálený objekt pomocí Object Reference (IOR - ,
  • zavolá metodu na vzdáleném objektu a předá mu vstupní parametry (parametry řazení),
  • získat návratovou hodnotu a výstupní parametry (uvolnění parametrů).

Tedy KOULE je spojením mezi distribuovanými částmi technologie založené na CORBA systém, umožňující jedné části systému nestarat se o fyzické umístění ostatních částí (objektů) systému. Přítomno na trhu KOULE od různých výrobců (např. VisiBroker, WebLogic), ale všechny splňují stejné specifikace CORBA. Proto v zásadě CORBA umožňuje vytvářet distribuované systémy při současném používání KOULE různí výrobci a budovat systém současně na různých platformách a různých síťových protokolech (to je v terminologii CORBA tzv. interoperabilita - interoperabilita).V architektuře CORBA Každý objekt, jehož metody jsou přístupné jiným objektům (obvykle nazývaný objekt CORBA), má v celé přístupné síti jedinečnou referenci na objekt. (IOR - Odkaz na interoperabilní objekt) kde ho můžete kontaktovat. Objekty CORBA můžete vyhledávat jak podle IOR, tak podle symbolických jmen, pokud jsou registrovány (obvykle při vytvoření) ve speciální službě jmen (NameService).Pro přístup k metodám objektu CORBA má tento objekt rozhraní otevřené pro všechny ostatní objekty CORBA. Rozhraní objektů CORBA jsou obvykle popsána pomocí speciálního rozhraní definovaného specifikací CORBA jazyk IDL (jazyk pro definici rozhraní). Výrobci KOULE dodávané s KOULE stejně jako nástroje, které převádějí popisy objektových rozhraní CORBA na konstrukce odpovídajících programovacích jazyků.

základ interoperabilita je protokol GIOP - Obecný inter-ORB protokol, určený pro komunikaci mezi objekty a KOULE online. Standardizace komunikačního protokolu umožňuje vývojářům různých částí podnikového systému nestarat se o to, co používají. ORBax v jiných částech ( KOULE domény)

systémy. Téměř všechny moderní ORBbi jsou založeny na IIOP - Internetový inter-ORB protokol(toto je verze společného protokolu GIOP poskytující použití jako transportní protokol TCP/IP).

Specifikace CORBA poskytuje také řadu standardizovaných služeb (Služby CORBA) a horizontální a vertikální společné fondy (společné vybavení). Služby jsou běžné objekty CORBA se standardizovanými (a napsanými v IDL) rozhraními. Mezi takové služby patří například již zmíněná jmenná služba NameService,služba zpráv, která umožňuje objektům CORBA vyměňovat si zprávy, transakční služba, která umožňuje objektům CORBA organizovat transakce. V reálném systému nemusí být přítomny všechny služby, jejich sada závisí na požadované funkčnosti. K dnešnímu dni bylo vyvinuto pouze 14 objektových služeb.

Mezi objektové služby a sdílená zařízení CORBA není jasná hranice. Posledně jmenované jsou také objekty CORBA se standardizovanými rozhraními. Společná zařízení se dělí na horizontální (společné pro všechny oblasti použití) a vertikální (pro konkrétní oblast použití). Například vyvinutý Společná zařízení pro lékařské organizace, pro řadu průmyslových odvětví atd.




Nahoru