Bölüm 4. 1C:Enterprise Sunucusu

   

1C'ın özel dosya tabanlı veritabanı, geliştirme amaçları için mükemmel bir seçimdir. Eş zamanlı 5 kullanıcıya kadar hizmet veren küçük üretim sistemlerinde harika çalışır. Fakat bundan daha büyük bir sistem olursa, kullanıcılardan şikayet almaya başlarsınız. Sistemin yavaş olduğunu, arada sırada yanıt vermediğini, ardından garip hata mesajları geldiğini vb. duyacaksınız. "Yavaş" kelimesini duyar duymaz donanım yükseltmeye büyük paralar harcama yönündeki temel içgüdünüzü bastırmaya çalışın. İnanın bana, büyük olasılıkla bu sorunların donanım performansıyla bir ilgisi yok. Dosya tabanlı veritabanından 1C:Enterprise Sunucusu ve gerçek bir DBMS’e geçmeniz gereken bir noktaya ulaştınız. Bugün ele alacağımız konu bu olacak.

İki katmanlı mimaride, istemci uygulama doğrudan veritabanıyla iletişim kurar. Sorgular gönderir ve sonuçları kendisi işler.

Üç katmanlı mimari, resme bir şey daha ekler. Bu, istemci ile veritabanının tam ortasındaki uygulama sunucusudur. Veritabanına gelince, bu dört DBMS’den herhangi birini kullanabiliriz, ancak bu bölümde yalnızca MS SQL Server’a bakacağız. Göstereyim.

SQL Server’ı ayrı bir bilgisayara yükledim. Bu da benim SQL Server örnek adım. Sunucuya bağlanmak için “sa” kullanıcı adını kullanıyorum ve burada yapmam gereken tek ayar bu. Şimdi, 1C Server’a geçelim.

Platform yükleyicisini çalıştırıyorum. Değiştir. 1C Server ve yönetim araçlarını ekliyorum. İleri. Ve işte 1C Server ayarları. Bunun kesinlikle bir servis olarak çalışmasını istiyoruz. Sunucuya hangi kullanıcı adını kullanacağını söylememiz gerek. Şifresini biliyorsanız Administrator (Yönetici) olabilir. Veya sadece 1C Server için yenisini oluşturabiliriz. İşte.

Tamam, şimdi elimizde neler var bir bakalım. Bilgisayar Yönetim (Computer Management) konsolunu çalıştırıyorum, servislere gidiyorum. İşte bizim çalışan 1C:Enterprise Sunucumuz. Tek görevi istemcilere hizmet etmek: sorgularını kabul etmek, işlemek ve sonuçları geri göndermek.

Bunun çalışması için, sunucunun açık ağ bağlantı noktalarına ihtiyacı var ve burası da onların ayarlandıkları yer. Bunları istediğiniz şekilde değiştirebilirsiniz. Ancak, güvenlik duvarı ayarlarında açık olduklarından emin olun.

1C:Enterprise sunucu süreçlerine bakalım. Görev Yöneticisini (Task Manager) çalıştırıyorum ve işte aradığımız süreçler burada. Bu bir sunucu aracısı, bir küme yöneticisi ve bir çalışma süreci. Neden bu kadar çok olduklarını ve sunucunun onları ne için kullandığını görelim. Sisteminiz büyüdüğünde, gittikçe daha fazla kullanıcı sunucuya sorgu gönderir. Ve yanıt almayı beklerler. Bir noktada, sunucunun donanımının aşırı yüklendiğini fark edebilirsiniz. 

Aynı zamanda, kullanıcılar yavaşlamalardan şikayet etmeye başlayabilir. Bu iki şey birlikte olursa, iş yükünü birkaç bilgisayar arasında paylaşmaya başlayabilirsiniz. Bu durumda, kullanıcılar bu şekilde sunucular arasında otomatik olarak ayrılırlar. Bu tür bir konfigürasyona sunucu kümesi denir ve bu üç süreç sunucuların ekip çalışmasını kolaylaştırır.

Sunucu Aracısı bilgisayarı kümeye bağlar. Dolayısıyla, sunucu olarak kullanmak istediğiniz her bilgisayarda çalıştırmanız gerekir. Küme Yöneticisi (Cluster Manager) bu çeteyi koordine eder ve kullanıcılar için kümeye açılan bir kapı görevi görür. Bunun sadece bir kopyasına ihtiyacımız var, bu yüzden şu anki haliyle iyi.

Çalışma Süreçleri (Working process) bizim işgücümüz. Bunlar kullanıcılarla ilgilenir: Sorguları işler ve sonuçları geri gönderir. Kümedeki her bilgisayar bunlardan en az birine sahip olmalıdır. İşte tamam.

