mORMot kurulum ve örnek uygulama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

mORMot kurulum ve örnek uygulama

Mesaj gönderen kahraman1285 »

Merhaba

mORMot kütüphanesini indirdim. Kurulum gerekli mi anlayamadım?
Library kısmına kütüphane yolunu ekledim.
Samples içinde Örnek bir TCP Server Client uygulaması aradım hangisi olduğunu anlayamadım.

Çok sayıda client in olduğu bir TCP Server oluşturup gelen veriyi veritabanına yazmak istiyorum.
Sadece veritabanına gelen datayı kaydetmek istiyorum. Hali Hazırda Clientlara veri gönderme olmayacak.

Kütüphane içinde hangi örneği temel almalıyım?

Değerli fikirlerinizi okumayı çok isterim, İyi çalışmalar.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: mORMot kurulum ve örnek uygulama

Mesaj gönderen ertank »

Merhaba,

mORMot öğrenmesi zaman alan ve çok farklı işlemler yapılabilen bir framework. Bu anlamda zaman ayırıp neleri nasıl yapabildiğini incelemenizde fayda var. Bunun için aşağıdaki sunumları inceleyebilirsiniz.
https://drive.google.com/drive/folders/ ... nBhSEpKYkE

Proje search path içine veya Delphi Library Path içine sizdeki kuruluma göre aşağıdaki dizinleri eklemeniz gerekir.

Kod: Tümünü seç

D:\Dev\mORMot
D:\Dev\mORMot\SQLite3
D:\Dev\mORMot\SynDBDataset
Yapmak istediğiniz ile ilgili en iyi örnek sanırım 28 numaralı "Simple RESTful ORM Server" örneği olacaktır. Orada client ve server örnek projeleri mevcuttur.
https://github.com/synopse/mORMot/tree/ ... M%20Server

İyi çalışmalar,
Ertan

NOT: mORMot SQLite3 veritabanı kullanmayı tavsiye eder. Ancak birçok farklı veritabanı desteği mevcuttur.
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

Re: mORMot kurulum ve örnek uygulama

Mesaj gönderen kahraman1285 »

ertank yazdı: 14 Oca 2021 04:51 Merhaba,

mORMot öğrenmesi zaman alan ve çok farklı işlemler yapılabilen bir framework. Bu anlamda zaman ayırıp neleri nasıl yapabildiğini incelemenizde fayda var. Bunun için aşağıdaki sunumları inceleyebilirsiniz.
https://drive.google.com/drive/folders/ ... nBhSEpKYkE

Proje search path içine veya Delphi Library Path içine sizdeki kuruluma göre aşağıdaki dizinleri eklemeniz gerekir.

Kod: Tümünü seç

D:\Dev\mORMot
D:\Dev\mORMot\SQLite3
D:\Dev\mORMot\SynDBDataset
Yapmak istediğiniz ile ilgili en iyi örnek sanırım 28 numaralı "Simple RESTful ORM Server" örneği olacaktır. Orada client ve server örnek projeleri mevcuttur.
https://github.com/synopse/mORMot/tree/ ... M%20Server

İyi çalışmalar,
Ertan

NOT: mORMot SQLite3 veritabanı kullanmayı tavsiye eder. Ancak birçok farklı veritabanı desteği mevcuttur.
Merhaba

Cevabınız için teşekkürler. Bağlantı yapacak Client cihazlar sadece TCP portu üzerinden veri gönderiyorlar.
28 numaralı örneğe baktığımda exe uygulaması oluşturuyor fakat görev yöneticisi üzerinde bir uygulama göremiyorum.
Bahsettiğiniz örnek TCP server olarak mı çalışıyor?

Bağlanacak cihazlar TIdTCPServer ile bağlanıp veri alabiliyorum. Fakat cihaz sayısı artınca gelen veriyi veritabanına yazmakta yetişemiyorum.
Bu sorunun çözümü için hangi örneğe bakmalıyım.

İyi Çalışmalar.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: mORMot kurulum ve örnek uygulama

Mesaj gönderen ertank »

Merhaba,

Eğer ilk yanıtımda vermiş olduğum bağlantıyı açar iseniz yine ilk yanıtımda belirttiğim gibi 28 numaralı örnekte hem sunucu hem istemci iki proje örneği de mevcut. Örnek PostgreSQL veritabanı üzerinden çalışıyor ancak siz kendi tercih ettiğiniz veritabanını kullanabilirsiniz.

İstemci örenği: RESTclient.dpr
Sunucu örneği: RESTserver.dpr

Standart ayarlada sunucu donanım yapısı ve network hızına bağlı olmak koşuluyla sadece metin yanıt alıp tek sabit metin cevap verme şeklinde bir mORMot REST sunucu uygulaması Intel i5 işlemcili sunucuda tek istemciye saniyede 790' dan fazla istek yanıtlayabiliyor. 100 istemci olduğunda bu rakam 32000' e kadar çıkabiliyor.

Veritabanı işlemleri ve metod içindeki kod yapısına göre bu rakamların doğal olarak düşmesi beklenir. Ancak donanım güçlendirmesi ile de artması mümkündür.
Cevapla