Hareket işlem sistemi: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmiş revizyon]
İçerik silindi İçerik eklendi
Mmalbayrakoglu (mesaj | katkılar)
Yeni sayfa: '''Hareket işlem sistemi''' (''İng.'' transaction processing system; kısaca TPS) bir işletmede meydana gelen yapılandırılmış ve sürekli yinelenen olguları kaydetmek, iz...
 
Luckas-bot (mesaj | katkılar)
74. satır: 74. satır:


[[el:Συστήματα επεξεργασίας συναλλαγών]]
[[el:Συστήματα επεξεργασίας συναλλαγών]]
[[en:Transaction processing system]]
[[es:Sistema de procesamiento de transacciones]]
[[es:Sistema de procesamiento de transacciones]]
[[ko:거래 처리 시스템]]
[[it:Transaction processing system]]
[[he:מערכת עיבוד תנועות]]
[[he:מערכת עיבוד תנועות]]
[[it:Transaction Processing System]]
[[ko:거래 처리 시스템]]
[[pt:Sistema de processamento de transações]]
[[pt:Sistema de processamento de transações]]
[[zh:交易處理系統]]
[[zh:交易處理系統]]

Sayfanın 14.01, 4 Ocak 2012 tarihindeki hâli

Hareket işlem sistemi (İng. transaction processing system; kısaca TPS) bir işletmede meydana gelen yapılandırılmış ve sürekli yinelenen olguları kaydetmek, izlemek, saklamak, işlemek ve yayımlamak için kullanılan bir bilgisayar tabanlı bilişim sistemidir. Bu olgular arasında sipariş almak, fatura ve irsaliye hazırlamak, mal ve hizmet teslim almak ya da etmek, bordro hazırlamak v.b. sayılabilir. Bir işletmede kullanılan kaynakların, işletme içinde ve dışındaki çıkar ve ilgi gruplarının her biri açısından anlamlı olan ve zamanla meydana gelen her bir değişimine hareket (ya da işlem) denir. Hareketler bir kurumun işleyişi sürecinde meydana gelen olgulardır. Bu olgular fiziksel, parasal ya da kavramsal kaynakların özelliklerinden birinin, bir bölümünün ya da tümünün değişimini içerir. Kimi zaman bir hareket başka hareketlerin meydana gelmesine neden olur.

Her kaynak, kendisiyle ilgili çıkar grubu açısından anlamlı özelliklerini betimleyen bir veri kümesi kullanılarak tanımlanabilir. İşletme kaynaklarının geçirdikleri değişimler, kaynakları tanımlamakta ve soyutlamakta kullanılan verilerin de değişimini gerektirir.

Bilgisayar bilimlerinde hareket işlem sistemleri

Bilişim teknolojileri açısından hareket bir bilgisayar sisteminin yerine getireceği birbiriyle ilişkili bir dizi işlemden ibarettir. Bu işlemler bir bütün olarak görülür ve sonuçta bir hareket ya başarıyla gerçekleşir ya da gerçekleşmeyerek hareketin başlamasından hemen önceki noktaya dönülür. Bu işlemlerin gerçekleştirilmesiyle bir veritabanında yer alan bir dizi veri değişim geçirerek yeni değerler alır. Hareketin başarısı, tüm işlemlerin sonuçları kalıcı olacak biçimde gerçekleştirilmiş olması demektir.

Hareketin bütünlüğü iki amaca hizmet eder: Birinci amaç hareketi talep eden kullanıcının isteğinin yerine gelmiş olmasıdır. İkinci amaç ise veri bütünlüğünü korumaktır. Bütünlüğü koruyabilmak için hareket sonuçları sistem arızalarından ya da çökmelerden etkilenmemelidir. En küçük bir aksaklık durumunda sistem gerçekleşen tüm işlemleri geriye doğru iptal ederek başlangıç durumuna geri dönebilmelidir. Bir hareket bir ya da daha çok veri kaynağı üzerinden gerçekleşebilir. Yerel kaynaklar üzerinde gerçekleşen hareketler kolay yönetilebilir ve tek bir kaynak (veritabanı ya da ileti kuyruğu) kullanılarak hızla gerçekleşebilirken, başarılı olsun ya da olmasın dağıtılmış hareketler için birden çok kaynak kullanılır.

