Kimse mükemmel değildir. Özellikle konu uygulama geliştirme olunca bu gerçek daha da öne çıkıyor. Test ve manuel kod incelemeleri her durumda sorunları bulmaya yardımcı olamayabiliyor. Özellikle DevOps’un gün geçtikçe daha da önemli hale gelmesi ile birlikte en önemli başlıklardan biri kod kalitesi olmaya başladı. Sadece kod seviyesinde yapılan hatalar değil aynı zamanda isimlendirme standartları ve best-practice’lerin de takip edilmesi hayati önem taşıyor. Önümüzdeki zamanlarda da katlanarak önem kazanmaya devam edecek.

Platform uygulamaları ile ilgili danışmanlık verenlerin karşılaştıkları en büyük sorun teslim ettikleri projeye uzun zaman sonra dönüp baktıklarında platform üzerinde geliştirme yapılırken uyulması gereken kuralların takip edilmemesi oluyor. Ayrıca hata ayıklama, standartlar takip edilmeden yazılan uygulamalar üzerinde düzeltme/güncelleme yapılmasının başlıca sorun olmaları bir yana, birçok görünmez ama gün yüzüne çıkmaya hazır sorunu da barındırıyor.

Bu tür sorunların önüne geçmek amacıyla kod kalitesine yönelen çözümler ve yazılımlar DevOps ile gün geçtikçe değer kazanarak hayatımızda daha fazla yer almaya başlıyor. Bilinen yaygın geliştirme dilleri ve framework’ler için birçok uygulama ve çözüm mevcut. webMethods kullanıcıları için de uzun süredir araştırdığımız, ideal bir çözüm bulamadığımız bir araç gündemimizde. Bu konuya yönelik çok faydalı ve güçlü bulduğumuz bu araç ile yaptığımız bir kaç denemeyi anlatıp uygulamaya sahip olabileceğinizi detaylandırmaya çalışacağız.

FlowMastr;  webMethods için kod analizi yapan, konfigürasyonu yapılmış ve standartlara uygun kural listelerinin hazır olarak bulundurulduğu ve genişletilebildiği bir uygulamadır. Son kullanıcı ihtiyaçlarına göre mevcut kuralların her türlü kombinasyon kontrolleri yapılıp doğruluğu anında test edilebiliyor.

FlowMastr’ı kullanmaya başlamak için tek yapmanız gereken bir webMethods paketi indirip kurmak ve lisans bilgilerinizi girmek.

Bu yazı için daha önce oluşturulan bir paket üzerinde FlowMastr’ın nasıl çalıştığını anlatmaya çalıştık. Bunun için bir servis üzerinde hatalı konfigürasyon yapıp uygulamanın davranışını test ettik.

FlowMastr, webMethods Integration Server üzerinde koşan ve direkt erişebildiğiniz modern bir arayüze sahip. Yapmanız gereken paketinizi seçip, varsa kendi kural setinizi ya da default kural setini seçerek, bir tuşa basıp analizi başlatmanız. Tüm bu işlemlerin REST API’lerle de yapılabildiğini, DevOps süreçlerine ve pipeline’lara eklenebildiğini de belirtmek isteriz.

