.Net ve Java birlikte çalışabilirlik – Interoperability

0 2,012

Java on beş yıldan daha fazla bir süredir bizimle birliktedir. Bakıldığında sistem , iş, eğitim,mobil vb. alanlarda aktif olarak kullanılmaktadır. Buna karşılık Microsoft’ta yine artık onuncu yılını aramızda doldurmuş olan .Net ile pazarda sağlam bir yer edinmiştir. Bu koşullar altında belli zamanlarda bu sistemlerin birlikte çalışabilir olması gerekmiştir.
Daha önce belirtildiği gibi, Java ve . NET yıllardır var olan iki sistemdir. Bu süre zarfında fonksiyonel özellikleri(bakınız tablo 1.1) göz önüne alınarak onlarca makale ile birlikte çözümler üretilmiştir. Hatta bu iki sistemi birlikte çalışabilirliği için belli kütüphaneler oluşturulmuştur. Daha ileri gitmek isteyenler ikisininde büyük abisi olan C++ ile geliştirmeler yaparak ilerlemişlerdir. Bir diğer yöntemse SOA mimarisiyle birlikte web servisler olarak karşımıza çıkmıştır.Bizim de birlikte çalışabilirlik konusunda üstünde duracağımız asıl konuda budur.

Table 1.1: .NET and J2EE arasındaki fonsiyonel karşılaştırma

Özellikler veya Servisler Microsoft .NET  J2EE Notlar
Technology Type Ürün Standart
Middleware Vendors Microsoft ve iş ortakları 50+ tedarikçi
Client Side GUI Windows Forms Ortamı AWT/SWING SWING/AWT J2SE nin bir parçasıdır.
Web GUI ASP.NET JSP
Web Scripting ISAPI

HttpHandler HttpModule

Servlet

Filter

Web Application Hosting Internet Information Server Multiple (tedarikçi uyarlaması bağlı olarak) J2EE örnekleri Apache Tomcat sunucusuna bağımlıdır.
Interpreter CLR JRE
Server Side Business Logic Component .NET Class or Serviced Component (COM+) EJB Session Beans
Server Side Data Components 1 Serviced Component with DB Logic EJB with Bean Managed Persistence
Server Side Data Components 2 ADO.NET Data Set EJB with Container Managed Persistence Yaklaşık denklik
Directory Access Active Directory Services Interface (ADSI) through LDAP Java Naming and Directory Service (JNDI) through LDAP
Remote Invocation .NET Remoting RMI-IIOP
Data Access ADO.NET JDBC, SQL/J, JDO
Messaging Microsoft Message Queuing JMS MMQ bir üründür. JMS ise bir şartnamedir(specification)ve bu nedenle bir uyarlama gerektirir.
Transactional Support COM+/Distributed Transaction Controller (DTC) JTA

Web servisler

Birlikte çalışabilirlik; web servislerin ortaya çıkışında ki ana sebeplerden biridir. Belkide en birincili olarak düşünülebilir. Web servisler işletim sistemi ve programlama dili bağımsız olacak şekilde tasarlanmıştır. Bizde bu temayı göz önünde bulundurarak Java ve .Net gibi iki popüler sistemi masa üstüne yatırmış olacağız.
Web servisleri birlikte çalışabilirlik iki temel kategoriye ayrılabilir.Bunlar SOAP birlikte çalışabilirlik ve WSDL birlikte çalışabilirlik olarak adlandırılır.
SOAP daha önceki yazılarda da belirtildiği gibi kısa bir tanımla XML belgelerinin bazı taşıma protokolleri üzerinden taşınmasını sağlayan üst seviye bir protokoldür. Bu tanımın tam belirli olmaması SOAP’ı son derece esnek ve çok yönlü yapmıştır. Fakat aynı zamanda birlikte çalışabilirliği biraz zorlaştırmıştır. Başlangıç olarak aynı taşıma protokolünü HTTP, SMTP veya JMS vb. kullanmakla başlamalıyız. Böylelikle birlikte çalışabilirliğin kapısını aralamaya başlıyor olacağız. Bizim sistemimizde ki web servisler Http veya Https protokolleri baz alınarak tasarlanacaktır. Genelde de bu protokoller kullanımaktadır. Birlikte çalışabilirliği etkileyen faktörlerden bir taneside data tiplerinin kodlanmasıdır. Yani belli bir kodlama tipi ile progamlama için olan veri tiplerinin XML içinde nasıl tutulacağıdır. İşte bu kısım programcılar için rahat ve açık bırakılmış böylece programcı belli spekifikasyonlar dahilinde sınırsıza yakın bir tanımlama şekli oluşturabilmektedir.
İşte tam bu noktada WSDL web servislerin birlikte çalışabilirliği için biçilmiş bir kaftan olmakla birlikte tamda web servis mimarisinin merkezinde yatmaktadır.WSDL (Web Service Definition Language) Web hizmetleri için tanımlama dilidir. Genellikle bir WSDL belgesinde otomatik olarak Web servislerine ait olan framework araçları tarafından oluşturulur. Geliştiriciler Web servislerine kolay erişim sağlayan istemci tarafı taslakları veya vekilleri oluşturmak için WSDL belgesini kullanabilirler.

Sürç-i lisan ettiysek affola

Kubilay

Kaynaklar
Microsoft
Wikipedia
SOA Opengroup

Email adresiniz yayınlanmayacaktır.