2010-05-11 8 views
4

VB6 응용 프로그램을 .NET 플랫폼에 적용하는 것은 VB.NET 또는 C#과 상관없이 재 작성과 거의 같습니다. Java 플랫폼에서 .NET 플랫폼과 비교해 볼 때 더 많은 노력이 필요하다고 생각하십니까? 생각을 공유하십시오!VB6 응용 프로그램 마이그레이션

+0

팀에는 많은 Java 개발자가 있으며 Java 플랫폼에서 구현중인 현재 프로젝트가 있습니다. 하지만 그들은 기존의 VB6 앱을 사용하여 새로운 기술로 마이그레이션하려고합니다. 매크로를 사용하여 VBA 및 단어 템플릿을 사용하지만 PDF 솔루션에서 제거해야합니다. – WinFXGuy

+0

가능한 복제본 : http://stackoverflow.com/questions/395/how-do-you-migrate-a-large-app-from-vb6-to-vb-net –

+1

아닙니다. 제 질문은 .NET에 비해 vb6 애플리케이션을 Java로 마이그레이션하는 장단점에 관한 것입니다. – WinFXGuy

답변

8

위법은 아니지만 잘못되었습니다. .Net으로 이식하는 것은 일반적으로 까지보다 쉽게 ​​다시 작성합니다.

.NET에 대한 완전한 재 작성을 수행 우리는 단지 소수를위한이 방법을 추천 할 것입니다 ... [변환보다] 잘 할 훨씬 더 비용이 많이 들고 어렵 :

여기 Microsoft UK에서 공식 조언이다 상황. 내가 .NET의 초기에 함께 일

많은 기업들이 개선을위한 강한 욕망에 의해 부분적으로 구동 재 작성에서 처음 보았다 : 재 작성에 자문을 마이크로 소프트 사람에 의한 blog post에서

기본 아키텍처 및 코드 구조를 .NET으로 옮겨 가면서 동시에 사용할 수 있습니다. 불행하게도 그 프로젝트 중 많은 부분이 어려워졌고 몇몇 프로젝트는 완료되지 않았습니다. 해결하려는 문제가 너무 많습니다.

이 순서대로 다음 두 단계를 수행하는 것이 좋습니다.

  1. 마이그레이션 또는 다시 쓰기 이유를 적어 두십시오. 어떤 이점이 있습니까? 장점은 개발 팀을 행복하게 유지하는 것일 수 있습니다. 이는 충분히 좋은 이유 일 수도 있습니다. 잘 모르겠습니다. 알고 계시고 관리자/사용자가 동의하십시오.
  2. 닷넷 마이그레이션을위한 5 가지 기본 옵션을 설명하는 screencast으로 Microsoft UK advice을 확인하십시오. 가장 좋은 것을 결정하십시오. 그것은 다시 쓰일 수 있지만 눈을 뜨고 들어갑니다.

실제 질문에 대한 대답 : .Net 또는 Java에서 전체 재 작성이 쉬울까요? 팀이 가장 잘 알고있는 것이 바로 mainly depends on입니다. 또한 SLaks와 마찬가지로 응용 프로그램이 COM과 상호 작용하는지 여부에 따라 약간 다릅니다.

+0

매우 멋진 로고가 있습니다. :) – SoftwareGeek

+0

@BhejaFry 감사합니다. 나는 그것이 마침내 인정 받았기 때문에 기쁘다! – MarkJ

+0

감사합니다. MarkJ. 게시 한 위의 링크에서 언급 한 전체 재작 성 이유는 우리 상황에 완벽하게 유효합니다. 그러나 .NET 컨설턴트로서 저는 관리자에게 Java 플랫폼이 아닌 .NET 플랫폼으로 이식하는 것이 더 낫다는 것을 확신시켜야합니다. 그는 자바 개발자가 많기 때문에 돈을 절약 할 수 있다고 생각합니다. 이 응용 프로그램의 COM 종속성을 평가하려면 기존 VB6 코드를 참조해야합니다. 하지만 다른 사람들이 COM 의존성에 관해서 말했듯이, 좋은 점이 있습니다. – WinFXGuy

0

