Zoeken naar artikelen:

Openklappen

Geruisloze migratie naar .Net is mogelijk met PCM

Inhoudsopgave:

  1. Geruisloze migratie naar .Net geschreven in C#
  2. In feite zijn er 3 oplossingen bij migratie naar .Net
  3. Wat is Parallel Continuous Migration (PCM)
  4. Hoe werkt de technologie achter PCM
  5. Een praktijkvoorbeeld vanuit DataFlex omgeving
  6. Bijkomende voordelen van PCM
  7. Kleinere systemen komen niet in aanmerking voor PCM
  8. Hoe ziet het stappenplan van PCM eruit
  9. Voordelen en baten PCM in vogelvlucht bij .Net migratie
     

Geruisloze migratie naar .Net geschreven in C#

Migratie van legacy software naar .Net kan bij een verkeerde aanpak uiterst vervelend zijn. Veelal wordt migratie uitgevoerd door de bestaande software qua syntax te converteren, en hierna handmatig aan te passen tot het werkt. Het duurt altijd langer dan gepland, en nog erger tijdens de conversie kunnen aanpassingen op het huidige systeem niet meer worden uitgevoerd… Het systeem is bevroren...

Maar heeft u weleens gehoord van Parallel Continuous Migration (PCM)?

Waarom andere technologie zoals migratie naar .Net?
Een migratie naar .Net biedt talloze voordelen:

  • 1 omgeving is productiever om mee te werken
  • 1 platform betekent efficiency en kostenbesparing
  • Er zijn talloze voorbeelden van bedrijven waarbij 90% van het budget opgaat aan bestaand systeemonderhoud
  • Door gebruik van de nieuwste technologie trek je goede mensen aan die graag met kwaliteit werken

PCM is een unieke migratie methode ..

Dit artikel gaat over een methode (Parallel Continuous Migration), die zo uniek is, zo geavanceerd, dat het in de praktijk aardig wat moeite kost om potentiële klanten ervan te overtuigen dat het inderdaad werkt.

 

In feite zijn er 3 oplossingen bij migratie naar .Net

Er zijn in feite 3 oplossingen bij migratie naar .Net:

Opnieuw bouwen
Dit valt altijd tegen, een legacy systeem bevat onnoemelijk veel verborgen functionaliteit, en bevat complexe details die iedereen allang vergeten is. Bij opnieuw bouwen moet het bestaande systeem voor jaren worden bevroren. Omdat dit onwenselijk is kiest men meestal voor permanent onderhoud.
En natuurlijk gaan dergelijke projecten meestal een factor 3 tot 5 over het budget en doorlooptijd heen.

Stukje voor stukje opnieuw bouwen
Dit is eigenlijk hetzelfde als opnieuw bouwen, maar het duurt langer, en is veel meer werk. Ook hier moet telkens een deel van het bestaande systeem worden bevroren. In de praktijk komt dit erop neer dat je voor 80% nog een oude applicatie hebt.

PCM: Parallel Continuous Migration
Hierbij wordt het systeem in één keer vervangen, terwijl?  het onderhoud door kan gaan. Ofwel een gehele conversie parallel aan het gebruik en nieuwe ontwikkelingen, waarbij je dan op 1 moment alle applicaties omzet en de user interface migreert naar bijv. office 2007.

Wat is Parallel Continuous Migration (PCM)

Kwalitatief, veilig en betrouwbaar
Met de PCM methode kan elke bestaande applicatie snel en efficiënt naar .Net worden gemigreerd. Hiermee heeft u waarschijnlijk de beste, veiligste en meest?  betrouwbare weg naar .Net gevonden.

Parallel doorgaan met actuele systeem
U kunt parallel gewoon doorgaan met de ontwikkeling en het onderhoud van uw legacy applicatie. Tegelijkertijd zorgt PCM voor een conversie programma dat uw applicatie in één keer automatisch converteert naar .Net.

