Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

WebSampConnector 1.5

- WebSampConnector 1.5
- Uputstvo

.: Brzi start

  1. Preuzmite WebSampConnector toolkit
  2. Raspakujte arhiv u strukturu vašeg veb servera
  3. Implementirajte WebSampConnector metode u svoje veb stranice dodajući pozive Javascript metodama:
    1. Dodajte link sa WebSampConnector Javascript izvorima na vrh dokumenta :
      <script type="text/javascript" src="[path]/websampconnector.js"></script>
      <script type="text/javascript" src="[path]/websampconnector.Handlers.js"></script>
    2. Konfigurišite WebSampConnector applet da bi ispunili zahteve vaše instalacije:
      <script>
        WebSampConnector.configure({jAppletCodeBase:'/mypath/', hubIconId:'myHubStatusIcon'});
      </script>
    3. Dodajte dugme (ili šta god želite) da biste povezali veb stranicu na samp čvorište:
      <a href="javascript:void(0)" onclick="WebSampConnector.start();">Connect to the hub</a>
    4. [Opciono] Dodajte na veb stranicu ikonu statusa centra:
      <img id="myHubStatusIcon" src="[path]/icons/hub-unknown.png" alt="Hub Status"/>
      gde su id i put ikone oni koje ste konfigurisali.
    5. Dodajte akcije samp slanja poruka na vaše dokumente. Na primer, da emituju VOTable:
      <a href="javascript:void(0)" onclick="WebSampConnector.sendSampMsg('v','tableId','','http://[hostname]/xxx.xml');"> Broadcast VOTable</a>
    6. [Opciono] Dodajte dugme (ili šta god želite) da isključite veb stranicu iz čvorišta:
      <a href="javascript:void(0)" onclick="WebSampConnector.stop(true);">Disconnect from the hub</a>
Kada Java applet počne prvi put, klijent će dobiti bezbednosno upozorenje koje traži od njega poverenje u sadržaj izdavača. Potvrda mora biti prihvaćena od strane klijenta da bi omogućila komunikaciju između vaše veb stranice i lokalno pokrenutog samp centra i VO softvera. WebSampConnector applet ne piše ništa na strani klijenta. On samo treba da pročita samp fajl klijenta koji je kreiran kada je samp čvorište počelo.

Uverenje pruženo sa WebSampConnector toolkit-om je potpisano kao:

  • Ime: WebSampConnector
  • Izdavač: VOParis Data Centre
  • Od: [your_hostname](vaše ime)

Ako želite da budete izdavač sertifikata, ili ako želite da naštimujete Japplet vašoj pogodnosti, moraćete da instalirate WebSampConnector izvore, da sastavite i potpišete applet i da instalirate datoteke distribucije u arhitekturu vašeg veb servera.

Ako vam je potrebna WebSampConnector polisa da bi verovali applet-u, moraćete da izmenite samp.policy fajl (isporučen toolkit-om) i da prilagodite put ka pristupu sampclientstore-u (radnji za klijente) -(koja sadrži pouzdani sertifikat).

Upamtite da, kada je veb stranica ( ili tab) domaćin WebSampConnector-u, applet je tada zatvoren, dok je veza sa čvorištem završena, a applet uništen.

.: Instalacija sa izvora

Preduslovi
  • - Java compiler javac. Preporučujemo Sun Java JDK verziju 1.6.x.
  • - Keytool program da upravlja keystore-om privatnih ključeva i njihovih povezanih X.509 lanaca sertifikata koji autentifikuju odgovarajuće javne ključeve
  • - Jarsigner program da potpiše applet
Instalacija
  1. Preuzmite WebSampConnector izvorni paket
  2. Raspakujte arhivu u željeni radni prostor
  3. Izmenite sledeće fajlove i prilagodite staze da odgovaraju vašoj arhitekturi:
    1. napravite.xml: obezbedite pathnames traženih Sun Java plugin.jar i JSamp jsamp-1.0.jar. Jsamp.dir izvori da bi se pristupilo na JSamp metu / odeljenja direktorijuma.
    2. websampconnector.js: prilagodite codebase putanju za applet da odgovara vašoj instalaciji
    3. keystore/samp.policy: prilagodite prvu liniju da odgovara vašoj instalaciji
  4. [prepušteno slobodnom izboru] Generišite svoj lični par ključeva da se identifikuje Japplet. Pogledajte keystore / keygen.howto fajl za informacije o tome kako da nastavite.
  5. Sastavite Java izvore i instalirajte datoteke distribucije u arhitekturi veb servera:
    ant install
    Možda preferirate da samo sastavite izvore, potpišete aplet i izvezete sertifikat samo izvršavanjem:
    ant compile
    ili bilo koju drugu metu mrava komandne datoteke
  6. [opciono] sastavite Javadoc. Podrazumeva se da se će se instalirati u dist / javadoc direktorijumu. Možete da instalirate javadoc na svoj veb server pomoću mrava (ant) mete 'install-javadoc'
  7. Testirajte WebSampConnector-a pokretanjem demonstratora na URL:
    http://[path_to_websampconnector]/demo.html
    Ako ste instalirali Javadoc onda ćete ga naći na URL:
    http://[path_to_websampconnector]/javadoc/