응용 프로그램에서 COM을 사용하는 경우 Java에서보다 .NET에서 다시 작성하는 것이 훨씬 쉽습니다. 그렇지 않으면 .Net으로 포팅하는 것이 다소 쉬울 것입니다.

자세한 답변을 원하시면 신청서에 대한 자세한 내용을 제공해주십시오.

2

VB6 앱을 다시 작성하려는 노력은 사용자가 목표로 삼는 언어의 문제 그 이상입니다. VB 응용 프로그램은 COM 개체 및 Java에서 동등한 기능이없는 특정 VB 관련 라이브러리 메서드에 의존하지만 .NET에서는 이식성이있을 수 있습니다.

프로젝트의 모든 종속성을 포기하지 않으려면 .NET을 사용하면에 대해 다시 작성할 수있는 더 쉬운 대상이 될 수 있습니다. 특히 기존 응용 프로그램의 일부 동작을 유지해야하는 경우 라이브러리 또는 기타 종속성으로부터.

또 다른 고려 사항은 팀이 가장 잘 알고있는 플랫폼이 될 것입니다. Java 전문 지식이 많지만 .NET 전문 지식이 거의 없으면 Java가 좋은 선택 일 것입니다.

+0

COM 의존성에 대해 좋은 점, 감사합니다! – WinFXGuy

+0

다른 프레임 워크에 동등한 구성 요소가 있는지 여부에 대한 질문보다 COM 자체에 대한 문제가 훨씬 적습니다. COM은 단지 구성 요소 기술이며 일반적으로 VB6 코드로 함께 붙인 미리 패키지 된 코드의 기능이 더 큰 문제입니다. 구성 요소를 "종속"이라고 생각하지 마십시오. 이것은 자동차의 엔진을 "의존성"이라고 부르는 것과 같습니다. – Bob77

+0

@Bob LBushkin이 의미하는 바는 그것이 메소드/컴포넌트가 Java에서 동등한 기능을 가졌는지 여부입니다. 즉, 기능에 관한 것입니다. 그냥 BTW - 혹시 실제로 자동차 엔진을 다른 유형의 엔진으로 교체 한 적이 있습니까? 가솔린 -> 전기 또는 휘발유 -> 디젤이라고 말하십니까? 확실히 가능하지만 꽤 비싼 것 같습니다. – MarkJ

1

Visual Studio에 포함 된 도구를 포함하여 VB6에서 VB .NET으로 마이그레이션 할 수있는 도구가 있습니다. This tool은 VB6를 C#으로 마이그레이션합니다. 어떤 도구를 사용하든 도구가 출력하는 코드에 대해 많은 수작업을해야하지만 완전한 Java 다시 작성보다 작업이 적을 수 있습니다.

기존 응용 프로그램의 아키텍처와 코드 구조에 따라 코드를 완전히 다시 디자인하고 다시 작성하는 것이 더 좋을 수도 있습니다.이 경우에는 .Net과 java 중에서 선택하는 것이 많지 않을 수 있습니다. .

+1

그 도구는 약한 소리. 내가 아는 한 최고의 마이그레이션 도구를 가지고있는 Artinsoft.com 또는 VBMigration.com을 확인하십시오. 그들은 둘 다 마이그레이션 된 코드에 대한 최소한의 수동 작업을 요구하며 확실히 재 작성보다는 훨씬 적습니다. 오, 그리고 재 작성에 대해 신중해야합니다. http://stackoverflow.com/questions/2812224/migration-of-a-vb6-application/2815414#2815414 – MarkJ

+0

Netcoole 도구와 Artinsoft를 모두 사용했습니다. 나는 Netcoole이 매우 약하다고 동의하지만, 매우 싸다! 출력물에 대한 많은 수작업을해야 할 것입니다.이 도구뿐만 아니라 Artinsoft는 탁월한 마이그레이션 서비스를 제공합니다. 훨씬 더 비싸지 만 마이그레이션 작업을 직접 수행 할 필요가 없습니다. Artinsoft는 또한 Visual Studio에서 제공되는 업그레이드 마법사를 작성했습니다.이 마법사는 주요 도구의 축소 버전입니다. – Polyfun

+0

그러나 응용 프로그램이 제 3 자 COM 개체를 많이 사용하는 경우에는 .NET을 사용하는 것이 더 좋을 수도 있습니다. – WinFXGuy

