Uygulama Yeniden Refacting Tarif: Bilgisayar Haftalık Kesinti Süresi Yükleme Podcast


Bir kuruluşun tüm uygulama mülkünü Java’nın bir sürümünden diğerine güncelleme zorluğunu düşünün, hem güvenliği korumak hem de WebSphere gibi bir uygulama sunucusundan Tomcat gibi bir alternatife geçiş yapmak için ihtiyaç duyulabilecek bir şey.

Modernne CEO’su ve kurucu ortağı Jonathan Schneider, bu tür programlama zorluklarıyla başa çıkmak için tasarlanmış açık kaynaklı bir yazılım otomatik yeniden düzenleme aracı olan Openrewrite’ın mucididir.

Schneider Netflix’te çalışıyordu ve zor bir sorunu çözmek istiyordu – kodu doğrulukla nasıl yeniden yazılır ve orijinal kod stilini kabul edilecek şekilde korur. Sonuç, kod için yeni bir veri modeli (kayıpsız semantik ağacı olarak adlandırılır) ve kodu nasıl yeniden yazacağını belirten tarifler tarafından yönlendirilen kural tabanlı yeniden düzenleme motoruydu.

Netflix’teki yeniden düzenleme kodunun meydan okumasını ve karmaşıklığını açıklayarak, kodu yeni bir platforma taşımak için bir kesim tarihi belirlemenin mümkün olmadığını söyledi. O zamanlar Schneider, şimdi geliştirici deneyimi olarak adlandırılan ve platform mühendisliği içeren merkezi bir ekibin parçasıydı.

Openrewrite’da kullanılan kayıpsız semantik ağacı, kodun yapısının ve ilişkilerinin ayrıntılı bir haritasını sağlar. Bu, kodun nasıl yeniden yazılacağını belirten tarifler tarafından yönlendirilen kural tabanlı yeniden düzenleme motoru tarafından kullanılır.

Orijinal Netflix kullanım durumlarından biri, dahili bir günlük kütüphanesi olduğunu söylüyor, “Onu açık kaynak SLF 4J (Java için basit günlüğü cephe) ile değiştirmek istedik.” İşlem, dahili günlük kütüphanesinin nerede kullanıldığını belirlemek için kod ve logger bilgilerini incelemeyi içerir.

Schneider, kod güncel tutmanın karmaşıklığı etrafında bir iş kurdu. Oluşturulan her kod parçası, üretime yerleştirildiği anda temel olarak teknik borç olarak sonuçlanır. “Bir Uygulama mimarisi etrafında tüm mükemmel kararları verebilirim ve bugün iki ay sonra, bir nedenden ötürü, artık optimal değil.”

Tarihsel olarak, kod, başvurularını ileriye dönük ve güncel tutmaya devam eden ürün mühendisleri ile kalma eğilimindedir. Bazen, bir BT danışmanlığı firması, sadece uygulama bakımı üzerinde çalışmak için, her seferinde bir başvuru yapmak için getirileceğini söylüyor.

Schneider’e göre, uygulama modernizasyonu için bu strateji işe yaramadı. Modernne’nin aldığı yaklaşım, tüm iş boyunca yatay olarak çözülebilecek görevleri dikkate almaktır.

Microsoft’un dikkatini çeken bir şey. Moderne Azure Marketplace’de ve şirket aynı zamanda yeni başlayanları tanıtmak için Microsoft Pegasus programının bir parçası. Pegasus’un faydalarını tartışan Schneider, “Microsoft her zaman kilit müşterileri için önemli olan yetenekleri arıyor ve çözümleri müşteri ihtiyaçlarıyla eşleştirmeye çalışıyor. Bu durumda, teknoloji mühendisliği ve BT yöneticilerinin uygulama modernizasyonunu hızlandırmak istediğini düşünüyorum.” Programın, Microsoft ile birlikte satış yapmanın ticari avantajlarıyla birlikte “çok fazla kasetten keserek” Moderne’nin Azure Marketplace listesine yardımcı olduğunu söyledi.



Source link