COM, DCOM, COM+, Remoting, Web Servisler ….

Önceleri kişisel bilgilsayardaki programlarla mesela spreadsheet programları veya veritabanı paketlerinin aracılığı ile işler yürütülmekteydi. Klasik masaüstü platformları, tek kullanıcılı ve çoklu işlem yapma yetenekleri kısıtlıydı.
Kişisel bilgisayarın gelişmesi ve çoğalması ile bilgisayarların birlikte bir ağ üzerinde çalışacabilecekleri seviyelere gelindi. Bilgisayarlar artık birbirleriyle konuşabilmekteydiler.

Microsoft, kendi platformu üzerinde çalışan uygulama ve komponentlerin konuşabilmesi için COM(Component Object Model) geliştirdi. COM ile aynı bilgisayar üzerinde bulunan uygulama veya komponentler birbirleri ile konuşabilir hale geldiler. COM’un ardından DCOM(Distributed COM) geliştirildi ki amaç farklı bilgisayarlar üzerinde bulunan komponentlerin birbirleriyle iletişimini sağlamaktı. Daha sonra COM+ geliştirildi. Burda amaç DCOM’un yeteneklerine ilaveler yapmaktı. Örneğin otomatik kaynak yönetimi veya eşzamansız çalışma desteği gibi. COM+ .NET Framework ile elden geçirildi ve Enterprise Services olarak adlandırıldı. Uygulamaların haberleşmesi adına Remoting kullanıldı. Tüm bu teknolojiler COM, DCOM, COM+, Enterprise Services ve Remoting aynı yerel ağ üzerindeki uygulama ve komponentlerde düzgün çalışıyordu. Ayrıca tüm bu teknolojiler Windows işletim sistemi ailesi için geçerliydi. Peki farklı platformlar üzerinde çalışan uygulamaları küresel anlamda world wide web üzerinden konuşturmak istersem ne yapmam gerekir?

Image

Web servisler bu soruya yanıt oluyor. Web servisler internet üzerinde barındırılan uygulamalardır. Webservislerin herhangibir programlama diline veya işletim sistemine bağımlılıkları yoktur. Dağıtık uygulamaların geliştirilmesinde küresel mekanizma olarak kullanılacak web servislerin üzerinde geliştiricilerin bazı noktlarda karar birliğine varmaları kaçınılmazdır.

  • Örneğin data formatı nasıl olacak?
  • Data alışverişinde hangi protokol kullanılacak?
  • Web servislerin güvenlikleri nasıl sağlanacak?

Bu soruların cevabını uluslar arası oluşturulan konsorsiyum belirlemiştir. Webservislerin kullandıkları veri formatı XML’dir. Protokol ise SOAP(Simple Object Access Protocol). SOAP bazı spesifikasyonlara sahiptir.

  • SOAP mesajının formatı
  • Data nasıl encode edilecek
  • Mesaj nasıl gönderilecek
  • Bu mesaj cevapları nasıl ele alınacak

Webservislerin tanımı WSDL(Web Service Description Language) dokumanındadır. Bu tanımlama dokumanında servisin aldıgı ve donus yaptıgı mesaj tiplerinin tanımları yer almaktadır. Webservislerin güvenlikleri konusu önemli hale gelmektedir çünkü lokal makinalarımıza koydugumuz şifre mantığıyla küresel olarak kullanılması gereken servisleri güvenli hale getiremeyiz. OASIS(Organization of Advancement of Structured Information Standards) konsorsiyumu bazı standartlar hazırlamıştır. Örneğin kullanıcı adı-şifre kullanımı, X509 sertifikaları, Kerberos tokens. Kendi uygulamamız ve webservis arasındaki verilerin başkaları tarafından ele geçirilmemesi için verinin şifrelenmesi gündeme gelmektedir. Bunu için kullanılan birkaç mekanizmadan en çok kullanılanı private ve public key’lerdir.

Image

Yazılım geliştiricleri web servis ilkelerini daha genelleştirilecek şekilde “Software as a Service” konseptine taşıdılar. Trend servis odaklı mimariye(SOA) dayalı uygulamalar geliştirme yönünde gitmektedir. Web servisler organizasyonun iş mantıklarının iyi tanımlanmış operasyonlarının servis edilmesine olanak sağlar. Başarılı servisler aşağıdaki özelliklere sahip olmalıdır.

  • Birlikte çalışılabilirliği artırmak adına, standartlara dayanan genişletilebilir ve tekrar kullanılabilir olması
  • Gelen taleplere hızlı cevap vermesi için ölçeklenebilir barındırma ortamlarının oluşturulması
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s