불규칙한 간격으로 하루에 여러 번 실행해야하는 데이터로드 응용 프로그램이 있습니다. 다운로드를 시작하고 데이터를 데이터베이스 서버로 가져 오는 서비스를 작성하려고합니다. 웹 서비스보다 표준 서비스를 사용하는 것이 유리합니까? 아니면 그 반대입니까?Windows 서비스를 통해 webservice를 사용하는 경우는 언제입니까?
답변
나는 여기에 요점을 놓치고 있다고 생각합니다.
웹 서비스는 일반적으로 통신 또는 원격 실행 형식으로 사용됩니다. 웹 서비스에서 원격 기능을 호출하여 실행중인 시스템의 동작을 조정하거나 웹 서비스에서 데이터를 검색 할 수 있습니다.
Windows 서비스는 "로그온 한 사용자"가 필요없는 컴퓨터에서 실행되는 백그라운드 프로세스입니다. 사용자가 로그인 화면에 있거나 작업을 수행하는 동안 작업을 수행하고 작업을 수행 할 수 있습니다. 당신은 그들의 행동을 조정하거나 정보를 검색하기 위해 서비스와 대화 할 수 있지만 일반적인 목적은 웹 서비스와 다릅니다.
여기서 가장 큰 차이점은 웹 서비스를 호출해야하며 자체적으로 실행되지 않는다는 것입니다.
귀하의 응용 프로그램에 대해서는 하루에 한 번 코드를 실행할 수 있으므로 Windows (표준) 서비스를 사용하는 것이 좋습니다. 웹 서비스에 대한 호출을 자동화하는 다른 방법이 있고 실행 결과 (성공/실패/경고/etc ...)를 자세히 설명하는 서버의 응답이 필요한 경우에만 웹 서비스를 사용합니다.
"불규칙 간격"이 의미하는 경우, 응용 프로그램이 다른 응용 프로그램에 의해 호출됩니다, 나는 웹 서비스를 사용합니다.
작업이 예약 된 경우 Windows 서비스를 사용합니다.
SQL Server를 사용하여 작업하는 경우 (예정되어 있든 없든) SQL Server Integration Services를 고려할 것입니다.
또한 Windows 예약 된 작업에 의해 트리거되는 일반 (창 또는 콘솔) 응용 프로그램을 작성할 수도 있습니다. 당신이 묘사 한 것은 서비스를 필요로하는 무언가와 꼭 같다고 볼 수 없습니다.
소리는 Windows 서비스를 잘 사용하는 것과 같습니다. 내 머리 꼭대기에서 다음과 같은 경우 Windows 서비스를 사용합니다. 1. 작업이 백그라운드에서 예정된 일정 (정기적 또는 불규칙한 간격)으로 수행됩니다. 2. 상호 작용이 필요하지 않습니다. 작업은 백그라운드에서 수행되고 폴링 또는 다른 유형의 트리거 (대기열에서 메시지 삭제, 데이터베이스 값 트리거, 예정된 시간 초과 등)에 따라 시작됩니다. 3. 모니터링이 필요하고 (로깅과 함께 시작/중지) WMI, perfmon 및 이벤트 로그를 거의 사용하지 않고 활용할 수 있습니다.
웹 서비스는 대화식 작업 (예 :받은 요청에 따라 다운로드를 시작하려는 경우)에 더 좋습니다.
Windows 서비스와 같은 사운드는 사용자가 취해야하는 접근 방식입니다.
희망이 도움이됩니다. 행운을 빕니다!
- 1. Windows 스레드 : InterlockedExchangeAdd()를 사용해야하는 경우는 언제입니까?
- 2. PHP에서 변수 변수를 사용하는 경우는 언제입니까?
- 3. Java 메소드 선언에서 throws를 사용하는 경우는 언제입니까?
- 4. Javascript를 사용하는 것이 바람직한 경우는 언제입니까?
- 5. node.js에서 TCP와 HTTP를 사용하는 경우는 언제입니까?
- 6. while 루프에서 for 루프를 사용하는 경우는 언제입니까?
- 7. Entity Framework 4에서 ApplyOriginalValues를 사용하는 경우는 언제입니까?
- 8. 상속 대신 위임을 사용하는 경우는 언제입니까?
- 9. couchDB를 사용하는 것이 적절한 경우는 언제입니까?
- 10. WPF 바인딩에서 경로를 사용하는 경우는 언제입니까?
- 11. 속성 대 메소드를 사용하는 경우는 언제입니까?
- 12. 속성을 사용하고 Java에서지도를 사용하는 경우는 언제입니까?
- 13. PriorityQueue보다 TreeMap을 사용해야하는 경우는 언제입니까?
- 14. 강력한 형식의보기를 사용해야하는 경우는 언제입니까?
- 15. 쿼리가 너무 큰 경우는 언제입니까?
- 16. webclient 또는 httpwebrequest보다 WCF를 사용하는 것이 적절한 경우는 언제입니까?
- 17. 페이지 메서드를 사용하여 웹 서비스를 만드는 경우는 언제입니까?
- 18. 백그라운드 서비스를 통해 webservice를 호출하는 방법
- 19. ivars를 포인터로 정의하는 경우는 언제입니까?
- 20. Assembly.CodeBase : 파일 URI가없는 경우는 언제입니까?
- 21. web.config가 너무 큰 경우는 언제입니까?
- 22. IEnumerable <T>을 통해 IEnumerable을 사용해야하는 경우는 언제입니까?
- 23. 제네릭 대 상속을 사용하는 것이 적합한 경우는 언제입니까?
- 24. WXPython을 사용하여 클래스를 사용해야하는 경우는 언제입니까?
- 25. C# 단위 테스트에서 조롱 대 위조를 사용하는 경우는 언제입니까?
- 26. TcpClients를 처리 할 때 비동기를 사용하는 경우는 언제입니까?
- 27. iPhone App에서 UIWebView 대 Safari를 사용하는 경우는 언제입니까?
- 28. Regex 대 내장 String 메서드를 사용하는 경우는 언제입니까?
- 29. AtomicBoolean 대신 Java에서 volatile 휘발성을 사용하는 것이 바람직한 경우는 언제입니까?
- 30. 전체 외부 조인을 사용하는 것이 좋은 경우는 언제입니까?
실행을 어떻게 트리거 할 계획입니까? 수동으로 또는 특정 조건이 적용될 때? – Goblin
이상한 질문입니다. 웹 서비스는 공개적으로 서비스에 액세스 할 수 있도록하기위한 것입니다. 귀하의 상황에서 그것은 Windows 서비스 또는 스케줄러 실행 작업 사이에서 고려해야 할 것 같습니다. –
웹 서비스와 Windows 서비스는 서로 전혀 관련이없는 완전히 다른 두 가지입니다. 자전거 또는 양배추를 사용하는 것이 더 나은지 묻는 것과 같습니다. –