SOA’nın amacı tüm dünyada servisler arasında iletişim sağlamaktır. SOA yeni bir mimari değil. Eskilerde ORB ve COM spesifikayyonları ile kullanılıyordu. Bu kavramlar zamanla genişledi yerlerini başka teknolojilere bıraktılar ya da genişletildi. Dizayn ya da yazılım geliştiriciler SOA’yı implement ederken geniş bir teknoloji yelpazesi kulanabiliyorlar. Bu teknolojiler aşağıadaki gibidir.
1. SOAP, RPC
2. REST
3. DCOM
4. CORBA
5. Web Services
6. DDS
7. WCF
Kavramları sırası ile açıklayalım.
SOAP: Simple Object Access Protocol’un kısaltmasıdır. XML tabanlı uygulamalar arası veri transferini HTTP uzerinde yapılmasına imkan sağlayan bir protokol spesifikasyondur. OSI modelinde application layer katmanını kullanmaktadır. SOAP, OSI modelinde transfer için HTTP ve SMTP uygulama protokollerini kullanmaktadır. Transfer protokolü olarak HTTP firewall’den dolayı daha tercih edilir. DCOM gibi firewall tarafından filtrelenen protokollere göre avantaj sağlamaktadır. XML formatının genişliğinden dolayı CORBA gibi teknolojilere göre daha yavaştır. SOAP Mesajının elemanları:
1. Envelope (Tüm SOAP mesajını içerir)
2. Header (SOAP mesajının header kısmını oluşturur. )
3. Body(SOAP mesajının önemli bir bölümüdür. Metodun adı, parametrik bilgilerini XML formatında gösterildiği yerdir.)
RPC : Remote Procedure Call, ağ üzerinde farklı adres alanlarındaki başka bir bilgisayardaki proseduru çağırmak için kullanılır. RPC Transport katmanının üzerinde implement edilmiş. Nesne yönelimli yazılım prensiplerine göre yazılmış bundan dolayı Remote Invocation da diyebiliriz. RPC sürecini özetlemek gerekirse:
1. İstemci , Istemci Stub’ına çağrıda bulunur. Bu yerel çağrıda bulunmadır, çağrı parametrelerle birlikte stack yapısına koyulur.
2. İstemci Stub parametrelerini mesaj haline dönüştürür ve sunucu tarafına çağrıda bulunur.
3. Istemci Stub oluşturulan mesajı Transport katmanına iletir ve mesaj karşı makineye iletilir.
4. Sunucu tarafında; mesaj Trasport katmanından Sunucu Stub’a iletilir.
5. Sunucu tarafındaki Stub ile gelen mesaj karşılanır ve Demarshall edilir.
6. Sonuç olarak Sunucu Stub’ı kendi tatafındaki ilgili procedure çağırır.
REST (Representational State Transfer) Rest standart veya spesifikasyon değildir, mimari sitilidir. Yeni bir teknoloji değil. Anlaşılması gereken önemli bir kavram var ki o da REST in HTTP metodlarını destekliyor olmasıdır. Çoğu browserler sadece PUT ve GET metodlarını desteklerken HTTP ayrıca PUT DELETE OPTIONS HEAD TRACE ve CONNECT metodlarıda var. Bu metodlar Restful Web servisi tarafından kullanılmaktadır.
DCOM (Distributed Component Object Model) : Ağdaki bilgisayarlar üzerindeki yazılım uygulamaları arasında iletişimi sağlayan Microsoft teknolojisidir. Microsoft’s COM’un genişletilmiş halidir. Eklentilerde:
1. Marshalling – Serializing ve Deserializing
2. Dağıtık Garbage Collection
DCOM, CORBA teknolojisinin en büyük rakibidir. İki teknolojinin de firewall üzerinden zorlukları mevcut.
CORBA (Common Object Request Broker Architecture), Object Management Group(OMG) tarafında tanımlanmış bir standart, farklı programlama dillerinde yazılmış yazılım bileşenlerinin ağ üzerindeki farklı makinelerde iletişimi sağlayan teknolojidir. Özellikle belirtmek gerekir ki birden fazla platformu destekliyor.
1. Programlama Dili Bağımsız
2. İşletim Sistemi Bağımsız
3. Kullanılan Teknoloji bağımsız
4. Geniş Veri Tipi (Örn : ANY)
5. Sıkıştırma (Verileri Binary formda tutuyor)
WCF (Windows Communication Foundation) .NET framework tarafından geliştirilen Servis tabanlı uygulamalarla iletişim sağlamak için kullanılan teknolojidir. Bu teknolojide de WSDL arayüzü üzerinde istemci sunucu ile iletişime geçmektedir.
Hiç yorum yok:
Yorum Gönder