Bir sanal alışveriş merkezinden bilgisayar satın alındığında, bir çok hesapta değişiklik yapmak gerekir. Önce alışveriş sepeti oluşturulur. Bilgisayar alışveriş sepetine konur. Ardından sanal kasaya gidildiğinde banka hesabı güncellenir ve bilgisayar stoktan düşülür. Banka hesabı güncellendiğinde bilgisayar stoktan düşülmezse banka hesabı da güncellenmeden önceki durumuna döndürülür. Hareketi oluşturan işlemlerin, veri tabanı üzerinde değil de verilerin kopyaları üzerinde gerçekleştirilmesi geri dönüşü olanaklı kılar. İşlemlerden en az biri başarısız olursa tüm kopyalar silinir.

Bir hareketin dört temel özelliği vardır:

Atomsallık: Bir hareket ya bütünüyle gerçekleştirilir ya da sistem hareket başlamadan önceki durumuna döner. Hareketin gerçekleşmesi, onun başlangıcı ve bitimi arasındaki tüm işlemlerin başarıyla gerçekleşmesine bağlıdır. Atomsallık özelliği harekete kaynak olan amacın geçekleşmesini garanti eder.

Tutarlılık: Sistem (ya da harekete konu olan veriler) ya yeni ve anlambilisel açıdan geçerli bir duruma geçer ya da eski geçerli durumunu korur. Böylelikle verilerin doğruluğu ve bütünlüğü güvence altına alınır. Sistemde tutarlılığı sağlayan kurallara bütünlük kısıtları adı verilir.

Yalıtılmışlık: İşlemlerin gerçekleşmesi sırasında hareket diğer tüm hareketlerden bağımsız olarak cereyan eder. İdeal olarak ardışık işlemler ve hareketler yalıtılmışlığı garanti altına alırsa da, eşzmanlı işlemler sistem performansını yükseltir.

Devamlılık: Sistem bir başarısızlık durumunda dahi geçerli durumda bulunur. Bir hareketin gerçekleşmesi sırasında sistem çökerse, veriler hareket başlamadan önceki geçerli değerlerine geri dönerler. Bir hareket bittikten sonra sistem çökerse, veriler kalıcı hale gelmiş bulunduklarından hareket bittiğinde aldıkları değerleri korurlar.

Bu özellikler ACID (‘esid’ okunur; A: atomicity; C: consistency; I: isolation; D: durability) özellikleri olarak bilinir. Hareket işlem sistemlerinin bu dört özelliği sağlayabilmesi, hareketlerin her koşulda geçerliliğini, sonuçlarının öngörülebilirliğini sağlar; yönetim ve denetim yükünü azaltır. Aynı zamanda bu özellikler hareket işlemeyi toplu işlemden (batch processing) ayırır. Toplu işlem, hareketleri önce bir araya getirir ve gruplar. Gruplanan hareketler belirli aralıklarla ya da belirli olguların gerçekleşmesinden sonra veritabanının güncellenmesi için kullanılır. Toplu işlem yaklaşımının işletmecilikte kullanım alanı daha çok bordro v.b. dönemsel hareketlerle sınırlıdır. Çevrimiçi hareket işlemleri (OLTP: online transaction processing) gerçek zamanlı olarak meydana gelir; kurumsal veriler sürekli güncelliğini korur ve kurumun haftanın yedi günü 24 saat süreyle (7 × 24) gerçek zamanlı olarak modellenebilmesine olanak verir. Böylelikle verilerin sürekli güncelliği sağlanır. Bu üstünlüğüne karşın, çevrimiçi hareket işlemciliğinin güvenlik ve devamlılık giderleri çok daha yüksektir.

İşletmecilikte hareket işlem sistemleri

