Previous
Next

RESTFUL ve SOAP web servisleri

by Cem Kefeli 26. Şubat 2016 01:16

SOAP vs. RESTFULMüşterilere sunulan her bir servisin teknolojik karşılığı olan iş yapan uygulama parçacıklarını da birer servis olarak düşünme fikri hayatımızda daha da yer edinmeye başladıkça artık mimari yapılar da buna göre şekillenmeye başlıyor. Servis temelli mimari yaklışım ile ilgili bahsettiğim konsepti anlatan bir yazıma buradaki linkten (Service Oriented Architecture - SOA) ulaşabilirsiniz.

Bu yazının konusu olan RESTFUL ve SOAP web servisler de servis temelli yaklaşıma hizmet eden çok gözde ve üzerinde yoğunlaşılan yapılar. Her ikisinin de temelde hedefleri aynı. Kendisini çağıran kişinin isteğine uygun işi yapmak, ve yine kendisini çağıran kişiye bir cevap dönmek. İşte bu aşamada ikisi arasındaki farktan söz etmeye başlayabiliriz artık, çünkü birbirinden farklı şekilde cevaplar dönüyor bu iki servis yapısı. Ve tabiki birbirinden farklı şekillerde kabul ediyorlar istekleri.

REST (Representational State Transfer), RESTFUL web servislerin sahip olduğu mimariye verilen isimdir. Yani aslına bakacak olursak SOAP (Simple Object Access Protocol) kavramına illaki bir denklik düşünmek istersek bu denkliğin adı REST değil de RESTFUL olmalıdır. Çünkü REST mimari ile ilgili bir kavram, RESTFULL ise REST mimarisine uygun servisler gibi düşünülmelidir.

RESTFUL servisler HTTP protokolü üzerinden konuşurlar ve SOAP servislere göre daha hızlıdırlar. Yapıları daha hafif ve basittir. Zaten de en cazip yönleri bu servislerin sahip olduğu hafif ve kolay kullanılabilir özellikleridir. Çıktılarını XML ya da JSON olarak istemciye ulaştırırlar. Genel olarak bant genişliği yönünden de avantajlıdırlar çünkü istemciye dönen cevap içerisinde yalnızca içerik ile ilgili tag'lar bulunur, yapı ile ilgili tag'lar bulunmaz. REST stateless'dır, durum bilgisi barındırmadığı için de HTTP header'larda ilave bir bilgi taşınmaz. Fazlası...

IBM Websphere profil oluşturma

by Cem Kefeli 4. Ocak 2016 05:22

Websphere kurulumu sonrasında uygulama sunucusu yönetimini sağlayacak olan dmgr (Deployment Manager) ve uygulamaların üzerinde çalışacağı serverların (Application Server - App. Server) oluşturulması gerekmektedir. Websphere, dmgr ve app. server için ayrı ayrı profiller üzerinden gerekli yapının oluşturulmasını sağlamaktadır. Dolayısıyla işlevsel bir yapı elde etmek istiyorsak hem dmgr hem de app. server profilleri oluşturmamız gerekmektedir.

İlerleyen bölümlerde adım adım bu işlemlerin nasıl yapıldığına ulaşabilirsiniz;

[websphere@localhost ProfileManagement]$
[websphere@localhost ProfileManagement]$ pwd
/u01/app/websphere/was855/AppServer/bin/ProfileManagement
[websphere@localhost ProfileManagement]$
[websphere@localhost ProfileManagement]$ ls -lrt
total 12
-rwxr-xr-x. 1 websphere websphere  336 Apr 16  2012 wct.sh
-rwxr-xr-x. 1 websphere websphere  336 Apr 16  2012 pmt.sh
drwxr-xr-x. 5 websphere websphere 4096 Dec 23 16:44 eclipse32
[websphere@localhost ProfileManagement]$

IBM Websphere Profile CreationFazlası...

Weblogic - Active Directory entegrasyonu

by Cem Kefeli 13. Ekim 2015 15:33

SOAP vs. RESTFULWeblogic uygulama sunucusu, yönetim ekranlarına giriş ve giriş sonrası yapılabilecek işler için oldukça esnek olanaklar sağlıyor. Entegre LDAP sunucusu üzerinde manuel olarak yeni kullanıcılar, yeni gruplar oluşturabiliyorsunuz. Bu kullanıcılara dilediğiniz rolleri atayabiliyorsunuz, isterseniz yeni roller oluşturabiliyorsunuz. İsterseniz aynı işlevdeki kullanıcıları bir grup altında toplayarak, grup bazlı yetkilendirme yapabiliyorsunuz. Fakat, bu bahsettiğim işlemler Weblogic’in kendi entegre LDAP yapısı üzerinde yapılan işlemlerdir ve tamamen o Weblogic domainine aittirler. Yani burada yapılan işlemler bir kullanıcıyı ya da bir grubu başka bir yapı üzerinde kullanmak gibi bir hedefle yapılan işlemler değildir. Yalnızca ilgili lokal yapı üzerinde etkilidir bu işlemler.

