VB6 Programlarinin .NET e Goc Ettirilmesi
Transkript
VB6 Programlarinin .NET e Goc Ettirilmesi
Visual Basic 6.0’dan .NET’e göç -Azhar Amir Özet Visual Basic 6.0’dan (VB6) Visual Basic.Net’e (VB.NET) geçiş öncelikle VB6 için verilmekte olan desteğin sona ermesi gerçeğiyle harekete geçirilmiştir. Öncü kalmak isteyen şirketler kritik uygulamalarına yeni hayat vermek için en son .Net teknolojisinin yararlarını kullanabilirler. Bu yüzden bu yazı bu uygulamaların VB 6.0’dan VB.Net’e göçü ile ilgilenecektir. Bu yazı Infosys’in (Microsoft Teknoloji Merkezi) VB6.0 uygulamalarının .Net’e göçü için geliştirdiği metodolojilere ve tekniklere odaklanmaktadır. Yaklaşımımız, VB6.0 uygulamalarının .Net platformuna pürüzsüz, maliyet bakımından verimli ve randımanlı bir göçünü sağlamak amaçlıdır. Gevşek birleştirilmiş bir SOA (Service Oriented Architecture, Hizmete Yönelik Mimari) sağlamak için .Net platformunda var olan özellikleri etkili olarak kullanıyoruz. Analiz ve dönüştürme sürecini otomatikleştiren metodolojiyi de geliştirdik. Katalitik BT sunumlarımızı kullanarak ROI’yi (Return on Investment) başarıyla ortaya koyduk. Visual Basic 6.0 Uygulama Göçü Çözümü Bir Visual Basic 6.0 uygulamasının göçü, ortak anlayış olan sadece bire-bir kod çevirimi değildir. Başka bir deyişle, Uygulama Göçü bir yazılım çeviriminden başka analiz ve değerlendirmeyi de kapsar, sonra bunu deneme izler. Bunun nedeni, uygulama göçünün yalnizca teknolojik değil, aynı zamanda ticari gereksinimler tarafından da kontrol edilmesidir. Bu nedenle teknolojik ile ticari gereksinimlerin birleşimi, VB 6.0 uygulamasının .Net platformuna göçü için doğru bir yönü sağlayacaktır. Visual Basic’in göçüne yol açan genel ticari gereksinimlerin bazıları şunlardır: • Kuruluştaki başka sistemlerle uyum ihtiyacı • Tekrarlanan işlevsel değişimler için daha az geri dönüş zamanı • Mevcut sistemi çok sayıda kullanıcıya büyütmek • İşlevselliği diğer dağıtım kanallarına genişletmek Tipik olarak, eski uygulamaların uygun ve düzgün belgeleri (gereksinmeler, dizayn belgeleri , kullanım kılavuzları ve koddaki yorumlar) yoktur. Bununla beraber, gereksinimleri (işlevsel veya işlevsel olmayan) anlamak ve bütün uygulama tabanı için bir göç yolu & stratejisi oluşturmak için mevcut uygulamayı (göç gerektiren ve diğer uygulamalar) saptamak ve analiz etmek bir mecburiyettir. Tekniği ve ticareti harekete geçirenler bazında Infosys’in Visual Basic uygulamalarını .Net’e göç ettirmek için önerdiği aşağıdaki gibi çok yönlü yaklaşımlar vardır • .Net’e hızlı ve otomatikleştirilmiş göç • Yeniden-Mimarlık – karışık • Hizmete yönelmek – el ile Karmaşık bir yaklaşım, araç ve el ile dönüştürme yaklaşımlarının bir birleşimidir. Bu genellikle işlevsellikte değişiklikler kapsayan tipik eski uygulamaların göç projelerine en uygun olanıdır. Infosys VB 6.0 - .NET GÖÇ ÇÖZÜMÜ VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 1/7 Göç Metodolojisi AŞAMALAR Saptamak Göç stratejisi saptamak Uygulamanın karmaşıklığını saptamak Yazılımın kalitesini saptamak Bağımlılıkları incelemek Altyapıyı saptamak Ölçümleri belgelemek Göç için tahmin yapmak Tanımlamak Göç Dağıtım Gereksinimleri tanımlamak Yazılımı hazırlamak Göç öncesi adımları atmak Deneme Durumlarını Belgelemek Önyüzü (UI) yeniden yaratmak Yazılımı Göç Ettirmek Işlevleri denemek Göç Sonrası Adımları Atmak Verimi (performansı) ve ölçekliliği denemek Iyileştirmeleri Yapmak Yazılımı Kurmak (Build) Gelecekteki mimariyi tanımlamak Düşünülenleri doğrulamak, POC (Proof of Concept) yapmak Yazılım göçünü adımlarını belirlemek Gelecekteki altyapıyı planlamak Göç sorunlarını saptamak Birim Deneme Programlarını yazmak (Unit Test Scripts) Yazılımı Compile etmek Çalıştırma programlarını yazmak ARAÇLAR Uygulama portföy incelemesi Otomatik yazılım gezicisi Özel saptama aracı Tahmin aracı Göç öncesi araçları MSBuild veya NAnt Göç sonrası araçları Diğer özel araçlar Deneme Otomatizasyonu Araçları Program yaratma araçları Visual Basic Göçü İş Tezgahı (VB Migration Workbench) Figür 1: Infosys Göç Metodolojisi Infosys uygulamaların VB6’dan .NET’e pürüzsüz geçişini sağlama yönünde çalışıyordu ve bu iş için yukarıdaki metodolojiyi icat etti. Infosys’in VB uygulamalarının .Net’e göçü için 4 aşamalı bir yaklaşımı var. Bu aşamalar aşağıdaki gibidir: VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 2/7 Saptamak Göç Tanımlamak Dağıtım Infosys belirtilen aşamaların her birinde yapılmasına ihtiyaç duyulan yüksek seviyeli eylemler tanımladı. Daha iyi bir verimliliğe olanak vermek için, bu aşamaların her biri Microsoft’un yaptığı araçları ve Infosys’in yaptığı birkaç ısmarlama aracı kullanacaktır. Infosys’nin tanımladığı metodoloji yukarıda anılan değişik yaklaşımların her birinde kullanılabilir. Infosys, karmaşık Visual Basic 6.0 müşteri uygulamalarının .NET platformu üzerine, aslında müşteri için ROI olarak çeviren, el ile yapılan dönüştürmeye göre daha kısa bir zaman çerçevesinde göç ettirerek, bu yaklaşım ve araçlarının uygunluğunu ispat etti. VB6.0’ın .Net’e otomasyonu, Kuruluş Göçü İş Tezgahı (Enterprise Migration Workbench) İçin VB Göç Hızlandırıcısı olarak bilinen bir Infosys özel aracı kullanılarak yapılır. Bu metodoloji, göçün her aşamasında değişik eylemlerin otomatikleştirilmesine dikkat eder. i. Saptama aşaması Bu aşamada müşterinin bütün VB uygulama portföyü için bir göç yol haritasını ortaya çıkarmak amacıyla, Uygulama Envanter Toplantısı, Uygulama Portföy Analizi ve tahminler yapılır. Sadece bir uygulamanın bulunduğu durumlarda, visual basic iş tezgahı göçü, uygulamayı saptamak için herhangi bir portföy analizi olmadan direk olarak kullanılabilir. VB6.0 Kodu Deposu Uygulama Portföy Analiz Uygulama Envanteri Belgeleme (Kullanım Kılavuzları) VB Göç İş Tezgahı Tahmin Geliştirme modelleri & Pratikleri Infosys Proje Ekibi Yaklaşım Belgesi Tahmin Model & Şablonları Figür 3: Saptama aşaması Tahminlerle eşzamanlı olarak, tek tek her uygulamaya uyan en iyi çözüm stratejisi hakkında göç çözümleri analiz edilir ve bir eşleştirme yapılır. Bu, modernleşme fırsatlarını hızla tanımlamaya ve uygulama portföyünü en iyi şekilde kullanmak için stratejiler önermeye yardımcı olur. ii. Tanımlama Aşaması Tanımlama aşaması olan II. aşama, I.aşamanın girişlerinin mimarinin istenen gelecek durumuna ulaşması için kullanıldığı aşamadır. VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 3/7 Bu aşama esnasında, eğer gelecek durum uygulaması için yeni işlevsel gereksinimlere ihtiyaç varsa, bu gereksinimler tanımlanır. Göç Stratejisi Tanımlama Gelecek Gereksinmeleri Yakalamak Gelecek Durum Mimariyi Tanımlamak Eşleşme Kod Göçü Adımları Tanımlama Giriş Ortak Saptama Aşamasından Modeller/ Tanımlama Aşaması Figür 3: Tanımlama aşaması Aynı zamanda karışık işlevsel uygulamalar için yapılması gereken denemeler varsa, bir taslak deneme yapılır. iii. Göç Aşaması Bu gerçek kod göçünün yapıldığı aşamadır. Hem saptama hem de tanımlama aşamasından girişler bu aşamaya alınır. Ön göç adımları, tanımlama aşaması esnasında tanımlanan göç için yaklaşım bazında icra edilir. Saptama Aşamasından Kaynak Kodu Hazırlamak Giriş UI’yi Tekrar Hesaplamak Test Yazılarını Yaratmak Tanımlama Aşamasından Kaynak Kodu Göç Ettirmek Giriş (Infosys Göç İş Tezgahı) Göç Aşaması Figür 5: Göç Aşaması Kaynak kod göç için hazırlanır, bu aslında ön göç adımıdır. Sonra kaynak aşağıda detaylıca anlatılan Infosys Girişim Göç İş Tezgahı kullanılarak göç ettirilir. Sonra kaynak kodu göç sonrası askıda olan sorunları düzeltmek için gerekli olan göç sonrası değişiklikler için hazırdır. Infosys, Girişim Göç İş Tezgahını, mevcut miras kod bazındaki yatırımı kaybetmeden yeni özelliklerden faydalanmak amacıyla, uygulamaları daha yeni teknolojilere göç ettirmek için geliştirdi. Kuruluşun Göç İş Tezgahı (Enterprise Migration Workbench) platformunun VB’den VB.Net’e, SQL Server 2000’den 2005/2008’e, BizTalk Server 2004’den 2006’ya, SharePoint Portal Server ‘003’den MOSS 2007’ye göçüne dikkat eden bazı hızlandırıcıları vardır. Bu hızlandırıcılar, mümkün olan yerlerde Microsoft geliştirme wizardlarını harekete geçirirler ve Microsoft sihirbazıyla elde edilemeyen teknik boşluğu köprülerler. VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 4/7 Bu hızlandırıcıların her biri aşağıda açıklandığı gibi 3 aşamalı bir yaklaşımla çalışır: Şekillendirme Bu aşamada araç uygulama/veri tabanı sunucusundan kaynak kodu elde etmek için şekillendirilir Keşfetmek Araç kayıp kaynak kod dosyalarını teşhis etmek, kaynak kod tamamlama kontrolü, kod analizi tamamlamak için çalıştırılır ve göçün zorluğu, kaynak kod bağımlılığı, kayıp dosyalar, kod akışı yolu, reddedilen metotlar ve desteklenmeyen elemanları vurgulamak için kapsamlı rapor sağlar. Göç Bu aşamada araç kaynak kodu reddedilen API’leri yeni eşdeğerli API’lerle değiştirerek yeni sürüme göç ettirir. Bazen 3. sınıf ve diğer elemanların kullanımına bağlı olarak, kaynak kod tamamıyla göç ettirilemez ve böyle durumlarda bu işlem göç aşaması sonrasında el ile yapılmalıdır. Infosys karşılık gelen .Net elemanlarına göç ettirmek amacıyla bazı üçüncü sınıf VB elemanları için eşleştirmeler yaptı. Araça başka değer ilaveleri vardır a. VSS’ten VSTS’e göç b. SQL’den 2005’e göç ve verim analizi Hizmet imkanı arayan müşteriler için, SOA’ya aşamalı bir yol haritası tavsiye ederiz, altında bulunan kodda değişiklikler yaparak veya mevcut metotlar etrafında sargılar inşa ederek, kusursuz .Net’e göç sonrası koda hizmet imkanı verilebilir. Araç bazında yaklaşımın aşağıdaki avantajları vardır ve bazı müşteriler bunu bir dönem beğendiler, • Kod zorluğunun ve reddedilen/desteklenmeyen API’lerin, metotların öneminin direk tanımlanması • Reddedilen metotları değiştirerek, el ile kod değişikliğinin otomatikleştirilmesi • ActiveX elemanlarının karşılığı olan .Net elemanlarına otomatik göç ettirilmesi • Araç çevrim dışı modunda kod üzerinde çalıştırılabilir Araç %30 veya daha fazla otomasyon sağlarken, bu aynı zamanda altında bulunan kaynak koda da bağlıdır. Önemli olarak göç sonrası kod araca bağımlı değildir ve yeni teknoloji bütünüyle harekete geçirilir. Araç bazlı göç, altındaki kaynak kodu tamamen çok sayıda sunum, iş, ve veri gibi tabakalarla yapılmış ise tavsiye edilir ve yeni bir ortama alınabilir. Eğer kaynak kod spagetti ise, araç genellikle çoklu tabakaya ayırmak için fazla bir şey yapamaz. Araç sunum, iş veya veri tabakası gibi değişik tabakalar üzerinde bağımsız olarak çalışabilir ve istendiği gibi sadece özel bir tabakaya göç ettirmek için kullanılabilir. Girişim Göçü İş Tezgahı Uygulama platformunu iyileştirme Göçün Ömür Dönemi > Keşfet, Analiz et ve Tahmin et Zorluk Analizi, POC Tanımlama, Göç Çabası Tahmini Şekil Göç Ettirilecek Yapının Yerinin VB 6.0 Yazılımını .NET’e göç ettirmek Göç Mümkün Olan Yerde Otomatik Göç, Yeni İşlevselliğin Otomatik Toplanması 30.09.2008 5/7 Detaylarını Elde Et BizTalk 2004>2006 SQL 2000>2005 VB6>VB.NET göçü hızlandırıcısı göçü hızlandırıcısı göçü hızlandırıcısı iv. Sharepoint 2003 göçü hızlandırıcısı Hazır hale getirmek Göç ettirilen tüm uygulama analiz ve geliştirme adımlarında deneme koşulları yaratılarak yanlışlık ve kusurlar için denenir. Değiştirilen sınıflar, metotlar, çerçeve elemanları ve diğer özelliklerin sayısı, mantık yanlışlıkları, verim dar geçitlerini ve işlevsel eksiklikleri çözmek için belirlenir. Hazır hale getirme ortamı ve dikkate alınan diğer parametreler bazında, göç ettirilen uygulama müşteri yerinde hazır hale getirilir. - İşlevsel eşitliğin sağlanmasını gözden geçirmek - Değiştirme sırasında sistemin durdurulmasını engellemek için mevcut Visual Basic uygulama ile paralel olarak çalıştırılır. Bu aynı zamanda hazır hale getirme sonrası danışma/destek eylemlerini (müşterinin isteğinin kritikliğine bağlı olarak sahada/yurt dışında) kapsar. Sonuç Visual Basic’in Microsoft tarafından aşama dışı bırakıldığı biliniyor ve aynı zamanda şirketler iş ihtiyaçlarındaki yaklaşan zorluklara cevap vermek istiyorlar. Bu değişen iş senaryosu .Net gibi yeni teknolojilerin ortaya çıkmasına yol açıyor. Infosys böylece bu şirketlerin Visual Basic’ten .Net Teknolojilerine göç etme ihtiyaçlarını yerine getiriyor. .NET kullanmanın avantajları bu uygulamalar için hedef teknoloji olarak kullanmak için bütün nedenleri sağlar. Ayrıca, bu yeni bir teknolojidir ve en güvenilir biçimde gelecek değişiklikler ve gelişmeler için kapıları açık tutacaktır. Infosys metodolojisi ve Visual Basic Göç İş Tezgahı ve Infosys Teknikleri gibi bir takım verimli araçlar kullanarak; Infosys, VB 6.0’dan .NET’e göç için yukarıda bahsedilen yaklaşımların güvenilirliğini başarıyla gösterdi. Aynı zamanda bütün göç süreci esnasında ortaya çıkan tüm problemleri çözdü. Infosys’in desteklediği ve tavsiye ettiği yukarıdaki adımlar denendi ve ölçüldü. Metodoloji: - Uygulama mimarisini anlama esnasındaki çabaların yaklaşık %50-60’ı, - Çevre turu bilgisini anlama ve belgelendirme esnasındaki çabaların yaklaşık %65-70’i, - Infosys otomasyon araçları kullanırken kodlama çabasının (ortalama) %25-40’ı kadar tasarruf etmeyi garanti ediyor. Infosys aynı zamanda müşterilerine yüksek kaliteli göç hizmetleri sağlamak için, başarılı sahada – yurt dışında modelini harekete geçirir. Derin .NET teknolojisi deneyimi ile, Infosys .NET platformuna pürüzsüz göçü temin eder. VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 6/7 Yazar Hakkında Azhar Amir 10 seneden fazla bir süredir BT endüstrisi tecrübesine sahiptir. O, Infosys Teknolojilerine hakim bir mimardır ve Microsoft Teknoloji Merkezinin parçasıdır. Eski uygulamaları .Net gibi yeni teknolojilerle modernleştirmek için çözümler sağlamada ve aynı zamanda girişim mimarisi tanımlamada derin bilgiye sahiptir. Azhar aynı zamanda bazı ticari BT yayınlarının ve kitap yayınlarına da katkıda bulunmuştur. Yazar, Infosys Teknolojileri’nden Baş Mimar Mr. Srinivasan Natrajan’a, Baş Mimarı Autl Gupta’ya, Mimar Srividya Saptharishi’ye ve Mimar Sudhanshu’ya en samimi teşekkürlerini iletir. VB 6.0 Yazılımını .NET’e göç ettirmek 30.09.2008 7/7
Benzer belgeler
currıculum vıtae - Özyeğin Üniversitesi
Cristea, I., Kafescioglu, N., & Coyne, J.C. (2013, July). The worrisome state of research
concerning couples interventions for cancer patients: A systematic review. European
Health Psychology Confe...