2012-03-21 3 views
2

저는 실버 라이트에 대해 아주 많이 가르쳐 봤습니다. 지난 몇 주 동안 어떻게 작동하는지, 그리고 웹 서버의 MySQL 데이터베이스에 연결하고 싶은 앱 개발 시점입니다. .Silverlight, Apache, PHP, MySQL, 웹 서비스 등이 어떻게 통합되어 있습니까?

내 웹 서버는 ASP.NET 페이지를 실행할 수 있지만 아파치이며 기본적으로 PHP를 실행합니다 (이는 내가 더 잘 알고 있습니다). 그것은 MySQL 데이터베이스 엔진을 가지고 있으며, PHP와 MySQL을 이용한 일반적인 동적 페이지 생성에 매우 정통합니다. 나는이 익숙하지 않다 무엇

명 내가 "당신이 데이터베이스에 실버를 연결하려면 어떻게?"의 질문에 대한 답변을 찾을 때마다 언급 유지하는 것이이 "웹 서비스"...

그래서 내 기본적인 질문은 실제로 데이터 흐름 중 하나이며 모든 것이 퍼즐에 맞고이 특정 구성에서 모든 작업을 수행하는 방법입니다. 필자가 보았던 대부분의 대답은 Apache 대신 Apache, PHP 대신 ASP.NET 및 MySQL 대신 MS SQL Server를 처리합니다.

또한 대답은 실제로 무엇을 나타내는 지 설명하지 않고 약어 및 머리 글자를 사용하는 경향이 있습니다.

예 : WCF 및 RIA 서비스 란 무엇이며 퍼즐 전체에 어떤 영향을 줍니까?

매크로 (매크로) 수준이 아닌 MACRO 수준에서 데이터 흐름 구조에 대한 하향식 개요를 찾고 있다고 가정합니다.

(덧붙인 수정 : ) 이전에 MySQL 웹 서버의 데이터베이스에서 원격으로 가져 오기 위해 MySQLConnector.NET을 사용했던 vb.net 응용 프로그램을 만들었지 만 클라이언트 컴퓨터가 허용 목록에 있어야한다는 것을 이해합니다. 원격 컴퓨터로, 내 MYSQL 서버를 열어야하고 기본적으로 %. %. %. %의 액세스 마스크를 만들어 모든 클라이언트가 연결할 수 있도록해야한다는 것을 의미하며 바람직하지 않습니다 ... 그렇다면 올바른 것을 이해하고, 웹 서비스가 웹 서버에서 실행되고, 클라이언트가 요청을 전송하고, 웹 서비스가 중개 역할을하여 데이터베이스의 데이터를 가져옵니다 (일종의 "저장 프로 시저"와 유사할까요?), 데이터를 클라이언트로 전달합니다 ... 이는 또한 모든 데이터베이스 액세스 자격 증명이 (잠재적으로 해킹 가능한) 클라이언트가 아닌 서버에 있다는 것을 의미합니다.

맞습니까? 대답 할 때 또한

, 나는 실버 APP 프로젝트 코드에서 ... 웹 서비스에 대한 액세스가 어디 있는지 알 필요가, 또는 실버 웹 프로젝트 코드 ...

+0

찾았습니다 ... http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx –

+1

+1 : 왜 코멘트가없는 downvote? 그는 분명히 자신의 것을 연구하고 일하는 시간을 가졌으며, 그가있는 곳을 말하고 구체적인 질문을합니다. 그의 질문이 마음에 들지 않으면 그 이유를 알리십시오 ... – Windle

+0

@Windle Heh, thanks. :) 나는 단지 개념적 느낌을 갖기 위해 노력하고 있으며, 논의 된 기술이 일치하지 않거나 사람들이 XYZ와 ABC가 무엇을 의미 하는지를 모두 알고 있다고 가정 할 때 대답을 찾는다. 퍼즐 조각이 퍼즐에 딱 들어 맞습니다 ... 만약 내가 그것에 어려움을 겪고 있다면 다른 사람도있을 수 있습니다. –

답변

3

나는이 멋진 튜토리얼을 발견했다 그것을 설명하는 데 도움이 ... http://www.designersilverlight.com/2010/05/23/php-mysql-and-silverlight-the-complete-tutorial-part-1/

여기 내가 어떻게 작동하는지 이해합니다.

프로세스에는 3 개의 "레이어"가 있습니다. 응용 프로그램, 웹 서버 및 데이터베이스.

응용 프로그램이 일반 PHP 스크립트와 같이 스크립트 파일을 실행하기 위해 웹 서버를 호출합니다. 스크립트 파일에는 일반 URL 변수가 전달 될 수 있습니다 (예 : script.php? foo = bar, $ foo는 스크립트에서 "bar"로 정의 됨) ... 따라서 URL 인코딩 된 변수/값 쌍을 사용하여 조정할 수 있습니다 웹 페이지에서 일반적으로하는 것처럼 스크립트 결과가 나타납니다.

데이터베이스 쿼리의 TYPE마다 하나의 스크립트가 있고 var/value 쌍이 결과를 조정할 수 있다고 상상해보십시오.따라서 웹 서버에서는 일반적으로 다른 페이지가있는 웹 사이트와 마찬가지로 수많은 PHP 스크립트로 끝나고 변수를 스크립트에 전달하여 결과를 사용자 정의합니다.

예를 들어, 사용자, 모든 사용자를 반환 할 것 get_users.php 스크립트 ...

만있을 수 get_users.php? loggedin = 현재 get_users 로그인 한 모든 사용자를 얻을 것 사실. php? loggedin = true & ingame = true로 설정하면 게임에 로그인하고 로그인 한 모든 사용자를 얻을 수 있습니다. 논리 및 그에 따른 결과 SQL 쿼리를 스크립트로 작성하면됩니다.

모든 결과는 XML 또는 JSON (Javascript Open Notation : What is JSON and why would I use it? 참조)으로 인코딩되어 앱으로 전송됩니다. 앱은 사실 JSON으로 인코딩 된 항목의 반향 결과를 읽습니다.

웹 브라우저에서이 스크립트를 열면 JSON 데이터의 텍스트 인쇄물이 표시됩니다. 웹 페이지가 없습니다 ... 앱에서 읽고 해독 한 데이터 에서 개체로.

실제로 실버 라이트 앱은 웹 서버에서 실행되는 PHP 스크립트의 텍스트 출력을 읽고 출력을 해석하고 있습니다.

^^^^이 질문은 나의 질문에 대한 간단한 대답입니다. :)

"웹 서비스"라는 용어의 사용은 오해의 소지가 있으며 무엇이 실제로 나를 잘못 이끌어 냈습니다. 필자는 PHPMyAdmin과 같은 웹 서버에 설치해야하는 서비스 또는 응용 프로그램이라고 생각했습니다.

+1

대답을 찾았 기쁘다! "웹 서비스"아이디어를 잘 파악할 수있는 간단한 방법 :보다 일반적인 의미에서 웹 서비스는 PHP뿐만 아니라 무엇이든 구현할 수 있습니다. 예를 들어, 사용하고자하는 온라인 웹 서비스를 찾았다 고 가정 해보십시오. SOAP (SOAP 웹 서비스 용 WSDL)과 같은 메서드를 호출하는 API를 제공하는 한 XML 또는 JSON을 다시 가져온다면 Java, C#로 구현되었는지 상관하지 않아도됩니다. – Windle