2011-08-08 1 views
5

새내기 질문입니다. 나는 iOS 및 Android와 같은 Java 개발자 (예 : GAE)와 모바일 개발자를 많이 수행했습니다. 모바일 장치가 상호 작용하는 서버 측 서비스 플랫폼으로 Windows Azure를 조사하고 있습니다. 나는 그 주위에 내 머리를 쓰는 데 어려움을 겪는다는 것을 인정해야한다. 그것의 부분은 머리 글자 초과입니다. 다양한 머리 글자 어가 함께 붙는 좋은 지적이 있습니까?Azure vs WCF 대 ASP.NET vs ... 어떻게 맞습니까?

저는 자습서 중 일부를 사용해 봤지만 주로 Azure에서 웹 사이트를 만드는 데 중점을 둡니다. 우리의 경우 실제로 어떤 웹 페이지도 없지만 장치가 호출하는 서비스 (일부 REST, 그렇지 않은 경우 일부)가 있습니다. 아마도 특정 질문에 와서 : 작업자 역할 또는 웹 역할이 내가 만든 끝점으로 보낸 http-post의 내용을 어떻게 검색합니까?

+0

제 생각에는 자바로 개발하는 경우 아마 Azure를 통해 Google 또는 Amazon을 선택해야합니다. Azure를 사용하면 Microsoft 기반 시스템 (예 : .NET, WCF, ASP)을 사용하는 경우에만 클라우드 기반 앱을 개발하는 것이 매우 쉽습니다. –

+0

나는 동의하지 않는다. 주어진 문제를 가장 잘 해결할 수있는 기술을 선택해야한다. 이 경우 가장 효율적이며 비용 효과적이며 짧은 시간 내에 의미합니다. Azure (& MS 생태계)가 할 수있는 것을 감안할 때, 적어도 이점과 잠재적 인 용도를 살펴 보지 않는 것은 무책임합니다. –

+0

나는 GAE를 선호 하겠지만 회사는 MS 상점이므로 선택할 수 있습니다. – onnoweb

답변

6

이에 대한 대답은 매우 쉽습니다. Azure는 호스팅 제공 업체입니다. 수요에 따라 애플리케이션 서버를 확장하는 데 도움이됩니다 (예 : & 애플리케이션을 다운로드하는 모바일 클라이언트 수).

약간의 마케팅 효과 : Azure를 사용하면 필요한 하드웨어의 양을 파악한 후 데이터 센터를 구축/임대하는 데 필요한 초기 투자가 필요하기 때문에 자신의 솔루션에 대한 소유 비용을 낮출 수 있습니다. 하드웨어. 또한 AppFabric과 같은 응용 프로그램을위한 미들웨어의 일부 형태를 제공하여 "클라우드"에서 좀 더 효과적으로 통신 할 수 있습니다. 또한 Azure, 분산 호스팅 (예 : 유럽 데이터 센터, 미국 데이터 센터 ...)에서로드 균형 조정을 수행하고, 이미 안전한 장소에 자동 메커니즘 인스턴스화 (failure)가 발생하면 으로 지불하십시오. 사용하시는대로 & 사용하십시오.의 이점.

은 응용 프로그램 프레임 워크, 특히 웹 응용 프로그램 프레임 워크입니다. 그것은 8 개의 WebForms 또는 MVC을 사용하여 웹 기반 응용 프로그램을 작성하는 데 도움이됩니다. 귀하가 진술 한 바에 따라, 이것은 귀하에게 많은 도움이되지 않습니다 (백엔드 시스템 만 실행하는 경우). 그러나 웹 애플리케이션이 필요하다면 그렇습니다. ASP입니다.NET은 Azure (분명히)와 완벽하게 작동합니다.

마지막으로, WCF 또는 윈도우 커뮤니케이션 파운데이션 또 다른 프레임 워크 작성 및 소모 서비스를위한이 시간이다. 웹 서비스 또는 기타 (예 : TCP 기반 서비스, 심지어 MSMQ 기반 서비스. 내 의견으로는, 백엔드를 노출하기 위해 무엇을보아야하는지. WCF는 계약 및 구현을 쉽게 지정할 수있는 기능을 제공하면서 서비스 호스팅 및 인스턴스 생성을 IIS (IIS는 Microsoft의 웹 서버로 Azure의 커버하에 실행 함)로 유지합니다.

이제 질문에 대답 해보십시오. 공개 엔드 포인트에서 공개되는 WCF 서비스를 호스팅하는 웹 역할을 수행하려고합니다. 모바일 응용 프로그램은이 공용 끝점 (주소와 포트로 정의 됨)을 호출하고 표준 기반 웹 서비스를 사용하여 서비스와 통신합니다.

의미가 있습니까?

뻔뻔스러운 플러스 : 나는이 유행어와 이것 저것에 대해 작성했습니다 on my blog, which you are welcome to check out.

+0

감사! 이는 일부 작품을 맥락에 넣는 데 도움이됩니다. 나무들과 숲과 그 모든 것들. – onnoweb

4

여러분이보고있는 대부분의 것들이 .NET 방식의 일이라고 생각합니다. (ASP.NET과 WCF는 .NET 기술입니다.) Windows Azure는 모든 종류의 것들을 실행할 수있는 플랫폼입니다 (대부분 사람들이 .NET 용으로 사용하기는하지만). Windows Azure 웹 역할에서 코드는 IIS (웹 서버)에서 실행되며 ASP.NET, WCF, PHP 등을 실행할 수 있습니다.

사람들이 Windows Azure에서 REST API를 빌드하는 가장 일반적인 방법은 ASP.NET MVC 3 또는 WCF를 사용하여 REST 서비스를 만든 다음 웹 역할에서 호스팅하는 것입니다. 엔드 포인트에 게시되는 데이터를 얻는 방법은 사용하는 기술에 따라 다릅니다.

[HttpPost] 
public ActionResult CreateMessage(string title, string body) 
{ 
    // use title and body here... they'll be the parameters in the HTTP post 
    return Content("Message created!"); 
} 
0

당신은 서비스 엔드 포인트를 게시 할 WCF (Windows Communication Foundation)를 사용할 수 있습니다 ASP.NET MVC 3에서, 당신은 뭔가를 작성할 수 있습니다. 이것은 SOAP 또는 REST 엔드 포인트 일 수 있습니다.

이 서비스 끝점은 웹 역할로 호스팅됩니다. 웹 역할을 IIS가있는 서버로 생각할 수 있습니다.

작업자 역할은 Windows 서비스와 비슷합니다.

예를 들어 웹 서비스를 통해 일부 데이터를 수신 한 다음 계산을 수행하고 그 결과를 저장할 시나리오를 생각해보십시오. 이 경우 데이터를받을 웹 서비스가있는 웹 역할을 갖게됩니다. 데이터를 대기열에 저장합니다. 작업자 역할의 프로그램은 대기열을 모니터하고 새 데이터를 선택하여 계산을 수행하고 그 결과를 테이블에 저장합니다.