Tüm bunları nasıl ayarlıyoruz diye sorabilirsiniz. Öncelikle elbette her bilgisayara 1C Server kurmamız gerekiyor. Bundan sonra Küme Konsolunu (Cluster Console) çalıştırabilir ve tüm bilgisayarları bu şekilde kümeye ekleyebilir veya küme parametrelerini ayarlayabiliriz, işte böyle. Önemli bir şey daha. 1C:Enterprise kümesinin parçası olarak çalışan her bilgisayar kendi sunucu lisansına sahip olmalıdır. Bu tabloyu hatırladınız mı? Bunlar 1C:Enterprise’ın kullandığı üç lisans türü.

Her sunucuya ayrı bir sunucu lisansı yüklememiz gerekiyor. Lisans etkinleştirme prosedürü tamamen aynı. Sunucuyu kullanmaya başladığınızda, daha önce gördüğünüz bu mesajı alırsınız. Bu durumda ne yapacağımızı artık biliyoruz.

Lisanslardan bahsetmişken... İstemci olanlarla ne yapacağız? Elbette, her kullanıcıyı lisans almakla ve etkinleştirmekle uğraştıramayız. Bunun yerine, sunuculardan birinde çok kullanıcılı bir lisans etkinleştirebiliriz. Elbette, küme kurulumundan çok daha fazlası var, ancak bunu daha sonraya bırakalım.

Şimdi Designer’ı kullanarak infobase'imizi yeni ortama nasıl geçireceğimizi öğrenelim. İşte bu benim geliştirme iş istasyonum. Designer’ı çalıştırıyorum ve kullanıcılarımın şu ana kadar kullanmakta olduğu dosya tabanlı bir veritabanı açıyorum. Kullanıcılarımdan infobase'den çıkmalarını istiyorum. Burada benden başka kimse olmadığından emin olmalıyım.

Ayrıca, bu SetExclusiveMode prosedürünü kullanarak herkesin oturum açmasını önleyen basit bir prosedür de yazabilirim. Şimdi, infobase'in tamamını bir DT dosyası olarak döküm alıyorum ve masaüstüme kaydediyorum. Tamam, burada işimiz bitti. Designer’ı kapatıyorum ve başka bir 1C:Enterprise çalıştırıyorum.

Öncelikle, eski üretim infobase'ini bu şekilde değiştirelim. Şimdi yeni bir infobase ekliyorum, ona bir ad veriyorum ve Platforma dosya tabanlı değil, DBMS tabanlı bir infobase oluşturmasını söylüyorum. İleri. Burada doldurmamız gereken ayarlar var. İlk olarak: Sunucu kümesi adı. Bu, 1C Server’ı çalıştırdığınız bilgisayarın ağ adıdır.

Bir küme kurulumunuz varsa ve 1C Server’ı çalıştıran birkaç bilgisayar varsa, üzerinde Küme Yöneticisi (Cluster Manager) olanı seçin. Benim örneğimde küme yok ve bu bilgisayar ağının adı My1CServer. Bu yüzden buraya bunu yazıyorum. Sonra, infobase adını belirtmeliyim. Buna yine PROD diyelim.

Sonraki ayar, platforma istemci ve 1C Server arasındaki bağlantının ne kadar güvenli olması gerektiğini söyler. Sadece kimlik doğrulama sırasında veya tüm oturum boyunca güvenli bağlantı kurabiliriz fakat bu ikinci seçenek istemci ile 1C Server arasındaki veri alışverişini yavaşlatacaktır. 

Bu örnek için güvenlik endişem olmadığından Devre dışı bırak (Disable) seçeneğini tercih ediyorum. 

Sıradaki: DBMS türü. Microsoft SQL Server olsun lütfen. Sıradaki: DBMS sunucu örneği ağ adı. Hiçbir fikrim yok ama sunucunun kendisine sorabiliriz. İşte SQL Server bilgisayarım ve bu da örneğin ağ adı. Designer moduna geri dönelim. SQL Server örneği adını kopyalıyorum. Sonraki: SQL veritabanı adı. Ona da PROD diyelim. Ve sonraki iki alan: 1C Server’ın SQL Server’a sorgu gönderirken kullanacağı kullanıcı adı ve şifresi.

Lütfen uygulama kullanıcılarınızın asla veri tabanı sunucusunu doğrudan aramadığını ve bu nedenle kişisel veri tabanı şifrelerine ihtiyaç duymadıklarını unutmayın. Veritabanını çağıran tek şey 1C Server’dır ve tüm kullanıcılara hizmet etmek için tek bir parolaya ihtiyaç duyar. Bu nedenle, burada "sa" kullanıcı adını ve şifresini kullanıyorum.

İşte bu kadar. Bu benim yeni infobase'im. Onu Designer ile açıyorum, verilerini DT dosyasından geri yüklüyorum ve işte hazır. Infobase'im 1C Server'da açıldı ve kullanıma hazır!

   

Icon/Social/001 Icon/Social/006 Icon/Social/005 Icon/Social/004 Icon/Social/002