Talend ESB Örnek Uygulama
TALEND ÖRNEK BİR UYGULAMA
Talend ESB Nedir ? Öğrenmek için aşağıdaki linkten yazımıza ulaşınız :
Öncelikle Örneğimizi Yapmamız İçin Gerekenler:
- Talend Open Studio for ESB :
- Download Linki : https://www.talend.com/download/talend-open-studio
- Talend Kullanacağımız Bilgisayarda Java jdk nın kurulu olması gerekli.
- Talend i indirdikten sonra winrar dan klasöre çıkarıp Studio klasöründeki işletim sistemimize uygun olan TOS_ESB uygulamasını çalıştırmamız yeterli herhangi bir kuruluma ihtiyaç duymaz.
- Örneğimizde football pool Soap Web service ini kullanacağız bunun için web service in soap message gerekli olucak , kullanıcı adı ve şifresi istemediği için herhangi bir giriş işlemi yapmayacağız.
web servis linki : http://footballpool.dataaccess.eu/data/info.wso?wsdl
- Programımızı kullanırken Java NullPointerException Hatasıyla karşılaşmamak için Java jre nin yolunun doğru olduğunu kontrol edelim.
Talend ‘in üst menüsünden WindowàPreferences kısmından Talend kısmınıdan Java interpreter alanına Jdk nızın klasöründeki JREàbinàjava.exe nin doğru tanımlı olduğunu kontrol ediniz .
Şimdi Örnek Uygulamamıza Başlayalım.
[raw] [/raw]
Örnek Senaryosu:
- football pool a ait bir SOAP web servisten AllPlayerNames Bilgileri Çekilecek.
- Çekilecek veriler Veritabanına yazılacak.
- Hata Durumunda Hata Maili Başarılı Durumunda Başarılı Maili atılacak.
- Başarılı Olan işlemlerin verileri bir excel tablosuna kaydedilip mail atılacak.
Örneğimizde kullanacağımız Bileşenler (Components):
tFileInputXML: Xml Dosyalarını input etmeye yarar.
tSOAP : Web servise “Soap Message” la input verisi göndermemize ve gönderdiğimiz inputa göre bize geri dönüş verilerini almamıza yarar.
tSendMail: Mail Gönderme işlemi yapmaya yarar.
tLogRow: Yaptığımız işlemlerin loglarını görmemize yarar.
tExtractXMLField: Gelen bir XML verisini Xpathlerine göre parçalamamıza ve verileri kullanmamıza yarar.
tReplicate: Gelen veriyi çoğaltmaya kopyalamaya yarar.
tMSSQLOutput: MSSQL Veritabanına veri kaydı yapmamıza yarar.
tFileOutputExcel: Excel e veri kaydı yapmamıza yarar.
tMap : Gelen verileri Maplemeye yarar.
[raw] [/raw]
Uygulama Özeti:
Öncelikle Bir XML dosyasında bulunan soap message ı tFileInputXML ile okutup tSoap a girdi olarak vereceğiz ve tSoap tan geri dönen verileri tLogRow ile logları gözlemliyeceğiz sonra gelen verilileri tExtractXMLField ile parçalayacağız ve verileri tReplicate e verip kopyalayacağız verileri hem tMSSQLOutput hem de tFileOutputExcel e çıktı olarak vereceğiz ve verilerimizi veritabanımıza ve bir excel dosyasına kaydetmiş olacağız. tSendMail ile de bilgi mailleri göndereceğiz.
Uygulamaya başlayalım:
Job Designs kısmına sağ tıklayıp Creat Job diyoruz ve yeni bir iş oluşturuyoruz.
Sağ Kısımda bulunan Palette kısmından kullanacağımız componentleri sürükleyip bırakarak seçiyoruz.
tFileInputXML, tSOAP, tSendMail, tLogRow, tExtractXMLField, tReplicate, tMSSQLOutput, tFileOutputExcel,tMap
Soap Mesajımızı Bir Xml e kaydediyoruz ve xml imizin yolunu tFileInputXML da gösteriyoruz
[raw] [/raw]
Soap Mesajı :
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AllPlayerNames xmlns="http://footballpool.dataaccess.eu"> <bSelected>true</bSelected> </AllPlayerNames> </soap:Body> </soap:Envelope>
tFileInputXML seçince alt menüden component kısmından özellik ve aralarını görüceksiniz.oradan gerekli ayarlmaları yapacağız.
Edit schema kısmından bir sütun oluşturup XPath query olarak “.” Giriyoruz gelen xml imizi tamamını maplemek için.
Eğer Webservisimiz bizden bağlantı için kullanıcı adı şifre istiyorsa Need authentication ı seçip bu kısma bilgilerimizi giriyoruz.
ENDPOİNT kısmına webservis linkimizi giriyoruz
SOAP Action ımız varsa giriyoruz bizim örneğimizde boş olduğu için boş bıraktık.
Use a Message Kısmında tFileInputXML componenti ile verdiğimiz için belirlediğimiz xpath i seçiyoruz.
Bu kısım seçili değilse bu kısma kendimiz girebiliriz .Başka bir örnekte kullandığımız ekran görüntüsü:
Burada dikkat etmemiz gereken kısım içerideki çift tırnakları anlaşılabilmesi için önüne” \ “ işareti koyulmalı
tSOAO çıktımızı Document olarak vermek istiyoruz o nedenle Output in Document i seçiyoruz.
tSOAP ın çıktısının loglarını görmek için tLogRow componentini ekliyorum ve ardından gelen verileri parçalamak için tExtractXMLField componentini ekliyorum component ayarlarını yapıyorum
tSOAP tan gelen documant ı parçalayacağız gelen xml verimizin içinde bulunan ürün özelliklerimizin ana dizininin yolunu Loop XPath query alanına giriyoruz.
Edit schema kısmından da gelen ürünlerimizin ekleneceği alan adlarını ve geldikleri XPath query yani xml imizde tanımlı olduğu etiketleri yazıyoruz ve bu sayede gelen xml verimizi anlamlı bir şekilde parçalayıp bilgileri kullanabileceğiz. Gelen verilerimizi hem Excel hem de MSSql Veritabanımıza göndereceğimiz için tReplicate componenti ekliyoruz ve ondanda tMSSQLOutput ve tFileOutputExcel çıktı olarak veriyoruz.
tMSSQLOutput component ayarlarımızı yapıyoruz burada veritabanı bilgilerimizi giriyoruz.
Action on table : kısmında Clear table seçili bunun anlamı her çalıştığında tablomuzu temizleyip yeni veriler ekleyeceği. Farklı seçenekleri de seçebilirsiniz.
Daha Sonra TMap Ekliyoruz ve Excel Dosyamıza Eklenecek verilerimizi mapliyoruz.
[raw] [/raw]
Daha sonra TMap ten verilerimizi tExcelOutput a çıktı olarak gönderiyoruz ve tExcelOutput un ayarlarını yapıyoruz Excel Dosyamızın yolunu ve hangi Sayfasına kaydedileceğini belirtiyoruz.
Şimdi de işlemlerimizin durumlarını mail olarak almak için tSendMail Componentlerimizi ekliyoruz ve tSOAP componenti Hata verince tetiklenip çalışmasını istediğim bir Mail Atmasını istiyorum bunun için tSOAP ın üzerine sağ tıklayıp Trigger àOn Component Error u seçip tSendMail e bağlıyorum
tSendMail ayarlarını yapıyoruz ben kendi Gmail hesabımdan yine kendime mail göndereceğim gmail ayarlarımı giriyorum
SMTP Host: smtp.gmail.com
SMTP port : 465
kullanıcı adı ve parola
Aynı Şekilde TMSSqlOutput doğru çalıştığında veya hata verdiğinde gönderilicek mailleri hazırladık.
tFileOutputExcel ede Doğru çalıştığında Mail ile bilgilendiriyoruz ve ek olarak Oluşan Excel Dosyamızı ekliyoruz Emailimize Bunuda tSendMail ayarlarından Atachments kısmına Excel dosyamızın bulunduğu yolu yazıyoruz.
ve uygulamamız hazır şimdi Run kısmından uygulamamızı çalıştırıyoruz . tLogRow un ekranda gösterdiği loglarımız.
[raw] [/raw]
MSSQL ve Excel çıktımız.
Hazırlayan : Salih ŞEKER izinsiz kopyalanıp kullanılması hoş değildir .