Sunucu ve istemciler
Önceki derste birden fazla olayı işlemek için tek bir prosedür oluşturduk ve bunu ortak DocumentProcessing modülüne yerleştirdik. Bu ortak modülün özelliklerinde, Client ve Server kutularını işaretledik. 1C:Enterprise'da "istemciler" ve "sunucular"ın nereden geldiğini daha ayrıntılı olarak açıklayalım.
1C:Enterprise sistemi, sistemin iki çalışma modunu destekler: dosya modu ve istemci/sunucu modu.
Infobase'le çalışma dosya modu versiyonu, bir kullanıcının kişisel çalışması veya yerel ağdaki az sayıda kullanıcının çalışması için tasarlanmıştır. Bu varyantta, tüm infobase verileri (yapılandırma, veritabanı, yönetim bilgileri) tek bir dosyada bulunur (Şekil 5.46).
Şekil 5.46. Çalışmanın dosya modu
Dosya modu seçeneğinin temel amacı, sistemi kurmayı ve çalıştırmayı hızlı ve kolay hale getirmektir. Örneğin, evde dizüstü bir bilgisayarda bir şeye bakmak veya değiştirmek için. Dosya modu seçeneği de bazı gerçek muhasebe işleri yapabilir, ancak istemci/sunucu seçeneğinin sunduğu ölçeklenebilirlik ve veri koruma özelliklerini sunmadığının farkına varmalısınız. Bu nedenle, kendi muhasebenizi tutuyorsanız veya küçük bir ekibiniz varsa ve çalışanlar tarafından yetkisiz kullanıma karşı garantili veri korumasına ihtiyaç duymuyorsanız ve nispeten az miktarda veriniz varsa, dosya modu seçeneğinde çalışabilirsiniz. Diğer durumlarda, istemci/sunucu seçeneğini kullanmanız gerekir.
İstemci/sunucu seçeneği, çalışma gruplarında veya işletme genelinde kullanılmak üzere tasarlanmıştır. Bu, üç katmanlı bir "istemci/sunucu" mimarisine dayanmaktadır (Şekil 5.47).
Şekil 5.47. 1C:Enterprise'ın üç katmanlı mimarisi
İstemci/sunucu çalışma modu, büyük miktarda veri içeren çok kullanıcılı bir ortamda çalışmak için ana seçenektir. Ölçeklenebilirlik, yönetim ve veri koruma açısından kesinlikle tüm olanakları sağlar. Ancak, kurulumu ve yönetimi önemli ölçüde çaba gerektirir.
1C:Enterprise sisteminin sunucu ve istemci bölümleri fiziksel olarak farklı bilgisayarlarda veya aynı bilgisayarda bulunabilir. Önemli olan, kullanıcının veritabanı sunucusuna doğrudan erişiminin olmamasıdır ve bu veri güvenliğini sağlar. Dosya modu seçeneğinde ise veritabanı tüm kullanıcıların erişebileceği bir ortak ağ kaynağında bulunmalıdır.
1C:Enterprise sistemi başlangıçta istemci/sunucu çalışma modu için tasarlanmıştır. Şu anda öğretici yapılandırmanızı bir dosya modunda geliştiriyor olsanız da, sizin açınızdan herhangi bir ek çaba gerektirmeden istemci/sunucu modunda da çalışacaktır.
Uygulama çözümleri bir kez geliştirilir ve her iki seçenekte de aynı şekilde çalışır. Yani, bir seçenekten diğerine geçiş yeniden yapılandırma gerektirmez.
Bu, yapılandırmanın her zaman istemci/sunucu mimarisine dayalı olarak geliştirilmesi nedeniyle elde edilir. 1C:Enterprise sisteminde bunu farklı bir şekilde geliştirmenin hiçbir yolu yoktur. Dosya modunda ise sistem, uygulama çözümünü yürütürken istemci bilgisayarda bir sunucunun varlığını basitçe "taklit eder".
İstemci/sunucu mimarisi, tüm işletim sistemini belirli bir şekilde etkileşime giren üç farklı parçaya ayırır: istemci, 1C:Enterprise sunucusu ve veritabanı sunucusu.
İstemci uygulaması, 1C:Enterprise sisteminin parçası olan bir programdır. Temel amacı, verileri değiştirilebilir bir şekilde görüntüleyerek kullanıcı arayüzünü düzenlemektir. Buna ek olarak, istemci uygulaması 1C:Enterprise dilinde kod (yani geliştiricinin bazı algoritmalarını) çalıştırabilir ancak 1C:Enterprise dilinin yalnızca çok sınırlı bir tür alanı üzerinde çalışabilir. Bu yaklaşım, istemci uygulamasının çok "hafif" olmasını, çok fazla kaynak talep etmemesini, internette "gezinmesini" ve bir web tarayıcısı ortamında bile çalışmasını sağlar.
İstemci uygulaması 1C:Enterprise sunucusu ile etkileşim kurar. 1C:Enterprise Sunucusu da 1C:Enterprise sisteminin parçası olan bir programdır.
Temel görevlerinden biri, istemci uygulamasından gelen sorguları veritabanı sunucusuna iletmek ve bu sorguların sonuçlarını istemciye geri göndermektir.
Sunucunun bir diğer görevi de 1C:Enterprise dilindeki algoritmaların çoğunu çalıştırmak, formları, raporları vb. görüntülemek için verileri hazırlamaktır. Başka bir deyişle, verilerin doğrudan işlenmesini gerektiren tüm karmaşık hesaplamalar sunucuda gerçekleştirilir. Aynı zamanda, yerleşik 1C:Enterprise dilinin neredeyse tüm tür alanı sunucuda mevcuttur (tabii ki tamamen arayüz tipleri istisnadır çünkü kullanıcılarla iletişim kurmadığı için sunucunun arayüz kısmı yoktur, sadece şu diğer programlarla iletişim kurar: istemci uygulaması ve veritabanı sunucusu ile).
Veritabanı sunucusu da bir programdır. O artık 1C:Enterprise sisteminin bir parçası değil, üçüncü taraflarca sağlanan özel bir programdır. Temel amacı, herhangi bir fiziksel veya sanal sistemin özelliklerini tanımlayan yapılandırılmış organize veri kümeleri olan veritabanlarının düzenlenmesi ve bakımıdır.
1C:Enterprise sistemi şu anda aşağıdaki veritabanı sunucuları ile çalışabilmektedir:
- Microsoft SQL Server,
- PostgreSQL,
- IBM DB2,
- Oracle Database.