R/3 sistemlerdeki tüm application servisleri, daha önce de belirttiğim gibi application layer’da bulunur. Şimdi bu katmandaki işlevleri biraz daha ayrıntılı inceleyeceğiz.
Application katmanında, R/3 sistemini kontrol eden ABAP programları, work processler ve bu katmanın en önemli bileşeni olan dispatcher bulunur. Dispatcher tüm R/3 processlerini monitör eder ve aynı zamanda R/3 sistemi içerisinde birbirinden farklı görevleri bulunan work processleri de kontrol eder.
Work processler sistem içinde beş farklı türde bulunurlar. Bunlar; dialog wp (work process), background wp, spool wp, enqueue wp ve update wp’dir. Bu work processlerin elbette sistem üzerinde belirli görevleri ve sorumlu oldukları bazı işler mevcut. Aslında isimleri bir şeyler çağrıştırıyor olabilir ama yine de açıklayalım.
Dialog work process: Kullanıcı istekleri dispatcher vasıtasıyla dialog work processe aktarılır. Dialog work processi de ilgili kullanıcı isteğini yürütür ve kullanıcıya bunun çıktısını döner. Bundan sonra yeni bir istek kabul etmeye hazırdır. Yeni bir kullanıcı isteği geldiğinde yine o süreci işletir, işini bitirdiğinde ilgili dialog work process yine release edilir ve aynı veya farklı bir kullanıcıdan yeni bir görev almaya hazır hale gelir.
Background work process: Background work process ise, sistemde arkaplanda çalışan işlerin yürütülmesini gerçekleştirir. Arkaplanda çalışan bu iş, bir ABAP programı veya önceden planlanmış raporlama işlemleri gibi belirli durumlarda çalıştırılan bir uygulama olabilir.
Spool work process: Spool work processi, yazıcı gibi herhangi bir aygıta veri transfer edilmesinden sorumludur. Herhangi bir dialog ya da background wp’i bir yazdırma listesine uygun olarak bir print işlemi başlatabilir, ardından bu süreci spool wp devralarak işlemin sistem üzerinde bir spool request’i olarak konumlandırılmasını sağlar.
Enqueue work process: Enqueue work processi sistem üzerindeki “lock management” mekanizmasını kontrol eder. Lock management denilen sistem birden fazla kullanıcının aynı anda aynı data üzerinde değişiklik yapılmasının önlemektir. Eğer bir kullanıcı bir veri üzerinde işlem yapıyorsa, diğer kullanıcıların o veriye yalnızca view-only erişimi vardır. Veriyi değiştirebilmesi için, o veri ile çalışan kullanıcının çıkış yapması gerekir. Böylece enqueue wp de veri üzerindeki kilidi kaldırarak diğer kullanıcının erişimine izin verir. Bu tam işlevsel lock management yapısının tesis edilmesi önceden tanımlanan iş gereksinimlerine bağlı olarak değişiklik gösterebilir. Her R/3 sistemde bir tane enqueue work process bulunmaktadır.
Update work process: Update work process, sistem üzerine girişi yapılan dataların güncellenmesinden sorumludur. Girilen veri, V1 veya V2 bileşenleri kullanılarak update edilebilir. V1 bileşeni, kritik ve yüksek öncelikli güncellemeleri yapmak için kullanılırken, V2 bileşeni de daha az kritik ve orta öncelikli güncellemelerde kullanılır.
Work processler hakkında genel olarak bilgi verdikten sonra bir kaç önemli noktayı da belirtmek faydalı olacaktır.
Bir dialog work processinde veri üzerinde yapılan her değişikliğin logu geçici olarak VBLOG tablosunda tutulur. Hatalı bir değişiklik yapıldığında, geri dönüş için bu tablonun incelenmesi oldukça kolaylık sağlıyor.
Dialog transaction’ı tamamlandığında (yani dialog processi kullanıp bir değişiklik yapıldığında), dispathcer bir “free work process” başlatarak, düzgün bir şekilde aynı verinin database üzerinde de güncellenmesini gerçekleştirir. Bu işlem aynı zamanda “asenkron güncelleme – asynchronous update” olarak bilinir.
Application katmanında, bu servislerin yanı sıra yine dispatcher tarafından kontrol edilen diğer ek servisler de bulunmaktadır. Bunlar, message server ve gateway server‘dır.
Message server, birden fazla uygulama sunucusunun kullanıldığı R/3 konfigürasyonlarında, birbirinden bağımsız bu uygulama sunucuları üzerindeki haberleşmeden sorumludur.
Gateway server ise mevcut R/3 sistemin, diğer sistemler ile haberleşmesini sağlayan ve destekleyen bir servistir. Gateway server, her uygulama sunucu üzerinde çalışan SAP gateway’i kullanır. Gateway server; diğerR/3 sistemleriyle, R/3 ve R/2 sistemler arasında ve R/3 sistem ile diğer harici programların haberleşmesinden sorumludur. Aynı zamanda CPI-C adı verilen ve farklı yapıdaki programların birbiriyle haberleşmesini sağlayan interface’i yönetir. R/3 sistemlerin diğer mainframe veya harici ortamlarla haberleşmesinin temelinde CPI-C yer alır.
Google Docs: http://docs.google.com/View?id=ddhw5r9m_47fkxpgb63