Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Pogreške
  • Što znači samostalna aplikacija. Glavne platforme i tehnologije

Što znači samostalna aplikacija. Glavne platforme i tehnologije

Moramo napraviti samostalnu aplikaciju koja bi sadržavala motor preglednika. Zapravo, sva logika je planirana da bude napisana u JS-u, a bilo bi trivijalno staviti je na internet, ali potrebna vam je veza s drugom aplikacijom koja radi paralelno.

Prvi prijedlog je koristiti IE komponentu i nije briga. Ali možda se nešto može napraviti na FF motoru, ali nemam pojma kako. Čuo sam nešto o XUL Runneru, ali ovo je nešto drugačije.

Ako netko objasni ukratko, baci linkove - bit ću iznimno zahvalan. Pa, potrebna su i mišljenja o stvarnosti i smislenosti takvih problema)

Alexander aka Efreeti [dosje]
puna višeplatformska neće raditi.

  1. može biti napisano u XUL-u (konzultirajte s iskusnim), ali vam je potrebna mozilla za pokretanje vaše aplikacije, ali će raditi na gotovo svim operativnim sustavima koje podržava mozilla.
  2. možete pisati samo za Windows HTA (Hypertext Applcation) koristeći puni arsenal mogućnosti JScript i Windows Scripting Host

Ne mogu dati točne poveznice - pošto ne znam prvu, ali za informacije o drugoj idem sam na Microsoftovu pretragu web stranice

Rumata [dosje]
Cross-platforma i ne isplati se kao prioritet, želim koristiti FF iz "ideoloških" razloga;)
Zapravo, pitanje je postavila osoba upućena u XUL, ali HTA nije to. Ako koristim IE, bit će C++ aplikacija.

David Mzareulyan [dosje]
I kako onda ovu aplikaciju povezati s drugom? Nisam našao nešto o vanjskom API-ju na stranici.

XULRunner (bazirano na vlastitog iskustva) više je nego prikladan za brzi razvoj "debelih klijenata" i samostalnih aplikacija. Uključujući jednostavnu interakciju s bazom SQLite podaci... U smislu komunikacije s drugim aplikacijama - bilo TCP/IP, ili konzolnim omotima (in potonji slučaj postoji nedostatak, stdout se ne može pristupiti putem nsIPocess). Budući da specifičnosti problema nisu jasne, teško je dati detaljniji odgovor.

Kirill [dosje], David Mzareulyan [dosje]
Moram napraviti program s ugrađenim preglednikom (bez naprijed/nazad i ostalih stvari) koji bi u isto vrijeme mogao prenositi podatke iz program treće strane JavaScript "y, koji se vrti upravo u ovom pregledniku.

Najočitija opcija (za mene) je IE engine i samonapisana ActiveX komponenta koja daje pristup tom drugom programu.
Ali želim FF (ili ne IE). Pitam za opcije kako se to može učiniti (i je li preporučljivo).

Alexander aka Efreeti [dosje]
Nisam pobornik ili pristaša određenih operativnih sustava.
Ali za vaš slučaj bolje odgovaraju JScript i ISIE "motor".

pitanje i postavio ga je XUL upućen

Onda vaše pitanje zvuči malo drugačije.

VST (Tehnologija virtualnog studija) Je li format zvučnog dodatka koji je predstavio Steinberg. Format je dosta raširen i mnogi znaju što je to i s čime se jede... Ali još uvijek vidim postove na forumima poput: "Što je VST?" ili “Instalirao sam VST instrument i on ne radi. Ona nema čak ni prečac na radnoj površini i exe '...", itd. Dakle, ukratko: što je to i kako radi.

Što su Vst instrumenti (VSTi).