Hareket işlem sistemlerinin iki özelliği onları önenli kılmaktadır. Bu özelliklerden birincisi yönetsel bilişim sistemleri (MIS: management information systems) ve karar destek sistemleri (DSS: decision support systems) gibi sistemlerin hareket işlem verilerine gereksinim duymasıdır. Kurumsal raporların doğruluğu ve yönetim kararlarının isabetliliği hareket işlem sisteminin tasarımının yetkinliğine ve işleyişinin sağlıklılığına bağlıdır. İkinci özellik ise, hareket işlem sistemlerinin kurum dışındaki varlıklara kısmen açık ve onlarla ilişkide olmasıdır. Müşteriler, tedarikçiler ya da diğer ilgi ve çıkar grupları bu sistemlerle doğrudan ya da dolaylı olarak etkileşimde bulunduklarından, bu deneyimlerinden yola çıkarak işletmenin niteliği ve yönetiminin yetkinliği hakkında bir yargıya varırlar.

Hareket işlem sistemlerinin ana amacı kurum içi ve dışındaki ilgi ve çıkar gruplarının gereksindiği her türlü veri ve bilgiyi doğru, hızlı ve ekonomik biçimde işlemek ve sunmaktır. Bu veri ve bilgilerin bir bölümü yasa gereği saklanırken, diğer bölümü ise kurumsal politikalar çerçevesinde belirlenir. Hareket işlem sistemi yasal ve kurumsal belge ve raporların hazırlanmasında olduğu gibi stratejik ve operasyonel kararların alınabilmesi için gereken verilerin bir bölümünü de içlerinde barındırır. İyi çalışan bir hareket işlem sistemi yalnızca veri doğruluğu, bütünlüğü ve güvenliğini sağlamakla kalmaz, müşteri hizmetlerinin daha hızlı ve etkin bir biçimde yürütülmesine olanak verir. Bu yolla müşterilerin işletmeye bağlılığının artmasına katkıda buludur.

Hareket işlem sistemlerinin yetenekleri

Günümüzde işletme operasyonlarının sürekliliği ve başarısı hareket işlemlerinin sürekliliğine neredeyse tümüyle bağımlı duruma gelmiştir. Hareket işlem sistemlerinin bu niteliği onlarda üç temel yeteneğin aranmasına neden olmuştur. Bunlardan birincisi iki aşamalı üstlenim, ikincisi endüstriyel güçlülük, üçüncüsü ise hataya dayanıklılıktır.

İki aşamalı üstlenim bir hareketin iki aşamada oluştuğunu ifade eder. Birinci aşamada hareket için gereken tüm kaynakların oluşacak değişliklikleri üstenmeye hazır olup olmadıkları belirlenir. Bu aşamada gerekiyorsa harekete konu olan veriler kilitlenerek başka bir hareket tarafından kullanılmaları engellenebilir. Eğer veriler kilitlenmemişse ve hareket süresince başka hareketler tarafından değiştirilebiliyorsa hareket tamamlandığında bu durum hesaba katılmalıdır. İkinci aşamada tüm kaynaklar gereken değişiklikleri ve dolayısı ile de hareketi yerine getirirler. İki aşamalı üstlenim hareketin neden olduğu tüm değişikliklerin gerçekleşmesini sağlar; hareket başarısız olursa tüm kaynaklar hareket öncesi duruma dönerler.

Endüstriyel güçteki yazılımlar, çok miktarda verinin pek çok kullanıcı tarafından eşzamanlı olarak ve hatasız biçimde işlenebilmesini gerektirir. Program kusursuz çalışabilmeli ve sistem aksaklıklarından kaynaklanabilecek hatalara olanak vermemelidir. Veri tabanı yönetim sistemlerinin endüstriyel güçte olmalarını sağlayan iki aşamalı üstlenim (two-phase commit) özelliğidir. İki aşamalı üstlenim bir hareket işlem protokolüdür: Birinci aşamada harekete konu olacak tüm veri kaynaklarının varlığından ve hazır olduğundan emin olunur; bu kaynaklar kilit altına alınır. İkinci aşamada sistem hareketi gerçekleştirmek için gerekli operasyonları yerine getirir. Operasyonların tümü başarılı olursa tüm kaynaklar güncellenir ve güncellenen kaynaklar tekrar kullanıma hazır hale getirilir. Operasyonlardan en az biri başarısız olursa, tüm kaynaklar birinci aşama öncesi durumlarına geri döndürülür ve tekrar kullanıma hazır hale getirilir.