Dezelfde functionaliteit
Uw nieuwe .Net applicatie is geschreven in C# en heeft dezelfde?  legacy systeem.

Moderne user interface
Uw nieuwe systeem heeft een moderne user interface, waar gebruikers zich in thuis voelen. Gebruikers kunnen moeiteloos overgaan naar de nieuwe applicatie.

Gemotiveerde programmeurs
Programmeurs switchen moeiteloos naar het nieuwe .Net systeem. Ze herkennen de oude functionaliteit, en krijgen hierdoor een vliegende start als .Net programmeur.



Figuur. Parallel Continuous Migration (PCM): Terwijl het legacy programma wordt onderhouden maakt men een Migratie Engine. Nieuwe versies worden automatisch mee gemigreerd.

Hoe werkt de technologie achter PCM

De werkwijze is gebaseerd op een uitgebreide ervaring met migratie en de optimale technologie om dat uit te voeren.

Via aspect mining zoekt men patronen op in de broncode. Die stopt men allemaal in een object structuur. Een if then else constructie wordt bijvoorbeeld gesplitst naar een if-object, een then-object en een else object. Hierdoor onstaat een taalonafhankelijke structuur in het geheugen van de computer.

Nadat het hele Origin bestand is omgezet, wordt het via code generators omgezet naar .Net. Dit is heel efficiënt, omdat de meeste aspecten vaak voorkomen en men maakt die code generator maar één keer voor elk aspect.
Aspect na aspect wordt het legacy systeem behandeld, het conversieprogramma wordt steeds groter. Parallel gaat de ontwikkeling van het legacy platform verder.
 

 

Figuur. Automatische conversie van heterogene systemen naar één .Net platform.
 

 

Een praktijkvoorbeeld vanuit DataFlex omgeving

Eén van de oudste legacy omgevingen is DataFlex. In het legacy systeem zitten zowel Cobol achtige constructies van 25 jaar oud, als?  moderne object georiënteerde constructies.

Opdracht was een systeem te maken dat de functionaliteit had van het oude systeem, maar dan gemigreerd naar .Net in C#. En natuurlijk met een .Net user interface. Tijdens het migratieproject werd gewoon doorgegaan met de ontwikkeling in het oude platform, er werden vier nieuwe versies door PCM geconverteerd.

Ook de user interface werd automatisch geconverteerd. Hieronder is de oude user interface weergegeven:

Figuur. Het oude, in DataFlex geschreven systeem.

Duizenden schermen
Het systeem bestaat uit duizenden van dergelijke schermen, die allemaal geconverteerd moeten worden naar .Net. Handmatig was dat gewoon niet mogelijk.

De eis was een Outlook/Office 2007-achtige user interface, maar dan wel zodanig dat de oude functionaliteit makkelijk herkenbaar blijft. Dat betekende dat alle schermcomponenten in dezelfde volgorde en grootte op het scherm moeten staan.

Vanzelfsprekend moest ook de wijze waarop de velden reageren op handelingen van  gebruikers precies hetzelfde zijn.

Na volledige automatische conversie leverde dit het onderstaande scherm op, vanzelfsprekend niet meer in DataFlex maar in C#. Hieronder is de nieuwe user interface weergegeven:

Figuur. Het nieuwe in C# geschreven systeem.

De nieuwe applicatie bevat de Office 2007 user interface, met de belangrijkste functies aan de linkerkant, en ondersteunde functies bovenaan. Een gebruiker herkent direct de verschillende mogelijkheden en opties. Men kan hierdoor na een korte introductie met het systeem aan de slag.

Bijkomende voordelen van PCM

Geen afhankelijkheid van derden
De PCM technologie is helemaal afgestemd op volautomatisch migratie, de tools zijn zelf gemaakt en in eigen beheer. Daardoor is er geen afhankelijkheid van derden.

Eenvoud
Converteren gebeurt alleen naar .Net. Er is niet de pretentie alles te kunnen vertalen en daardoor is de technologie veel doelmatiger.

