Bağlantıyı dışarıdan almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

Tabii ki,

- Aynı bilgisayarda iseniz bu mümkün, aksi halde server makineye bir tane gözlemci proje koyarsınız, TCP üzerinden LAN'dan bu gözlemci aracılığıyla okur ve transfer edersiniz.

- Forumda FindWindow, FindWindowEx, PostMessage fonksiyonlarını arayınca bir sürü örnek bulacaksınız. :idea:
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Tecrübenizi dayanarak iki sorum olacak.

Uygulamaya çalıştığım sistemler

1. Sistem : Yapmak istediğim sistem uzak sunucudan (Linux/MySql Server) bilgileri çekecek.
Soru : Multi tier mimarisi gibi uzak sunucu güvenliği sağlanarak direk bağlantı kurmadan (uygulamalardaki gibi sürekli uzak sunucuya bağlanmak güvenli olmadığından) uzak sunucudan en güvenli ve en hızlı veri çekme yöntemleri nelerdir acaba.

2. Sistem : Belirtiğiniz gibi bağlantıyı sağladım. Uygulama serveri çalışıyor. Server ekranından kullanıcı bilgileri girişi yapılarak kullanıcı bazında oturum açılabilir. Server ile beraber kullanıcının tanımladığı bağlantıda sağlanmış olsun Bu tür tanımları nasıl yapabiliriz. Formdan Remote Data Module ulaşmaya çalıştığımda kitleniyor veya görmüyor.

İyi çalışmalar.
En son pasa_yasar tarafından 10 Kas 2013 12:40 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

:D Adım (imza resminde var aslında gözden kaçmış) Muharrem ARMAN..

- Veritabanınız bir size ait bir PC'de mi yoksa WEB üzerinde bir Linux hosting aldığınız MySQL veritabanı mıdır ? Konu ile ilgili bu linkte bir açıklamam olmuştu.
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Tanımladığımız şekilde bağlantı şeklinde olacak mysql bağlantısı anladığım kadarı ile. Her sorgudan sonra bağlantı kapatılmalı mı (connection) . Sunucu bir süre sonra bağlantıyı kendiliğinden kesiyor. Bunun için nasıl bir öneriniz var acaba
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

- DataSnap bağlantılarda sürekli açık bağlantıdan söz edemiyoruz zaten.

- Veri çekilir ve çektiğimiz veri ile kalırız. Bu veri üzerinde değişiklik yapsak da veritabanı cephesi olan karşı tarafta eski veriler korunur. Biz diyene kadar hiçbir şekilde etkisi yoktur.

- ApplyUpdates(-1) şeklindeki bir komut ile localdeki değişikliklerin tümünü karşıya post ederiz.

- Güvenlik adına da SharedIP olan veritabanı IP'sini tek başına bilmek yetmiyor, bu veritabanına erişecek istemci projenin de IP adresinin Veritabanı sunucusunun Hosts tablosunda yer alması lazımdır. Bu ikili benim nazarımda güvenlik anlamında yeterli korumayı sağlıyor.

- Sizin beklediğiniz güvenlik kriterinin çerçevesini çizerseniz daha da yardımcı olmaya çalışırım. :idea:
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Aslında biraz sanırım yanlış tanımladım. Güvenlik olayı bağlantının sağlamlılığı. Arada kullanıcı işlem yapmadan bekledikten sonra bilgiler çekileceği zaman hata vermeden bağlanıp bilgileri çekmesi gibi. Mysql ve uzaksunucu ,web olaylarına uzağım biraz yeni başlıyorum. Onun için yaptıklarımdan çok emin olamıyorum. Bu nedenle yaptığım bazı şeyleri sorup emin olmak istiyorum.
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Remote data module ile kullanıcı giriş ekranı yapılabilirmi acaba. İki form var biri boş form (kullanıcı giriş ve gerekirse otomatik giriş olacak skype kullanıcı adının otomatik açılması gibi) diğeride remote data module zaten. client mantığında yaptım kitlendi. Uses satırı ile ulaşmaya çalıştım olmadı
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

