Veri Kaynaklarının Tanımı
Kuika Builder'da bir olay (event) gerçekleştiğinde, bir iş akışının tetiklendiğini ve bir iş akışını oluşturan iş parçacıklarının her birine "Action" adını vermekteyiz. Sistemde öntanımlı şekilde bir çok action bulunmaktadır. Sistem action'ların haricinde, Kuika Builder'ı kullananların tanımlayabileceği "Custom Action"'lar platformu kullanmanın önemli bir kısmını oluşturur.
Farklı veri kaynakları üzerinden veri alışverişi yapmak veya bir eylem çalıştırmak için Kuika Builder'ın sağladığı farklı yöntemler vardır:
  • ManagedDB üzerinde SQL çalıştırarak veri sorgulama, kaydetme, güncelleme veya silme yapılabilir.
  • Hali hazırda geliştirilmiş bir MSSQL veritabanı varsa, bu veritabanına erişimi sağlayacak olan bir connectionString sayesinde yine ManagedDB'de olduğu gibi SQL ile veri alışverişi gerçekleştirmek mümkündür.
  • Kuika Builder, SWAGGER desteği olan bir REST API'na ulaşabildiği anda, bu API'ı tüketecek olan tüm aksiyonları otomatikman oluşturur.
  • Fatura hesabı, maliyet hesabı gibi algoritması yüksek fonksiyonları Kuika Builder'ı üzerinde C# programlama dilini kullanarak geliştirebilirsiniz.
Gerek SQL cümleleri, gerek API'lardan otomatikman üretilen fonksiyonlar veya C# ile Kuika kullanıcısı tarafından geliştirilen fonksiyonlar, soyut bir şekilde bakıldığında parametre alan ve veri üreten ve dönen fonksiyonlardır. Bu soyutluğu korumak ve kullanım kolaylığını sağlamak için, Kuika Builder kendine has tanımlama yöntemi ile geliştirilen tüm fonksiyonlara "Custom Actions" adını verir. Bunların tanımlamaları sonrasında kullanımları birebir aynıdır. Custom Action'ların kullanımında, hangi yöntem ile geliştirildiklerini bilmemize gerek kalmaz. Benzer soyutlukta çalıştırılması istenen Custom Action seçilir. Action'ın ihtiyacı olan parametreler belirlenir ve hepsi bu kadar. Geliştirildikleri teknolojiden bağımsız olarak kullanılma yöntemleri aynıdır.
Uygulama tasarımcısının sol tarafında yıldırım işareti ile yer alan "Custom Actions" paneli içerisinde yeni bir veri kaynağı yaratılabilir veya seçilen veri kaynağına yeni bir Custom Action tanımlanabilir.
Uygulamanızı tasarlarken, kayıt altına almak isteyeceğiniz verilerin içeriklerine ve yapılarına, aynı zamanda arayüzde hangi bileşenler ile temsil edilmesi gerektiğine karar vermeniz gerekir. Uygulama geliştirme sürecinin pürüzsüz ilerlemesi için nesneleri ve alanları tanımlamak son derece önemlidir.
Aşağıda yer alan tanımları anlatmak için bir araba kiralama portalını geliştirdiğimiz varsayımı ile ilerleyeceğiz.

Models / Nesneler

Nesneler, veritabanı uygulaması oluştururken bilinmesi gereken en temel kavramdır. Kayıt altına almak istediğiniz başlıklar olarak düşünebilirsiniz. Araç kiralama portalı özelinde, bir 'Araba' veya 'Rezervasyon''u nesnelere örnek olarak gösterebiliriz. Nesneleri seçilmesi ve belirlenmesi, bu nesnelerin nasıl tanımlanacağına ve kullanılacağına dair yapacağınız çalışmanızın ilk adımıdır.
Kuika içerisinde ön tanımlı olan nesnelerden biri kullanıcı'dır. Araç kiralama portalını düşünecek olursak kullanıcılar portal sayesinde iletişim ve etkileşim halinde olacaklardır. Kullanıcılar sisteme eposta adresleri ile tanımlanırlar. Kullanıcı nesnesi ayrıcalıklı bir nesnedir. Aşağıda kullanıcı nesnesinden daha detaylı olarak bahsedeceğiz.

Fields / Alanlar

