Hareket işlem sistemi
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ılması 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 [[ara yazılımı|ara yazılımlarına (İng.' middleware) hareket işlem yöneticisi (İng.  transaction processing monitor) denir. Bir hareket işlem yöneticisi üç amaca hizmet eder:
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.
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.
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 hangi koşullarda zaman aşımına uğrayacağını içerir. Gerekirse hareketi parallel görevlere böler; 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önetimi yazılımları bir hareket işlem sisteminin ölçeklenebilirliğini büyük ölçüde artırır. Sistem her biri 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 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 Oracle Tuxedo; eskiden BEA Tuxedo idi.
IBM CICS, Encina ve IMS.
Oracle EJB JTS (Java Transaction Service); eskiden Sun JTS idi.
Microsoft COM+.
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.