Migratie per aspect
De tool spoort aspecten op, gelijksoortige stukken code in de programmatuur, en houdt voor elke soort (deel) aspect bij hoe deze geconverteerd moet worden. Hierbij wordt een verdeling gemaakt naar type aspecten, bijvoorbeeld naar databasebenadering, user forms, interfaces, en dit wordt telkens weer verder verfijnd. Aspecten hebben een onderlinge hiërarchie.

Senior programmeurs worden belast met elk type aspect, die sporen aspecten op, en maken code generators. Elk van die programmeurs is gespecialiseerd op een bepaald deelgebied, bijvoorbeeld databases of user interfaces. waardoor een grote uniformiteit en kwaliteit wordt verkregen.
De menselijke factor is hierbij essentieel. Men krijgt veel betere programmatuur door Senior programmeurs in te zetten. En door specialisatie op een bepaald gebied krijg je een nog betere kwaliteit software.

Efficiënt, testbaar, beheersbaar
PCM is efficiënt: Een applicatie bevat veel aspecten die zichzelf herhalen. Per (deel)aspect hoeft er maar één keer een C# Code Generator te worden gemaakt. En passant wordt de nieuwe code ook nog uniform en hierdoor efficiënter onderhoudbaar. 

Het is ook beter testbaar, omdat het nieuwe systeem veel meer uniform is. Als er iets fout gaat, dan gaat het overal fout, en dat is snel te vinden.

Voor het management is het ook beter beheersbaar. Er hoeft niet gelet te worden op meerwerk. Er is een duidelijke fasering, met duidelijkheid in op te leveren producten.

Converteren naar één .Net platform
Met de PCM methode kunnen verschillende platforms worden geconverteerd naar één .Net platform. Eindelijk kunt u standaardiseren op één technologie. Systematisch brengt u alles naar één platform.

Geruisloze overgang met behoud van marktaandeel
Indien software als product op de markt wordt gebracht, is het een commerciële doodzonde software opnieuw te schrijven. Nieuwe software ziet er immers anders uit, reageert net even anders. Gebruikers gaan nadenken, zich ergeren in plaats van gewoon de nieuwe versie te installeren. Ze besluiten om toch ook de producten van concurrenten onderzoeken. Het nieuwe product moet opnieuw verkocht worden. Marktaandeel gaat verloren.
Migratie betekent geruisloze overgang en behoud van marktaandeel.
Na migratie kan het product altijd nog worden verbeterd, en in .Net gaat dat sneller dan in een legacy omgeving. Eerst migreren, dan verbeteren.

Kleinere systemen komen niet in aanmerking voor PCM

Niet elk systeem kont in aanmerking voor PCM. Een systeem moet een bepaalde minimum omvang hebben.
Kleinere systemen kunnen beter handmatig worden geconverteerd. Er wordt dan eerst een ruwe conversie uitgevoerd, en hierna moet deze handmatig worden aangepast (tweaking).

Vergeleken met de PCM methode is dit handmatig aanpassen heel veel werk, en er ontstaat snel code variatie. In verschillende onderdelen van het systeem wordt telkens iets op een andere manier opgelost. Vandaar dat handmatige conversie alleen in aanmerking komt voor kleinere systemen. 

Is opnieuw bouwen niet beter?
In theorie is nieuwbouw wellicht beter, omdat je dan alles in één keer “goed” kan doen. Maar hierbij wordt de menselijke maat uit het oog verloren. Het is al moeilijk genoeg een goed systeem te maken, het blijkt in de praktijk onmogelijk de extra functionaliteit in de hand te houden. Dergelijke projecten gaan glijden.
Maar als software een beperkt aantal gebruikers heeft, het een dagelijkse stress is om het in de lucht te houden, gebruikers ronduit ontevreden zijn, is het soms beter opnieuw te beginnen. Opnieuw schrijven kan ook beter zijn bij kleine applicaties, of bij applicaties met simpele en beperkte functionaliteit. Ook hiervoor is een oplossing. Met .Net Productivity Framework kunnen snel, en voor redelijke kosten dergelijke applicaties worden gerealiseerd. Lees hiervoor verder het volgende artikel: Sneller en beter .Net applicaties realiseren.