Aksaklığa dayanıklı (fault tolerant) hareket işlem sistemleri, donanımda bir hata oluştuğunda işlevlerini aksatmadan sürdürürler. Bu tür sistemlerin merkezi işlem birimi, bellek, sabit disk, dentim birimi, soğutucu fan ve güç kaynağı gibi kritik bileşenlerinin en az bir yedeği bulunur; asıl bileşende bir arıza oluştuğunda yedek bileşen kesintisiz olarak devreye girer.

Hareket işlem sistemleri doğaları gereği büyük miktarlarda veri barındırır ve barındırdıkları bu verileri neredeyse sürekli olarak işlerler. Verilerin çoğunluğu kurum içinden kaynaklanır ve kullanıcılar da çoğunlukla kurumsaldır. Veriler hareketlerin ayrıntılarını betimler ve son derece biçimlenmiştir; tüm girdiler ve hemen hemen tüm çıktılar hareketlerin ayrıntılarını gösteri. Hareketlerin mantıkları görece basit olduğundan işlemsel karmaşıklık düzeyleri oldukça düşüktür. Yüksek miktarda veriyi barındırmak için veri depolama kapasitelerinin yüksek olması gerektiği gibi, bu verileri işleyerek çok sayıda hareketi gerçekleştirmek zorunda olduklarından yüksek hızlara da gereksinme duyarlar. Son olarak ta kurumsal operasyonların sürekliliği, doğruluğu ve geçerliliğini sağlayabilmek için hareket işlem sistemlerinin güvenilirlik, bütünlük, süreklilik ve yararlanılabilirliklerinin yüksek olması gerekir.

Hareket işlem sistemi yönetiminde temel amaç sistemin performansının yanı sıra güvenilirlik, bütünlük, süreklilik ve yararlanılabilirliğinin kurumsal hedeflere uygun düzeylerde olmasının sağlanmasıdır. Sistemlerin kritiklikleri ve işletmelerin olanakları ölçüsünde farklı politika ve yordamlar uygulanarak bu amaçların gerçekleştirilmesi gerekir. Alınacak önlemlerin en temel olanı yerinde ve uzakta veri yedeklemedir. Doğal veya insan eliyle meydana gelecek yıkımlar karşısında sistemin en kısa sürede ve en az iş yitimiyle devreye girmesini sağlayacak yıkım onarımı planları hareket işlem sistemi yönetiminin bir parçasıdır. Yıkım onarımı seçenekleri arasında uzak bir yerde—örneğin bir başka kentte—başka bir işletme tarafından sağlanan sistemin ve ofis düzeninin çalışır durumda bir benzeri olan sıcak siteler; veya diğer işletmenin yalnızca bilişim altyapısını sağladığı, yazılım ve donanımın bizzat işletmenin kendisi tarafından sağlandığı soğuk siteler sayılabilir.

Hareket işlem sistemi mimarileri

Hareket işlem sistemleri için başlıca iki tür sistem mimarisi yaklaşımı kullanılmaktadır: 1) Anabilgisayar mimarisi ve 2) istemci-sunucu mimarisi. Anabilgisayar mimarisinde tüm iş kuralları ve veriler bir tek merkezi bilgisayarda toplanır; veriler bu bilgisayarda işlenir. Kullanıcılar anabilgisayarla bir ya da daha çok uçbirim (terminal) aracılığı ile etkileşirler. Uçbirimlerin işlevi klavye ile girilen verileri anabilgisayara iletmek ve anabilgisayardan gelen bilgileri göstermekten ibarettir. Bilgisayar ağları üzerinden ana bilgisayara bağlanan iş istasyonları da yalnızca birer uçbirim işlevi görürler. Anabilgisayar mimarisi grafik kullanıcı arayüzü kullanımını kısıtladığı gibi çoklu ve dağıtılmış veritanlarının kullanımına olanak vermez.

