Makaleler

Kurumsal bir yazılım çözümünü değerlendirirken, işlevsellik ve kullanıcı arayüzü tek başına yeterli değildir. Sistemin temeldeki mimarisi ve teknolojisi değişen ihtiyaçlarınızı karşılayacak kadar esnek  yada  gereksinimlerinizi hayata geçirmek için yeterince çevik değilse, sistemi kullanıcı taleplerine göre esnetmek, konfigüre etmek için teknik bilgiye yada hizmete ihtiyaç duyuyorsanız, gösterişli bir kullanıcı arayüzü çok az şey ifade eder.

Bu yüzden bir ERP sistemini değerlendirirken, kullanıcı arayüzünün altına, kaputa bakmalıyız. Kullanılan mimari ve teknoloji, şirketiniz büyüdükçe büyüyen bir sistem oluşturmak için gerekli bileşenleri ve yapıları sağlıyor mu? Güncel teknolojilere uyumlu mu? Toplam satınalma maliyetinizi (TCO) düşürüyor mu? IFS Kurumsal İş Uygulamaları, şirketiniz büyüdükçe büyüyen, esnek ve çevik bir sistem oluşturmak için Servis Odaklı Bileşen mimarisini, hem uygulama da, hem de uygulama geliştirme de katmanlı mimari ile birleştirir. IFS Kurumsal Kaynak Planlama (ERP) Uygulamalarında, kaputun altına baktığınızda, sektöre ilham verici bir teknolojik altyapı görürsünüz.

IFS İş Uygulamalarının temel mimari prensipleri nelerdir?

BİLEŞEN MİMARİSİ

Kurumsal Kaynak Planlama (ERP) Sistemleri, bir işletmede ölçeklenebilir, toplanabilir her türlü verinin entegre bir şekilde işlediği yapılardır. Satış, satın alma, üretim, bakım, muhasebe, finans, maliyet , proje yönetimi, lojistik yönetimi, IK v.b. her türlü sürecin bir arada ve birbirlerini etkileyerek yürüdüğü bir sistem olması itibariyle, çok fazla sayıda form, ekran, süreç  ve arayüz içerir. Bu bağlamda, en karmaşık yazılım sistemleri olarak adlandırılabilir. Böyle bir sistemde, en önemli sıkıntı ise,bu derece karmaşık bir yapının yönetilmesi problemidir. IFS Kurumsal Kaynak Planlama (ERP) Uygulamaları, tıpkı legolar gibidir. Nasıl yüzlerce lego parçası, uygun bağlantıları ile  biraraya gelerek, ürünü oluşturursa, IFS Kurumsal Kaynak Planlama (ERP)’da 300 civarında alt uygulamadan oluşur.Bileşen adını verdiğimiz bu alt uygulamaların hepsi, gerçek bir uygulama gibi çalışabilme özelliğine sahiptir. Kendine ait veri yapısı, iş kuralları ve arayüzleri vardır. Her bir bileşen, servisler aracılığıyla bir arada çalışarak, ihtiyaçlarınız ve gereksinimleriniz değiştikçe, adım adım kurularak, big-bang kurulumlara ihtiyaç duymadan, sisteminizden daha hızlı ve çabuk sonuç almanızı ve yatırımın daha çabuk geri dönüşünü sağlar.

Her bir bileşenin ne yaptığını ve diğer bileşenler ile nasıl ilişkide olduğunu tanımlayan arabirimler, yapılacak bir sistem geliştirmesinin diğer bileşenleri etkilemeden gerçekleşebilmesini ve dolayısıyla, yazılım geliştirici için en büyük kabuslardan olan “yaptığım bu geliştirme,  entegre bir sistemde nereleri bozmuş, bug oluşturmuş olabilir?” sorusuna, “sadece bu bileşen içinde bu problem olabilir yada arabirim aracılığıyla ilişkide olduğu servisleri kontrol etmen yeterli” cevabını verecek ve güvenli bir sistem geliştirme ortamını oluşturacaktır.

Özet olarak bileşen mimarisi, kompleks uygulamaları, daha küçük yapılarda yani modüler devreye almaya, ihityaçlara göre sistemi büyütmeye ve güvenli bir kod geliştirme ortamı sunar.

ÇOK-KATMANLI MİMARİ

IFS  Kurumsal iş uygulamalarının, fiziksel mimarisi 3 ana katmana ayrılmıştır.Bu katmanların her birinin kendi işlevi vardır ve diğer katmanlardan net bir şekilde ayrılmıştır. Her katmanın kendine ait yazılım nesneleri vardır.

Storage katmanı, sistemde yer alan tüm veritabanı nesnelerinin (tablolar, indeksler, kısıtlar, tetikleyiciler .v.s) bulunduğu katmandır.İlişkisel veri tabanı modeline göre geliştirilmiştir ve iş kuralları katmanı hariç, bu katmandaki veriler değiştirilemez. Bu veri tutarlılığını sağlayarak ve arka-kapı izinsiz veri değişikliklerini engelleyerek, verilerinizin güvenli olmasını sağlar. IFS sistemlerinde, son kullanıcıların bu katmana erişim hakları yoktur, bu yüzden hiç bir kullanıcı, sistemde kendisine verilen yetkiler ve kurallar haricinde arka-kapı sistem değişikliği yapamaz.

