
나는 Staock Overflow에서 이것을 물었지만, 코딩만큼이나 관리와도 관련이 있기 때문에 귀하의 의견도 듣고 싶습니다.
데스크톱 프로그램이 데이터베이스와 통신하는 .net 2계층 애플리케이션이 있습니다. 우리는 MS SQL Server 2000, 2005, 2008과 Oracle 9, 10, 11을 지원합니다.
응용 프로그램은 수축 포장이 아닌 매우 유사하게 판매됩니다. 설치 지침은 일반적으로 고객 내부 IT 부서에 서면 형식으로 제공되므로 설치 및 구성이 최대한 쉬운 것이 우리에게는 매우 중요합니다. 우리 애플리케이션은 일반적으로 IT 부서의 업무상 중요한 것으로 간주되지 않으므로 작업을 최소한으로 유지해야 합니다.
이제 우리는 동일한 데이터 위에 웹 애플리케이션을 구축하는 것에 대한 희망을 갖기 시작했습니다. 웹 애플리케이션은 당사에서 호스팅하고 SaaS 애플리케이션으로 제공됩니다.
이제 문제는 웹 애플리케이션과 고객 내부 데이터베이스 사이에서 데이터를 앞뒤로 이동하는 방법입니다. 제가 보기에는 몇 가지 요구 사항이 있습니다.
- DMZ에서 고객 데이터베이스에 액세스할 수 없는 상황을 처리할 준비가 되어 있어야 합니다. 가장 쉬운 해결책은 모든 통신이 고객 LAN 내부에서 시작된다는 것입니다.
- 가능한 한 적은 방화벽 구성. 가장 좋은 점은 고객 LAN에서 나가는 트래픽이 차단되지 않는 한 특별한 구성 없이 실행할 수 있다는 것입니다. 방화벽에서 변경 사항이 필요한 경우 변경 사항이 안전하다는 것을 문서화할 수 있어야 합니다.
- 실시간일 필요는 없습니다. 10분 정도마다 일괄적으로 데이터를 이동하는 것은 괜찮습니다.
- 데이터는 양방향으로 이동하지만 동일한 테이블은 아니므로 병합을 지원할 필요가 없습니다.
- 우리 자신의 프레임워크를 완전히 롤업할 필요가 없다면 좋을 것입니다.
여러분의 제안을 기다리겠습니다.
답변1
나이가 많아서 이 질문이 왜 첫 페이지에 나타났는지 잘 모르겠습니다. 하지만 여전히 제안 사항을 찾고 있다면... 클라이언트 네트워크 내부에서 서버로 VPN을 설정해 보는 것은 어떨까요? OpenVPN과 같은 것을 사용하면 다음과 같은 도구를 얻을 수 있습니다.
- 작동하려면 단일 포트만 필요합니다.
- 클라이언트 사이트에서 나가는 트래픽을 시작할 수 있는 한 방화벽 구성이 필요하지 않습니다.
- 연결되면 데이터를 앞뒤로 쉽게 이동할 수 있습니다.
고객 간에 높은 수준의 격리를 제공하도록 이를 설정할 수 있습니다.
답변2
문제가 올바르게 이해되고 있다면... 이러한 요구 사항에 대해 빠르고 안정적인 솔루션은 Adobe Flex를 통해 전체 솔루션을 구축할 수 있다는 것입니다...
고객을 위한 데스크톱 기반 AiR 인터넷 클라이언트를 구축하세요. 이 클라이언트는 {제한 사항이 있는 경우} 클라이언트 컴퓨터의 데이터에 대해 필요한 권한을 허용해야 하며, 이 클라이언트는 귀하가 원하는 대로 안전하고 주기적으로 웹 서비스와 통신합니다.