Alanlar, belirli bir nesnenin nasıl kayıt altına alınacağının detaylandırıldığı bileşenlerdir. Örneğin bir araba nesnesini marka, model, yıl, renk, resim gibi alanlar ile tanımlıyor olabilirsiniz. Bu alanları tanımlıyor olmak, doğru veriyi doğru alana yazmanızı ve doğru bir şekilde görselleştirmenizi sağlayacaktır.
Bir nesne içerisinde kullanılmak üzere bir alan tanımlarken, bu alanı tanımlayıcı ayrıca bir veri tipi de seçmeniz gerekecektir. Çoğunlukla ihtiyacınız olacak olan veri tipleri şu şekildedir:
  • String : Metinsel verileri kayıt altına alabileceğiniz veri tipidir.
  • Decimal, Double : Virgül'lü sayılasal veriler için kullanmanız gereken veri tipleridir.
  • Int32, Int64 : Tam sayıları ifade eder
  • Boolean : Evet veya hayır şeklinde veri içeren alanlar için kullanılır.
  • DateTimeOffset : Bir tarihi uluslararası formatta kayıt altına almayı sağlar.
  • Location : Haritadaki bir yerin koordinatlarını ifade eder
  • Image, FileContent
Örnek olarak portalımız, bir arabanın adı String tipinde, resmi Image tipinde ve fiyatı da Decimal tipinde olmalıdır.
Alan tipi tercihleri, uygulama devamında bu alanlar ile yapabileceklerini değiştirecektir. Örneğin, String tipinde bir metin, başka bir metin ile birleştirilebilecek, veya Decimal veya Int32 gibi numerik tipler ise, matematiksel işlemlerde kullanılabilecektir. Location tipinde sahalar harita üzerinde gösterilebilece, Image tipli alanların ise önizlemesi sağlanabilecektir.
Bir sahanın tipi, aynı zamanda sizin tanımladığınız bir nesne de olabilir. Örneğin, ArabaMarkasi isimli bir nesne tanımladığımızı düşünürsek, Araba nesnesinin marka alanının tipi, ArabaMarkası olabilecektir.

Datasources / Veri Kaynakları

Uygulamanız kapsamında bir SQL yazdığınızda, bir API'ya bağlandığınızda veya bir C# kodu ile geliştirdiğiniz bir fonksiyon class tipinde bir veri döndüğüde, Kuika Builder'a yeni nesneler tanımlamış olursunuz. SQL, API veya C# kodları ile platformda yaratılan action'lara "Custom Actions" adını verdiğimizi hatırlatalım.
Örnek olarak Twitter'a bir API aracılığı ile bağlanmak istediğinizde, bu bağlantı sistemimizde Tweet isimli bir nesne oluşturur. Uygulama tasarımcısının bir çok alanında, Tweet isimli nesne ve bu nesneyi alıp vermeye yarayan aksiyonlar karşımıza çıkmaya başlayacaktır.

Veritabanı Tablosu

Kuika Builder'da ManagedDb dediğimiz bir veritabanı, açılan her hesaba özel olacak şekilde oluşturulur. Veri kaynağı olarak dış kaynakları API veya C# aracılığı ile kullanabileceğiniz gibi, Kuika Builder içerisinde veritabanı tabloları ve ilişkileri tanımlamak mümkündür.
Kuika Builder'da yaratılacak tablolara veri kaydetme, güncellemek veya sorgulamak SQL ile mümkündür. Custom Actions panelinde geliştirilecek olan tüm SQL'lerin üreteceği sonuç içerisinde elde edilen kolon isimlerinden ve tiplerinden yola çıkarak Kuika otomatikman sisteme yeni nesneler dahil eder.

Ön Tanımlı ID Alanı

Bir veritabanı tablosu yaratılırken, Kuika varsayılan olarak "Id" isimli bir alanı otomatikman yaratır. Bu alan, ilgili tablo satırının ayırt edici tekil temsilcisi rolündedir ve farklı tablolardan doğru kayıta erişilebilmesi açısında tablolar arasında link olarak kullanırlar.

Tip tutarsızlıkları ve hatalar

Hata Denetçisi, tasarımınızda oluşabilecek tutarsızlıkları tespit etmenizi sağlar ve çözüm konusunda sizi yönlendirir.
Örneğin, Int32 (tam sayı) tipinde bir parametreye ihtiyaç duyan bir aksiyon tetiklediniz. Parametre tanımını yaparken de buna metin tipli bir veri ilişkilendirdiniz. Hata Denetçisi bunu fark eder ve düzeltmeniz için gereken uyarıları yapar.
Başka bir örnek verecek olursak, veri tabanını sorgulamak için @ işaretini kullanarak SQL içerisinde bir parametre tanımı yaptınız. Bu SQL tanımı ile oluşan "Custom Action"'ı bir butonun click'ini çalıştırdınız. Ardından custom action'ın tanımında yer alan SQL'de bir değişiklik yapmaya karar verdiniz ve ikinci bir parametre ilavesi yaptınız. Tetiklenmiş olan aksiyon hala 1 parametre ile çalışıyor olacağından, "Hata Denetçisi" gereken değişikliği yapmamızı konusunda bizi yönlendirir.
Last modified 1mo ago