Yazılım projeleri ve saklı yordamlar


Saklı yordamların (Stored Procedure) birçok avantajı vardır. Bu nedenle, yazılım uygulamalarında sıklıkla kullanılmalıdır. Dezavantajları da mevcut olduğundan, tüm yönleriyle tanınmalı ve dengeli bir şekilde kullanılmalıdır.

AVANTAJLARI

Güvenlik

Saklı yordamlar, yazılımdaki kodlardan parametreleri alırlar. Örneğin, kaydedilecek öğrencinin adını. Bu parametre, SQL INSERT ifadesine bir değişken olarak gömüleceğinden, SQL injection açıkları ortadan kalkar.

Performans

Kodlanmış bir saklı yordam, VTYS (Veritabanı Yönetim Sistemi) tarafından derlenir. İkinci çalıştırılışında, derlenmiş yordam çalışır. Böylece, koca yordamın yeniden derlenmesine gerek kalmaz. Performans artar.

Ağ trafiği ve transaction süreleri

VTYS ve yazılım uygulamanız iki ayrı sunucuda. O kadar büyük bir yazılımınız var ki, VTYS ile uygulama arasında gidip-gelen trafik çok yüksek. Bir hareketteki (Transaction) ilk geri dönüşün ağ üzerinden yazılıma aktarılması uzun sürdüğünden, hareketin toplam süresi artıyor. Dolaylı olarak, VTYS bağlantıları (Connection) şişiyor. Saklı yordam kullanarak, yazılımınız ile VTYS arasındaki “git-gel”leri azaltabilirsiniz. Parametrelerinizi uzunca hazırlar ve saklı yordama bir defada gönderirsiniz. Bir kez geri dönüş alırsınız.

Not: Saklı yordamlar iki veya daha fazla kayıt kümesi (Recordset) döndürebilirler.

Veritabanı bağımsızlığı ve SQL kodlarında merkezileşme

Yazılım kodlarınızda, saklı yordamı çağırırsınız ve dönen sonucu yorumlar. Yazılımınız, veritabanındaki tablolarda hangi işlemlerin yapıldığıyla ilgilenmez, alanların veri türlerinin neler olduğunu bilmez, tabloların isimlerinin neler olduğunu bilmez… Böylece, tablo isimlerinde değişiklik yapmak istediğinizde, yalnızca saklı yordamlardaki SQL’leri değiştirmeniz yeterli olacaktır. Yani, bakacağınız tek yer yine veritabanıdır. Kodlarınızı değiştirmenize gerek yoktur. Benzer şekilde; eğer gün olur da Oracle’ın maliyetinden kurtulmak için PostgreSQL’e geçmek isterseniz (http://blog.vukuf.com/2007/01/oracledan-postgresqle-gei.html ), aynı saklı yordamları yeni veritabanınızda da oluşturmanız yeterli olacaktır. Yazılım kodlarınız, parametreleri gönderip sonuçları alabildiği sürece, sorun çıkarmayacaktır.


DEZAVANTAJLARI

Bakım zorluğu

Saklı yordamlar, yazılım kodlarınızdaki fonksiyonlar gibidir. Tüm fonksiyonlarınızı aynı klasörde biriktirdiğinizi düşünün. Büyük bir karmaşa. Bu nedenle, saklı yordamlara isim ayarlarken çok hassas olun. Belirli bir standardınız olsun. Yeni gelen takım arkadaşlarınızın uyum sağlaması ve anlaması kolay olsun. Unutmayın; en kötü standart bile, hiç standartsızlıktan iyidir.

Veritabanına bağımlılığın artması

Evet, daha önce bunun tam aksini söylemiştik. Okumaya devam edin…

Saklı yordamlarda, adı üstünde yordamsal dil kullanılabilir; Transact SQL (Microsoft SQL Server), PL/SQL (Oracle), PL/PgSQL (PostgreSQL) gibi. Geliştiriciler (Developer), internette yaptıkları argelerde bazı yordamsal komutlarla tanışırlar ve genellikle hemen kullanırlar. Bu durumda, eğer yazılım uygulamanız iki veya daha fazla VTYS seçeneği sunuyorsa, diğer VTYS’lerdeki saklı yordamlarda da aynı değişikliklerin yapılması gerekecektir. Her VTYS’nin yordamsal dili kendine özgü olduğundan, saklı yordamda gerçekleştirilen iyileştirmelerin diğer VTYS’lerde nasıl yapılabileceğini araştırmak ve değiştirmek gerekecektir.

Eskiden, herhangi bir VTYS’ye özgü yordamsal veya kodsal seçeneklerden kaçınılması önerilirdi. Bunu sonucunda, yazılımlar VTYS’nin özelliklerin tam olarak istifade etmezlerdi. Günümüzde bu yaklaşım tersine dönmüştür. VTYS’nin sunduğu özel yeteneklerden ve komutlardan istifade etmek önerilmektedir. Bu sayede, müşterilerinize en yetenekli VTYS hangisiyse onu önerme fırsatı doğar. Örnek bir doyalog;

Müşteri: Yazılımınız çok yavaş çalışıyor.
Siz: Bizim yazılımımız en iyi “B” VTYS ile çalışır. Kullanım kılavuzunda yazıyor.
Müşteri: Haklısınız. Söylemiştiniz.

Not: Veritabanı bağımsızlığı ile ilgili olarak tasarım kalıpları (Desing Pattern) araştırılabilir.

Bookmark and Share

  Kağıda Bas      Mail Gönder      Yorum Ekle   

«
                                                     
»
Workcube Çözümler
B2B - Partner Busines Portal / B2C - Business To Customer Portal / BCM - Budget Control Management / BPM - Business Process Management / CRM - Customer Relationship Management / DAM - Digital Asset Management / E-Business Portal Enterprise / E-Business Portal Plus / E-Business Portal Pro / E-Business Portal Standard / ECM - Enterprise Content Management / ERP - Enterprise Resource Planning / HR- Human Resource Management / LMS - Learning Management System / PAM - Physical Asset Management / PMS - Project Management System / SCM - Supply Chain Management / WorkcubeTV /

Workcube Modüller
Account (Customer & Supplier) Management / Accounting / Analysis and Reporting / B2B System Management / B2C System Management / Bank / Budget Planning / Calendar / Call Center Management / Campaign Management / Cash / Cheque / Content Management - Literature / Contract Management / Correspondence & Communication Management / Costs & Expenses / Credit and Fund Management / CTI System Integration / Current Accounts / Digital Archive / e-Profile / Executive Suite / Finance Management – General / Fixed Assets / Forum / HR – Career Portal / HR – Payrolls, Benefits and Compensations / HR – Performance Management / HR - Recruitment / Installment Sales / Inventory Management / Invoices / Learning Management / My Home - Personalization / Online Classroom and Streaming / Online Payment Integration / Online Procurement / Opportunity Management / Organization Planning / PDA Portal / Physical Asset Management / Planning and Scheduling / POS Integration / Price, Promotion and Action Management / Product Management / Production Management / Project Management / Purchase Proposals / Purchase Orders / Quota Planning / Risk and Assurance Management / Role Planning / Route (Visit) Management / Sales Orders / Sales Planning / Sales Proposals / Service and Warranty Management / Shipments and Logistics / Store – Branch Management / Subscription Management / System Management / Warehouse Management / Work Flow and Process Management / WorkDev Development Kit (Source Code) /


 
 

Canlı İletişim İş Ortağı Giriş Müşteri Giriş



Workcube e- business Inc.

www.workcube.com, info@workcube.com, contact: 90 216 428 39 39