안녕하세요.

안드로이드 개발을 공부하고 있는 대학생입니다.

이번에 안드로이드를 이용한 어플을 구상하다가 SNS가 대세이기 때문에 네트웍을 이용한 어플을 만들어 보고자 하는데,

쉽게 구조가 잡히지 않아 이렇게 질문을 드립니다.


1. 처음 자바 소켓을 이용한 서버 - 클라이언트 방식으로 진행 하는 것을 생각해보았습니다.  서버에서 소켓을 열어두고 클라이언트가 접속하면 쓰레드를 생성하여 돌리면서 클라이언트가 SQL 쿼리를 리퀘스트하면 서버에서 해당 쿼리 처리하고 결과를 전송하는 방식을 생각했습니다.

이 방식에서 생각해보자니 보안과 다중접속시 처리량이 문제더군요. 많은 분들이 서버-클라이언트 구현의 경우 보안에 신경쓰는 지 궁금합니다. 또한 1개의 스마트폰이 접속할 경우 하나의 쓰레드가 서버에서 돌게되는데, 트위터나 유명 SNS 어플같이 동시접속 / 리퀘스트 작업처리가 1만개이상이 들어 올 경우 서버에서 세션처리하는 코드를 따로 만들어 관리하는 방법을 공부해야하나요? EJB 같은 것을 연동하여 이용할 수 있는지도 궁금합니다.

2. 검색을 하다보니 PHP나 ASP로 웹을 구성하여 XML을 리퀘스트 하고 이를 파싱하는 방식도 있더군요. 이 경우 위 1번의 처리량 문제를 해결할 수 있는지 궁금합니다.


많은 어플들이 어떤것을 채택하고 있고, 어떤것이 좀 더  효과적일 수 있고 좋은지 알려주시면 감사하겠습니다.