Cometa (informatică)
Cometa este un neologism folosit pentru a descrie un model de aplicație web, în care este permis ca un server web sa trimită date unui browser, fără ca browser-ul sa solicite în mod explicit. Comet este un termen umbrela[1] care utilizează mai multe tehnici de realizare a acestei interacțiuni. Toate metodele au în comun faptul că ele se bazează pe tehnologii native ale browser-ului , cum ar fi JavaScript, mai degrabă decât pe plugin-uri proprietare. În teorie, abordarea Cometa diferă de modelul original al aplicațiilor web, în care un browser solicită o pagină întreagă sau bucăți de date pentru a actualiza o pagină de web. În practică, aplicațiile Cometa utilizează de obicei Ajax cu long polling[2] pentru a detecta noi informații pe server.
Istorie
[modificare | modificare sursă]Apleturi Java
[modificare | modificare sursă]Abilitatea de a încorpora aplicațiile Java în browsere (începând cu Netscape 2.0 în martie 1996 [1]) a făcut posibilă comunicarea susținută în două direcții, folosind un socket TCP brut [2] pentru a comunica între browser și server. Acest soclu poate rămâne deschis atâta timp cât browser-ul se află la documentul care găzduiește aplicația. Evenimentele de notificare pot fi trimise în orice format - text sau binar - și decodate de applet.
Primul cadru de comunicare browser-to-browser
[modificare | modificare sursă]Prima aplicație care utilizează comunicațiile browser-to-browser a fost Tango Interactive,[3] implementată în 1996-98 la Centrul de arhitecturi paralele nord-est (NPAC), la Universitatea Syracuse, folosind finanțarea DARPA. Arhitectura TANGO a fost patentată de Universitatea Syracuse.[4] Cadrul TANGO a fost utilizat în mod extensiv ca instrument de educație la distanță [5]. Cadrul a fost comercializat de CollabWorx și utilizat într-o duzină de aplicații de comandă și control și instruire din cadrul Departamentului Apărării al Statelor Unite.
Primele aplicații Comet
[modificare | modificare sursă]Primul set de implementări Comet datează din 2000,[6] cu proiectele Pushlets, Lightstreamer și KnowNow. Pushlets, un cadru creat de Just van den Broecke, a fost una dintre primele implementări [7] open source. Pushlet-urile s-au bazat pe servlets Java de pe server și pe o bibliotecă JavaScript din partea clientului. Rețelele Bang - o inițiere a companiei Silicon Valley, susținută de cofondatorul Netscape, Marc Andreessen, au avut o încercare finantată de a crea un standard de împingere în timp real pentru întreaga rețea.[8]
Punerea în aplicare
[modificare | modificare sursă]Datorită aplicațiilor comet, clientul poate interacționa cu serverul în timp real, bazându-se pe o conexiune HTTP permanentă (sau, dacă nu este posibil, o interogare lungă). Deoarece browserele și serverele web funcționează prin HTTP, care nu este proiectat pentru astfel de conexiuni, dezvoltatorii folosesc diferite implementări. Fiecare dintre ele are avantajele și dezavantajele sale.
Note
[modificare | modificare sursă]- ^ „Netscape.com”. Arhivat din original în . Accesat în .
- ^ "java.net.Socket (Java 2 Platform SE v1.4.2)" Arhivat în , la Wayback Machine.
- ^ Beca, Lukasz (). „TANGO - a Collaborative Environment for the World-Wide Web”. Syracuse University SURFACE. Northeast Parallel Architecture Center, College of Engineering and Computer Science. Accesat în .
- ^ Podgorny, Marek; Beca, Lukasz; Cheng, Gang; Fox, Geoffrey C.; Jurga, Tomasz; Olszewski, Konrad; Sokolowski, Piotr; Walczak, Krzysztof; PL (), United States Patent: 6078948 - Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions, arhivat din original la , accesat în
- ^ Baer, Troy (). „Experiences with Using TANGO Interactive in a Distributed Workshop” (PDF). CEWES Major Shared Resource Center. CEWES MSRC/PET TR/99-21. Arhivat din original (PDF) la . Accesat în .
- ^ „CometDaily: Comet and Push Technology”. Arhivat din original la . Accesat în .
- ^ Just van den Broecke (1 March 2000). “Pushlets: Send events from servlets to DHTML client browsers Arhivat în , la Wayback Machine.”. JavaWorld. Retrieved 1 august 2014.
- ^ Borland, John (). „Will the "refresh" button become obsolete?”. CNET Networks. Accesat în .