Şimdi adım adım kod analizinin nasıl yapıldığını görsellerle beraber detaylandırmaya çalışalım.

  1. Adım

    Uygulama ana sayfasında incelemek istediğiniz paket veya paketleri seçerek profillere göre analiz başlatabilirsiniz. Bu yazıda kod kalitesi raporu oluşturmaya çalıştığımız için CodeQuality seçeneği ile ilerliyoruz. Bu aşamada paketler için filtreleme seçeneğini kullanabildiğinizi de belirtebiliriz.

  2. Adım

    Paketin hangi sunucularda olduğunu seçerek ilerliyoruz. Bu denemede sadece lokaldeki sunucu üzerinde işlem yapıyoruz. Lokal sunucuyu seçerek ilerliyoruz.

  3. Adım

    FlowMastr oldukça hızlı çalışıyor, 1 saniye gibi bir sürede analizi tamamladı. Şimdi analizin detayına ulaşmak için rapor kaydına tıklıyoruz.

  4. Adım

    FlowMastr bu aşamada rapora nasıl erişmek istediğimiz ile ilgili farklı seçenekler sunuyor. Şu aşamada HTML ile devam edip kendi ekranları üzerinden ilerleyeceğiz ama sizler dilerseniz PDF, JS, XML ve e-mail olarak da rapora erişebiliyorsunuz.

  5. Adım

    Gördüğünüz gibi FlowMastr çok detaylı olarak bulgularını raporluyor ve hata ya da uyarı olarak işaretlenmiş asset’lerinizle ilgili detaylı analizlere ulaşmanızı sağlıyor. Genel olarak da paket ile ilgili bir skor oluşturuyor. Bu sayede DevOps süreçlerinizde paketin devreye alınması için baz alabileceğiniz bir sayısal kritere de ulaşmış oluyorsunuz. Bu örnek için 12 adet hatalı kod deseni bulunmuş. Detaylarına ulaşmak için ilgili görsele tıklayarak ilerliyoruz.

  6. Adım

    Servis seviyesinde yapılmış olan hatanın hangi aşamada yapıldığına ait bütün detayları, hangi kural ihlalinin yapıldığını, aynı kurala ait kaç tane bulgunun olduğunu ve düzeltmek için ne tür bir aksiyon almanız gerektiğine dair önerileri de bulabiliyorsunuz.


  7. Adım

    Yine başka bir serviste yapılmış, aynı kuralı ihlal eden servise ait detayların hangi seviyede gerçekleştiğine ulaşabiliyorsunuz. Sadece hata durumlarına değil, başarı ve uyarı durumlarına da detaylı olarak erişilebiliyor.


  8. Adım

    Sadece paket seviyesinde değil, sunucu ve ortam seviyesinde analiz sonuçları da raporda yer alıyor.

  9. Adım

    Kullandığınız üçüncü parti bir kütüphane varsa onlara ait detaylı analizlere ve bunların lisans durumlarına, lisans ihlali yapılıp yapılmadığına da detaylı olarak erişebiliyorsunuz. Bu örnek özelinde herhangi bir üçüncü parti kütüphane kullanılmadı ama fikir vermesi açısından görseli paylaşıyoruz.

  10. Adım

    Son olarak profilde incelenmesini istediğiniz kuralların tamamına ait yapılan politika ihlali işlemlerine genel olarak ulaşabiliyorsunuz.


  11. Adım

    – Şimdi FlowMastr ile tespit ettiğimiz hatalı servisleri düzelterek bir kez daha analiz çalıştırıp nasıl davrandığını inceleyeceğiz. Aynı aşamalara ait görselleri paylaşmadan direkt rapor detaylarını paylaşıyoruz. –
    Analiz yine çok kısa bir sürede çalıştı, detaylarına yine HTML olarak uygulama sayfası üzerinden ulaşıyoruz. Görselden de anlaşılacağı gibi herhangi bir hata yok ve uyarı olarak işaretlenmiş 3 tane asset mevcut. Buna göre de genel skorumuz 87’ye yükselmiş durumda.


Uyarı olarak işaretlenen servislere baktığımızda genel olarak bir sorun olmadığını ama ideal olanın ne olması gerektiğini görüyoruz. Servisin doğası gereği gözden geçirmeniz gereken politikalar olabiliyor. Bunların listesini ve uygulanacak politikaları kendi ihtiyacınıza göre %100 özelleştirebilirsiniz.

FlowMastr ile paketimizdeki hataları hızlıca tespit edip projemizi canlıya çıkmaya hazır hale getirebildik. webMethods gibi ürünler IT mimarisinde çok önemli bir yerde durdukları için hata payının neredeyse sıfıra yakın olması hayatı önem taşıyor. FlowMastr bunu garanti ederek kalite sorunlarını erken tespit edip time-to-market sürenizi azaltıyor. Bu sayede çözümlerinin kalitesini iyileştirmenize son derece yardımcı oluyor. Tercih ettiğiniz yolla gereksiz bakım işleri ile vakit harcamak yerine webMethods projelerinize yeni özellikler eklemeye ve inovasyona daha çok vakit ayırabilirsiniz.

Genel olarak puanlayacak olursak biz FlowMastr’a 5 yıldız veriyoruz. Hem webMethods için önemli bir eksiği kapatıyor hem de vadettiği işi yüzde yüz kesinlikle gerçekleştiriyor. Bunların yanında ürünün geliştiricisi ve sahibi olan Christian Schuit ile de tanışma fırsatımız oldu. Kendisi çok yetenekli ve çok iyi bir bilgi aktarıcısı olduğu için geniş bilgi yelpazesinden faydalanmak oldukça keyifli oldu. Kendisiyle tanışmak, her türlü sorunuzu iletmek ve ürüne kendi ortamınızda göz atmak isterseniz; bu yazıyı hatırlatarak ulaşabilirsiniz. İletişim bilgilerini yazının sonuna ekliyoruz.

Bu yazıda değinilen ürün ve görseller Centipod,2019’a aittir. Her türlü hakları saklıdır ve izinleri dışında kullanılamaz. Burada telif hakkı kapsamındaki bu çalışmanın hiçbir bölümü, telif hakkı sahibinin önceden yazılı izni olmaksızın fotokopi, kayıt, bantlama veya bilgi alma sisteminde depolama dahil olmak üzere grafik, elektronik veya mekanik hiçbir şekilde veya hiçbir şekilde çoğaltılamaz.
flowmastr.io
christian.schuit@centipod.nl

YORUM YAP

Lütfen yorumunu bırak!
Lütfen adını buraya gir