Izvor zvuka kontrolira midi. To može biti sintisajzer, uzorkivač ili rompler. Da bi Vst dodatak funkcionirao, potreban vam je host program s kojim mu možete pristupiti.
Jednostavno je: prvo instalirajte glavni program (na primjer: Sonar ili Cubase, Nuendo, Fruity Loops, Logic, itd. itd.). Zatim, instalirajte sam Vst alat, nakon što ga instalirate, pokrenite host program i koristite ga.

Malo o sadržaju samih dodataka.

U pravilu, osnova VST dodatka je * .dll ( ne exe!) koja se nakon instaliranja alata nalazi u mapi s vašim VST dodacima.
Na primjer, ako radite u Cubaseu, put će biti ovakav:
C: \ Programske datoteke \ Steinberg \ Vstplugins
Ako je u Sonaru, onda ovako:
C: \ Program Files \ Cakewalk \ VstPlugins
Isto tako i za druge programe. Odnosno, ako prvi put instalirate dodatak Vst, a on nije vidljiv u (host programu), prije svega provjerite prisutnost dll-ova u ovoj mapi.
Još jedna točka. Ako dll datoteke su prisutni u direktoriju VST Plugins, ali dodatak još uvijek nije vidljiv u sustavu, možda vaš DAW treba skenirati mapu da pronađe nove dodatke, kao što trebate učiniti, na primjer, ako radite u Sonar (gumb Re-Scan Plugin).

Samostalan.

Ovo su samostalne verzije dodataka za koje nije potreban host program. Za njih je sve prilično jednostavno: nakon instalacije pojavljuje se izvršni ( exe datoteku), i prečac na radnoj površini. Pokreni i trči. Jedan nedostatak. Možete jednostavno svirati sa zvukovima instaliranog instrumenta, ali da biste snimili ono što svirate, i dalje vam je potreban host program 

Vst efekti.

Kao što sam već rekao. VST instrumenti su izvori zvuka. Vst efekti ne emitiraju zvukove, oni obrađuju dolazni audio stream. Sve ostalo je istina prema gore napisanom.

Dx, Dxi

Dxi Instruments and Effects alternativa je VST-u, formatu koji je razvio Microsoft. Nema temeljnih razlika, formati su u mnogočemu identični. Mnogi programi podjednako podržavaju i VST i Dxi dodatke, osim toga, postoje Vst adapteri koji ih lako prilagođavaju za rad u Dxi kompatibilnim glavnim programima ...
Također, kada instalirate mnogo dodataka u ljusku, postoji izbornik u kojem možete odabrati u kojem formatu želite instalirati dodatak.

Cross-platform tehnologije omogućuju suradnju različitog hardvera i softverske platforme u interesu potrošačkih organizacija.

Glavne softverske arhitekture

Samostalne aplikacije

To u pravilu mogu biti uslužni programi, uslužni programi sustava , tekst i grafički urednik, prevodioci su dovoljno jednostavni korporativni programi... Razvijeni korporativni informacijski sustav u pravilu se ne može sastojati od zasebnih, nepovezanih komponenti.

Dvoslojna arhitektura klijent-poslužitelj

