Cgi nedir?

CGI (Common gateway Interface),

Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır. CGI, aslında bir programdır. Web'in statik yapısına, HTML kodu içinden çağrılan CGI programları dinamik bir nitelik kazandırmaktadır. En popüler CGI uygulamalarından birisi web Sayaçlarıdır. Web sayfalarını kaç kişinin ziyaret ettiğini saptayan küçük uygulamalar dış program olarak, bir web sayfası içinden çağrılabilir. CGI programları gerçek zamanlı çalışırlar. CGI'lerin önemli uygulama alanlarından birbaşkası da, web üzerinde doldurup gönderilen formlar üzerindeki bilgileri server tarafında değerlendirip kullanıcıya cevabı göndermektir.

CGI programları "çalıştırılabilir" kodlar olduğundan, bir başkası, kolaylıkla sizin sisteminizde program çalıştırabilir! Bu yüzden, cgi kodları sistemde özel yerlerde tutulur ve o sistemin görevlilerinin denetimi altındadır.

CGI programları herhangi bir dilde yazılabilir : C, Fortran, Pascal, C++, Perl, Unix Shell, Visual Basic vb. CGI eğer c ya da Fortran gibi bir dilde yazılırsa, derlenmelidir. Perl ya da unix Shell gibi ortamlar ise script ortamlardır ve bu şekilde yazılmış CGI Script'ler doğrudan çalıştırılabilir.

Özellikle java ve javascript kullanımlarının yaygınlaşması, CGI'nin ilk zamanlardaki popüleritesini azaltmıştır. Öte yandan, CGI programları/scriptleri, bulundukları sistemde saklıdırlar ve çalıştıklarında o sistemin kaynaklarını kullanırlar. Oysa Java Appletleri ve JavaScript, doğrudan html döküman içinde onu çağıran web listeleyicisine gelirler ve burada icra edilebilirler. Bu da, Java Applet ve JavaScript'in CGI'ye göre önemli bir avantajıdır.

CGI’yı geliştirmedeki en büyük amaç Web sunucusu üzerinden sunucu tarafından programlar çalıştırabilmekti. Bu yeni teknolojiye Common Gateway denilmesinin sebeplerinden en önemli üçü şuydu:

1- CGI programları sunucudan bağımsız olmalıydı.

2- CGI programları hemen her dille yazılabilmeliydi.

3- Hemen her istemcide çalışabilmeliydi.

Dolayısıyla, CGI bir programlama dili değildir. Piyasadaki, bir girdiyi işleyip, çıktı üretebilen her dil CGI programları geliştirmek için kullanılabilir. CGI programlarında temel fikir, uygulamaların mantık katmanının, sunucu tarafında oluşturulmasıydı.

CGI programcıklarını (script) kullanarak okuyucu ile gerçek bir etkileşim içinde güçlü, kişisel ve profesyonel Web yayımları yaratabilirsiniz. CGI programcıkları Web sunucusu ile diğer uygulamalar arasında bir ağgeçit gibi davranan dış kaynaklı programlardır. CGI programcıklarını okuyuculardan gelen girişleri işlemek için kullanabilir, böylelikle okuyucu ile çift yönlü bir iletişim yolu kurabilirsiniz. Okuyucu girişleri doldurma formlarının verileri şeklinde olabildiği gibi veri tabanı sorgulamaları için anahtar sözcükler ya da okuyucunun inceleyicisinin ya da bağlantının tanımladığı değerler şeklinde de olabilir.

CGI programlarıyla neler yapılabilir?

Bir CGI programı genel olarak şu 4 adımdan geçer, ancak bunların bazıları her uygulamada olmayabilir:

1- Kullanıcıdan bilgi alma.

2- Alınan verilerin bir veri tabanına işlenmesi.

3- İstenen verilerin veri tabanından bir sorgu sonucu alınması.

4- Kullanıcıya işlenmiş bilgilerin gönderilmesi.

Bu adımları kullanabilecek uygulama sayısı sınırsız gibidir. Birkaç örnek vermek gerekirse:

1- Öğrencilerin, isimleri ve numaralarıyla beraber almak istedikleri derslerin kodlarını bir Web sayfasından girmesi, ve bunların bir veri tabanına işlenerek, öğrenci işleri ve danışmanları tarafından gözden geçirilmesi Siteyi ziyaret eden kişilerin bırakacağı e-posta adreslerine, sitedeki yeniliklerin düzenli olarak postalanması.