Slobodno poboljšajte i prepravite Japplet i Javascript skripte da bolje odgovaraju vašim zahtevima. VO-PDC tim će biti veoma zahvalan, ako nam ostavite kopiju vaših poboljšanja.

.: WebSampConnector Javascript API

JavaScript metode WebSampConnector priručnika definisane su u okviru WebSampConnector prostora za ime, tako da se neće mešati sa drugim metodama Javascript-a koje koristi vaš veb sajt . Javascript API se sastoji od dva dela:

websampconnector.js
WebSampConnector jezgro implementacije, što ne bi trebalo da se menja
websampconnector.Handlers.js
WebSampConnector handler implementacija, koja bi trebalo da bude podešena od strane programera da ispuni ponašanje njihove veb aplikacije

Da biste koristili WebSampConnector u veb aplikaciji, morate da učitate fajlove Javascript-a kada vaša veb aplikacija počinje:

<head>
 <script type="text/javascript" src="websampconnector.js"></script>
 <script type="text/javascript" src="websampconnector.Handlers.js"></script>
</head>

Možda ćete morati da zaobiđete neke osobine WebSampConnector-a da ispunite zahteve instalacije. To se radi pozivanjem WebSampConnector.configure () metoda u okviru glavne deklaracije na vašoj veb stranici:

<head>
 ...
 <script type="text/javascript">
   WebSampConnector.configure({ variable:'value', variable:'value', ... });
 </script>
</head>

Gde bi trebalo promenljive da se menjaju:

jAppletId
- ID od apletove oznake koji je domaćin WebSampConnector Java applet-u (npr. WebSampConnectorApplet)
- Default: 'WebSampConnectorApplet'
jAppletCodeBase
- Apsolutni put do JApplet direktorijuma (npr. / myapplets / websampconnector /)
- Standardno: './'
jAppletVersion
- Verzija za WebSampConnector JApplet (npr. 1.5)
- Standardno: '1.5'
hubIconPrefix
- Prefiks od hub statusa imena ikona (npr. icons/hub-)
- Standardno: 'icons/hub-'
hubIconExt
- Proširenje hub statusa imena ikona (npr. .png)
- Standardno: '.png'
hubIconId
- Id HTML <IMG> element statusa ikona (npr. hubStatusIcon)
- Standardno: 'hubStatusIcon'
hubTextArea
- Id HTML <TEXTAREA> element koji se koristi za pisanje primljene poruke (npr. HubMsg)
- Standardno: 'HubMsg'
callbackFunction
- Callback funkciju raspisuje JApplet nakon što je veza sa čvorištem uspostavljena (npr. setStatusIcon)
- Standardno: 'setStatusIcon' metoda
isLogEnable
- Globalno omogućite ili ne iskačuće poruka upozorenja hendlera
- Standardno: true

Ako želite samo da koristite WebSampConnector da bi emitovali VOTable ili slike ili spektre Vo-aplikacijama onda samo treba da obuhvatite websampconnector.js datoteku. Ako želite da vaša veb aplikacija prima poruke koje dolaze iz Vo-aplikacija onda ćete takođe morati da uključite websampconnector.Handlers.js datoteku. To obezbeđuje Javascript metode koje se zovu po Java applet-u kada se poruke šalju na hub od strane drugih aplikacija. Podrazumevano ponašanje ovih metoda je da se napišu primljene poruke u tekstualnoj zoni HTML elementa. Programeri su ohrabreni da izmene ove metode da bi mogli da rukovode kako žele primljenim porukama.

WebSampConnector priručnik se isporučuje sa trećom datotekom (websampconnector.Interface.js), što nije neophodno da koristi konektor. Ona pruža veoma jednostavne metode koje se mogu koristiti kao predloške za primenu WebSampConnector-a u veb aplikaciji. Pogledajte template.html fajl koji pruža veoma jednostavan korisnički interfejs koji samo emituje VOTable. Potpunije implementacije od WebSampConnector su predložene u demonstratoru.