Ova arhitektura se proširila od ranih 1990-ih usred rasta tržišta. osobnih računala i manja potražnja za glavnim računalima. U arhitekturi klijent-poslužitelj softver podijeljena na dva dijela - klijentski dio i strani poslužitelja... Zadatak klijentske strane (klijent-program) je komunicirati s korisnikom, prenijeti zahtjev korisnika na poslužitelj, primiti zahtjev sa strane poslužitelja (poslužiteljski program) i predstaviti ga u obliku prilagođenom korisniku. Poslužiteljski program, s druge strane, obrađuje zahtjeve klijenta i izdaje odgovore. Klasični primjeri: Web tehnologije (klijent-preglednik, poslužitelj-web-poslužitelj), rad s distribuiranim DBMS-om (klijent - poseban program, poslužitelj - poslužitelj baze podataka). Razvoj klijent-poslužitelj arhitekture, a posebno pojava moderne grafička sučelja, prvo je dovelo do pojave klijent-poslužitelj arhitekture tzv "debela klijentska arhitektura" Ovdje se na klijenta postavlja logika prezentacije i poslovna logika, koja (recimo, u slučaju kada je poslužitelj DBMS) komunicira s logikom pohranjivanja i gomilanja podataka na poslužitelju koristeći jezik strukturiranim upitima SQL.Međutim, potreba za instaliranjem " debeli klijenti„zahtijevajući značajan broj posebnih knjižnica i posebna postavka okolina, na veliki broj korisnička računala s različitim operativnim okruženjima u pravilu stvaraju dosta problema. Kao alternativa, dakle, postojala je i dvoslojna arhitektura "s tankim klijentom" U ovom slučaju, idealno, klijentski program implementira samo grafičko korisničko sučelje (GUI) i šalje/prima zahtjeve, a svu poslovnu logiku izvršava poslužitelj. U idealnom slučaju, klijent je samo internetski preglednik, koji je uključen u standard radno okruženje bilo koje korisničko računalo i ne zahtijeva posebnu konfiguraciju, instalaciju specijaliziranog softvera itd. Nažalost, takva shema također nije lišena svojih nedostataka, makar samo zato što poslužitelj mora preuzeti funkcije implementacije poslovne logike aplikacije koje mu ponekad nisu tipične (npr. DBMS poslužitelj mora obavljati izračune!)

Višeslojna arhitektura

Početak procesa razvoja korporativnog softvera u slojevita arhitektura postavljena je čak iu okviru tehnologije "klijent/poslužitelj". U njima su se, uz klijentski dio aplikacije i poslužitelj baze podataka, nalazili aplikacijski poslužitelji (Poslužitelji aplikacija).Savršeno:

  • program klijenta provodi GUI, šalje zahtjeve poslužitelju aplikacija i prima odgovor od njega,
  • aplikacijski poslužitelj implementira poslovnu logiku i postavlja zahtjeve poslužitelju "treće razine" (na primjer, poslužitelju baze podataka za podatke),
  • poslužitelj treće razine služi zahtjevima poslužitelja aplikacija.

Dakle, program klijenta može biti "tanak". Prednosti ove arhitekture su očite:

  • promjene na svakoj od karika mogu se provoditi neovisno;
  • opterećenje na mreži je smanjeno, budući da veze ne razmjenjuju velike količine informacija jedna s drugom;
  • Osigurano je skaliranje i jednostavna modernizacija hardvera i softvera koji podržavaju svaku od poveznica, uključujući ažuriranje serverskog parka i terminalske opreme, DBMS-a itd.;
  • Aplikacije se mogu kreirati na standardnim jezicima treće ili četvrte generacije ( Java, C / C ++).

Sljedeći logičan korak je daljnje povećanje broja poveznica, a to će se povećati ne samo zbog cijepanja, kada se svaka od poznatih tehničkih poveznica „prorijedi“, već se cijeli poslovni model gradi kao multilink. Moderna korporativna softverski sustavi su u pravilu složeni sustavi koji međusobno djeluju na različite razine komponente, od kojih svaka može biti klijent za neke komponente i poslužitelj za druge.

Glavni problem sustava baziranih na dvoslojnoj arhitekturi klijent-poslužitelj, ili još više slojevita arhitektura, je da oni moraju biti mobilni u najširoj mogućoj klasi hardverskih i softverskih okruženja. Čak i ako se ograničite UNIX- orijentirane lokalne mreže, u različite mreže koristi se različita oprema i komunikacijski protokoli. Pokušaji stvaranja sustava koji podržavaju sve moguće protokole dovode do njihovog preopterećenja mrežnim detaljima na štetu funkcionalnosti. Još složeniji aspekt ovog problema povezan je s mogućnošću korištenja različitih prikaza podataka u različitim čvorovima heterogenog lokalna mreža... V različita računala može postojati različito adresiranje, prikaz brojeva, kodiranje znakova itd. Ovo je posebno važno za poslužitelje. visoka razina: telekomunikacije, računarstvo, baze podataka.