İş Kuralları Katmanı, uygulamanın kalbidir. Tüm süreçler, fonksiyonalite,kurallar ve iş akışları bu katmanda kodlanır. Bir nevi, uygulamanın ne iş yapacağının ve bunu nasıl yapacağının tüm kodunun bulunduğu katmandır. IFS’te hiçbir iş kuralı arayüz katmanında yazılmaz. Tüm arayüzler, iş kuralları katmanıyla servis odaklı hizmet ile çalıştıklarından, aynı işlevi yapan birden fazla arayüz için sadece tasarım yapmanın yeterli olduğu bir esneklik ve kolaylık sağlar. Lokasyonlar arası malzeme taşımanın iş kuralı bir tanedir ve iş kuralları katmanında kodlanmıştır. Bu işlevi yapan uygulama formu, el terminali ekranı yada akıllı tablet uygulaması, web sayfası her ne şekilde arayüz yaparsak yapalım aynı iş kuralının servisini kullanacaktır. İş kuralları katmanını, diğer katmanlardan ayırmak bu açıdan inanılmaz bir esneklik ve kolaylık sağlar.

İş kuralları katmanı, kendi içinde 2 alt katmandan oluşur. Kor uygulama  katmanı, veri katmanında tablo verilerinin nasıl değişeceğinin tanımlandığı, kısacası tüm süreç detay kodlamalarını içerir. Servis katmanı ise, tüm arayüzler ve entegrasyonların,kor uygulama katmanına erişimini sağlayan servisleri içerir.

Uygulama Katmanı, kullanıcıların sistemle olan tüm etkileşiminin sağlandığı katmandır. Kullanıcılar, bu katmanda sunulan farklı tipte arayüzler ile (web tarayıcısı, tablet uygulaması veya masaüstü uygulama) sistemi kullanırlar. Bu katman, servisler aracılığıyla iş kuralları katmanına erişir.


Her iş bileşeni, farklı yazılım bileşenleri ve nesnelerden oluşur.İş bileşenleri, bir araya gelerek ve etkişelerek daha büyük görev ve süreçlerin çalışmasına sebep olurlar.

KATMANLI YAZILIM GELİŞTİRME MİMARİSİ

IFS uygulamaları, 9 versiyonundan itibaren uygulama tarafında kullandığı katmanlı mimari yaklaşımını yazılım geliştirme tarafına da taşıdı. Bu yapıya göre farklı katmanlarda geliştirilen ve bir hiyerarşiye sahip kodlar, her katmanda, sadece bir alt katmana ait farklıları içermektedir. Bu durum, statik bir koda değil, alt katmanlardan gelen tüm değişikliklere göre dinamik olarak oluşan bir kod yapısının oluşmasına sebep vermekte.

Core Katmanı: Uygulamanın temel olarak geliştirildiği katman. Tüm veri yapısı, iş kuralları ve arayüz bu katmanda geliştirilir.

Yerelleştirme Katmanı:  Ülke ve pazar gereksinimlerine göre, core katmanında yer alan kodlara ait varsa farklılık ve yenilikleri içerir. Örneğin core uygulama satış faturasına ait ülke yerelleştirmeleri bu katmanda bulunur.

Özelleştirme Katmanı: Müşteriye ait özel yerelelleştirmeler bu katmanda bulunur. Bu katman bir nevi, yerelleştirme katmanından farklı yada yeni özelleştirmeleri içerir.

Bu 3 katman, kod katmanlarını oluşturur. Bir müşterinin sisteminde bir sürece ait kod, en alt katmandan (Core), en üst katman (Customization)’ a kadar tüm kodların hiyerarşik yapısıyla oluşur.

Kodun katmanlara ayrılması çok önemli avantajlar sağlar.

  1. Her katmanda, sadece bir alt katmana göre farklılıklar mevcut olduğu için, müşterinin sisteminin temel sistemden hangi alanlarda farklılıklar içerdiği, nelerin yerelleştirildiği  ve ihtiyaçlara göre özelleştirildiği görülebilir.
  2. Kodlar dinamik olarak oluştuğundan, alt katmanlarda yapılan kod düzeltmeleri, eklemelerinin, üst katmandaki yerelleştirmeleri ezmeden, onları da içerecek şekilde oluşturabilmesini sağlar.
  3. Her katmanda yer alan farklılıklar, upgrade sürecinde yerelleştirmelerin tekrar yazılmasını ortadan kaldırır ve sistemin hızlı bir şekilde upgrade olabilmesini sağlar.

Konfigürasyon Katmanı: Kullanıcıların, bir geliştirme ihtiyacı ve ortamı, teknik bilgisi duymadan yeni veri yapıları, ekranlar, kulakçıklar, menüler oluşturmalarına olanak veren ve bunu derleme yapmadan, bir platform kullanmadan yapabilmelerini sağlar. Bu katmanın sağladığı özellikler, sisteminizin tailor-made (terzi-işi) bir sisteme müşteri tarafından dönüştürülebilmesini sağlar.

Kişiselleştirme Katmanı: Kurumsal iş uygulamalarında, ekran ve formlar, aynı ekranları kullanan farklı operasyonel roller için farklı alanlar içerir. Çoğu kullanıcı için  bu alanların çoğu gereksizdir ve ekranda olmamaları tercih edilir. IFS kullanıcıları, yetki verildiği takdirde, ekranlarda alanları gizleyebilir, yerlerini değiştirebilir ve ekran tasarımı kendi ihtiyacına göre, giriş yaptığı tüm cihazlarda senkron olacak şekilde özelleştirebilir.Üstelik, yeni bir kayıt oluşturulduğunda, sıklıkla girdiği kendi öndeğerlerini bile tanımlayabilir. (Sipariş açıldığında, müşteri bilgisi olarak kendi temsilcisi olduğu müşteriyi öndeğer tanımlatmak gibi). Bu şirkete özel IFS’ten , kişiye özel IFS’e taşıyan ve kullanıcı deneyimini bir bütün olarak tamamlayan en önemli özelliklerden birisidir.

Barış Özkan

IFS Türkiye AR-GE ve Teknik Hizmetleri Direktörü

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment