Kullanıcı, özel uygulamanıza bir web tarayıcısından erişir.
Connect Web Hizmetlerinin mimarisini anlayın ve API'lerin nasıl çalıştığını öğrenin.
Adobe® Connect™ Web Hizmetleri, Adobe Connect Server uygulama grubunun üzerindeki web hizmeti katmanıdır.
Web hizmetleri, Adobe Connect işlevselliğini ve raporlama bilgilerini portallar, müşteri ilişkileri yönetim sistemleri ve kurumsal kaynak planlama sistemleri gibi üçüncü taraf sistemlerle entegre eden portalları veya web uygulamalarını oluşturmanıza olanak tanır.
Örneğin, iş süreçlerinizin ayrılmaz bir parçası olan LDAP dizini, Microsoft Active Directory veya başka bir üçüncü taraf sistemi gibi bir merkezi kullanıcı yönetim sistemine sahip olabilirsiniz.
Web hizmetlerinden faydalanarak, kullanıcıları sisteminiz ve Adobe Connect arasında senkronize eden bir uygulama yazabilirsiniz. Uygulama, dizinden bir kullanıcı listesi almak, bunu bir Adobe Connect kullanıcıları listesiyle karşılaştırmak ve ardından Adobe Connect kullanıcı deposunda kullanıcı ekleme veya silme gibi istenen güncellemeleri yapmak için J2EE platformunu veya tercih ettiğiniz başka bir teknolojiyi kullanabilir.
Veri akışı
İstemci uygulamaları ile Adobe Connect arasındaki veri akışları aşağıdaki şemada gösterilmiştir. Yazdığınız özel uygulamalar 1 ile 2 ve A ile B arasındaki yolları kullanır. Adobe Connect uygulamaları (ör. Adobe Connect Meeting, Adobe Connect Training veya Adobe Connect Events) veri akışı yollarından herhangi birini kullanabilir.
Veri akışı SSL ile şifrelenebilir veya şifrelenmemiş olabilir.
Şifrelenmemiş
Veri akışı şifrelenmemişse bağlantılar, HTTP ve Adobe Gerçek Zamanlı Mesajlaşma Protokolü (RTMP) üzerinden yapılır ve aşağıdaki tabloda açıklanan yollar izlenir.
Diyagram numarası |
Açıklama |
---|---|
1 |
İstemci web tarayıcısı, HTTP:80 bağlantı noktası üzerinden bir Adobe Connect toplantısı veya içerik URL'si ister. (Bağlantı yolları değişebilir.) |
2 |
Web sunucusu içerik aktarımıyla yanıt verir veya istemci tarayıcısına Adobe Connect'e girmesi için gerekli bilgileri sunar. |
3 |
Masaüstü için Adobe Connect uygulaması, RTMP:1935 ve HTTP:80 üzerinden Adobe Media Server'a bağlantı ister. |
4 |
Adobe Media Server yanıt verir ve toplantı trafiğini tarayıcıya aktarmak için kalıcı bir bağlantı açılır. |
3a (alternatif) |
Bazı durumlarda, masaüstü için Adobe Connect uygulaması Adobe Media Server'a bağlantı ister ancak yalnızca RTMPT:80 üzerinden tünelli bir bağlantı elde edebilir. |
4a (alternatif) |
Adobe Media Server yanıt verir ve toplantı trafiğini tarayıcıya aktarmak için tünelli bir bağlantı açılır. |
Şifrelenmiş
Veri akışı şifrelenmişse bağlantılar, HTTPS ve RTMPS (SSL üzerinden Gerçek Zamanlı Mesajlaşma Protokolü) üzerinden aşağıdaki gibi güvenli bir şekilde yapılır:
Diyagram numarası |
Açıklama |
---|---|
A |
İstemci web tarayıcısı, HTTPS:443'teki şifrelenmiş bir bağlantı üzerinden güvenli bir toplantı veya içerik URL'si ister (bağlantı yolları değişebilir). |
B |
Web/uygulama sunucusu, şifrelenmiş içerik aktarımıyla yanıt verir veya istemciye Adobe Connect ile şifrelenmiş bir bağlantı kurması için bilgi sağlar. |
C |
Masaüstü için Adobe Connect uygulaması, RTMPS:443 üzerinden Adobe Media Server'a şifrelenmiş bir bağlantı ister. |
D |
Adobe Media Server yanıt verir ve toplantı trafiğini tarayıcıya aktarmak için kalıcı bir bağlantı açılır. |
Özel uygulamalar
Adobe Connect Web Hizmetleri bir XML API sağlar, bu nedenle uygulamanızın HTTP üzerinden XML veya HTTPS üzerinden XML kullanarak Adobe Connect ile iletişim kurabilmesi gerekir. Uygulamanız, bir istek URL'si oluşturup bunu ad/değer çiftleri veya bir XML belgesi olarak bir ya da daha fazla parametreye ileterek API'yi çağırır. Web Hizmetleri, değerleri çıkarabileceğiniz bir XML yanıtı gönderir.
Özel uygulamalar, Adobe Connect veritabanından meta verileri alır. Meta veriler, toplantı veya ders adlarını ve saatlerini, toplantı odası URL'lerini, içerik URL'lerini ve rapor bilgilerini içerir.
Veritabanından meta veri alan özel bir uygulamanın veri akışı, bir istemci web tarayıcısından istemci web uygulama sunucusuna, XML API'sine, Adobe Connect web uygulama sunucusuna ve SQL veritabanına kadar uzanır, ardından geri döner.
Özel bir uygulama ile Adobe Connect arasındaki veri akışı şu şekilde çalışır:
-
-
Uygulama, HTTP:80 veya HTTPS:443 üzerinden XML API'sini çağırır.
-
Adobe Connect web uygulama sunucusu, uygulamayı ve kullanıcılarını yetkilendirir, SQL veritabanından meta verileri alır ve meta verilerini geri gönderir.
-
İstemci tarafında, web veya uygulama sunucunuz, XML ayrıştırıcınız ve yazılım kitaplıkları yanıtı işler ve uygulamanıza geri gönderir.
-
Kullanıcı, özel uygulamanızda çalışmaya devam eder ve bir toplantı veya içerik URL'sini tıklar. Bu noktada, kullanıcı bir toplantı odasına girmek için Adobe Connect uygulamasına erişir ve bir Adobe Connect uygulaması ile sunucu arasındaki tipik veri akışı başlar.
Adobe Connect uygulamaları
Adobe Connect uygulamaları, özel bir uygulama üzerinden kullandığınız Web Hizmetleri XML API'sini kullanarak sunucuyu çağırır.
Genel olarak içerik, HTTP bağlantı noktası 80 veya HTTPS bağlantı noktası 443 üzerinden taşınır. İçeriğe şunlar dahildir: slaytlar, HTTP sayfaları, SWF dosyaları ve FileShare bölmesi aracılığıyla aktarılmış dosyalar. Bunlar, yapılandırabileceğiniz varsayılan bağlantı noktası numaralarıdır (ayrıntılar için bkz. Migrating, Installing, and Configuring Adobe Connect Server (Adobe Connect Server'ı Taşıma, Yükleme ve Yapılandırma)).
Adobe Media Server'daki akışlı, gerçek zamanlı iletişimler, 1935 numaralı RTMP bağlantı noktası üzerinden taşınır. Akışlı iletişim, ses, video (web kamerası ve FLV), dosya paylaşımı ve sohbeti içerir. Ayrıca, toplantı durumu 1935 numaralı RTMP bağlantı noktası üzerinden de korunur.
Adobe Connect Bileşenleri
Adobe Connect, iki sunucu bileşeniyle tasarlanmıştır ve her sunucu bir SQL veritabanı kullanır.
Web uygulama sunucusu
Web uygulama sunucusu, Adobe Connect'in beynidir. İçeriği kullanıcılara sunmak için gereken tüm iş mantığını içerir ve yürütür. Erişim denetimi, güvenlik, kotalar ve lisanslamanın yanı sıra kümeleme, yük devretme ve çoğaltma gibi yönetim işlevlerini yönetir.
Web uygulama sunucusu, özel bir uygulama veya entegre üçüncü taraf sistemi kullanmadığınızda, kuruluşunuzun içeriğini ve kullanıcılarını görüntülediğiniz ve yönettiğiniz uygulama olan Adobe Connect Central'ı da yönetir. İçeriği ve kullanıcıları tanımlayan meta veriler, tekli veya çoklu kopyalanmış SQL veritabanlarında saklanabilir. Web uygulama sunucusunun durum bilgisi yoktur, bu da ölçeklemenin doğrusala yakın olduğunu gösterir.
Adobe Media Server
Adobe Media Server, RTMP kullanarak ses, video ve zengin medya içeriği akışı sağlar. Bir toplantı kaydedilirken ve oynatılırken, ses ve video senkronize edilirken veya içerik gerçek zamanlı ekran paylaşımı için dönüştürülürken ve paketlenirken, bu işlemleri gerçekleştiren Adobe Media Server'dır.
Adobe Media Server ayrıca sık erişilen web sayfalarını, akışları ve paylaşılan verileri önbelleğe alarak sunucu yükünü azaltmada önemli bir rol üstlenir.
SQL veritabanı
Adobe Connect; kullanıcılar, gruplar, içerik ve raporlama bilgileri dahil olmak üzere işlem ve uygulama meta verilerinin kalıcı olarak depolanması için Microsoft SQL Server veritabanını kullanır. XML API, veritabanında depolanan meta verileri alır. Veritabanı, Microsoft SQL Server Desktop Engine (MSDE) veya Microsoft SQL Server 2005'in tam sürümü ile uygulanabilir.
İlk API çağrınızı gerçekleştirme
Adobe Connect Web Hizmetleri, XML API isteklerini işlemek için bir servlet çerçevesi kullanır. Servlet çerçevesi, veri akış şemasında API bileşeni tarafından temsil edilir. API servlet, istemcilerden XML isteklerini alır, ardından XML yanıtlarını web uygulama sunucusundan ve veritabanından geri gönderir.
XML API'sine yapılan bir istek, API servlet'in işlediği bir HTTP istek URL'si olarak biçimlendirilir. Bir istek URL'sinde bir eylem adı ve ad/değer çiftlerinde aşağıdaki gibi parametreler bulunur:
https://example.com/api/xml?action=sco-info&sco-id=2006334909
API çağrılarını test edebileceğiniz bir Adobe Connect hesabına erişiminiz varsa deneyebilirsiniz. Aslında Adobe, API'yi öğrenirken ve uygulamalar yazarken API çağrılarını tarayıcıda test etmenizi önerir.
Başlamadan önce, tarayıcınızda HTTP istek ve yanıt başlıklarını görüntülemenize olanak tanıyan bir araç yüklemeniz faydalı olacaktır.
Tarayıcıda common-info çağrısı
-
(İsteğe bağlı) Tarayıcınızda HTTP başlıklarını görüntülemek için bir araç etkinleştirin.
-
Bir tarayıcı açın ve Adobe Connect oturum açma sayfanıza gidin.
-
Oturum açmadan, URL'nin etki alanı adından sonraki kısmını silin ve common-info öğesine bir çağrı ekleyin:
https://example.com/api/xml?action=common-info
common-info öğesinden gelen yanıt, özellikle oturumunuzu tanımlayan tanımlama bilgisiyle ilgili olmak üzere, sunucuyla oturumunuz hakkında size bilgi verir:
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <common locale="en" time-zone-id="85"> <cookie>breezbryf9ur23mbokzs8</cookie> <date>2008-03-13T01:21:13.190+00:00</date> <host>https://example.com</host> <local-host>abc123def789</local-host> <url>/api/xml?action=common-info</url> <version>connect_700_r641</version> <user-agent> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) </user-agent> </common> </results>
Kullanıcının bir uygulamadan oturum açmasını sağladığınızda, kullanıcının oturumunu tanımlamak için tanımlama bilgisi değerini sunucuya geri göndermeniz gerekir (bkz. Log in from an application (Uygulamadan oturum açma)).
Tarayıcıda principal-list (ana öğe listesi) çağrısı
common-info (ortak bilgiler) öğesinden BREEZESESSION tanımlama bilgisi değerine sahip olduğunuzda, tarayıcı bunu bir sonraki isteğinizde istek başlığına ekler.
-
Bir web tarayıcısında Adobe Connect'te oturum açın. principal-list (ana öğe listesi) listesini çağırmak için tarayıcı URL'sini değiştirin:
https://example.com/api/xml?action=principal-list
-
İstek başlığını kontrol edin. Bu kez BREEZESESSION tanımlama bilgisi değerini sunucuya geri gönderir:
GET /api/xml?action=principal-list HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: example.com Connection: Keep-Alive Cookie: BREEZESESSION=breezbryf9ur23mbokzs8
-
Her birini kendi principal'inde (ana öğe) bulunan sunucudaki tüm ana öğeleri kontrol edin.
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <principal-list> <principal principal-id="624526" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>joe harrison</name> <login>jharrison@example.com</login> <email>jharrison@example.com</email> </principal> <principal principal-id="624550" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>bob jones</name> <login>bjones@example.com</login> <email>bjones@example.com</email> </principal> ... </principal-list> </results>
Filtreler ve sıralamalar ekleme
API'deki birçok eylem, yalnızca belirli yanıt öğelerini getirmek üzere bir filtre veya yanıt öğelerini belirli bir sırada görüntülemek için sıralama düzeni eklemenize olanak tanır.
Filtre, filter anahtar sözcüğüyle başlayan, isteğe bağlı bir değiştirici ile devam eden ve ardından bir etki alanı adı ve değer gelen özel bir parametredir. Bunların tümü filtre örnekleridir:
filter-name=jazz doe (jazz doe tam adını içeren sonuçlarla eşleşir)
filter-like-name=jazz (adında jazz içeren tüm sonuçlarla eşleşir)
filter-out-type=user user (kullanıcı) türünde olmayan tüm sonuçları getirir)
Bunlar sadece birkaç filtre türüdür ve filter-definition (filtre tanımı) öğesinde daha fazlasını bulabilirsiniz. Yanıtının filtrelenip filtrelenemeyeceğini görmek için (Eylem referansı öğesinde bulunan) referanstaki bir eylemi kontrol edin. Genel olarak, bir eylem filtrelere izin veriyorsa bunları herhangi bir yanıt öğesinde veya öznitelikte kullanabilirsiniz.
Sıralama, sort (veya sort1 ya da sort2) anahtar kelimesiyle başlayan, ardından bir etki alanı adı ve sonrasında asc veya desc anahtar sözcüklerinden biri ile başlayan başka bir özel parametredir, örneğin:
sort-name=asc (name (ad) öğesine göre artan düzende sıralamak için)
sort-group-id=desc (group-id (grup kimliği) öğesine göre azalan düzende sıralamak için)
Bunlar sadece birkaç sıralama örneğidir. Tarayıcıda sıralamaları test edebilir veya daha fazlası için sort-definition (sıralama tanımı) öğesine göz atabilirsiniz.
Filtre ve sıralama ile çağrı
-
Yalnızca grupları görüntüleyerek ve adlarına göre alfabetik olarak sıralayarak principal-list (ana öğe listesini) tekrar çağırın:
https://example.com/api/xml?action=principal-list&filter-type=group &sort-name=asc
-
Yanıtı daraltmak için listeden bir grup seçin ve adına göre filtreleyin:
https://example.com/api/xml?action=principal-list&filter-name=developers
Bu kez yalnızca bir grup getirilir:
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <principal-list> <principal principal-id="2007105030" account-id="624520" type="group" has-children="true" is-primary="false" is-hidden="false"> <name>developers</name> <login>developers</login> </principal> </principal-list> </results>
Peki şimdi ne olacak?
Bu noktada, çağrıları tarayıcıda test etmeye ve nasıl çalıştıklarını gözlemlemeye devam edebilirsiniz. XML API'sini öğrenmenin en iyi ve en kolay yolu budur. Daha fazla bilgiye ihtiyacınız olursa şu kaynaklardan birine başvurabilirsiniz:
Eylem referansı öğesindeki API referansı.
Kullanıcıların uygulamalardan nasıl oturum açacağıyla ilgili bilgi için bkz. oturum açma ve istekler.
API'nin özündeki üç temel kavramı öğrenmek için bkz. Temel Bilgiler.
Bir uygulamadan toplantılar oluşturmak ve yönetmek istiyorsanız bkz. Toplantılar.
Bir eğitim uygulaması oluşturuyorsanız bkz. Eğitim.