Hoe ziet het stappenplan van PCM eruit

De stappen zijn:

• Offerte stap
Hiervoor wordt eerst een Non Disclosure Agreement afgesloten. Men onderzoekt het systeem, overlegt met u, en brengt een offerte uit voor de prototype stap.

• Prototype stap
Men analyseert het systeem, en bouwt een prototype. Voor het analyseren gebruikt mentools, die men verfijnt voor uw systeem. Vaak blijkt dat er bij nader inzien minder hoeft te worden geconverteerd, omdat delen van de software niet worden gebruikt.

Het prototype wordt gedeeltelijk automatisch, en gedeeltelijk handmatig gemaakt. Hierna weet u wat u krijgt, en heeft de maker voldoende informatie om een offerte te doen voor de migratie.

• Migratie stap
Tijdens de migratie kunt u gewoon doorgaan met de ontwikkeling van het huidige systeem. Die worden telkens gemigreerd. De typische doorlooptijd is 1,5 jaar. Testen vindt plaats in het laatste half jaar. 

Garantie stap
Na het converteren krijgt u een half jaar garantie op de migratie. Fouten die toch nog naar voren komen, en die door de migratie zijn veroorzaakt, worden hersteld. Tevens verzorgt men seminars aan uw programmeurs, waarbij de gebruikte technologie wordt besproken.

Voordelen en baten PCM in vogelvlucht bij .Net migratie

De voordelen en baten van PCM bestaan uit verschillende factoren: hogere productie, personeelsfactoren, standaardisatie, moderne look en feel en meer mogelijkheden. Deze factoren versterken elkaar:

Personeelsfactor
De nieuwe applicatie, gemaakt door ervaren .Net programmeurs, bevat samengebalde .Net kennis vervat in een applicatie die uw programmeurs door en door kennen. Tezamen levert dit een uitstekende training on the job op. Lees ook het artikel: Welke project keuzes maken bij offshore software development?

Standaardisatie
Door de PCM methode van migratie vindt automatisch interne standaardisatie plaats. Immers gelijksoortige code wordt vervangen door?  uniforme code. Maar daarnaast betekent vervangen van andere platforms door .Net ook standaardisatie.

Moderne look en feel
De nieuwe .Net applicatie heeft een moderne look en feel, het heeft een professionele uitstraling. Belangrijk indien u de software als product op de markt brengt, belangrijk indien u marktaandeel wilt behouden en wilt uitbreiden.

Modern systeem, web enabled
Verbeteringen, die in het huidige legacy systeem erg kostbaar en risicovol zijn, kunnen in het .Net systeem veel makkelijker worden doorgevoerd. Bijvoorbeeld het opsplitsen van de software in een applicatie server en cliënt software. De applicatie server wordt vervolgens het hart van een web enabled applicatie, die via web services communiceert met andere systemen, en via web browsers benaderbaar is. Allemaal veel makkelijker te doen in .Net dan in uw bestaande systeem.

Intellectueel eigendom
Het nieuwe systeem wordt uw intellectueel eigendom.
De PCM hulpmiddelen, ook de hulpmiddelen speciaal ontwikkeld voor het project, zijn?  eigendom van de PCM leverancier.


Heeft u vragen over PCM of interesse in een kennismaking dan kunt u gebruik maken van het reactieformulier of een mail sturen naar info@managementkennisbank.nl.

Artikel downloaden

Geruisloze migratie naar .Net is mogelijk met PCM.pdf
(Geruisloze migratie naar .Net is mogelijk met PCM.pdf)

Download artikelen

Alle artikelen, zoals checklists, stappenplannen en visies kunt u gratis laten toezenden. U kunt alle artikelen downloaden. Heeft u vragen, kunt u het reactieformulier gebruiken

Naar download pagina