.Net ve Java birlikte çalışabilirlik – Interoperability
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