Uobičajeno rješenje problema mobilnosti takvih sustava je korištenje tehnologija koje implementiraju protokole udaljenog poziva procedura. (RPC - Poziv za daljinski postupak) na standardiziran način neovisan o platformi. Kada se koriste takve tehnologije, poziv na uslugu na udaljenom čvoru izgleda kao redoviti poziv procedure (metode udaljenih objekata). Sadržaji RPC, koji, naravno, sadrži sve informacije o specifičnostima opreme lokalne mreže i mrežnih protokola, prenosi poziv na slijed umrežavanje... Dakle, specifičnosti mrežnog okruženja i protokola su skrivene od programera aplikacija.

Prilikom pozivanja udaljene procedure, program RPC proizvoditi pretvaranje formata podataka klijenta u srednje strojno neovisne formate, a zatim pretvorbu u formate podataka poslužitelja. Prilikom prijenosa parametara odgovora, inverzne transformacije... Dakle, ako se sustav implementira na temelju standardni paket RPC, lako se može prenijeti u bilo koje otvoreno okruženje.

CORBA tehnologija

CORBA (Arhitektura Common Object Request Broker Architecture) je skup otvorene specifikacije sučelja, koji definira arhitekturu tehnologije za međuprocesnu i platformski neovisnu manipulaciju objektima. Programeri ovih sučelja su OMG i X / Otvori.

Object Management Group, Inc. (OMG) je međunarodna organizacija osnovana 1989. s više od 800 članova: dobavljači informacijski sustavi, programeri softvera i korisnici. OMG unapređuje teoriju i praksu objektno orijentirane tehnologije u područje praktičnog razvoja softvera. Ovaj proces uključuje razvoj industrijskih standarda i specifikacija za upravljanje objektima s ciljem stvaranja zajednička baza za razvoj softvera. Primarni zadaci su: ponovno koristiti, prenosivost i interoperabilnost objektno orijentirani softver u distribuiranim, heterogenim okruženjima. Podrška za ove standarde omogućuje razvoj heterogenih aplikacija koje rade na svim glavnim platformama i operativni sustavi Oh.

X / Otvori je neovisna, širom svijeta otvorena organizacija koju podržava većina najvećih pružatelja informacijskih sustava, korisničkih organizacija i softverskih tvrtki. X / Otvori razvija sveobuhvatno i integrirano okruženje sustava temeljeno na postojećim i novim standardima - Zajedničko aplikacijsko okruženje (CAE).Komponente CAE definirano u standardima X / Otvori CAE.Glavni cilj CAE- kreiranje paketa softverska sučelja (API) koji se može koristiti u praksi uz zadržavanje maksimalne prenosivosti na razini izvornih kodova programa. API također povećati razinu interoperabilnosti između aplikacija pružanjem definicija i referenci na protokole i njihove profile.

Gore navedene specifikacije se rigorozno testiraju, a dodjeljuju se one koje prođu test X / Otvoreni zaštitni znak (XPG brand) licenciran X / Otvori.

Konceptualni okvir na kojem se temelje sve specifikacije OMG,je Arhitektura upravljanja objektima (OMA).Dio OMA uključuje razne standardizirane ili trenutno standardizirana OMG usluge, usluge, softverske uzorke i predloške (CORBAusluge, horizontalne i vertikalne CORBAfacilities), jezik za definiranje sučelja distribuiranih objekata , standardizirana ili standardizirana preslikavanja IDL u programske jezike i konačno objektni model CORBA.

Svatko može implementirati tehnologiju prema specifikacijama. Napravio softverskih proizvoda, naravno, više nisu otvoreni, već postaju komercijalni proizvodi.

CORBA arhitektura