0

자바 바이트 코드 컴파일러 인 Jabaco를 사용할 수도 있고 VB6과 거의 비슷한 IDE와 구문을 가지고 있습니다.
당신은 더 많은 정보를 찾을 수 있습니다 : ArtInSoft 그냥 .NET으로 마이그레이션하는 것처럼
http://www.jabaco.org/
http://www.jabaco.org/board/

0

VB.Net에 내장 된 VS 마이그레이션을 사용하여 VB 6 응용 프로그램을 마이그레이션 할 수 있습니다. 그게 도움이되는지보십시오. VB 6에서 C#으로 마이그레이션 할 계획이라면 ScaleOvenStove 사용자가 권장 한 것을 권할 것입니다.

1

마이그레이션 도중 총 노력뿐만 아니라 마이그레이션 후 유지 관리 비용도 줄이는 것이 중요합니다. 많은 요소가 TCO를 발생 시키지만, .NET 툴, 커뮤니티, 프레임 워크 및 C# 언어는 개발자 생산성, 운영 관리 가능성 및 성능면에서 Java를 충족 시키거나 능가한다고 생각합니다.

나는 COM 유지의 용이성이 결정적인 요소라고 생각하지 않는다. 사실 VB6을 .NET으로 마이그레이션했지만 COM을 유지하는 것이 VB6 마이그레이션을 수행하는 중요한 목적을 극복하지 않아도 될 것이라고 생각합니다. 즉, 잘 지원되고 실행 가능한 플랫폼으로 이동하여 개발 비용과 위험을 줄이는 것입니다. 나는 당신에게 말할 이유 :

  • VB6와 함께 사용 된 인기있는 COM 라이브러리와 컨트롤의 대부분 이 몇 년에 진화하지; 중 많은 수가 더 작은 공급 업체가 으로 사라 졌거나 여전히 제품을 지원하는 경우 새로 제공되고 개선 된 .NET 버전을 제공합니다.

  • 마이그레이션 후 기존 COM과 디버깅의 측면에서 추가 복잡성과 함께 생활 수단, 빌드 및 배포 생활. 또한 COM 구성 요소는. NET (즉, .NET 유형 및 규칙을 사용하지 않음) 일반적으로 과 함께 사용하면 코딩 및 디자인이 복잡해 지므로주의해야합니다.

  • 여전히이 규칙 에 몇 홀드 아웃 및 예외가 있습니다와 .NET 교체는 항상 최선의 선택이 아니라 일반적으로 마이그레이션 팀이 적어도 하나의 을 찾을 수있을 것입니다. NET 대체 옵션 거의 모든 COM 구성 요소를 사용합니다. 신중하게 시간을내어 을 평가하고 개 중 하나를 선택하여 업그레이드하면 해당 옵션이 마이 그 레이션 후에 처리됩니다.

  • 마이그레이션 할 VB6 인 을 상호 운용하고 싶지는 않습니다. 자신의 코드를 상호 연결하면 복합 전환이 더 길어지고 일반적으로 에 다시 추적이 필요하고 재 작업/다시 테스트가 이미 코드 개 코드로 마이그레이션되어야합니다. 분명히 이것은 효율적이고 이해할 수있는 업그레이드 경로가 아닙니다.

"출력물에 많은 수작업을해야한다"는 한 가지 더 요. Great Migrations 제품은 새로운 프로그래밍 가능 마이그레이션 도구입니다. 이 도구는 마이그레이션 팀이 생성 된 코드의 품질을 점진적으로 향상시켜 마이그레이션 프로젝트를 완료하는 데 필요한 수작업을 줄일 수 있도록 설계되었습니다. 여기에는 복잡한 다중 VBP 마이그레이션을 처리하고 .NET 구성 요소를 사용하기 위해 VB6/COM 코드를 재구성하는 작업을 자동화하여 번역이보다 정확 해집니다. 이러한 기능은 VB6 코드베이스가 매우 크고 자주 변경되며 마이그레이션 중에 크게 재 설계되고 정리되는 경우 특히 유용합니다. 이것은 도구 지원 재 작성이라고 부르는 민첩한 마이그레이션 방법입니다.

면책 조항 : 저는 Great Migrations를 위해 일합니다.

관련 문제