İşte tam bu aşamada, kullanıcı ve grup bazlı yetkilendirme dediğimizde artık neredeyse her şirkette kullanılan Microsoft Active Directory (AD) yapısı mutlaka aklınıza geliyordur. Basit bir şekilde ifade etmek gerekirse AD üzerinde tanımlı kullanıcılar, gruplar, vb.. merkezi bir yapı üzerinden yönetilirler. Kullanıcı ve grup bilgileri bu merkezi yapı üzerinde saklanır. Eğer aynı AD ile entegre olmuş sistemler varsa, tüm bu sistemlere aynı kullanıcı adı ve şifre ile girilebilir. Bu sistemler üzerinde eğer grup bazlı yetkilendirme yapılmışsa, grup üyelerinin yalnızca AD üzerinde değiştirilmesi tüm sistemlerde senkron bir şekilde etkisini gösterecektir.

Bu yazının ana konusunu oluşturmadığı için AD ile ilgili çok daha detaylı bilgilere MSDN linkinden ulaşabilirsiniz. Bu yazının ana konusunu ise Weblogic yönetim ekranlarının AD ile nasıl entegre edileceği oluşturuyor. Bu entegrasyon sonrası AD kullanıclarıyla ekranlara giriş yapılabilir ve AD grupları seviyesinde de yetkilendirme yapılabilir.

Aşağıdaki adımlar takip edilerek Weblogic için Active Directory entegrasyonu gerçekleştirilebilir;

Weblogic - Active Directory (AD) Integration

Weblogic - Active Directory (AD) IntegrationFazlası...

Weblogic shared library kullanımı

by Cem Kefeli 4. Ekim 2015 10:34

SOAP vs. RESTFULGünümüzde kurumsal birçok uygulama çok katmanlı yapılardan meydana geliyor. Bu çok katmanlı yapılar, uygulamaları artık basit tek bir uygulama olmak yerine, kendi işlerinde özelleşmiş birçok uygulama olmaya yönlendiriyorlar. Örneğin çok katmanlı mimariler veri katmanını, lojik katmanı ve sunum katmanını ayrı ayrı ele alıyor. Durum böyle olunca da aynı işleve sahip farklı uygulamalar zaman zaman aynı işleri yapan kod parçacıkları içermek durumunda kalabiliyorlar. Yazılan kodların modüler olması çok büyük kazanımlar getirdiği için bu yinelenen kod parçacıklarının birer library (kütüphane) olarak yazmak tabiki çok avantajlı. Özellikle de kütüphane boyutları arttığında, bu kütüphanelerin uygulamalar içerisine gömülmesi daha da güç hale geliyor. Yüksek boyutlu kütüphaneler hem uygulamanın deploy edilmesi aşamasında uzun zaman kayıpları oluşturmaktadır hem de uygulamaların yönetilmesini zor kılmaktadırlar. Kütüphaneler genellikle asıl işi yapan kod parçacıkları olduğu için akışta bir değişiklik yapılması durumda uygulamalarda her hangi bir major değişiklik yapılmasına gerek de kalmaz.

Trend Analyzer - Shared Library yapısıWeblogic, kütüphanelerin farklı uygulamalar tarafından paylaşılmasını desteklemektedir. Bu işi yapmak hem uygulama hem de kütüphane tarafında olduça basittir ve kodlama seviyesinde ayrıca bir efor gerektirmez. Kütüphane tarafında yapılması gereken, manifest dosyasında kütüphanenin adı, versiyonu, vb... gibi tanımlayıcı bilgilerin belirtilmesidir. Uygulama tarafında yapılması gereken ise, kütüphane manifest dosyasında belirtildiği gibi uygulamanın hangi kütüphaneyi kullanacağının belirtilmesidir.

Bir süre önce geliştirmiş olduğum Trend Analyzer uygulaması bu şekilde bazı ortak kütüphanelerin kullanılması ile oluşturulmuştur. Bu uygulamadan örnek verecek olursak şekildeki gibi ortak kullanılan kütüphaneleri görebiliriz. Örneğin TA.Core kütüphanesi her üç uygulama tarafından da kullanılmakta, TA.DataLayer kütüphanesi ise Servis ve yönetim panelleri uygulamaları tarafından kullanılmaktadır.

Yalnızca TA.DataLayer kütüphanesini ele alacak olursak, bu kütüphanenin manifest dosyasında aşağıdaki gibi tanımlamalar yapılamsı gerekecektir;

MANIFEST.MF (TA.DataLayer)  |  Gizle  |  Göster
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: Cem Kefeli (cemkefeli.com)
Extension-Name: trendAnalyzer.datalayer
Implementation-Version: 1.0.0
Specification-Version: 1.0

Uygulama tarafında ise weblogic.xml içerisine kullanılması istenen kütüphanenin tanımlayıcı bilgileri verilmelidir. Buradaki versiyon ve kütüphane isimleri birebir olarak kütüphane tanımlamasında yapıldığı şekilde olmalıdır;Fazlası...

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General