<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>DAP: Gelişmiş Web tabanlı Arama, Raporlama ve Çizelgeleme oluşturma amaçlı Yazılım Çerçevesi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>İlter Tolga Doğan</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yasemin Şahin Doğan</string-name>
          <email>yasemin@e-kalite.com.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cevat Şener</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E-Kalite Yazılım</string-name>
          <email>ilter@e-kalite.com.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ODTÜ Teknokent</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bilgisayar Müh. Bölümü</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <abstract>
        <p>Özet. Bilgisayar ortamlarında tutulan bilginin artmasına ve İnternet kullanımının yaygınlaşmasına paralel olarak, Web üzerinden bilgi sağlayan ortamların sayılarının da hızla çoğaldığı görülmektedir. Ancak Web üzerinden sunumla ilgili olarak en tipik sorun, bilgilerin beklenen etkinlikte sunulamamasıdır. Birçok site, yalnızca basit arama ve raporlama işlevlerini desteklemeye çalışarak, bilgi sunumunu gerçekleştirmeye çalışmaktadır. Bu ise, sunulan bilginin bulunması, taranması, gösterimi, analizi vb. işlemler için yeterli etkinliği sağlamaktan uzak kalmaktadır. Bu bildiride, farklı veritabanları ya da veri ambarlarında ayrıntılı arama yapacak, sonuçları istenilen biçimlerde etkileşimli tablolarda raporlayacak ve anlamlandırmak için 2/3 boyutlu çizelgeler yaratabilecek Web yazılımları yaratmaya yönelik uygulama çerçevesinin (Dijital Analiz Platformu, DAP) genel teknik özellikleri, örnekler ile anlatılacaktır.</p>
      </abstract>
      <kwd-group>
        <kwd>Anahtar Kelimeler</kwd>
        <kwd>Bilgi sunumu</kwd>
        <kwd>veritabanı</kwd>
        <kwd>Web tabanlı</kwd>
        <kwd>arama</kwd>
        <kwd>raporlama</kwd>
        <kwd>çizelgeleme</kwd>
        <kwd>uygulama çerçevesi</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>bilmektedir. Benzer verilere sahip olup, aynı zamanda ileri analiz işlevselliği sunan
bir başka siteye kullanıcılar oldukça yüksek aidatlar ödeyerek üye olmaktadır.</p>
      <p>
        Bu şekilde sunulan bilgiden etkin olarak yararlanılabilmesi için, ETL
