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

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...

Detaylı