indekiler Giri .......................................................................................................................................................... 3 SOA Nedir? .............................................................................................................................................. 3 SOA Yaam Dngs................................................................................................................................ 4 Neden SOA? ............................................................................................................................................. 5 SOA Ynetiimi ........................................................................................................................................ 6 SOA Olgunluk Modelleri .......................................................................................................................... 7 webMethods ........................................................................................................................................... 9 Workspace, Workbench ve Perspektifler ............................................................................................ 9 Sre Gelitirme Perspektifleri .......................................................................................................... 10 Subprocess, Steps .............................................................................................................................. 10 Steps Input ve Output ....................................................................................................................... 10 Step Geileri ..................................................................................................................................... 10 Join Conditions, Subscription Filtreleme ........................................................................................... 11 Sre Hata Ayklama ve Sre Simlasyonu ...................................................................................... 11 Dier Perspektifler ............................................................................................................................. 11 webMethods Dokman Tipleri .............................................................................................................. 11 IS (Integration Server) Dokman Tipi ................................................................................................ 11 Dokuman Referans ............................................................................................................................ 12 Pipeline Referans ............................................................................................................................... 12 Trigger ............................................................................................................................................... 12 Kabul Edilen Dokman Tipleri ........................................................................................................... 12 Dorulama ......................................................................................................................................... 12 Servisler ................................................................................................................................................. 13 Flow Servisler..................................................................................................................................... 13 Flow Steps ve Pipeline ....................................................................................................................... 13 Control Steps ..................................................................................................................................... 13 Sequence ........................................................................................................................................... 13 Loop ................................................................................................................................................... 14 Branch................................................................................................................................................ 14 Repeat ............................................................................................................................................... 14 Exit ..................................................................................................................................................... 14 Invoke ve Map ................................................................................................................................... 14 Java Servisleri ........................................................................................................................................ 14 FERHAT SARIKAYA 2
Java Servis .......................................................................................................................................... 14 IData Object ....................................................................................................................................... 14 Web Servisleri ........................................................................................................................................ 14 WSD ve Konnektrler ........................................................................................................................ 14
FERHAT SARIKAYA 3
Giri Webmethods eitimine girerken neyle karlaacam hakknda bir fikrim yoktu, nk Webmethods rn ile alakal yerli veya yabanc kitap araylarm sonusuz kalmt. Eitim baladnda ise eitli sistemlerle karlatrm ve kafamda bir yere oturtamamtm. Eitimin sonucunda ise sadece web servisleri ve baz dosyalarn dnmn salayan bir yapym fikri bende gelimeye balamt ki sadece web servis kullanlacaksa WCF (Windows Communication Foundation) kullanmann fazlas ile iimizi grecei iin gereksiz bir yazlm maliyeti diye dnmeye balamtm.
Daha sonra sistemi biraz daha derin ve detayl olarak tek bana irdelemeye baladmda aslnda yanl noktadan baladm fark ettim ve SOA (Service Oriented Architecture) mantn doru kavramamz gerektii ve SOA anlalmad srece Webmethods gibi SOA rnlerini anlamann pek de mmkn olmayacan fark ettim.
Bu yzden size Webmethodsu tantmadan nce SOAy anlatacam. Detayl; ama olabildiince ksa tutmaya alarak SOA konseptinin doru anlalmasn salayarak Webmethods rn bu balamda deerlendirmeye tabi tutarak rneklendirmeye gayret edeceim, bylece her eyin daha anlalabilir olacan umuyorum.
SOA Nedir? SOA: Service Oriented Architecture yani Servise Ynelimli (Odakl) Mimari anlamna gelmektedir. Gnmz i dnyas rekabetin olduka youn yaand bir dnya ve ayakta kalmak ve hatta daha ileriye gitmek isteyen irketler koullara uygun i modellerini uygulamak ve bir noktadan sonra bunun zerine kmalar gerekiyor. Bilgi teknolojileri elbette bu geliimin odanda ve doru yaklam ve doru zamanlama rakiplerin tesine gemeyi salyor.
Gelien bilgi teknolojilerine baktmzda olduka farkl uygulamalar, platformlar mevcut ve ou zaman bu platformlar birbirleri ile iletiime geirmek gerekiyor. Bazen irket iinde farkl blmlerde farkl yazlm ve donanm kullanm sz konusu oluyor ve bu yaplarn entegre edilebilmesi ise hayati nem arz ediyor. Esnekliiniz ne kadar yksekse manevra kabiliyetiniz, yetenekleriniz ve snrlarnz tespit etmek, acil durumlara uyum salamak mmkn oluyor.
Farkl yaplar birbirine entegre etmek konumuna geldiimizde karmza SOA geliyor. Bilgi teknolojileri altyapsn ynlendirecek olan bu model, i ve teknolojinin i ie girmesine ve iin teknolojiler aracl ile kolayca ve olduka esnek yaplmasna olanak salyor. Burada baz terimleri daha da amak gerekiyor.
Servis Nedir?: Servis yinelenen i admdr. rnein bir model tasarm yinelenen bir itir. Yine tasarlanan modellerin retimi yinelenen bir itir yani servistir. Burada olaya yazlm tabanl bakmamak gerekiyor, servisten kast irketlerde gnlk olarak i akn oluturan ve yerine getirilen i paracklardr. Servis odakl olmak ise i uygulamalarmzdaki bu ufak servisleri bir araya getirmek, birbirine balamaktr. Peki, teknoloji bu yapnn neresinde?
FERHAT SARIKAYA 4
SOA, ite tam bu noktada servislerin birbirine entegrasyonu aamasnda teknolojiden faydalanlmas mantna dayanmaktadr. Bylece gnmz rekabet koullarna uyum salamak mmkn olur. zetle: SOA, i fonksiyonlarnn birlikte almay destekleyecek esneklikte ve tekrar kullanmn gelitirecek ekilde, iyi tanmlanm ve gevek (esnek) bal bileenler halinde oluturulduu bir sistem mimarisidir.
Yukardaki gevek (esnek) balar konusunu aklamak gerekirse, bir servisin ileride kopartlabilmesi, baka bir rn ile entegre edilebilmesi ve yeniden kullanlabilmesidir. artlar ve uygulamalar srekli gncel olmak zorunda olduu iin bu yap olduka hayati bir nem tamaktadr.
Gnmz teknoloji dnyasnda farkl platformlar (Linux, Windows, MacOS vb.) ve bir ok yazlm platformu (Java, .Net, Python vb.) kullanlmaktadr. Bu durum da mevcut yaplarn birbirleri ile konuabilmeleri ve bazen de birlikte alabilmeleri gerekiyor.
SOA yapsnda, farkl platform, farkl rnler ve farkl uygulamalar ieren servisler birbirleriyle standartlar yardm ile birleerek bir btn oluturabilirler. SOA ile marka ve platform bamsz uygulamalar yaratmak mmkndr. SOA Yaam Dngs SOA yaam dngsnde 4 ana faz vardr. Her bir fazn kts dierine girdi salar ve bu drt faz bir yaam dngs olarak evrimlerle devam eder.
Modelleme aamasnda alanlar i kullanclar ve analistlerdir. Bunlar gerektii kadar teknik bilgiyle donanm, asl ii i srelerinin modellenmesi olan, iin ileyiini bilen ve dokmante edecek olan profesyonellerdir. Bu aamada gereksinimler belirlenir, i sreleri ve paralar tasarlanr, modellenir ve uygun olup olmadna karar vermek iin simle edilir.
Birletirme aamasnda alanlar teknik kkenli entegrasyon gelitiricisi rolyle tanmladmz yazlmclardr. Modelleme aamasnda retilen modeller birletiricilere ortak bir formatta aktarlr ve modeli alan servisler haline getirmek, kodlarn yazmak bu gelitiricilerin grevidir.
Devreye alma aamasnda gelitirilen servisler ve sreler altrlr. Burada kullanclarn da devreye girmeleriyle etkileim ve entegrasyon gerekletirilir.
Ynetim aamas devreye alnan uygulama, servis ve srelerin eitli metriklere dayanarak izlenmesi, yorumlanmas ve ynetilmesi aamasdr. Bu aamada i analistleri ve birimleri, entegrasyon gelitiricilerle ortak alrlar. Toplanan veriler bir sonraki evrimde modelleme aamasnda girdi olarak kullanlr. Metriklere gre alnan sonular modellemede deiiklik veya yeni modeller retilmesini gerektiriyorsa yeni bir evrim balar.
SOAy uygulamak da tpk yaam dngs gibi adm adm gerekleir. nce proje tanmlanr ve ilk sre modellenir. Daha sonra proje uygulanr ve altrlr. alan sre incelenip, iyiletirmeler gerekiyorsa belirlenir ve yeni proje tanmlanr. Burada yeni proje eski srecin yeniden modellenmesi olaca gibi yepyeni bir sre de olabilir. FERHAT SARIKAYA 5
SOA yolunda birka tavsiye vermek gerekirse:
letiim SOA projelerinin gelitirilme srecinde ok nemlidir. analistleri ve entegrasyon gelitiriciler beraber almaldr nk SOA bir takm sporudur. Hangi yolda ilerlenecei, sreler, platformlar ve altyap salam bir balang iin mutlaka nceden dnlmelidir. Balarken elde olanlar incelenip var olanlarn ne kadar kullanlabileceine bakmak maliyetleri drmek ve zamandan tasarruf iin ok nemlidir. Hepsini ykp yeniden yapalm yaklam zm olamaz. Neden SOA? Bir i sreleri ynetim sisteminin (BPMS) kuruma kazandrlmaya almas: Gerek anlamda i sreleri ynetim sistemleri, ancak kurumun dank sistemlerindeki anlk bilgiye ulaabiliyor, farkl teknolojilerdeki uygulamalarn tetikleyebiliyor ise yararldr. Bu adan kurumun veri ve uygulamalarnn zerinde, standart teknolojilerle yaratlm bir SOA emsiyesi i srelerinin hzl yaratlmasn ve doru iletilmesini destekleyen bir konumda olacaktr. rnein srecin bir aktivitesinde Mainframe uygulamasndan alnan bilginin, veritabanndan alnan veriyle harmanlanm hali gerekiyorsa, tm bunlar hzla gerekletiren bir ESB anlaml olacaktr.
Bileke uygulamalar yaratmak ya da var olan portallar gelitirmek: Kurumun sahip olduu veri kaynaklarn, uygulamalarndaki bilgiyi tketebilen bamsz paralardan oluan uygulamalar. rnein mteri bilgisini CRM paketinden alan bir para ile telefon numarasn TTRehber sistesinden alan bir parann beraber kullanm.
Eski ya da kapal sistemlerde yatan deerli uygulamalarn, verinin yeni teknolojilerle beraber alabilir hale getirilmesi: Bugn birok kurum halen AS/400 zerinde uygulamalar koturmakta ama destek, entegrasyon sknts yaamaktadr. Benzer ekilde, kurumlar iin nemli olan ERP, CRM gibi paket uygulamalarnn birbirleriyle ve dier sistemler entegrasyonu problem tekil etmektedir. Burada SOAnn getirdii Legacy Modernizasyon yaklam da iletmeleri SOAya tayan admlardan olacaktr.
Bilgi sadece kurum iinde deil kurumlar arasnda da dolamaktadr: En uygun yap olmas nedeniyle bu bilgi XML olarak tanmaktadr. Problem bu bilginin gvenli bir ekilde tanmas olduu kadar bu bilginin yaratlmas ve tketilmesi eklinde de gndeme gelmektedir. Basel 2 gibi dzenlemeler de bilgi tanmasn tetiklemekte ve hzl, esnek ekilde bilgiyi yaratabilen, sunabilen ve tketebilen SOA yapsn desteklemektedir.
SOAnn eer doru bir metodolojiyle ve aralarla gerekletirilirse i ve bilgi-ilem anlamnda deer kataca muhakkak suretle ortadadr.
FERHAT SARIKAYA 6
SOA Ynetiimi SOA bir takm teknolojileri tanmlayan, modelleyen bir kavram deil. Aksine teknolojilerden bamsz, tamamyla ie ynelmi bir mimari model. Tm SOA srecinde de teknoloji en son sahnede yer alan ksm oynuyor.
Sre kabaca yle iliyor. Servis Mimarisi aklda tutularak i srelerinizi ele alyorsunuz, byk resminizi iziyorsunuz. Burada dorudan bir BPM (Business Process Management) uygulamas yer alabilecei gibi sizin belirlediiniz ve modellediiniz senaryolar btn de olabiliyor. rnein B2B ilerinizi modellediiniz sreler. Sonrasnda bu srelerinizde ihtiyacnz olacak servislerinizi, bu servislerin ihtiyalar dorultusunda etkileimlerini (orkestrasyon) tasarlyorsunuz. Bu servisleri kategoriler altnda dnmek mmkn. Muhasebe Servisleri, Finans Servisleri, kimlik dorulama, hesaplama gibi ileri yapan Destek Servisleri gibi.
Bundan sonraki admlar ise bu servislere ilikin kontrat (Contract) denilen, servislerin kullanmna ilikin kstlamalar (SLA Service Level Agreement) belirten politikalarn hazrlanmas, test senaryolarnn oluturulmas ve en nihayet bu servislerin teknik olarak implementasyonu eklinde ilerliyor.
Buraya kadar anlattm zet SOA srecinin amac, hem servis mimarisinin tasarmnda hem de bu mimarinin iletilmesinde ortaya kan bamllklar btnln ortaya koyabilmek. SOA eer gerekten ileri daha doru ve daha hzl gerekletirme vaadini yere getirecekse, tm bu yaam dngs iinde oluan deiimlere de hzlca ve en doru ekilde adapte olmal. rnein, eer bir i srecinde yer alan dokman dorulama ii yeniden elden geiriliyorsa ve baz deiikliklere gidilmesi ngrldyse, bu ii gerekleyen servisin hangisi olduu, bu servisin hangi dier ilerin elementi olduu gzlemlenebilmelidir. Bunun sonucunda olas deiikliin hangi ileri etkileme olana olduu grlmeli, deiiklikler buna gre yaplmaldr.
Teknik adan baklrsa servislerden sistemlere doru bir bamllk da grlebilir. rnein bir veritaban sisteminde yaplacak bakm almas hangi servislerin almasn engelleyecek ya da aksatacaktr? Baka bir deyile servislerimin tad risk tam olarak nedir? Benzer durumlar kontratlar iin de geerlidir. Hangi kontrat hangi servisler iin kullanlmaktadr?
te tm bu sorularn cevabna her an ulaabilmek, SOAy doru ekilde kuruma kazandrmak iin ortaya km bir kavram SOA Ynetiimi (SOA Governance).
kullancs asndan bakarsak bir SOA Ynetiim arac u sorulara cevap verebilmelidir:
Servislerim nelerdir? Servis politikalarm nelerdir? SOA ortammn riskleri nelerdir? srelerim, bunlarn kullandklar servislerim nelerdir? srelerime ilikin riskler nelerdir? Kurum ii ve kurum d servislerim nelerdir?
FERHAT SARIKAYA 7
Teknik kullanc iin de u sorulara cevap vermek nemlidir:
Servislerim hangi rnleri ve teknolojileri kullanr? Servislerimin baml olduu sistemler nelerdir? SOA ortamma ilikin metadatalarm (WSDL, XPDL, BPEL vb.) nelerdir? Hangi tketici hangi servisimi ve bu servisimin hangi versiyonunu tketir? Servis politikalarm nelerdir? Bu politikalar dzgn almakta mdr? Servislerim (ya da srelerim, uygulamalarm vb.) hangi aamamadr? Tasarm, test, rn?
Bu sorulardan yola klarak SOA Ynetiiminin salkl bir SOA Geliimi iin ilk admlardan itibaren ortamda mevcut olmas gereklilii grlebilir. SOAnn, bir kere implemente edilip bir daha dokunulmayan ya da sadece yazlm baznda gncellemeleri olan bir rn olmamas, srekli gelien ve deien bir i mimarisi yaklam olmas da SOA Ynetiimini nemli klmaktadr.
Bir SOA Ynetiim aracnn yaptalar u ksmlar iermelidir: Registry/Repository: Servisler ve ilikili nesnelerin haritasn tutan bir Registry ve bunlara ilikin metadatay depolayan, sunan bir Repository. Politikalar: Servislere ait kontratlar saklayan ve ileten bir ksm. Test: Servislerin salkl altn test eden aralar salayan bir ksm.
Bu ksmdan Registry/Repository SOA Ynetiimin temel paras olmakla beraber, dier iki para ana parayla entegre alabilen ayr paralar (rnler) da olabilmektedir.
SOA Ynetiim aralarnda aranmas gereken nemli bir zellik JAXR gibi dier SOA rnlerinin entegrasyonuna izin veren standartlar destekliyor olmasdr. rnein bir BPM zm dorudan srelerine ait proseslerini, bu srelerin kulland servislerin listesini SOA Ynetiim aracna kayt etme imknna sahip olabilmelidir. Bu amala mevcut SOA Ynetiim rnleri geni komniteler dahilinde gelitirilmeye allmaktadr. Bunlara rnek olarak Centrasite komnitesini ve Systineti verebiliriz.
Son olarak Gartnern SOA projelerinin baarsz olmasnn temel nedenlerinden biri olan SOA ynetiim eksiklii hakkndaki u yazsn okumanz tavsiye ediyorum: http://www.gartner.com/newsroom/id/508397 SOA Olgunluk Modelleri SOAya gei aamalar neler olmal? Nasl bir mimari model en az riski ierir? SOA almalarmz olmas gerekenin neresinde ve hedeflerimiz neler olmaldr?
Bunlar gibi sorularn cevaplarn standartlatrmak iin oluturulan yaplar SOA Olgunluk Modelleridir (SOA Maturity Model). Sonuta SOA gemii uzun sreli deneyimlere ve oluturulmu metodolojilere dayanmayan bir mimari ve SOAnn getirdiklerinden faydalanmak isteyen herkesin belli llerde yol gsterilmesine ihtiyac var. SOAnn sadece yeniliki uygulama gelitirmeye ynelik olmamas, i FERHAT SARIKAYA 8
evikliinin yan sra ite yenilikilie de yn vermesi nedeniyle bu trden olgunluk modellerinin nemini arttrmakta.
SOAnn gzel tanmlarndan bir tanesinde dendii gibi: SOA ile ama iinizi doru yapabilmek iin gerekli tm i yeteneklerine sahip tmleik dijital bir makine ortaya karmak. Sonra da bu makinenin size verdii g ve eviklikle yeniliki i fikirlerini hayata geirmek, rakiplerinizden daha hzl ekilde taleplere cevap vermek ve tabii ki herkesten daha zengin olmak. Yani SOA sadece servisleri doru tasarlamakla bitmeyen, organizasyonun da belli ekilde bu mimariye uyum salamasn gerektiren, teknik departmanlarda balasa da asl deerini st dzeyin elinde bulan bir mimari.
SOAnn yukardaki durumu SOA Olgunluk Modellerinin sahip olmas gereken kapsam da gsteriyor. Baka deyile, sadece doru ekilde servislerinizi yaratma, kompozit serviler ve sreler yaratma ve bunlar iletmeye ynelik modeller aslnda sadece alt model ieriini tamakta.
u an birbirinden farkl SOA Olgunluk Modellerini piyasada bulmak mmkn. Birou yukarda anlatlan kapsam skntsn yayor. Bu modellerin ounlukla ISVler (Independent Software Vendor), danman firmalar ve sistem entegratrler tarafndan oluturulduu dnlrse ne kadar tarafszlk tadklar da ayr bir saknca oluturmakta.
Bu SOA Olgunluk Modellerinin genelde referans aldklar model, Carnegie Mellon niversitesi Yazlm Mhendislii Enstitsnn gelitirdii CMMIdr (Capability Maturity Model Integration - http://whatis.cmmiinstitute.com/#home ). CMMI, organizasyonun yazlm gelitirme ve entegrasyon srelerinin olgunluu iin 5 katmanl bir model iziyor. Her bir katman bir olgunluk aamasn temsil ediyor. Yazlm mimarlar da bu katmanlardaki zellikler ilgili kendi srelerini karlatrarak hangi olgunluk aamasnda olduklarn grebiliyorlar. Daha da gzeli daha st aamalara bakarak nasl bir yol izlemeleri gerektiini de izebiliyorlar.
CMMI referans alan ve IBM tarafndan balatlmasna ramen u an Open Group tarafndan ynetilen SIMM (Service Integration Maturity Model - https://collaboration.opengroup.org/projects/osimm/ ), kapsamnn genilii ve arkasndaki ok ISVli destek sayesinde en geerli SOA Olgunluk Modeli olarak karmza kmakta. Aadaki resim de bu modele ait 7 katmanl yapy gsteriyor.
FERHAT SARIKAYA 9
SOA Olgunluk Modellerinin en nemli yararlarndan biri de SOAy alglamay ve teknik bak alkanlklarndan syrlmay kolaylatrmas. webMethods webMethods, Java yazlm dili ile gelitirilmi, Eclipse tabanl tasarm ortamdr. SOA mimarisine ynelik gelitirilmi bu platform temelde ESB (Enterprise Service Bus) projeleri oluturmak, farkl yazlm ve platformlarn entegrasyonunu tasarlamak ve i sreleri ynetimini (BPM- Business Process Management) yapabilmek iin Software AG tarafndan gelitirilmitir. analistleri ve gelitiricilerin web uygulamalar gelitirmek, kullanc arayz ve i modellemelerini tasarlamak iin kullanlabilecek bir aratr. imdi webMethodsun zelliklerini tanyalm.
Workspace, Workbench ve Perspektifler Workspace, tm tasarmn tutulduu dizindir.
Workbench, masast gelitirme ortamdr. Workbench, ynetim ve allacak kaynaklar ynetip tasarlayabileceiniz bir ortamdr. Her bir Workbench penceresi birden fazla perspektif ierir.
Bir perspektif, Workbench penceresindeki nesnelerin tasarmn ve alma kaynaklarn salar.
FERHAT SARIKAYA 10
Sre Gelitirme Perspektifleri Sre Gelitirme perspektifi, temel sre tasarmnda gelitiriciye ihtiya olmadan ilevsellik, tasarm ve izin zellik bilgilerini ierir. Yalnzca sre analizi bilgilerini salar.
Sre gelitirici modu, tm srelerin tanmlanmas iin gelimi yaplandrma ve zelliklere eriimi salar. analisti modu ise sadece temel zellikleri ve temel ilevleri grntler.
Sre hata ayklama modu, hata ayklamay salar ve sre gelitirme perspektif tasarm ve zellik bilgilerini destekleyen ilevler ierir. Analizin yan sra gelitirme ve ykleme ilemlerini de gerekletirir. Subprocess, Steps Sre oluturma esnasnda stepsler (sre admlar) tanmlanr ve sre bu admlara gre iletilir. Steps trleri: Activity steps Receive steps Reply steps Adapter Notification (AN) Publish steps Terminate steps Gateway steps
Bir subprocess, kendi bana bir sre deildir, srecin ierisinde bir ii tamamlamak zere tanmlanr. Bir subprocess, container iindeki bir grup gibidir ve tanmlanm olaylar gerekletirir. Steps Input ve Output Bir srecin her admnda dardan bilgi girii (input) ve darya da bilgi k (output) olmaktadr. Output edilecek verilerin da verilmesi iin developer tarafndan ilem srasna gre eletirme yaplmas gerekmektedir. Input ve output, alma zamannda tanmlanan flow, branch ve loop zerinde bir dizi ilemler yapmak iin tanmlanr ve imzalanrlar. Veri, iki ekilde srece girebilir: Bir d kaynaktan subscription olarak tetiklenir veya sre ierisinde tanmlanan bir deiken ile pipeline iinde alnabilir. Herhangi bir admn ierisindeki veri pipeline ierisinde kt olarak verilebilir. Step Geileri Flow kontrol aknda bir stepten tekine geii gsterir. zel gei tiplerinin yan sra split ve branchlara her admda izin verilir. Gei koullar mantksal ve fiziksel veriler olarak Sre Gelitirme Perspektiflerinde tanmlanrlar. Steps gei tipleri: Split Branch Join Join Timeout If Condition Else Error FERHAT SARIKAYA 11
Timeout Steps Iterations Exceeded Unsatisfied Join Join Conditions, Subscription Filtreleme Bir admdaki geilerde birden fazla giri olduunda join condition (yelik artlar) oluur. Join conditionda And, Or veya Unsynchronized Or mantksal ifadeleri kullanlabilir. Kompleks join conditionlarda Not, And, Or veya Unsynchronized Or kullanlabilir. Bununla birlikte her geiin labelnda (step ad) parantezlerle oklu ilemler yaplabilir. Sunscription filtrelerinde bir belge belirli kurallara dayanarak tetiklenir ve ye olunur. Sre Hata Ayklama ve Sre Simlasyonu Hata ayklama (debugging), bir sre ierisinde gerek verilerin davranlarn incelemek ve pipeline zerinde bu verilerin nasl dolatn test etmek iin kullanlan aralarla gerekletirilir. Bir hata ayklama ilemi, IS (Integration Server) dokman girii ile balar. Ayklama ileminde subscription, basit servis (web servis) ve JMS (Java Message Service) hakknda bilgi alrsnz. Sre simlasyonunda ise almann admlarn gzlemlemenizi salar. Bylece i zamannda enerji, zaman ve kaynak israflarnn nne geilerek alma zamannda ne ile kar karya olunaca hakknda fikir verir. Dier Perspektifler Java development Platform Plug-in JDT (Java Development Tooling) Plug-in Plug-in Development CentraSite Plug-ins Data Tools Platform Plug-in Data Tools Platform Eclipse Modeling Framework (EMF) Web Tools Project webMethods CAF (Composite Architecture Framework) webMethods Task webMethods Dokman Tipleri IS (Integration Server) Dokman Tipi IS dokman tipi field set edilmek iin tanmlanan IData object tipindedir. IS zerinde input ve output parameterlerini tanmlamak hizmet veya kurallar iin kullanlr. IData object document veya document list oluturmak iin pipeline iinde dorulama ilemleri iin de kullanlr.
IS dokman tipi aadaki faydalar salar: Kullanlan bir hizmet iin flow gelitirirken input ve output signature yaparak ilemleri ksaltr. FERHAT SARIKAYA 12
Document veya document list iin input, output parametre oluturulmasn salayarak zamandan tasarruf salar. Yazm hatalarnn nne geerek gelitirmelerin gvenilirlii ve doruluunu salar. Daha sonra yaplacak deiikliklerde kolaylklar salar ve uyum sorunlarn amanza fayda salar. Dokuman Referans bir IS document tipi (Yaynlanabilir belge tr de dahil olmak zere) bavuru veya document referans listesi alann oluturmak iin kullanlabilir. IS belge tr bavuran yerine yenisini oluturarak, bu alanlar oluturmak ve alan adlar iin daha iyi tutarll salamak iin gereken sreyi azaltr. Adres bilgileri gibi, srekli tekrarlanan bilgilerin iin zellikle yararldr. Pipeline Referans Pipeline referanslar, document referans veya document list referansta tanmlanan balantl veya atanan deikenleri bavurusunu ayarlar. Ayn zamanda kta istenmeyen deerlerin silinmesini de salar.
Bir IS document tipi edit edilebilirdir. Herhangi bir deiiklik yapldnda k skntlar yaanmamas iin de avantaj salar. Trigger Broker / yerel triggerlar yaynlanabilir dokmanlarn subscription ilemlerini ve nasl ileneceini belirler. Bir veya birden fazla yaynlanan begenin koullarn tek bir servisle ynetir. Yaynlanan dokmanlar subscriptionlar tarafndan alnmas srasnda ilenmesini gerekletirir. Broker / yerel trigger ISzerinden bir talepte bulunulduunda kurallar erevesinde dokman ileme iini yerine getirir. Broker / yerel trigger birden fazla koul ierebilir. Kabul Edilen Dokman Tipleri XML schema FlatFile Schema Document Type Defination Publishable Document Type Dorulama Input output dorulama: webMethods Integration Server tarafndan dorulama motoru kullanlmaktadr. Srece giren ve kan parametreler bu motor sayesinde dorulanr. Dokman dorulama: Pipeline iinde tanmlanan IData object ile dokmanlarn dorulanmas salanr. Pipeline dorulama: Bir IS dokman tipinin dorulanmasnn Pipeline iinde yaplmas ilemidir. XML dorulama: IS schemasna gre xml dokmann emas karlatrlarak dorulama ilemini gerekletirir. Java servisi ile dorulama ilemleri. FERHAT SARIKAYA 13
Servisler Servisler, dokmanlarn zerindeki mantksal ilemlerin ynetimini yapan birimlerdir. IS (Integration Server) tarafndan altrlrlar. Brokerlarn yaynlama esnasndaki ilemlerini yapabilmesi iin servisler arka plan kaynak ayrlmas, debug ilemleri gibi bir dizi karmak ilemi gerekletirirler.
IS, ortak entegre edilmi grevleri gerekletirmek iin geni bir ktphane ile servisleri kurar. Adaptr veya dier add-on servisler eitli uygulamalar ile etkileim iin IS tarafndan kullanlr. webMethods grafik uygulama dili, flow, quickly aggregate servis ve sequences servisleri ile hizmet salar. Flow Servisler Bir flow servis, webMethods flow dili ile yazlr. Bu basit; ama olduka gl bir dildir, tek bir hizmet iindeki saklanan bir dizi veri ve bunlar arasndaki veri akn ynetir. Herhangi bir servis, (dier flow servislerde dahil) bir flow iinde arlabilir. Designer kullanlarak oluturulan flow servisler IS zerinde XML tipinde saklanr. Flow servisler XML tipinde saklansa dahi ancak tasarmcs tarafndan anlalabilecek ekilde tutulur. Herhangi bir metin editr ile tasarmn yaplmas mmkn deildir. Flow Steps ve Pipeline Birflow servis, flow steplerden oluur. Bir flow steps IS tarafndan alma zamanl yorumlanan bir birimdir. webMethods flow dili, pipeline zerinde servis ve flow stepleri armak iin kullanlr.
Pipeline, flow servis iin tutulan input ve output deerleri iinde saklanan yapy tarif iin kullanlan bir terimdir. Bu yap flow servisler iinde veri paylamn salar. Pipeline, input deer ile balar ve servislerdeki input ve output deerleri toplar. Servisteki bir flow yrtld anda pipelinen bu verilere ulama olana vardr. Control Steps alma zamannda bir flow servis yrtldnde bir dizi kontrol ilemi yaplr. Kontrol admlarnn saladklar: Koullu bir deer iin bir dizi ilemi yrtr. Baarl olana kadar tekrar ilemler dizisini altrr. Bir dizinin her eleman iin loop yapar. Baz kontrol admlar: Sequence Loop Branch Repeat Exit Sequence Bir dizi iine set edilmi flow steps gruplar. Sequence, oklu flow servisi iinde toplayan bir admdr. Fakat bazen ilemlerin ak yrtlmesi gerekir, bu durumlarda flow steps sequencein alt yordam gibi tanmlanr.
FERHAT SARIKAYA 14
Loop Bir dizinin her bir eleman iin tekrarlayan bir dizi ilemi yrtr. Basit ve i ie loplar tanmlanabilir. Branch Pipelinen bir deikenin bir deerine gre tanmlana flow stepsin uygulanmasn salar. Branch iki ekilde oluturulur: Switch value zerinde (Switch - Case) Bir ifade zerinde (If - Else) Repeat Bir flow stepsin set edilen deerlerinin baarl veya baarsz olmas durumunda tanmlanan ve belirli bir sayda ilemleri yrtr. Exit Bir flow stepin almasn denetler ve istenilen yerde ilemin sonlandrlmas salanr. rnein loop veya repeat ilemlerini sonlandrmak iin kullanlr. Invoke ve Map Invoke, bir servisin yrtlmesi esnasnda arlan bir flowun iletilmesini salar. Map, pipeline zerinde belirtilen dzenleme ilemlerini gerekletirir (Pipeline iinde giren ve ka balanacak deikenler birbirleri ile ilikileri tanmlanr yani map edilir). Java Servisleri Java Servis Bir Java servis IS zerinde alan Java class dosyas iindeki public static metoddur. Tanmlanan Java servislerin isimlerinde . Kullanlamaz, nk Javann i ie klasr yaps kullanlmaktadr. Ayn klasrde bulunan classlar ayn servisin paras kabul edilir. Servis build edilirken otomatik olarak bu yapya gre birletirilirler. IData Object Servislerden input deerler alp dier programlara output reten programlardr. Key / value deer ifti eklinde verileri saklar. Key / value deer iftinde belirli bir snr yoktur; fakat string olma zorunluluu vardr. Web Servisleri Bir web servis, tek bir para gibi paketlenmi ve d kaynaklar tarafndan kullanlmak zere bir a zerinde yaynlanan fonksiyonlar btndr. Ak ve datk mimariler tasarlamak iin retilmilerdir. WSD ve Konnektrler WSD (Web Service Descriptor) IS asndan web servisini tanmlayan bir elemandr. WSD salayc veya subscriptor tarafndan gerekli grlen tm bilgileri saklar. WSD mesaj formatlar, veri tipleri, tama protokolleri ve tama seriletirme formatlarn yayn yapan ve subscriber arasnda tar. Ayrca talepte bulunabilir servislerin bir listesinin de tutar. Bu balamda WSD iletiim trafiini dzenleyen bir mekanizmadr. FERHAT SARIKAYA 15
Konnektr ise bir web servis oluturulduunda onun aklaycs pozisyonundadr. Web servis konnektr, talepte bulunan bir servis iin tanmlama bilgilerinin tutulduu WSDL belgesi iinde tanmlanan bilgilerdir.
SEO'ya basit bir yaklaşım: Herkese yönelik, uzman olmayan bir keşif yolu ile arama motoru optimizasyonunun temellerinin basit ve pratik bir şekilde nasıl anlaşılacağı