Hareket işlem sistemlerinde en yaygın olarak kullanılan mimari yaklaşım istemci-sunucu modelidir. İstemci-sunucu mimarisi iki bilgisayar programı arasındaki hizmet talebi ve hizmet arzı ilişkisine dayanır. İstemci sunucudan bir hizmet ya da veri talep eder; sunucu da istemciye talep ettiği hizmet ya da veriyi arzeder. İstemci belirli bir uygulama için özel olarak tasarlanmış ve o uygulamaya özgü bir kullanıcı arayüzü olabildiği gibi bir Web sayfası da olabilir. Web sayfaları, iş mantığından daha çok kullanıcı arayüzü öğelerini içerdiğinden, zayıf istemci olarak adlandırılır. Buna karşılık bir şişman istemci veri işlemlerinin hemen tümünü yerine getirir; yalnızca iletişim ve depolama için veri iletimine gerek duyar. Kullanıcı istemci arayüzü aracılığı ile bir uygulama sunucusu ya da veritabanından gereksindiği hizmet ya da verileri alır, işler ve kimi zaman da geri dönerek sunucuyu günceller.

İstemci-sunucu yaklaşımı özellikle bilgisayar ağlarının yaygınlaşması sonucunda farklı bilgisayarların farklı roller üstlenmesi biçimini almıştır. Bir yerel ya da geniş alan ağında yer alan bazı bilgisayarlar istemci, diğerleri ise sunucu görevleri üstlenmişlerdir. İstemci-sunucu modeli özellikle farklı coğrafi noktalara dağıtılmış sistem bileşenlerinin birbiriyle ilişkilendirilmesini kolaylaştırmıştır.

İstemci-sunucu mimarisi en az iki katmandan oluşur: Birinci katman sunuş katmanı olarak adlandırılır ve istemci tarafında yer alır. İkinci katman veri katmanıdır. Veri katmanı ya bir veritabanından ya da tek katmandan oluşan bir uygulama programından ibarettir ve sunucu tarafında yer alır. İki katmandan oluşan istemci-sunucu uygulamaları iki katmanlı istemci-sunucu mimarisi modeli üzerine kurulmuştur. Üç katmanlı istemci-sunucu mimarisi modelinde, sunuş ve veri katmanlarının arasında bir uygulama katmanı bulunur.

Uygulama katmanı iş mantığını yapısında bulundurur ve iş mantığının verilerden ve istemci arayüzünden ayrılmasını sağlar. Bu katmanda yer alan bir uygulama sunucusu, belirli uygulama yazılımlarını üzerinde bulunduran bir platformdur. Zayıf istemcili istemci-sunucu uygulamaları üç katmanlı model çerçevesinde oluşturulur. Bu modelde uygulama katmanı, sunuş ve veri katmanları arsındaki geçişi sağlar. Genel istemci-sunucu modeli ise çok katmanlı (n-katmanlı) olarak nitelendirilir. Aşağıda iki, üç ve dört katmanlı istemci-sunucu mimarileri şematik olarak gösterilmiştir. Dört katmanlı modelde sunuş ve veri katmalarının arasında Web ve uygulama katmanları bulunmaktadır. Kullanıcı arayüzü olarak Web tarayıcısından yararlanıldığından, dört katmanlı model zayıf istemci-sunucu kategorisine girmektedir.

Zayıf istemcili sistemler, daha ucuz ve kolay yönetilebilir olmalarına karşın, hem iş hem de sunuş verilerini aynı zamanda gereksindiklerinden bilgisayar ağı üzerinde daha yüksek veri iletim hızlarına gereksinim duyarlar. Zayıf istemcilere hizmet veren sunucular diğerlerinden daha masraflı olmakla birlikte, sunuş katmanı her bir istemci üzerinde ayrı ayrı değil de, bir defaya mahsus olmak üzere yalnızca Web sunucusu üzerinde güncellenir. Arayüzdeki değişimler kurum içi ve dışındaki tüm kullanıcılara eşzamanlı olarak yansır.

Hareket işlem yönetimi yazılımları

Yerel ve yalın hareket işlem uygulamalarda uygulama sunucusu hareketin sınırlarını belirleyip denetleyebilir. Fakat bir bilgisayar ağı üzerinde dağıtılmış sistemlerde karmaşıklığın azaltılaması ve alt sistemlerin eşgüdümlenmesi için daha yetkin bir uygulama ortamına gereksinme duyulmaktadır.