2- Ziyaretçilerin, site hakkında görüşlerini bildirebileceği bir erişim formu.

3- Site hakkında anketler.

4- Yerel ağın bir program tarafından sürekli gözlenerek, sorunların bir Web sayfasında gerçek zamanlı yayınlanması.

5- Site içi arama motorları (en kolaylarından biri olmasına rağmen hep ihmal edilen bir özelliktir).

6- Web tabanlı e-posta, haber öbekleri okuma/gönderme.

7- Web tabanlı stok yönetimi, muhasebe, iş akışı, proje yönetimi vb (biraz zor olsa da).

8- İçerik oluşturucuların, Web sayfalarını sunucuya koyması için, dosya yöneticisi tarzı bir arabirim.

CGI Programcığı nedir?

CGI programcıkları Web sunucusu üzerinde çalışan dış kaynaklı programlardır. CGI programcıklarını yüksek etkileşimli Web yayınları yaratmak için kullanabilirsiniz. Web sunucuları üzerinde kullanılan yabancı kaynaklı programların standartları ve ortak ağgeçit arayüzünün diğer uygulamalarla etkileşiminin nasıl olması gerektiği belirlenmiştir. Ortak, ağgeçit ve arayüz sözcükleri bu standartların anahtar sözcükleridir ve nasıl çalıştığını tanımlar.

CGI; programcığın erişilebilir olmasını sağlamak için ortak bir yol tanımlayarak, herhangi bir kimsenin kullandığı ortam ne Olursa olsun bir CGI programcığına bilgi geçirmesini sağlar.

CGI; programcık, sunucu ve diğer uygulamalar arasında bir bağlantı ya da ağgeçit tanımlayarak dış kaynaklı programları genelleştirilmiş girişler olarak kabul edilebilmesini ve diğer uygulamalara bilgi aktarılabilmesini mümkün kılar.

CGI; kullanıcıların dış kaynaklı programlara erişebilmesi için bir arayüz ya da bir yol tanımlayarak dış kaynaklı programlar için gerçekleştirilen karmaşık arayüz işlemlerini birkaç basit prosedüre indirger.

CGI’yı geliştirenler Web yayımcılarının okuyucularını karmaşıklıklardan korumasını sağlamak için güçlü ve eklenebilir nitelikte özellikler yaratmak üzere bir CGI standardı oluşturmak amacıyla bu anahtar kavramlar doğrultusunda çalışmışlardır. Okuyucunun tek yapması gereken iş, bir görüntü haritasındaki bir alana tıklamak ya da doldurma formunu tamamladıktan sonra teslim etmek olacaktır. Her şey farenin tuşuna dokunur dokunmaz otomatik yapılıyor gibi görünür ve kullanıcı nasıl veya niçin gibi sorular sorma durumuyla karşılaşmaz, her şey kendi kendine yürür. Bir Web yayımcısı için özellikle güçlü Web yayımları yaratırken CGI programcıklarının sunduğu avantajlardan faydalanmak istiyorsa, CGI programcığının nasıl çalıştığını bilmek çok önemlidir. Kullanıcı sadece yaptığı işlerin sonuçlarını görür arkadaki manzaradan habersizdir. Programcıklar yürütülürken arka planda gerçekleşen olaylar şöyledir:

1- Okuyucunun inceleyicisi girişleri Web sunucusuna aktarır.

2- Sunucu sistem sırası geldiğinde girişleri CGI programcığına aktarır.

3- CGI; programcığı girişi işler ve eğer başka bir uygulama gerekiyorsa uygulamayı programcığa geçirir ve çıkışı Web sunucusuna gönderir.

4- Web sunucusu okuyucunun cevabını onun inceleyicisine geri yollar. Bir CGI programcığının çıkışı; bir veri tabanı sorgulamasının sonucundan, okuyucunun cevabına göre yaratılmış yeni bir dokümana kadar her şey olabilir.

UNIX sistemlerinde CGI programcıkları usr dosya sistemi içinde cgi-bin olarak adlandırılan kataloglara yerleştirilmiştir ve CGI uygulamaları da yine usr dosya sistemi içinde cgi-scr olarak adlandırılan kataloglara yerleştirilmiştir. Diğer sistemlerde CGI programcıklarınızı ve uygulamalarınızı nerelere yerleştirmeniz gerektiği Web sunucu dokümanında açıklanır.

Yorumlar

Bu sayfa ait yorum bulunamadı. İlk yorum yapan siz olun.

Yorum ekle

Vazgeç