2012-01-17 7 views
1

내 친구 중 한 명이 내게 클라이언트 소프트웨어 및 클라우드와 관련된 내용을 묻습니다. Java 데스크톱 클라이언트 및 웹 데이터 리소스로 스윙 (데이터베이스 -1 단일 호스팅). 그것이 내가 들었던 주요한 것입니다.Cloud와 관련된 Java Swing 개념은 무엇이며 어떻게 작동합니까?

클라이언트로 사용되는 일반적인 자바 앱이있는 경우 앱이 데이터 리소스 (웹)와 통신하는 방법 ... ...?

"데이터베이스 쿼리 전달", 데이터베이스 쿼리 (클라이언트에서 웹 (데이터 리소스))으로 대답했습니다. 그러나, 내가 그것을 되 돌린 후에, 나의 방법은 위험하다. 더 안전한 일은 무엇입니까? 브릿지 (API)로 사용되는 웹에 다른 앱을 만들어야하나요?

이 문제에 대한 조언이 필요합니다.

답변

3

이것을 구현하는 한 가지 방법은 HTTP 호출을 사용하여 백엔드에서 REST 기반 API를 사용하고 스윙 GUI가 해당 API와 상호 작용하는 것입니다. Apache HTTPClient 라이브러리를 사용하여 HTTP 호출을 할 수 있습니다.

+0

예 @Param, 이걸 만들어야한다고 생각합니다. 웹 서비스 API는 그렇지 않습니까? BUt .... 위험하지 않습니까? 일련의 HTTP 호출을 전달합니다. – gumuruh

+0

아니요, REST API는 많은 웹 사이트에서 일반적으로 사용됩니다. 예 : 트위터 클라이언트 (데스크톱/모바일 애플리케이션)는 REST API를 사용하여 Twitter와 상호 작용합니다. 그러나 웹 서비스에 인증을 추가해야합니다. OAuth는 일반적으로 REST 서비스에 인증을 추가하는 데 사용됩니다. – Param

2

Java Web Start을 통해 스윙 응용 프로그램을 배포하십시오. 샌드 박스에서 실행하면 "응용 프로그램은 상주하는 호스트에만 연결할 수 있습니다."- faq.

+0

hmmm ... @trashgod, 한번도 시도한 적이 없습니다. 아래에 설명 된 RestFul 유형의 웹 서비스에 대해 자체 API를 만드는 것보다 더 짧은 시간이 필요합니까? – gumuruh

+0

@ gumuruh : JWS는 REST를 보완하는 배포 전략입니다. PersistenceService는 제한된 실행 환경 (샌드 박스)에서도 사용할 수 있습니다. – trashgod

1

Java WebStart를 통해 응용 프로그램을 실행하는 경우 클라우드에서 웹 서버를 실행하고 다른 웹 서버와 마찬가지로 웹 서버를 배포하면됩니다. 물론 사용자는 JRE를 실행할 수 있으려면 JRE를 사용해야합니다.

정말로 얇은 HTML/JavaScript 클라우드 기반 전달을 찾는 또 다른 옵션은 AjaxSwing입니다. run your Swing application on the cloud 일 수 있으며 런타임에 UI를 HTML/JavaScript로 변환하므로 다른 클라우드 기반 소프트웨어와 서비스를 구분할 수 없습니다.