Büyük işletmelerde çok katmanlı sistemler çok sayıda veri, uygulama ve Web sunucusu ile kurum içi ve dışı kullanıcılara şişman ve zayıf istemciler üzerinden hizmet verirler. Kurumsal veriler ve iş mantığı sistemi oluşturan sunucular arasında dağıtılır. Sonuçta sunucular arasında karmaşık bir ilişkiler yumağı ve veri alışverişi ortamı meydana gelir. Bu durum sistemden yararlanan iç ve dış kullanıcı sayısının dönem dönem azalıp artmasıyla daha da karmaşık bir hal alır. Sunuculardan veri ve hizmet talebinin düzensiz ve öngörülemez olması, bilgisayar ağı üzerinde iletişim ve işlem yükünün dengelenmesini, sunuculara olabildiğince eşit ölçüde dağıtılmasını önemli kılar. Bir sunucuya olan talebin aşırı artması, benzer taleplerin aynı işleve sahip başka bir sunucuya yönlendirilmesini gerektirir.

Hareketlerin işlem sırasında bir aşamadan diğerine geçişini gözeten, yönlendiren, hareketlerin kaybolmasını ya da hatalı oluşmasını engelleyen, ve sistemde yük dengesi oluşturan arayazılımlarına (middleware) hareket işlem yöneticisi (transaction processing monitor) denir. Bir hareket işlem yöneticisi üç amaca hizmet eder: 1) Dağıtılmış bir yapıda ve pek çok kaynak kullanılarak gerçekleşen karmaşık hareketlerin atomsallık, tutarlılık, yalıtılmışlık ve dayanıklılığını sağlamak; 2) sistem üzerinde kullanıcı taleplerindeki değişimlerinden kaynaklanan yükleri, sistem işlevini ve performansını olumsuz yönde etkilemesine engel olacak biçimde sistem kaynaklarına dağıtmak; 3) bir veri ya da uygulama sunucusu devreden çıktığında başarısız olan hareketi başka bir sunucuya yönlendirerek sistemin yararlanılabilirliğini yükseltmek.

Kavramsal olarak bir hareketin bağlamı, o hareket hakkındaki bilgileri içeren bir veri yapısıdır. Hareket bağlamı hareketin özgün bir tanımını, kapsamını ve ne zaman zaman aşımına uyrayacağını içerir. Gerekirse hareketi parallel görevlere böler ve işlemin parallel ilmekler halinde gerçekleşmesini sağlar. Birden fazla hareket işlem yöneticisinin yer aldığı ortamlarda, bağlamın bir yöneticiden diğerine aktarılabilmesi gerekir.

Hareket işlem yönetimi teknolojisi iletilerin sıraya sokulmasını, işlem zamanlaması ve işlem önceliklerinin belirlenmesini sağlar. İstemciler uygulama sunucuları ya da veritabanları yerine önce hareket işlem yöneticisine bağlanırlar. Yönetici işlem sorumluluklarını üzerine alarak istemciyi serbest bırakır; hareket tamamlanıncaya dek tüm işlemlerin gerçekleşmesini gözetir; birden çok veritabanını günceller; hareketin başarılı ya da başarısız olduğunu istemciye iletir. Hareket işlem yönetim programları bir hareket işlem sisteminin ölçeklenebilirliğini büyük ölçüde artırır. Sistem herbiri farklı hareketleri gerçekleştiren binlerce kullanıcıya aynı anda hizmet verebilir. Yönetici büyük ölçekli çevrimiçi hareket işlem uygulamalarının (OLTP: online transaction processing) etkin ve güvenilir biçimde çalışmasını sağlar.

Hareket işlem yönetimi pazarında bulunan belli başlı yazılımevleri ve ürünleri şunlardır: Unix işletim sistemi için BEA Tuxedo; IBM CICS, Encina ve IMS; Sun EJB JTS (Java Transaction Service); Microsoft MTS (Microsoft Transaction Server), NCR Signal End ve Software AG Adabas TPF. Günümüzde uygulama sunucularının çoğu Web uygulamaları barındırdığından, hem bu sunucuların hem de hareket işlem yöneticilerinin C ve COBOL gibi geleneksel programlama dillerinin yanısıra Java ve C# gibi modern dilleri desteklemesi gerekmektedir.