{"id":266,"date":"2011-01-03T07:47:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=266"},"modified":"2011-01-03T07:47:00","modified_gmt":"1970-01-01T00:00:00","slug":"business-objects-universe-nedir","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2011\/01\/03\/business-objects-universe-nedir\/","title":{"rendered":"Business Objects Universe Nedir"},"content":{"rendered":"\n<p>\nMerhaba arkadaslar ge\u00e7en hafta bug\u00fcn yazdigim makalede Business Objects&#8217;e bir giris yapmaya \u00e7alismistim.  Bu makalede de Business objects&#8217;in Designer isimli mod\u00fcl\u00fcn\u00fc anlatacagim. Bu Designer nedir? Ne ise yarar?\n<\/p>\n<p>\n\u00d6ncelikle sunu s\u00f6yleyeyim Universe dedigimiz katman Business Objects&#8217;in rakiplerine g\u00f6re ileride oldugu g\u00fc\u00e7l\u00fc yanidir. \u00d6zet olarak Veritabaninin o karmasikligini en aza indirdigimiz rapor \u00e7ekenlerin isini hizlandiracagimiz mantiksal katmanimizdir Universe. \n<\/p>\n<p>\nGe\u00e7en makalemizde raporlamanin vardigi ve gittigi noktayi anlatmistim. Neydi bu nokta, hi\u00e7 bir teknik bilgisi olmayan is birimindeki bir kullanicinin istedigi an istedigi bilgiye ulasmasiydi. Dolayisi ile bunu saglayabilmek i\u00e7in kullanicinin \u00f6n\u00fcne \u00f6yle bir platform sunmaliyiz ki s\u00fcr\u00fckle birak ile raporunu rahatlikla yapsin. S\u00fcr\u00fckle birak ile kullanacagi bu objeleri ve daha fazlasini i\u00e7eren yapiya Universe diyoruz ve Designer mod\u00fcl\u00fc ile \u00fcretiyoruz.\n<\/p>\n<a href='www.yazilimmutfagi.com'>.<\/a>\n<p>\nKurdugumuz Business Objects sisteminde bir universe olabilecegi gibi birden fazla universe&#8217;ler de olabilir. Her bir universe tekbir veri kaynagina baglanir ve bu baglandigi kaynakta ki veritabani tablolarini kullanarak universe tasarlariz.\n<\/p>\n<img decoding=\"async\" src=\"http:\/\/www.yazilimmutfagi.com\/yuklenendosyalar\/image\/mesut\/mesutmakale2_1.png\" alt=\"BusinessObject\"   longdesc=\"http:\/\/www.yazilimmutfagi.com\" \/>\n<p>\n  Universe&#8217;e her ekledigimiz tablo i\u00e7in gerekli join islemlerini yapariz, cardinality&#8217;sini belirleriz. Daha sonra bu tablolardan Universe Obje&#8217;lerini olusturacagiz. Bu objeleri tipki rapor yaparken kullanacagimiz s\u00fcr\u00fckle-birak y\u00f6ntemi ile yapabilriz. Ya bir tabloyu tutup komple solda duran bos alana atabiliriz. Yada o tablodaki kolonlardan istedigimiz alanlari s\u00fcr\u00fckle birak ile objeleri olusturabiliriz.\n<\/p>\n\n<img decoding=\"async\" src=\"http:\/\/www.yazilimmutfagi.com\/yuklenendosyalar\/image\/mesut\/mesutmakale2_2.png\" alt=\"BusinessObject\"    longdesc=\"http:\/\/www.yazilimmutfagi.com\" \/>\n<p>\nObje olusturma isleminde \u00f6nemli bir nokta var ki unutulmamalidir. Universe islemini sadece teknik insanlar yani IT&#8217;de bu konuda sorumlu insanlar  tek baslarina kesinlikle yapmamalidirlar. Bu islem sirasinda is biriminden kisilerde IT personelinin yaninda durmalidir. Yoksa yaptigimiz Universe mantiksal bir katman degil, veritabaninin kullanicilara a\u00e7ilmis hali olur. Bu durum ise rapor anlaminda IT&#8217;deki is y\u00fck\u00fcn\u00fc almak yerine daha artirir. \u00c7\u00fcnk\u00fc artik birde y\u00f6netmeleri gereken ekstra bir sistemleri bulunmaktadir. Universe tasarlarken; best practise olarak Universe tasarlamayi bilen, universe&#8217;\u00fc yapilacak veritabanini iyi bilen ve rapor talep eden(is birimi) kisiler bir araya gelerek yapmalidirlar. Rapor talipkari isteklerini belirtir, bu isteklerin veritabaninda neye denk geldigini, nasil kullanacagini o veritabaninin uzmani s\u00f6yler, Universe yapacak kisi de bunlarin hepsinin birlestirerek Universe&#8217;ni olusturur. Tablolar Universede birbirlerine baglandiktan sonra &#8220;Class&#8221;lar yaratilmali bu Classlar veritabani kolonlarinin mantiksal oalrak birlestirildikleri yerdir. Mesela; B\u00f6lgeler isminde bir Class yaratip i\u00e7in B\u00f6lge ADlarini, B\u00d6LGE IDlerini vb. alanlari koyabiliriz. Zaman isminde bir Class yapip i\u00e7ine \u00c7EYREK,YIL,AY gibi alanlar koyabiliriz. Daha sonra u\u00e7 kullanici rapor yapmak istediginde kolay bir sekilde B\u00f6lge adini bulabilir, istedigi zamana g\u00f6re sorgulayabilir. Bu objelerin ve Classlarin isimleri veritabaniyla ayni olmasi sart degildir. Aslinda \u00e7ogunlukla farkli olur. \u00c7\u00fcnk\u00fc o alanlari is birminin anlayabilecegi bir isme \u00e7evirmek gerekir. Iste Universe yaparken is biriminin yaninzda olmasinin en b\u00fcy\u00fck nedenlerinde biride budur. \u00d6rnek vermek gerekirse, siz database&#8217;nizde XID diye bir alan tutuyorsunuzdur, ama is birimlerindeki adi \u00dcr\u00fcn Kodu olabilir. Dolayisi ile bu isim degistirmeyi Univese&#8217;de Obje&#8217;nin ismini degistrerek  yapabilirsiniz. Obje ismini degistirdikten sonra , bu objeye sag tik yapip Object Properties derseniz Select kisminda hala tablo adi ve kolan isminin ayni olarak kaldigini g\u00f6r\u00fcrs\u00fcn\u00fcz.\n<\/p>\n<p>Diger bir nokta ise veritabaninda bazi alanlar look-uplari  veya kolon commentleri ile anlamli olabilir. Mesela X kolon&#8217;nun i\u00e7inde 0,1,2 degerleri olabilir, ama 1 silinmis, 2 var, 0 negatif &#8216;i temsil edebilir. Dolayisi ile bu durumu Universe tasarlarken d\u00fczeltmeniz gerekir. Attiginiz bu objeyi deceode veya case when gibi fonksiyonlarla(Dbnize g\u00f6re degisir.) a\u00e7iklayici hale getirmelisiniz.  Ayrica yine universe&#8217;de aggregate objelerinide olusturmalisiniz. Mesela Abone Sayisi alani bunu Universe tanimlamalisiniz. Aggeragate  islemler BO&#8217;da rapor \u00e7ekerken yapilamaz. Ancak rapor \u00e7ekildikten sonra yapialabilir eger Universede tanimlanmamissa.  Bu durumda Dbnize daha fazla y\u00fck getirmenize sebep olabilir. DB&#8217;e y\u00fck demisken Universe&#8217;nizde ki joinleme islemini \u00e7ok d\u00fczg\u00fcn yapmalisiniz ve tutarli bir sekilde test etmelisiniz. Bu joinlere g\u00f6re ; otomatik SQL sorgulari yapilacagini unutmayin. Eger bu islemde bir hataniz varsa, ollusturulan raporlar \u00e7alismayabilir, diger raporlarinda \u00e7alismasini engelleyebilir. Hatta sisteminizin durmasini sebep olabilir.\n<\/p>\n<a href='www.yazilimmutfagi.com'>.<\/a>\n<p>\n Bu islemi dogru yaptiniz kulllanicilariniz da hatasiz \u00e7alisabiliyor ise  asagidaki Universe avantajlarini kullanicilariniz aktif olarak kullanabiliyor demektir.\n<\/p>\n <ol>\n <li>SQL yazma derdi olmadan teknik gereksinime ihtiya\u00e7 duymadan, arkadaki tablo mantigini bilmek gerekmeden rapor yapilabilir.<\/li>\n  <li>Yetkilendirmesini saglam yaptiginiz takdirde her kullaniciniz sadece ona verdginiz kadar bilgiyi kullanabilir<\/li>\n   <li>Kullanicilariniz datadan ayni anlami \u00e7ikaracaktir. Yani is terminolojisi her yerde ayni olacaktir.<\/li>\n    <li>Kullancilar kolay bir sekilde analiz yapabilecekler.<\/li>\n <\/ol>\n <p>\nUniverse hakkinda anlatilabilecek \u00e7ok fazla sey var.  Mesela bana \u00e7ok\u00e7a sorulan bir soru var. Universe yaptik ve \u00e7alisiyor ancak; otomatik olarak bir rapor i\u00e7in birka\u00e7 SQL olusturuyor. Simdi bunun basit bir sebebi var. Universe&#8217;de \u00e7ikan bir hatadan kaynaklaniyordur. B\u00fcy\u00fck ihtimalle bir loop vardir. Ancak; bu tip detaylari ufak makaleler ile vermeyi d\u00fcs\u00fcn\u00fcyorum. Kisilere veya gruplara g\u00f6re Universe seviyesinde restrinctionlar koymaktan, Derived table&#8217;lar yapmaya, Hierarchies kullanmaya kadar bir \u00e7ok konu var, bu konulara yeri geldiginde deginecegim.\n<\/p>\n<p>\nTekrar g\u00f6r\u00fcsmek \u00fczere\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Bu makalede de Business objects\u2019in Designer isimli mod&#252;l&#252;n&#252; anlatacagim. Bu Designer nedir? Ne ise yarar? &#214;ncelikle sunu s&#246;yleyeyim Universe dedigimiz katman Business Objects\u2019in rakiplerine g&#246;re ileride oldugu g&#252;&#231;l&#252; yanidir. &#214;zet olarak Veritabaninin o karmasikligini en aza indirdigimiz rapor &#231;ekenlerin isini hizlandiracagimiz mantiksal katmanimizdir Universe. <\/p>\n","protected":false},"author":547,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[441],"tags":[4169,5850,4905,5970,4613,5543,5344],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/266"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/547"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=266"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/266\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}