PowerShell Polaris – Basic Terms

By | 02 December 2018

Restfull web service yazmak genelde yazılımcıların işidir. Onlar için kolay ITPro’lar için biraz kasvetli bir iş olabilir. Fakat polaris kullanarak PowerShell komutları ile kolaylıkla restful bir web service yazmanız mümkün En önemli özelliği de cross-platform olması ve .Net HttpListener’ı kullanması.

Üstelik toplam framework boyutu 1MB PowerShell galeri üzerinden kolaylıkla yükleyebilirsiniz.

Şimdi polaris yardımıyla kolaylıkla bir web service oluşturmadan önce Polaris modülünü kullanırken bahsi geçecek olan bir kaç terimden bahsetmek istiyorum.

JSON

Java script object notation tıpkı yaml yada xml gibi bir objeye ait olan property’leri,listeleri ve diğer objeler olan ilişkileri belirli bir yapıda barındırır. Oldukça okunabilir bir yapısı vardır. Serialization işlemi işle JSON formatindaki text .net objesine dönüştürülürken deserialization ile tam tersi bir dönüşüm yapılır.

Powershell üzerinde ConvertFrom-Json ve ConvertTo-Json cmdletleri kullanılarak bu dönüşümler kolaylıkla sağlanabilir.

Polaris’te webservise bilgiyi yollarken ve alırken JSON’ı kullanır.

CRUD

CRUD dört adet ana fonksiyonun baş harflerini temsil eder. Bunlar Create,Read,Update ve Delete fonsiyonlarıdır.

ROUTING

Genelde URL’ler web sitelerine erişmek için web sunucusu üzerindeki dosyaları kullanırlar. Routing’deki mantık ise bundan farklıdır. Routing ile URL’ler fiziksel dosyaları kullanmak yerine web service’ler tarafından belirli fonksiyonları (CRUD) çağırmak için kullanırlar.

MAPPING

Bir HTTP metodu ile bir web service fonsiyonlarının(CRUD) eşletirilmesi işlemidir.

HTTP REST method Webservice function
POST Create
GET Read
PUT Update
DELETE Delete

Middleware

Middleware uzun zamandan beri bahsesi geçen bir konsept. Ben bunu ilk olarak asp.net core ile uygulama geliştirdiğim dönemde duymuştum. Asp.net mimarisinde request ve response işlemlerinin arasına girerek belirli işleri yapmamızı sağlayan yapılara middleware diyoruz. PowerShell üzerinde Polaris modülünü kullanırken bahsi geçen middleware katmanı da neredeyse ASP.net mimarisindeki middleware’ler ile aynı işi yapıyor.

Polaris modulünde, web framework’e gelen istekler route edilmeden önce middleware code katmanı ile kolaylıkla manipule edilebilir. Yani Polaris için istek geldiğinde ilk olarak middleware code katmanı çalışır ardından route’a ilişkin script bloğu tetiklenir.

Polaris modülünü kullanıp bir web service oluşturmak için PowerShell scriptlerini oluşturmanız gerekir. Eğer script kullanılacaksa normalde bu script’i tetikleyecek ve parametre gönderecek request ve respons’ların scripte parametre olarak tanımlanması gerekir. Bu nedenle de genelde script yazarken yaptığımız gibi scriptin ilk satırlarına param($request, $response) şeklinde parametreler tanımlamanız gerekir. Fakat polaris ile webservice oluşturmak için yazacağımız scriptlerde $Request ve $Response parametreleri global olarak tanımlandığı için bu parametreleri tekrardan script içerisinde sizin yazmanıza gerek yok.

Fırat

Leave a Reply