(AyrıştırmaDönüştürme-Yükleme) Yazılımları [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] veya Karar Destek Sistemlerinde [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
bulunanlara benzer analiz ortamlarının sağlanmasına gereksinim vardır. Bu nedenle bilgi
siteleri, kendi yazılım bölümlerinin olanakları ya da dış yüklenici kanalı ile sıfırdan
çözüm oluşturma yolunu seçmek durumda kalmaktadırlar. Ancak bu durumda veri
sunumuna yönelik önyüz işlevselliği konusunda gelişmiş çözümler üretememektedirler;
çünkü:
      </p>
      <p>Yazılımcı çalıştırma maliyetleri oldukça yüksektir. Bu da gelişmiş çözümlerin
oldukça yüksek bedeller gerektirmesi anlamına gelmektedir.</p>
      <p>Standart dışı ve özel yaklaşımlarla yazılım geliştirme yapılmaktadır.</p>
      <p>Yazılımlar sürdürülebilir olmayan yöntemlerle geliştirilmektedir. Bunun
sonucunda da, bir süre sonra önceki deneyimler sıfırlanarak yeni bir yazılım yapılması
gereksinimi oluşabilmektedir.</p>
      <p>Bu nedenle de, bu tip sitelerin az bir bölümü buna benzer olanaklar sunabilmektedir.</p>
      <p>Burada sunulan çözümde, ilişkisel veritabanlarında tutulan veriyi Web üzerinden
sunan siteler için oldukça gelişmiş analiz işlevlerine sahip önyüzler yaratan bir
uygulama çerçevesi yazılımı (framework) sunulmaktadır. Dijital Analiz Platformu (DAP)
ismi verilen bu çerçeve, E-Kalite Yazılım'ın uzun yıllardır üzerinde çalıştığı
PharmaCircle ve E-Strata gibi projeler sırasında geliştirdiği özgün yöntemler ve elde ettiği
yüksek deneyimi, daha da ileri bir seviyeye getirerek bir araya toplamak ve bundan
sonraki olası projelere de kolayca aktarmak amacı ile başladığı ve başarı ile
tamamlamış olduğu projesinin ürünüdür.</p>
      <p>Veri sunumuna ilişkin olarak elde edilen deneyimler, bu tip sitelerde bulunması
gereken analiz işlevselliğinin şu üç noktada yoğunlaşması gerektiğini göstermektedir:
1. Gelişmiş arama: Bir kullanıcı arabirimi yoluyla, veri alanı içinde ya da değişik
veri alanlarını karşılaştırma operatörleri (içerir, içermez, küçüktür vb.) mantıksal
bağlaçlarla (ve, veya) birleştirerek, belli kriterlerin karşılandığı sorguları oluşturma
işlevi.
2. Gelişmiş raporlama: Arama sonuçlarını, sütun yöneticisi, düzenli ifade ile
alanları filtreleme, çok sütunlu sıralama(yeni sıralama sütununa tıklandığında önceki
sıralamaları da unutmama), gruplama (benzer satırların aynı verilerini özel işaret ile
göstererek farklılaşan verilere vurgu yapabilme), farklı biçimlerde dosya olarak
dışa aktarma özellikleri olan tablo içerisinde gösteren işlev.
3. Gelişmiş çizelgeleme: Boyutların belirlenebildiği, alt kategorilere inilebilen,
çizelge bölümlerindeki verilerin gösterilebildiği ve sayısal tablo olarak verilerin dışa
aktarılabildiği farklı biçimlerde (pasta, sütun, çizgi, çubuk vb.) çizelgelerin arama
sonuçlarından oluşturulabildiği işlev.</p>
      <p>TÜBİTAK TEYDEB 1507 programı kapsamında desteklenmiş olan DAP, görsel
programlama aracı ile oluşturulabilen ve veri sunan sitenin mevcut web sayfalarına
kolayca entegre edilebilen, oldukça gelişmiş arama-raporlama-çizelgeleme (ARÇ)
işlevlerine sahip önyüzler yaratabilmektedir. DAP çerçevesinin birçok alana
uygulanabilir olması ve literatürde başka bir ARÇ odaklı çerçeve bulunmaması, DAP’ı farklı
ve güçlü kılmaktadır.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Yenilikler, Yaklaşım ve Yöntem</title>
      <p>DAP, "veritabanında barındırılan tipte verinin Web üzerinden etkin sunumu için
önyüz alt sistemi oluşturmaya yönelik yazılım çerçevesi" olarak tanımlanmış olup,
pazarda veya sektörde birçok ARÇ yazılımı bulunsa da, birçok arama kriterini birlikte
arayabilen yetenekte ARÇ üreten bir web çerçeve yazılımı olması niteliği ile DAP
diğerlerinden ayrılmaktadır.</p>
      <p>Tablo 1. DAP'ın en yakın özellikteki yazılımlarla karşılaştırılması.
Özellikler</p>
      <p>DAP</p>
      <p>Spotfire
spotfire.tibco.com</p>
      <p>Chiliad
chiliad.com</p>
      <p>Datameer
datameer.com
Çok alanlı arama
Alan içi karşılaştırma
operatörü kullanımı
(eşittir, içerir, eşit
değildir, azdır vb.)
Alanlar arası mantıksal
operatör kullanımı (ve,
veya, parantez)
Anahtar kelime arama
Fasetli arama
Çok veri kaynağında
arama
Rapor özelleştirme
Çok katmanlı hesap
tablosu aktarabilme
2 boyutlu çizelgeleme
3 boyutlu çizelgeleme
Çizelgelerde alt gruba
inebilme özelliği (illere
basınca ilçelerin
çizelgesinin çıkması gibi)
Aralık çizelgeleme (1-10,
10-20 gibi aralıkların
✓
✓
✓
X
X
✓
✓
X
✓
✓
✓
✓</p>
      <p>X
X
X
X
✓
✓
✓
X
✓
✓
✓
X
✓
✓
X
✓
✓
✓
✓
X
✓
X
✓
✓</p>
      <p>X
X
X
✓
✓
✓
✓
✓
X
X</p>
      <p>X
Kısmen
Yatay ölçeklendirme
kullanımı (NoSQL)
Çerçeve olması</p>
      <p>X
X
X</p>
      <p>Yazılım çerçevesi olma niteliği dışında, DAP'ın en yakın özellikteki yazılımlarla
karşılaştırılması Tablo 1’de özetlenmektedir. Bu tabloda 4 ARÇ yazılımı, arama,
raporlama, çizelgeleme ve yapısal özellikleriyle karşılaştırılmaktadır. Burada
görülebileceği gibi çoklu arama desteği olan yazılımlar bazı eksik ve artılarıyla birlikte
çerçeve olarak değil platform olarak tasarlanmıştır. Bu karşılaştırma DAP'ın sonraki
sürümüyle ilerleyeceği noktaların da belirlenmesini sağlamıştır.</p>
      <p>DAP'ın sağladığı başlıca yenilikler aşağıdaki gibi özetlenebilir:
1. Arama bölümünde kazanılmış deneyimin araştırma ve karşılaştırma sürecinde yeni
anlamlı özellikler eklenerek ve var olan özellik kümesinin farklı perspektiflerde
sade arayüzlerle kullanılmasını sağlayarak başarılı ve güçlü bir arama modeline
dönüştürülmesi;
4. Raporlama ve çizelgelemenin etkin kullanılarak karar alma sürecine yardımcı
olabilen bilgi hakkında genel yargıya varılabilmesini sağlayan bir araç oluşturulması;
5. Görsel programlama kullanan bir platform aracılığıyla kolay kullanımlı ARÇ
sitelerinin oluşturulabilmesi.</p>
      <p>Yalnızca güçlü arama özellikleri olan bilgi siteleri incelendiğinde iki türlü bilgi
sitesi olduğu görülebilir: (a) Tek satır üzerinden tam metin arama üzerine özelleşmiş,
buna göre endeksleme yapan (Lucene, Solr gibi) altyapıları kullanan, kesimli
(faceted) arama özellikleri gösterenler; (b) birden çok kriteri aynı anda kullanabilenler.
DAP çerçevesi kapsamında oluşturulan ARÇ çözümü, yukarıdaki (b) alanında
oldukça güçlü özelliklere sahiptir. Standart olarak (alanın veri türüne bağlı olarak) “eşittir”,
“içerir” gibi iç bağlaçların dışında, parantezle gruplanmış kriterlerin “veya” ile
bağlanabilmesi ve dinamik çizelgeleme gibi özellikleri de kolay bir arayüzle sunmakta,
birçok bilgi sitesinden bu güçlü özellikleriyle ayrılmaktadır. Kısacası DAP'ın esas
üstünlüğü, veri sunan sitelerinin ARÇ konusunda kullanabilecekleri özelleşmiş gerçek
bir çözüm sunmasıdır.</p>
      <p>
        DAP'ın geliştirilmesi sırasında, etkin bir yazılım çerçevesi ortaya koyabilmek
amacı ile alan mühendisliği [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] yaklaşımından da yararlanılmıştır. Bu yaklaşım içinde,
veritabanında barındırılan tipte verinin web üzerinden etkin olarak sunumuna ilişkin
gereksinimler ve bu gereksinimleri karşılayacak yüksek yetenekli çözümler, analiz ve
tasarım aşamalarında ayrı ayrı incelenerek, ortak olarak bulunması gereken
(commonalities) ve değişkenlik gösterebilecek yetenekler (variabilities) saptanmıştır [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Ayrıca, bu yeteneklerin ne şekilde yapılandırılabilecekleri (konfigüre edilebilecekleri) de
ortaya konulmuştur.
      </p>
      <p>
        Nesne/Bileşen olarak oluşturulacak olan çözümler, saptanacak ortak bir mimari
üzerinde buluşturulurken, seçim ve yapılandırma işlemlerinin yapılabilmesi için, DAP
yazılım çerçevesi kullanıcılarına yönelik bir görsel programlama aracı (GPA)
oluşturulmuştur. Bu açıdan ele alındığında DAP, bir kara-kutu uygulama çerçevesi [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
olarak karşımıza çıkmaktadır. Bahsi geçen GPA üzerinde yer alan seçenekler,
gerçekleştirilmiş olan ortaklık/değişkenlik analizi sırasında belirlenmiş olup, bunların dışına
taşan durumlar için çerçeve kullanıcılarına yönelik bir “özel kod” ekleme olanağı da
aynı GPA üzerinde sunulmaktadır. Yine ana ortaklık/değişkenlik analizi sırasında
oluşturulmuş olan özellik diyagramları da [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] GPA'nın modellenmesinde ana unsur
olarak yerini almıştır.
      </p>
      <p>Yazılım geliştirme sürecinde iki dönüşlü spiral model kullanılmıştır. İlk dönüş,
yazılım geliştirme sürecinin ana sürecini oluşturmuş, bu süreçte yazılım çerçevesinin ilk
hali oluşturulmuştur. Sonrasında edinilen geri beslemeler değerlendirilmiş ve ikinci
döngü sonucunda elde edilecek ikinci sürüm, ihtiyaçları daha iyi karşılar duruma
getirilmiştir.</p>
      <p>Şekil 1. DAP platformunun kullanımı.</p>
    </sec>
    <sec id="sec-3">
      <title>DAP Ortamının Genel Yapısı</title>
      <p>DAP platformunu daha rahat anlayabilmek için, önce çerçevesin kullanımına göz
atmak yararlı olacaktır. DAP çerçevesinin kullanımında, (1) web üzerinden sunulan
verinin barındığı veritabanına ait yapısal bilgi temel alınır, (2) istenilen ARÇ
işlevlerine ilişkin gereksinimlerin detay bilgisi GPA aracılığı ile kullanıcıdan istenilir ve (3)
çerçeve kapsamında geliştirilmiş olan bileşenler yapılandırılarak, ilgili siteye özel
önyüz alt sistemi (Şekil 1’de “DAP instance” ismi verilmektedir) oluşturulup siteye
entegre edilir. DAP çerçevesi ile oluşturulan alt sistemler veri üzerinde değişiklik
yapma amacı taşımaz; gelişmiş yöntemler kullanarak bu verinin en etkin şekilde
aranmasını, raporlanmasını ve çizelgelenmesini sağlar.</p>
      <p>Şekil 2. DAP Çerçevesinin bağlamsal veri diyagramı.</p>
      <p>DAP çerçevesinin genel hatları, bağlamsal veri diyagramı üzerinden aktarılmaya
çalışılacaktır (Şekil 2). Sıradan bir ARÇ sisteminin bağlamsal veri diyagramında spesifik
veritabanı ve hatta veritabanının dış kaynaklardan doldurulması işlemleri (şekilde sağ
üstteki kutular) de yazılımın içine eklenmektedir. Burada ise, bir çerçeve olması
nedeniyle tekil siteye özel konular, tümüyle sistem sınırları dışına çıkarılmış ve bunun
için gerekli tasarım değişiklikleri yapılmıştır. DAP önyüz yaratıcı çerçevesinde
seçilebilen modüllerin eklenmesi yoluyla yapılan değişiklikler konfigürasyon veritabanına
kaydedilir. Buradan kaynak kodu şeklinde düzenlenerek önbellek'e geçirilir. Site
kullanıcısı bazı seçimlerin sırasını değiştirebilir ya da gizleyebilir (“declarative
personalization” olarak isimlendirilmektedir). Bu değişiklikler yapılmazsa, önbellek
varsayılan şekliyle DAP ARÇ önyüzünü oluşturur. DAP ARÇ önyüzü, kendisine yaratılmış
önbellek kaynak koduyla istekleri özel veritabanında işler ve site kullanıcısına sunar.</p>
      <p>Şekil 3. DAP varlık-bağlantı diyagramı.</p>
      <p>Ortaklık/Değişkenlik çalışmasında da ana unsur olarak kullanılan “özellik” (feature),
tasarımda her şeyi kapsayacak bir tanım olarak düşünülmüş ve sistemin Özellik
Diyagramının üzerine kurulması tasarlanmıştır. Bu durum Şekil 3’te verilen
varlıkbağlantı diyagramında da görülmektedir. Sözgelimi; ARÇ sistemi, arama, özellik
grubu, kriter, kriterin herhangi bir özelliği vb. her tür varlık bir özelliktir.</p>
      <p>Kriter tek başına en az ve en çok verilerine sahip olacaktır. Kriterin bir alt özelliği
olarak adı ise yaprak bir özellik olduğundan bu özellikte en az en çok verisi her
zaman boş olacaktır. Yaprak özelliklerin ise Varsayılan verisi dolu olabilecektir. Yaprak
özelliklerle, yaprak olmayan özellikler ayrımının veri seviyesinde yapılmamasının
sebebi bu ayrımın yapılması durumunda ortaya çıkacak kodlama karmaşıklığının
karşılığında bir değer elde edilmeyecek olmasıdır.</p>
      <p>Projede gerçekleştirme sürecinde programlama dili olarak PHP5 kullanılmıştır.
Proje Zend Framework MVC (Model-View-Controller) altyapısı üzerine
gerçekleştirilmiştir. Veritabanı bağlantısı için PDO (PHP Data Objects) kullanıldığından, sistem
farklı veritabanı sistemleriyle uyumlandırılabilmektedir.</p>
      <p>DAP projesi başarı ile tamamlanmış olup, süren proje kapsamında yürütülen pilot
çalışma ticari olarak değerlendirilmiş olması ile gerçekleştirilen gösterim ve
sunumlarda edinilen oldukça olumlu geri bildirimler bunun en önemli göstergelerindendir.</p>
      <p>Şekil 4. Varlık-bağlantı şeması.
4</p>
      <p>Örnek: DAP ile bir ARÇ Önyüzünün Oluşturulması
Bu bölümde DAP çerçevesi kullanılarak bir site önyüzü oluşturma aşamalarından
örnekler verilmektedir:</p>
      <p>Varlık-bağlantı şeması (Şekil 4):
Farklı veritabanlarının yazılım tarafından tanınabilmesi için çerçeveye MIT lisansıyla
bir varlık-bağlantı çizme aracı eklenmiş, araçta gerekli hata düzeltmeleri ve
değişiklikler yapılarak aktardığı dosyanın DAP tarafından kullanılabilir olması sağlanmıştır.
Çerçeve için önemli bir özellik de yazılım IDE'si içinde farklı veritabanlarına
uyumluluğun sağlanabilmesidir. Varlık-bağlantı şeması oluşturucu “DAP Yazılım
Çerçevesinin bağlamsal veri diyagramı” bölümündeki veritabanının yazılımın kök bölümünün
dışında bırakılmasını sağlamıştır. Bu sayede DAP varlık-bağlantı diyagramı altkümesi
ile anlamlandırılacak herhangi bir veritabanından ARÇ sistemi yaratabilir yetkinliğe
getirilmiştir. Bu aynı zamanda yazılım mühendisliğinin önde gelen modelleme
araçlarından olan varlık-bağlantı diyagramının, tasarım çalışmasının ardından bir kenara
bırakılmak yerine, yazılımın içinde yaşar durumda tutulması anlamına gelmektedir.</p>
      <p>DAP çerçevesinin ana kullanım ekranı (Şekil 5):
ARÇ düğümleri en sol bölümde; seçilen ARÇ düğümüne özel arama, rapor, çizelge
düğümleri ve bunların kriter, sütun ve boyut alt düğümleri orta bölümde; düğümlerin
özellikleri de (özellik diyagramında çocuğu olmayan yaprak düğümler, yani
özellikler) sağ bölümde gösterilmiştir. Özellik diyagramının esnek yapısı yerine ARÇ
sistemleri için hazırlanmış 3 basamaklı bir yapı ile kullanım kolaylığı sağlanmıştır. Bu
basamaklardan
─ İlki, soldaki ilk bölümden ARÇ (yani ana düğüm) seçimi ya da yaratılması;
─ İkincisi, ortadaki bölümden ARÇ'lerin alt düğümü olan kriter, sütun ya da boyut
seçimi ya da yaratılması;
─ Sonuncusu, sağdaki bölümden alt yaprak düğümü olan özniteliklerin gruplanarak
sıralanması ve değiştirilebilmesi
olarak kurgulanmıştır. Bilinen hızlı programlama araçları (RAD) IDE'leriyle
benzerlik, görsel programlama sürecini yazılımcılar için daha sezgisel kılmıştır.</p>
      <p>Arama kriterlerinde, raporlama alanlarında ya da çizelgeleme boyutlarında
kodlama yapılması (Şekil 6):
Düğümlere özel kodlama yapılabilmesi yazılımın bir çerçeve olarak esneklik
kazanabilmesi için gereklidir. DAP'ta Zend Framework sözdizimiyle ya da Zend'in üzerine
kurulduğu PHP diliyle kodlama yapılabilir. Kodlama üst ARÇ düğümlerinde
yapılabilir; birden çok ARÇ üzerine işlev yazılabilir. Yazılmış işlevler alt düğümlerde
kullanılabilir.</p>
      <p>Kodlamada değişecek gönderilecek parametreler ve dönecek değer yazılımcının
değiştiremeyeceği bir şekilde sabitlendiğinden kod yapısının karmaşıklaştırılması riski
azaltılmıştır. Arasözlerle kodlamanın yapılacağı yerde parametreler, dönen değerle
ilgili yardım yazılımcıya yardımcı olacak şekilde ön plana çıkarılmıştır. Siteye has bu
tip özel istekler mevcut değilse kullanılması gerekmez.
Şekil 5. (a) DAP ana kullanım ekranında Arama-Raporlama-Çizelgeleme ve alt düğümlerinin
gösterildiği sol bölüm; (b) bir yaprak düğümün özniteliklerinin değiştirildiği sağ bölüm.</p>
      <p>Oluşan arama-raporlama-çizelgeleme sitesi, ayrıntılı (detailed) arama (Şekil 7):
Dinamik tablo yapısı E-Kalite Yazılım’ın yıllardır geliştirmekte olduğu kütüphaneden
alınmıştır. Dinamik tablo içerisinde,
─ Yeni sütunlar eklenebilir, sütun kümeleri tümden açılıp kapatılabilir.
─ Filtreleme yapılabilir ve düzenli ifade ile karmaşık filtreler oluşturulabilir.
─ Birden çok sıralama üst üste yapılabilir (örneğin; A, B ve C sütunları
sıralandığında DAP C içinde aynı değerde olan satırları B'ye göre, B'ye göre de aynı değerde
olan satırları A'ya göre sıralar).
─ Çeşitli dosya bilimlerine aktarım yapılabilir.</p>
      <p>Arama kriterlerinin otomatik tamamlama özelliği vardır.</p>
      <p>Şekil 6. ARÇ özelleştirme amaçlı kodlama.</p>
      <p>Oluşan arama-raporlama-çizelgeleme sitesi, esnek (flexible) arama (Şekil 8):
Kriter içi operatörler, bağlaçlar ve parantezlerle birçok karmaşık sorgu
uygulanabilmektedir. Parantezlerin gruplanma biçimi oldukça kolay tasarlanmıştır.</p>
      <p>Aramadan boyutlar seçilerek oluşturulabilen bir çizelge (Şekil 9):
Sütunlara basılarak o sütunun içeriği dinamik tabloda gösterilebilmektedir ve buradan
da aramaya gidilerek yeni arama kriterleri eklenip, istenmeyen kriterler
çıkarılabilmektedir. Sağdaki bölümde kategorilerin üzerine tıklandığında alan hiyerarşikse alt
kategoriye girilebilmektedir (Kardiyoloji'nin altında Genel Kardiyoloji, Pediatrik
Kardiyoloji vb). Tüm işleyiş varlık-bağlantı şemasını üzerine kurulmuş DAP görsel
programlama aracı ile kurgulanmıştır.</p>
      <p>Şekil 7. Oluşan ARÇ önyüzünde ayrıntılı (detailed) arama.</p>
      <p>Şekil 8. Oluşan ARÇ önyüzünde esnek (flexible) arama.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Sonuçlar</title>
      <p>DAP' çerçevesinin yazılım mühendisliği açısından en önemli getirisi, geliştirme için
harcanan emeğin tekil bir yazılıma özel bırakılmaması ve üzerinden yeni yazılımların
üretilebileceği bir çerçeveye gömülmesidir. Bu çalışmada E-Kalite Yazılım, 10 yıllık
arama-raporlama-çizelgeleme sistemi deneyimini, daha önce geliştirmiş olduğu
kütüphaneleri de aktararak bir yazılım çerçevesine çevirmiştir. DAP çerçevesinin bu ilk
sürümü bir ticari projede başarıyla kullanılmış ve ilgili bilgi sitesinin gelişmiş ARÇ
işlevlerine sahip önyüzü DAP çerçevesi ile oluşturulmuştur.</p>
      <p>Şekil 9. Oluşan ARÇ önyüzünde, boyutlar seçilerek oluşturulabilen bir çizelge.</p>
      <p>E-Kalite Yazılım bu konuda çalışmaya devam etmekte ve yazılımı daha da
ilerletmektedir. DAP'ın yeni sürümünde, NoSQL ile bağlantılı veritabanı sistemlerinin
ortaklaşa kullanımıyla raporlamada önemli önemli atılımlar (yatay ölçeklendirme ve
fasetli aramanın performans kazanımlarıyla OLAP tarzı analitik raporlamalar
yapılabilmesi gibi) ve veri yönetiminin de çerçeveye entegre edilmesi planlanmıştır.</p>
      <p>Teşekkür: Projenin hayata geçmesinde sağladığı destekten ötürü TÜBİTAK
TEYDEB 1507 programına teşekkür ederiz.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>P</given-names>
            <surname>Vassiliadis</surname>
          </string-name>
          .
          <article-title>A Survey of Extract-Transform-Load Technology</article-title>
          . Editörler:
          <string-name>
            <given-names>D.</given-names>
            <surname>Taniar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>Integrations of Data Warehousing, Data Mining and Database Technologies: Innovative Approaches</article-title>
          , Idea Group Inc,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.P.</given-names>
            <surname>Shim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Warkentin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Courtney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Power</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sharda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Carlsson</surname>
          </string-name>
          . Past, Present, and
          <article-title>Future of Decision Support Technology, Decision Support Systems</article-title>
          , Cilt:
          <volume>33</volume>
          , Sayı: 2, Sayfa:
          <fpage>111</fpage>
          -
          <lpage>126</lpage>
          ,
          <year>Haziran 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Coplien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hoffman</surname>
          </string-name>
          ve
          <string-name>
            <given-names>D.</given-names>
            <surname>Weiss</surname>
          </string-name>
          .
          <article-title>Commonality and Variability in Software Engineering</article-title>
          . IEEE Software, Cilt:
          <volume>15</volume>
          , Sayı: 6, Sayfa:
          <fpage>37</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>J. van Gurp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bosch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Svahnberg</surname>
          </string-name>
          .
          <article-title>On the Notion of Variability in Software Product Lines</article-title>
          .
          <source>Software Architecture</source>
          ,
          <source>Cilt: 45</source>
          , Sayı:
          <volume>54</volume>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>M.</given-names>
            <surname>Fayad ve D. C.</surname>
          </string-name>
          <article-title>Schmidt</article-title>
          .
          <article-title>Object-oriented application frameworks</article-title>
          .
          <source>Communications of the ACM, Cilt: 40</source>
          , Sayı:
          <volume>10</volume>
          , Sayfa:
          <fpage>32</fpage>
          -
          <lpage>38</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A. van Deursen ve P.</given-names>
            <surname>Klint</surname>
          </string-name>
          .
          <article-title>Domain-Specific Language Design Requires Feature Descriptions</article-title>
          .
          <source>Journal of Computing and Information Technology</source>
          , Sayı:
          <volume>10</volume>
          , Sayfa:
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>