COM+ Server ve Client Kuruluş Adımları (3. BÖLÜM)
- Windows NT 4.0 ( option pack install edilmiş ) veya Windows 2000 server veya daha yeni Windows server install edilmiş olan bilgisayara .NET Framework 1.1 veya 4.5 arasındaki uygun versionunu öncelikle install edin. ( Client larda gerekmez. Sadece Application Server olana install edilecek. )
- .NET Framework install edilen bilgisayarda Visual Studio da geliştirdiğimiz yazılımımız için DOCServer isimli bir directory yaratın ve bunun içine örneğin DocServer.DLL COM+ uygulamamızı kopyalayın.
- Bu directory de iken REGSVCS.EXE isimli .NET Framework utility programını kullanarak DocServer.DLL i şu şekilde register edin : REGSVCS DocServer.DLL . Dikkat : eğer DocServer.DLL programında bir değişiklik yaparsanız REGSVCS /u DocServer.DLL ile unregister edip 2. adımdan itibaren işlemi tekrar etmeniz gerekir.
- Bu Application Server bir domain e authenticate oluyorsa o zaman Domain Server da, stand alone server ise bu server da bu COM+ uygulamasını çalıştıracak bir account ve password yaratın. ( Örneğin account ismi DocServer olsun. COM+ uygulamamız bu account u kullanarak çalışacaktır. 6. adımda bunu belirteceğiz.)
- Bu Uygulama Server ında Administrative Tools dan veya yeni makinalarda DCOMCNFG yazıp gelen ekranda Component Services i seçin. Burada Computers -> My Computer -> COM+ Applications ı seçin. Listede 3. adımda register ettiğimiz DocServer ı bulun. Burada Roles kısmında sağ mouse a tıklayın New -> Role seçin. Gelen ekranda bir rol adı girin. ( Bu isim çok önemli değil örneğin Kullanicilar girebilirsiniz. ). Daha sonra bu rol altında Users ı otomatikman göreceksiniz. Burada Sağ Click yapın New -> User I seçin. Listeden bu uygulamayı kullanmayı izin verdiğiniz grup veya kullanıcıları seçin.( Örneğin Domain Users grubunu seçebilirsiniz. )
- Şimdi 4. adımda yarattığınız kullanıcı ismi ni kullanarak bu uygulamayı sistemin otomatik çalıştırmasını sağlamak için şu işlemleri yapın. DocServer isminin üzerinde sağ click yapın ve Properties i seçin. Burada yukarıdan Identity yi seçin ve gelen ekranda This User radio button ını seçip Browse dan bu 4.adımda yarattığınız kullanıcı adını seçin ( örneğin DocServer ) ve password u girin.
- Application Server dan Document Server daki document directory sine a bir drive-sürücü belirterek bağlanın. Burada belirtilen sürücü adı bu DOCServer ı kullanacağımız client uygulamanızda ki sürücü adı ile aynı olsun. Örneğin Z drive. ( Desktop da iken My Network Places da sağ click yapın ve Map Network Drive ı seçin. Reconnect at next logon da seçili olsun. Drive için Z yi seçin ve Folder kutusuna bir şey girmeden Browse ı seçin buradan network deki Döküman Server ı bulun ve directory yi seçin. )
- Document Server a gidin. Burada 4. adımda yarattığınız ve 6.adımda kullandığınız DocServer isimli kullanıcıya bu document directorysinde full kontrol verin.
- Server ları konfigüre ettik ve şimdi bu COM+ uygulamasını client uygulaması içinden çağıracak bütün client lara ayrı ayrı kurmak üzere bu COM+ uygulamamızdan Proxy programı yaratacağız ve bunu her client a ayrı ayrı yükleyeceğiz.
- Bunun için COM+ uygulamasını yüklediğimiz Server a gidin ve Component Services den COM+ Applications içinde DocServer ı bulun. ( 5.adım da zaten orada idik. ) . Sağ mouse click leyin ve Export u seçin. Ve Next i seçin. Gelen ekranda Application Proxy radio button ını seçin. Aynı ekranda Browse ı seçin ve oluşturulacak 2 adet Client programının nereye save edileceğini ve adını yazın.
- Bu Client programlarını bir Share e koyup client lardan bağlanıp tek tek yükleyebilir veya diskete alıp yükleyebilirsiniz.
- Bu iki dosyadan MSI uzantılı olanını çift click ile client da çalıştırın. Ve Control Panel -> Add/Remove Programs a veya yeni işletim sistemlerinde Apps girerek yüklenip yüklenmediğine bakın. ( Listede ise yüklenmiştir. Dikkat ! gerekirse Uninstall u da buradan yapacaksınız. ). COM+ Server uygulamasında yapılacak her değişikliğin client larada yansıması için Client da ki 11. adımda yüklenen programı uninstall edip 10. adımdan itibaren işlemleri yapmalısınız yani COM+ ın konfigürasyonunda ( Programın kendisinde değil yani Rol ler User lar Identity gibi değişikliklerde ) değişiklik olursa client install işlemini tekrarlamalısınız.
- Client uygulamasını client dan test edin.
Bu işlemlerde Server a kurulan DOCServer COM+ uygulamamızın client yazılımlarımızda kullanılması için export edip MSI uzantili kurulum-setup uygulamasını nasıl elde edeceğimizi bir de resimli olarak gösterelim açıklamalarıyla:
Yukarıdaki ayarları yaptıktan sonra Komponentinizin üstünde right Click yapın ve Export u seçin. Burada Bu COM+ Server komponentinden Client bilgisayarlarda install edip bu Server I çağırmak için Application Proxy install file ları ( 2 tane ) oluşturacağız. Daha sonra bunları Client bilgisayarlara install edeceğiz. Oluşturulan bu Application Proxy leri Windows installer olan tüm işletim sistemlerinde çalışır. Ayrıca Client larda .NET Framework olması gerekmez. ( Bu iyi bir özellik ).
COM+ uygulamanızın üzerinde sağ mouse ile tıklayın ve Export u seçin.
Next i seçin..
Export as de ise Application Proxy seçeneği seçili olsun. Bu 2 adet dosyayı hangi directory de oluşturacaksanız direk yazın veya Browse dan seçin.. ve dosya adıda girin.
Yukarıdaki resimde olduğu gibi Finish i seçin.
Yukarıdaki şekildeki gibi artık Application Proxy miz hazır. Şimdi bu 2 adet programı client lardan erişebileceğimiz bir share e koyun ya da install edeceğiniz client a kopyalayıp orada install edin. ( Yani .MSI uzantılı dosyaya çift tıklayıp yükleyebilirsiniz.)
Bundan sonra Client da install edilip edilmediğini Add/Remove Programs a veya yeni işletim sstemlerinde Apps e girip görebilirsiniz. Bunu yine buradan Uninstall edebilirsiniz. Client da install edildiğinde Program Files directory si altındaki Complus Applications isimli directory içinde GUID numaralı bir directory de bu application proxy sini görebilirsiniz.
Önemli Not : Özellikle Foxpro yazılım dilinde ki artık Microsoft destek vermiyor uygulamanızda bir doküman ( resim, Word veya Excel vb ) gönderirken COM+ Server a uygulamanın olduğu client makinanın hangi code page i kullandığını belirten kodu da CPCURRENT(1) Foxpro fonksiyonu ile göndermeniz gerekiyor. Doküman alırken böyle bir özellik kullanılması gerekmiyor. Diğer yazılım dillerinde de buna dikkat etmek gerekebilir..
Özellikle DOCServer ı .NET ile yazdık ve mesela burada kolayca anlaşılması için de o yıllarda kullanılan Visual Foxpro yazılım dili ile bu dokumanların nasıl gönderildiği ve alındığını 2 örnekle gösterirsem harika bir LEGACY nostaljisi de olmuş olur.. Aynı mantığı her yazılım dili ile kurmanız kolay olur..
Dokümanları Doküman Server dan nasıl alacağız ?
Aşağıda ki örnek Foxpro programı ile kolayca istenilen dokümanları okuyabiliriz : Foxpro kolay anlaşılan bir dil dir.. Kullanım açısından legacy nostaljisine uygun olması için kullandım..
SET SAFETY OFF
filename=Thisform.text1.Text
IF .not. EMPTY(filename) DocObj=CREATEOBJECT(“DocServer.DocService”) getit=docObj.ReadFile(“\\DokumanServer\DOC”, “\ISLETME\”,filename,CPCURRENT(1))
if UPPER(SUBSTR(getit,1,5))<> “ERROR” STRTOFILE(getit,filename)
ELSE
WAIT getit WINDOW
Endif
ENDif
Burada resim dahil her dokümanı isteyebilirsiniz. Siz bu DOCSERVER yazılımına doküman tipi, alt adres vb özellikler de ekleyip geliştirebilirsiniz.
Dokümanları Doküman Server a nasıl göndereceğiz ?
Aşağıda ki örnek Foxpro programı ile kolayca istenilen dokümanları Doküman Server a gönderebiliriz. :
Hatırlatma : COM+ Server Application ımıza mutlaka Client ın Code Page numarasını dokümanın doğru saklanması açısından göndermeliyiz.
Filename=GETFILE(“*”)
IF .NOT. EMPTY(filename)
sentfile=SUBSTR(filename,RAT(“\”,filename)+1,LEN(filename)-RAT(“\”,filename))
ELSE
return
ENDIF
DocObj=CREATEOBJECT(“DOCServer.DOCService”)
a=docobj.Save(FILETOSTR(filename), “\\DokumanServer\DOC”, “\ISLETME\”,sentfile,CPCURRENT(1))
IF a=0
WAIT “Dokuman yazildi..” WINDOW
ELSE
WAIT “Hata Var” WINDOW
ENDIF
RETURN
Hepsi bu kadar… DOC Server yazılımını da sizin yazmanız gerekiyor..
Selcuk Celik