- Soruları sırayla yanıtlamaya çalışayım.
@pasa_yasar yazdı:Aslında biraz sanırım yanlış tanımladım. Güvenlik olayı bağlantının sağlamlılığı. Arada kullanıcı işlem yapmadan bekledikten sonra bilgiler çekileceği zaman hata vermeden bağlanıp bilgileri çekmesi gibi. Mysql ve uzaksunucu ,web olaylarına uzağım biraz yeni başlıyorum. Onun için yaptıklarımdan çok emin olamıyorum. Bu nedenle yaptığım bazı şeyleri sorup emin olmak istiyorum.
@pasa_yasar yazdı:Remote data module ile kullanıcı giriş ekranı yapılabilirmi acaba. İki form var biri boş form (kullanıcı giriş ve gerekirse otomatik giriş olacak skype kullanıcı adının otomatik açılması gibi) diğeride remote data module zaten. client mantığında yaptım kitlendi. Uses satırı ile ulaşmaya çalıştım olmadı
- İki formdan birincisi kullanıcının Login bilgileri girdiği form ise, veritabanından yetki almak için ilk erişim yapılır, yetkiler tablosunda yeri varsa geriye olumlu bir cevap döner, böylece ikinci formdan yoluna devam edersin. Belirli bir zaman diliminde giriş yapılmazsa kullanıcının bilgisayar başından ayrıldığı varsayılır ikinci form kapatılır, tekrar birinci formdan login olması sağlanır. Böyle bir yapı deneyebilirsiniz.

- Projeniz ile veritabanı aynı bilgisayarda olmadığı sürece en pahalıdan ücretsize kadar ORACLE da olsa, SQLServer de olsa, Firebird de olsa "hata vermeden" diyemeyiz, bu sorunsal ihtimali her zaman taşınacaktır. Yapılacak yegane iş, bağlantının sağlığının sorgulanarak transaction'ları ( istemci/sunucu veri güncelleme trafiği ) mümkün olduğunca kısa tutarak işlemleri yürütmek.

- Skype veya TeamViewer gibi uygulamalar streaming dışında sürekli OnLine değildir. Ping/Pong şeklinde sürekli hatta mısınız kontrol ederler. Bu ping/pong aralıkları sizin ağ trafiğinizi olumsuz etkilemeyecek kadar seyrek ama her an gelen mesajı ulaştıracak kadar da sık aralıklıdır. Benzeri bir yapı kurabilirsiniz, çok kolaydır.

- Örneğin SQLServer sunucuyu ele alalım; TEMP DB'sinin oluşturulduğu tarihe bakarak SQLServer'in benim denetimim dışında ne zaman restart edildiğini sorgulayıp ona göre de baktığım oluyor, en son veri girişi yapan kullanıcının DateTime tipindeki logundan yola çıkarak ekran refresh edip etmeyeceğimin kararını verdiğim de... Yani kontrol noktası sizin değerlendirmeniz doğrultusunda sınırsız sayıda oluşturulabilir.

- Yazacak çok şey var. Siz projenizi kağıt üzerinde yere basan bir yapıyla buluşturun gerisi gelir. :bravo:
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Mrb;

Nesneleri bir uygulamada toplayıp onu com server haline getirirsek client uygulamalardan iletişim sağlayabilirmiyiz acaba. İnternette çok fazla dephi ile ilgili çok fazla döküman bulamadım bu konuda. indy nesnelerini bir uygulamada server olarak toplayıp client uygulamadan ise erişmek istiyorum. Yada bunu uygulayabileceğim başka bir yöntem varmıdır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

Merhaba
COM server biraz işçiliği olan bir yapıdır. DLL oluşturup bunu uzaktan kumanda etmek gibi. Şahsen ne yapmak istediğiniz konusunda fikrim oluşmadığı için neresinden tutacağımı bilemedim. Çünkü başka Application'ların editlerine ulaşmak falan dediniz, com server dediniz vs. eminim gerekli araştırmayı yapıyorsunuz bunu görebiliyorum.

forum başlığı Chat Mode devam ediyor konuları kısa tutmak başlığı daha efektif kılacağından somut sorular için başka başlık açmak daha iyi olur.
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

ilk başta bütün uygulamayı editleri görselleri ile beraber tek alanda toplamak istedim kullanıcı adı ve şifreside serverde olsun istedim. Sonra sadece nesneleri servere koyup ayrı uygulamalardan servere ulaşmak daha pratik olur diye değiştirdim. serverde nesneler (socket,sql connection ) gibi. iki alan ara uygulamar kullanıcı kontrolü üçün alan ise uygulamanın kendisi.

uygulama -> kullanıcı ve şifresi giriş ekranları -> Server (sql connection,socket server gibi)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen mrmarman »

Pardon sormak ayıp olmasın proje nedir? Bu yapı bir ERP için kurulmaya değer bir yapıdır. Elektronik imza destekli, döküman yönetimi olan, muhasebe, insan kaynakları ve demirbaş /stok yönetimi modülleri içeren bir proje olduğunu söyleyin lütfen. :?:
Resim
Resim ....Resim
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Bağlantıyı dışarıdan almak

Mesaj gönderen pasa_yasar »

Rica ederim niye ayıp olsun. ERP projesi insan kaynakları kısmı hariç diğerleri var. HRM ilerleyen zamanda eklenecek
Cevapla