İşlem Zinciri – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
İşlem Zinciri
İşlem zinciri birden çok bağlantılı işlemden oluşuyorsa, işlem şablonu üç konuyu daha ele almalıdır: işlemlerin doğru sırada yürütülmesi, işlemler arasında parametrelerin geçişi ve işlemlerin atomiliği:
- İşlemlerin yürütme sırası, aralarındaki bağlantıların topolojisi tarafından belirlenir: bir A işlemi, bir B işleminden çıkan bir OK veya KO bağlantısının hedefiyse, B’nin yürütülmesi, A’nın yürütülmesinden önce gelir.
- Parametrelerin geçişi, her işlemin giriş bağlantılarına bağlıdır. Bir işlem, işlem zincirinin etkinleştirildiği sayfadan çıkan giriş bağlantılarıyla ilişkili parametrelerden veya ondan önceki bir işlemin çıktısından girdi değerleri alabilir. İlk durumda, parametre değerleri işlem zincirini tetikleyen HTTP isteğinden alınır, ikinci durumda ise önceki bir işlemin yürütülmesiyle hesaplanan bazı değerlerden çekilir.
- İşlemlerin sırası bir işlemin içine alındığında, birden çok işlemin atomik olarak yürütülmesi sağlanmalıdır. Oluşturma, silme, değiştirme, bağlanma ve bağlantıyı kesme işlemleri dizilerinin atomikliği, veritabanı işlemlerinden yararlanılarak uygulanabilir.
- Bu durumda, işlem şablonlarının merkezi kısmı gösterilen formu alır: başlangıçta, tüm işlemler için atomik bir yürütme bağlamı sağlayan yeni bir veritabanı işlemi başlatılır; daha sonra, her işlem için ilgili sorgu uygun girdi parametreleriyle somutlaştırılır ve yürütülür; yürütme başarısız olursa, tüm işlem iptal edilir; aksi takdirde, yürütme bir sonraki işleme geçer. Şablonun son bölümünde, tüm işlemler başarılı olursa ulaşılır, işlem, tüm işlem zincirinin etkisinin kalıcı hale getirilmesi için taahhüt edilir ve kontrol, son işlemin OK bağlantısının hedef sayfasına iletilir.
- Atomisite, bir veritabanı sistemi bağlamı dışında yürütülen genel işlemler için uygulanması zor olabilir; kısaca tartışılan Enterprise JavaBeans’in kullanımı, rastgele işlem dizilerinin atomikliğinin sağlanmasına yardımcı olabilir.
İşlem zincirlerinin uygulanması, işlem zincirinin etkinleştirildiği sayfanın kodlanmasını da etkiler. Özellikle, işlem zincirini etkinleştiren bağlantının HTML uygulaması aşağıdaki kurallara uymalıdır. Bağlantı, parametrelerinin yanı sıra aynı zincirdeki işlemlere ulaşan taşıma bağlantılarının taşıdığı tüm parametreleri de taşımalıdır.
Bu, işlemleri etkinleştiren bağlantının HTML’de nasıl uygulandığına bağlı olarak iki şekilde yapılabilir:
- Bağlantı bir bağlantı etiketi olarak uygulanırsa, URL’sinin sorgu dizesine uygun parametreler eklenir.
- Bağlantı bir HTML formunun gönder düğmesi olarak uygulanırsa, HTML FORM etiketine gizli türdeki giriş alanları eklenir.6
- İşlemlerden herhangi birinin, işlem zincirinin etkinleştirildiği sayfayı gösteren bir bağlantısı varsa, etkinleştirici bağlantı, açıklandığı gibi,
- harici olarak bağımlı birimlerin girişini “hatırlamak” için gereken ekstra parametreleri de taşımalıdır.
Zincirin işlemlerine işaret eden taşıma bağlantılarının oluşturulmadığını unutmayın; bunlarla ilişkili parametreler, operasyon zincirini aktive eden bağlantının uygulanmasına eklenir.
Bir İndeksten Seçilmiş Bir Nesnenin Silinmesi
Başlangıç örneği olarak, OK ve KO bağlantıları ile silme işlemlerinin uygulanmasını tartışıyoruz. İndeks birimindeki bir öğenin seçilmesinin bir haber kategorisinin silinmesine neden olduğu hiper metni düşünün.
Silme işleminin, delete.jsp adlı bir JSP işlem şablonu olarak uygulandığını varsayarsak, NewsCategoryDelete sayfasının uygulanması, gösterilen kodla aynıdır, ancak şimdi, silme işlemini saran JSP şablonuna işaret eden 23. satırda oluşturulan URL için. 23. satırın gözden geçirilmiş versiyonu aşağıdaki URL’yi içermektedir.
İşlem şablonu gösterilir. Talep parametresi çıkarımından (4. satır) ve veritabanına bağlantıdan (6-8. satırlar) sonra, SELECT sorgusu (satır 11) yerine DELETE komutu kullanılarak silme işlemi komutu hazırlanır. Hazırlıktan sonra sorgu yürütülür.
Olası hataları yakalamak için güncelleme bir Java try-catch bloğu içinde yürütülür (satır 14-18): bunun anlamı, blok içindeki ifadenin (satır 15) geçici olarak yürütülmesidir; başarılı olursa, try-catch bloğundan sonra hesaplama yeniden başlar (satır 19); yürütme bir SQL hatası verirse, istisna yakalanır ve kontrol, catch bloğunun içindeki talimatlara geçer.
İşlem yürütmesinden sonra kontrolün transferi, adından da anlaşılacağı gibi kontrolü başka bir JSP şablonuna transfer eden pageContext nesnesinin ilerisindeki yerleşik JSP işlevi kullanılarak gerçekleştirilir. Başarıyla birlikte kontrol, newsCategories.jsp sayfasına geri aktarılır (satır 21); hata durumunda, hata mesajı içerebilecek errorPage.jsp (17. satır) adlı sayfaya kontrol iletilir.
Kesin bir yorum olarak, örneklerin, çoktan seçmeli bir birim kullanılarak seçilen birden çok nesnenin silinmesini uygulamak için kolaylıkla genişletilebileceğini not ediyoruz: bu durumda, çoktan seçmeli birim açıklandığı gibi uygulanmaktadır ve işlem şablonu, Sunulan tekniği kullanarak, SQL komutunun WHERE koşulunu birden çok VEYA alt maddesiyle anında birleştirerek birkaç nesneyi silin.
Karma işlem nedir
Tedarik zinciri
Zincirleme idari işlem
İdari işlemler nelerdir
Bireysel idari işlemler nelerdir
İnşai işlem nedir
Zincir işlem Nedir
Sarih işlem nedir
Bir Oluşturma Birimine Bağlı Giriş Birimi
İkinci örnek olarak, dosya yüklemeye ve büyük nesneler içeren veritabanı sütunlarının güncellenmesine de odaklanarak, oluşturma işlemlerinin uygulanmasını gösteriyoruz. Tartışmanın çoğu, işlemleri değiştirmek için de geçerlidir.
Oluşturma işlemi örneği görüntülenir. Kullanıcının bir haberin başlığını ve gövdesini girmesine izin veren NewsCreation sayfası, yalnızca createNews.jsp sayfasını işaret eden bir eylem özniteliği ile gösterilen ve oluşturduğunuz haberin kodunu içeren bir HTML formu içerir.
Oluşturma işleminin JSP kodu, silme işlemininkine çok benzer bir yapıya sahiptir, ancak benzersiz tanımlayıcıların oluşturulmasıyla başa çıkmalıdır. Yeni oluşturulan nesne için benzersiz bir tanımlayıcı oluşturmaya yönelik olası bir yaklaşım, bu görevi, tanımlayıcıyı HTML formu aracılığıyla normal öznitelik değerlerinde olduğu gibi sağlaması gereken son kullanıcıya bırakmak ve ardından veritabanı bütünlüğü kontrol mekanizmalarına güvenmektir.
Bununla birlikte, tartışıldığı gibi, bu yaklaşım, kullanıcı için anlamlı bir birincil anahtarı olmayan nesnelere uygulanamaz ve genel olarak önerilmez. Bu nedenle, benzersiz OID’lerin üretimini oluşturma operasyonunun yönetmesine izin vermek daha iyidir.
Bu sorun, veritabanı uygulamalarında o kadar sık karşılaşılır ki, çoğu ilişkisel ürün, OID buluşunu kolaylaştırmak için yerleşik bir ilkel sunar. Örneğin, Oracle veritabanı yönetim sistemi, bir tablonun birincil anahtarı olarak kullanmak üzere benzersiz değerler kümesi oluşturmak için dizi oluşturucuları içerir ve Postgres veritabanında, sisteme sahip olmak için seri türünde bir tablo sütunu bildirilebilir. tem, her nesne eklemede benzersiz bir anahtar değeri icat eder.
Bu mekanizmalar, aşağıda açıklanan gibi geçici çözümlerden daha verimlidir, ancak her zaman bir veritabanından diğerine taşınabilir değildir.