.: WebSampConnector callback funkcija

Funkcija WebSampConnector implementira povratni mehanizam da dozvoli programerima da znaju tačan trenutak kada je Java applet pokrenut u pregledaču i zato je spreman da odgovori na instrukcije. Podrazumevano, povratna (callback) funkcija je "setStatusIcon" metod (nalazi se u websampconnector.Handlers.js fajlu), koji menja aspekt ikone obavestivši status veze sa čvorištem. Programer može premostiti ovaj metod i obezbediti svoj promenom vrednosti "callbackFunction" promenljive. Zbog ponašanja Jave u JavaScript komunikaciji, povratna funkcija ne može biti pozvana od strane Java apleta pomoću prostora za ime (i.e. a.b. ()). Kao posledica toga, programer koji zamenjuje callback funkciju mora da da vezu između imena (npr. b ()) povratne funkcije i njenog pravog imena (ili ne) u namespace-u, tj. prostoru za ime (e.g. a.b. ()). To se radi dodavanjem linije na kraju fajla koji sadrži definiciju povratne funkcije (websampconnector.Handler.js po defaultu:. SetStatusIcon = WebSampConnector.setStatusIcon ;)

Callback funkcija mora da prihvati argument (tip: red žice) koji će sadržati status veze ("uključen" ili "isključen") poslat od strane Java apleta (init () metod). Pogledajte podrazumevanu povratnu funkciju 'setStatusIcon " na primer, i osećajte se slobodnim da promenite njeno ponašanje.

.: Java u JavaScript komunikaciji

Za svaki javni Java metod koju pruža WebSampConnector applet , on korespondira sa Javascript metodom koji mora da se koristi da bi vaša veb strana komunicirala sa čvorištem. Mapiranje Jave u JavaScript komunikaciju u funkciji akcija je sledeće:
ActionJavascript methodWayJava methodNote
Japplet i priključite klijenta na hub WebSampConnector.connect() init()(1)
Da biste isključili klijenta iz hub WebSampConnector.disconnect() disconnect()
Da znate status WebSampConnector.isConnected() isConnected()
Da biste dobili registrovane WebSampConnector.getRegisteredClients() getRegisteredClients()
Da biste dobili pretplaćene klijente datim MType WebSampConnector.getSubscribedClients() getSubscribedClients()
Da obavestite porukom message WebSampConnector.sendMsg() sendMsg()
Da biste poslali point.at.sky pattern WebSampConnector.pointAtSky() pointAtSky()
Da bi dobili point.at.sky pattern WebSampConnector.pointAtSkyHandler() pointAtSkyHandler()
Da biste poslali table.highlight.row pattern WebSampConnector.tableHighlightRow() tableHighlightRow()
Da biste dobili table.highlight.row pattern WebSampConnector.highlightRowHandler() highlightRowHandler()
Da biste poslali table.select.rowList pattern WebSampConnector.tableSelectRowList() tableSelectRowList()
Da bi dobili table.select.rowList pattern WebSampConnector.selectRowListHandler() selectRowListHandler()
Da biste poslali skriptu Aladin WebSampConnector.sendAladinScript() sendAladinScript()(2)
Napomene:
  • 1: Kada je veza sa čvorištem uspostavljena, JApplet init () metod poziva callback funkciju dobijenu od klijenta kroz WebSampConnector.callbackFunction promenljivu
  • 2: ovo je posebna karakteristika Aladina koja nije deo Samp standarda
Sve Java metode (osim init (), getRegisteredClients (), getSubscribedClients () i metoda primanja) vraćaju Boolean da objave uspeh akcije. Sve Java metode (osim init ()) bacaju izuzetak (SampException i java.security.PrivilegedActionException) ako dođe do greške.

.: Java metode

Java metode su opisane detaljno u Javadoc.

.: Javascript metode