CORBA određuje kako softverske komponente distribuirani preko mreže mogu međusobno komunicirati bez obzira na operacijske sustave i implementacijske jezike koji ih okružuju. Središnji dio arhitekture CORBA je ORB (posrednik zahtjeva za objekte)- softver koji omogućuje komunikaciju između objekata, uključujući i dopuštanje

  • pronađite izbrisani objekt pomoću Reference objekta (IOR - ,
  • metoda poziva udaljeni objekt prosljeđivanjem ulaznih parametara na njega (parametri razvrstavanja),
  • dobiti povratnu vrijednost i izlazne parametre (parametri demarshalinga).

Time ORB je veza između distribuiranih dijelova temeljena na tehnologiji CORBA sustav, dopuštajući da jedan dio sustava ne brine o njemu fizička lokacija ostali dijelovi (objekti) sustava. Na tržištu postoje ORB različitih proizvođača(Na primjer, VisiBroker, WebLogic), ali svi slijede istu specifikaciju CORBA... Stoga u načelu CORBA omogućuje vam da gradite distribuirani sustavi tijekom korištenja ORB različitih proizvođača, a istovremeno graditi sustav na različite platforme i razne mrežni protokoli(ovo je u terminologiji CORBA naziva interoperabilnost - interoperabilnost).U arhitekturi CORBA svaki objekt čije su metode dostupne drugim objektima (obično se nazivaju objektom CORBA) ima referencu objekta koja je jedinstvena u cijeloj dostupnoj mreži (IOR - Referenca interoperabilnog objekta), kojim se možete pozvati na njega. CORBA objekte možete tražiti i po IOR-u i po simboličkim nazivima, ako su registrirani (obično pri kreiranju) u posebna služba imena (Usluga imena) Za pristup metodama CORBA objekta, potonji ima sučelje koje je otvoreno za sve druge CORBA objekte. Uobičajeno je opisati sučelja CORBA objekata pomoću posebnog definiranog specifikacijom. CORBA Jezik IDL (jezik definicije sučelja)... Proizvođači ORB isporučuje zajedno sa ORB također uslužni programi koji pretvaraju opise sučelja CORBA-objekta u konstrukcije odgovarajućih programskih jezika.

Osnova interoperabilnost je protokol GIOP - Opći inter-ORB protokol, namijenjen za komunikaciju između objekata i ORB na liniji. Standardizacija komunikacijskog protokola omogućuje programerima da različitim dijelovima korporativni sustav uopće se ne obaziru na korišteno OBax u ostalim dijelovima ( ORB domene)

sustava. Gotovo svi moderni ORBbi temelje se na IIOP - Internet inter-ORB protokol(ovo je verzija općeg protokola GIOP, koji omogućuje korištenje kao transportni protokol TCP/IP).

Specifikacija CORBA također pruža niz standardiziranih usluga (CORBA usluge) te horizontalni i vertikalni zajednički objekti (Zajednički sadržaji)... Servisi su redoviti CORBA objekti sa standardiziranim (i napisanim u IDL) sučeljima. Takve usluge uključuju, na primjer, već spomenutu uslugu imena NameService, usluga za razmjenu poruka koja CORBA objektima omogućuje razmjenu poruka, transakcijska usluga koja omogućuje CORBA objektima da organiziraju transakcije. V pravi sustav sve usluge ne moraju biti prisutne, njihov set ovisi o traženoj funkcionalnosti. Do danas je razvijeno samo 14 objektnih usluga.

Između usluga objekata i zajedničkih objekata CORBA nema jasne granice. Potonji su također CORBA objekti sa standardiziranim sučeljima. Zajednički sadržaji podijeljeno na horizontalno (zajedničko za sva područja primjene) i vertikalno (za određeno područje primjene). Na primjer, razvijeno Zajednički sadržaji za medicinske organizacije, za brojne industrije itd.

Vrhunski povezani članci