WildFly 8’e biraz farklı bir bakış

Portakalkafa

Global Mod
Global Mod
Ayrıntıları her yerde okuyabilirsiniz ve ilgilenen okuyucular WildFly’ı indirdikten hemen sonra bir ZIP dosyasını açarak deneyebilir. Ama WildFly tam olarak neye benziyor?


Haberler birkaç gün öncesine ait: Red Hat, JBoss AS 7’nin halefi olan WildFly 8’i tanıttı. İsim değişikliğinin yanı sıra asıl güçlü nokta, desteklenen Java EE spesifikasyonu. Artık Red Hat resmi olarak “Java EE 7 sertifikalı” logosunu kullanabilir ve böylece muhtemelen Oracle’ın GlassFish’ine son öldürücü darbeyi indirebilir.

Yeni özelliklerin listesi uzun. Yeni bir web sunucusu olarak desteklenmek, en büyük değişiklik anlamına gelebilir. Yeni sunucu engellenen bağlantı noktası sayısını azalttığı için yöneticiler için de hayat daha kolay olacaktır. Elbette, yakında kullanıma sunulacak olan Java 8 ile çalışacak değişiklikler de dahildir. Değişikliklerin tam listesi sürüm duyurusunda bulunabilir.

Farklı bir bakış açısı


Yazılımı temsil etmenin çeşitli yolları vardır. Bu temsiller, örneğin metaforlar kullanılarak büyük projeleri kolayca gezinilebilir hale getirmek için tasarlanmıştır.

En bilinenlerinden biri şehir metaforudur. Muhtemelen buradaki en iyi bilinen araç, şehirleri kaynak koddan çizmek için tescilli bir ara biçim (MSE) kullanan oldukça eski bir Smalltalk programı olan Codecity’dir. Eskiden Java kaynaklarından ücretsiz yazılımla oluşturulması kolay olan şey artık ticari olarak yalnızca inFusion Hydrogene tarafından üretiliyor. Bana bir deneme lisansı verildi ve buna göre GitHub deposundaki WildFly 8 kaynaklarını işleyip dışa aktarabildim. Oluşturulduğunda, WildFly bir şehir gibi görünür:




Şehir olarak görüntülenen WildFly 8 kaynak kodu



Şehir olarak görüntülenen WildFly 8 kaynak kodu


(Resim: Markus Eisele)



Yeşil çerçeveli alan, hala paket adı altında olan parçaları netleştirir. org.jboss.* Ben. Küçük sağ alt köşe, org.wildfly.* başlangıç. Ufuk çizgisi perspektifinde özellikle yüksek binaları görebilirsiniz:




WildFly'dan şehir silüeti görünümü



WildFly’dan şehir silüeti görünümü


(Resim: Markus Eisele)



Uzun ince binalar, birçok yöntemi ve az niteliği olan sınıflardır. Sol bölmedeki anten, EjbMesajlar-Sınıf. Şehre yukarıdan bakarsanız ve ankete tüm test sınıflarını da eklerseniz, resim şöyle görünür:




Test ile WildFly şehrinin üstten görünümü



Test ile WildFly şehrinin üstten görünümü


(Resim: Markus Eisele)



En geç bu noktada, WildFly deposundaki kodun aslında tam sunucu değil, yalnızca ana proje olduğu da anlaşılır. Weld, Hibernate ve diğerleri gibi diğer özellikler için gereken tüm uygulamalar buraya dahil edilmemiştir.

Bazı metrikler


InFusion, yazılımın kalitesini değerlendirmek için geliştirilmiştir. Bu nedenle, burada sonuçlara kısaca bir göz atalım. WildFly çekirdeği 626.388 kod satırına sahiptir (yorumlar ve boşluklar dahil). Sözde inFusion ölçüm piramidi, kod tabanını diğer açık kaynak projelerinin sonuçlarına göre değerlendirmek için iyi bir gösterge sağlar.




iPlazma Piramidi



iPlazma Piramidi


(Resim: Markus Eisele)



Sınıf hiyerarşileri uzun ve geniştir, kalıtım yaygın olarak kullanılır ve sınıflar, birçok doğrudan türetilmiş sınıfla birçok temel sınıfa sahiptir. Sonuç olarak, sınıflar nispeten küçüktür, bu nedenle birkaç yöntemi vardır ve orta boyutlu paketler halinde gelirler. Yöntemler ise orta uzunluktadır ve orta derecede karmaşık mantık içerir. Ancak, diğer sınıflardan birçok yöntem kullanırlar. Sonuç: Yazılımın kalitesi oldukça saygın ve bir sunucu ürünü veya çerçevesinin beklentilerini karşılıyor. Teorinin arkasını biraz daha anlamak isterseniz, JSF Libraries’deki kaliteyle ilgili blog yazımı önerebilirim.

Burada sonuçların tam bir değerlendirmesini yapmak istemiyorum. Bu yazı çoğunlukla güzel şehir manzaraları hakkındaydı. Tabii ki, bazı kod sorunları da var. Karmaşıklık ve bağlantı sorunları nispeten güçlüdür. Ancak bu bile, ürünlerin kullanıcıları için üreticilerden daha küçük bir rol oynar. Kullanıcıların kod üzerinde yapılan çalışmaları değerlendirmesi çok daha anlamlıdır. Ve burada WildFly projesi, Red Hat’in sorumlu olduğu birçok açık kaynak projesiyle aynı damarda. Yalnızca geçen ay 50 yazar 1283 dosya üzerinde çalıştı ve üç sorunu düzeltti.




GitHub Pulse'un ekran görüntüsü



GitHub Pulse’un ekran görüntüsü


(Resim: https://github.com/wildfly/wildfly/pulse/aylık)



Ne yazık ki, GlassFish ile karşılaştırma o kadar kolay ve şeffaf değil, çünkü JIRA bu kadar iyi derecelendirmeler sağlamıyor ve SVN derecelendirmesi o kadar kolay değil. Ama belki yakında bunun için zaman bulurum.


()



Haberin Sonu
 
Üst