WebSampConnector prostor za ime definiše set Javascript metoda da upravljaju vezom sa Samp centrom i da rukuju porukama sa registrovanim VO aplikacijama. Primljene skripte omogućavaju da se emituju podaci (VOTable, FITS tabela i slika, SSA spektar), da bi se poslale poruke na osnovu 'point.at.sky', 'table.highlight.row " ' table.select.rowList ' paterni, da bi dobili registrovane klijente, i da bi dobili klijente koji su se pretplatili na dati MType obrazac. Programeri su ohrabreni da izmene primljene metode (xxxHandler) i getRegisteredClients, getSubscribedClients i setStatusIcon administrativne metode da rade ono što očekuju.
Administrativne Poruke
WebSampConnector.connect()
→ Povratak: void
→ Upotreba: Ovaj metod gradi Japplet, a povezuje i registruje veb pretraživač na pokrenuti samp centar. Ako je veza uspešna onda Japplet pokušava da promeni ikonu statusa centra (id = hubStatusIcon) u "povezano"
ArgumentiTip OpisNapomena
Nijedan---
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.start();">Connect to the Samp hub</a>
WebSampConnector.disconnect()
→ Povratak: boolean
→ Upotreba: Ovaj metod odregistruje klijenta, završava konekciju i podešava na nepovezan status ikonu centra (id=hubStatusIcon)
ArgumentiTipOpisNapomena
Nijedan---
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.stop();">Disconnect</a>
WebSampConnector.isConnected(dmsg)
→ Povratak: boolean
→ Upotreba: Ovaj metod omogućava klijentu da zna da li je povezan ili ne na centar. Ako je povezan onda je status ikone centra (id = hubStatusIcon) namešten na povezan, ako nije, onda je namešten na nepovezan ili nepoznato.
ArgumentiTipOpisNapomena
dmsgbooleanAko je to istina onda popup upozorenje se prikazuje da bi pokazalo status veze -
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.isConnected(true);">Connection Status</a>
WebSampConnector.getRegisteredClients()
→ Povratak: niz redova
→ Upotreba: Ovaj metod preuzima listu javnih legitimacija klijenata za one klijente koji su trenutno registrovani. Lista je data kao niz redova, gde je svaki unos formatiran kao: publicId | Ime | DescriptionText | URLDokumentacija
ArgumentTipOpisNapomena
Nijedan---
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.getRegisteredClients();">Get registered clients</a>
WebSampConnector.getSubscribedClients(mtype)
→ Povratak: niz redovag
→ Upotreba: Ovaj metod preuzima listu klijenata koji su pretplaćeni na dati MType (npr. table.load.votable)
ArgumentiTipOpisNapomena
mtypestring[]Opis zahtevan MType-
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.getSubscribedClients(new Array('table.load.votable')) ;">Get subscribed clients</a>
WebSampConnector.setStatusIcon(args)
→ Povratak : void
→ Upotreba: Ova metoda menja ikonu koja pokazuje status veze sa čvorištem. Njegovi statusi mogu biti "povezan", "isključen" ili "nepoznat".
ArgumentiTipOpisNapomena
argsstring[] stanje ikone: "povezan" | "isključen" | "nepoznato"-
Primer:
WebSampConnector.setStatusIcon(new Array("connected"));
Slanje aplikacionih poruka
Sledeće metode moraju da se koriste za slanje poruka na registrovane VO aplikacije.
WebSampConnector.sendMsg(MType, keyName, id, name(ime), url)
→ Povratak: boolean
→ Upotreba: Ovaj metod emituje poruku sa veb stranice u registrovanu VO aplikaciju
ArgumentiTipOpisNapomena
MType string Mtype podataka da se emituje-
keyName string Ključ identifikatora koji može biti povezan sa parametrom identifikatora (id )(1)
id string Identifikator koji može da se koristi da se označi ubačen resurs u naredne poruke-
name string Ime koje se može koristiti da se označi učitani resurs u aplikaciji GUI-
url string URL VOTable dokumenta da se napuni-
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.sendMsg('table.load.votable','table-id','MyFOV','','http://hostname/barbara.xml');"> Broadcast the VOTable</a>
Komentari:
  1. Samp poruka se gradi kao mapa koja kodira dati MType i pridružene parametre. Svaki parametar se dodaje na kartu kao par ključnih-vrednosti. MTypes (M tipovi) (http://www.ivoa.net/cgi-bin/twiki/bin/view/IVOA/SampMTypes) koji rukuju tabelama, slikama i spektrom imaju tri argumenta: URL koji ukazuje na resurs, ID (opciono) koja se može koristiti da uputi na ubačeni resurs u naredne poruke, kao i ime (opciono), koje može da se koristi da označi napunjen resurs u aplikacionom GUI. Ime tastera kojim se definiše URL i ime parametra je uvek isto: 'URL' i 'ime'. To nije slučaj sa Id parametrom za kog ime ključa zavisi od MType. 'KeyName" parametar sendMsg metoda omogućava da se obezbedi eksplicitno ključno ime koje bi bilo povezano sa id parametrom. Ako šaljete poruku MTypes 'table.load.votable', 'image.load.fits', 'table.load.fits' ili 'spectrum.load.ssa-generic ", ključ se automatski definiše Java apletom i vi ne morate da ga obezbedite (samo ostavite KeyName praznim).
WebSampConnector.pointAtSky(ra, dec)
→ Povratak: boolean
→ Upotreba: Ovaj metod omogućava klijentu da ukaže na date nebeske koordinate u registrovanoj VO aplikaciji.
ArgumentiTipOpisNapomena
ra double Pravo penjanje do tačke (u decimalnim stepenima)-
dec double Deklinacija do tačke (u decimalnim stepenima)-
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.pointAtSky(105.0, 6.0);">Point at RA=7h, DEC=+6d</a>
WebSampConnector.tableHighlightRow(tableId, url, row)
→ Povratak: boolean
→ Upotreba: Ovaj metod omogućava klijentu da istakne jedan red identifikovane tabele redom indeksa
ArgumentiTipOpisNapomena
tableId string identifikator povezan sa tabelom prethodnom porukom(1)
url string URL VOTable dokumenta(1)
row int Red indeksa (nula-baziran) -
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.tableHighlightRow('MyFOV','http://hostname/barbara.xml', 6);">Highlight row #6</a>
Napomene:
  1. Tabela sa kojom treba da se radi je identifikovana sa jednim ili oba tableId ili url argumenata. Najmanje jedan od njih mora biti isporučen, a ako su oba data oni treba da se odnose na istu stvar.
WebSampConnector.tableSelectRowList(tableId, url, rowList)
→ Povratak: boolean
→ Upotreba: Ovaj metod omogućava klijentu da izabere listu redova identifikovane tabele redom indeksa
ArgumentTipOpisNapomena
tableId string identifikator povezan sa tabelom prethodnom porukom(1)
url string URL VOTable dokumenta(1)
rowList int[] spisak redova indeksa (nulom-baziranih) definiše koji redovi tabele treba da formiraju selekciju -
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.tableSelectRowList('MyFOV','http://hostname/barbara.xml', new Array(0,1,2,3,4));">Highlight rows #0 to #4</a>
Napomene:
  1. Tabela sa kojom treba da se radi ima jedan ili oba tableId ili url argumenta. Najmanje jedan od njih mora biti isporučen, a ako su oba data oni treba da se odnose na istu stvar
WebSampConnector.sendAladinScript(ascript)
→ Povratak: boolean
→Upotreba: Ovaj metod omogućava klijentu da pošalje skriptu da bude izvršen od strane Aladina
ArgumentiTipOpisNapomena
ascriptstring Aladin skripta da se pošalje na Aladin(1)
Primer:
<a href="javascript:void(0)" onclick="WebSampConnector.sendAladinScript('get Aladin(DSS2) 198.69107026467 +9.085315305339 15arcmin; sync; get VizieR(USNO2); sync; set USNO2 shape=triangle');">Send a script to Aladin</a>
Napomene:
  1. Ova poruka je posebna karakteristika Aladina i nije deo Samp standarda.
Primanje aplikacionih poruka
Sledeći metodi moraju da se koriste za primanje poruka sa registrovane VO aplikacije. One moraju biti završene od strane klijenta da bi zaista odgovarale potrebama veb aplikacije.
WebSampConnector.pointAtSkyHandler(args)
→ Povratak: void
→ Upotreba: Ovaj metod omogućava klijentu da dobije nebeske koordinate da ukaže iz registrovane VO aplikacije.
ArgumentiTipOpisNapomena
argsdouble[]Sadrži pravo penjanje i deklinaciju do tačke (u decimalnim stepenima)(1)
Napomene:
  1. RA = args[0]; DEC = args[1]
WebSampConnector.highlightRowHandler(args)
→ Povratak: void
→ Upotreba: Ovaj metod omogućava klijentu da dobije jedan indeks reda identifikovane tabele, za isticanje
ArgumentiTipOpisNapomena
argsstring[]Sadrži indeks reda za isticanje u tabeli identifikovan po ID ili URL(1)
Napomene:
  1. table-id = args[0]; url = args[1]; row = args[2]
WebSampConnector.selectRowListHandler(args)
→ Povratak: boolean
→ Upotreba: Ovaj metod omogućava klijentu da izabere listu redova identifikovane tabele redom indeksa
ArgumentiTipOpisNapomena
argsstring[]Sadrži listu redova indeksa za isticanje u tabeli identifikovan po ID ili URL(1)
Napomene:
  1. table-id = args[0]; url = args[1]; rows[] = args[2]..args[args.length]
Published (Last edited): 24-02-2013 , source: http://vo.imcce.fr/webservices/samp/?guide