Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Dec 15, 2009
An IT services provider company has migrated an ERP application totaling 950,000 lines of VB6 code to .NET in 9 months.
There are 5 basic options dealing with a legacy VB6 application:
If migration is the path to go, the next three solutions are helpful with that:
Microsoft recently published a case study highlighting the success of the migration of 950,000 lines of VB6 code to .NET. The process was conducted by SiS, an Austrian IT company, using VB Migration Partner from Code Architects over a period of 9 months. The project was an ERP system built over 10 years and consisting of 33 applications. The best solution for this application was to migrate it rather than use a customized ERP application or rewrite it. Customizing a commercial ERP was not accepted because it would have cost 3-5 million Euros, it would take 2 years and no vendor guaranteed the implementation of all original features.
SiS selected 25,000 lines of code and tried to migrate them with various tools. VB Migration Partner was the best, the chunk of code being migrated, compiled and ready to run in 2.5 hours. They also reported that VB Migration Partner required the least amount of manual intervention to make the UI look like the original one.
The entire ERP application was migrated in 9 months by 3 developers totaling “3,650 developer-hours to migrate the code, 3,400 hours for code review and refactoring, and 1,300 hours for testing.” The code review was requested because the code would need further development in the future and none of the original developers were available. Total cost: 750,000 Euros, much less than the required one for a customized ERP. The process evolved in phases: when a module was done, it would be integrated with the rest of the VB application until the entire application would have been migrated to .NET.
Companies with major investments in VB6 can still make good use of their legacy assets by migrating them to .NET. Microsoft and its partners seem to have the tools for the job.
Automating Error Reporting for .NET Applications
Troubleshoot Java/.NET performance while getting full visibility in production
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
We also used the tools to help us migrate our codebase from VB6 to C#. We knew we had to leverage the existing code to eliminate the cost of regathering functional requirements and dramatically lower the cost of development/testing.
We spent most of the budget reviewing the translations to identify and specify ways to improve the translation tool. Once we had tuned the tool to our specifications, we were able to convert our applications and test them along with ongoing projects and maintenance.
The full case study is at www.greatmigrations.com.
Thanks Abel for a very interesting article.
I understand the considerations and options for upgrading a VB6 app, but there's one thing I didn't understood from the article: what is the business driver?
what is the business driver for the upgrade engagement? that is, why would the app be touched? do the business wish to enable back-end composition? maybe there's a business process that need to be integrated in which the vb6 app needs to participate?
i think that the options of what to do with the vb6 app should be based on the business driver. for example, if the app is well suited to the business requirements, but needs to be integrated in a larger process, then maybe the best option would be to use .NET COM interop to expose web services and not touch the app at all. on the other hand, it may that supporting a .NET app is more cost effective than supporting a vb6 app, so it would make sense to migrate.
well, you get the idea...
so, what was the business driver that made you decide migrating to .NET?
- Fernando
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
2 comments
Watch Thread Reply