본문 바로가기
소프트웨어/3rd Part

스마트클라이언트 이해와 배포시나리오

by 알 수 없는 사용자 2009. 2. 25.
320x100

#
배포하기

들어가는 말.

최근 스마트클라이언트(Smart Client)에 대해서 관심이 많다. 준비해야 할 프로젝트가 스마트클라이언트 환경이기 때문에 더욱 그렇다. 하지만 관련 자료를 구하기 힘들고 생각처럼 잘 되지 않았다.

우선 여기저기 복사해서 있는 자료들을 수집했고, 외국 블로그와 국내 유명한 개발자의 블로그를 짜집기 해서
나의 경험과 생각으로 정리를 해보고 자 합니다.



# 스마트 클라이언트란 ?

스마트 클라이언트(n) 정의: 쉽게 배포 및 관리할 수 있는 클라이언트 응용 프로그램인 스마트 클라이언트는 로컬 리소스를 활용하고 분산된 데이터 소스에 인텔리전트하게 연결됨으로써 뛰어난 적응력과 대응성을 갖춘 풍부한 대화형 경험을 제공합니다.






간단히 발전 역사와 관련이 있다. 위 그림처럼 중간에 중쳡되는 (교집합) 부분이 스마트 클라이언트의 장점이라고 보겠다.

rich client - 90년대 황금기를 가졌고, 데스크탑 환경에서 동작하는 프로그램을 말한다.
thin client - 비지니스 로직이 웹 서버에 있고, 클라이언트는 브라우징만 한다.
smart client - 틈틈이 네트웍에 접근을 해서, 서비 데이타를 긁어오고, 비지니스 로직도 클라이언트가 같이 갖고 있다.

참고 할 만한 자료
Smart Client Architecture and Design Guide on MSDN (영문자료지만 차례별로 잘 보면 이해가 된다.)


개발자가 스마트 클라이언트를 만들어야 하는 가장 중요한 10가지 이유

개발자가 스마트 클라이언트를 만들어야 하는 가장 중요한 10가지 이유 더보기








ClickOnce란





http://msdn.microsoft.com/ko-kr/library/t71a733d(VS.80).aspx

msdn의 말을 인용하면 아래와 같다.
간단히 말해 ClickOnce 응용 프로그램은 ClickOnce 기술을 사용하여 게시하는 모든 Windows Forms 또는 콘솔 응용 프로그램입니다. ClickOnce 응용 프로그램은 웹 페이지, 네트워크 파일 공유 또는 CD-ROM과 같은 미디어를 통해 게시할 수 있습니다. ClickOnce 응용 프로그램은 최종 사용자의 컴퓨터에 설치하거나 컴퓨터가 오프라인일 경우에도 로컬로 실행할 수 있고 최종 사용자의 컴퓨터에 영구적으로 설치하지 않고 온라인 전용 모드로 실행할 수도 있습니다. 자세한 내용은 ClickOnce 배포 전략 선택을 참조하십시오.

솔루션을 배포하는 부분은 알게 모르게 많은 문제와 비용이 발생한다.
하지만 이런 과정을 ClickOnce 을 이용하면 편리하게 적은 비용과 간단히 배포가 가능하다.


참고링크
 1. http://www.microsoft.com/korea/msdn/smartclient/understanding/windowsforms/2.0/features/clickonce.aspx


왜 써야하는가?
보통 기존의 Microsoft Installer 방식과 ClickOnce을 비교한 표를 보여준다. 아래 링크에서 보세요.
참고: http://kikiwaka.egloos.com/2046360
간단히 말해서 윈도우즈 권한 문제와 자동 업데이트, 안전성과 성능을 보장한다.




# ClickOnce을 통하여 배포하기



해당 URL을 호출하면 웹서버를 통해서 클라이언트에 배포된다.
프로그램(app)이 실행되지 위해서 필요한 모든 dll, exe 리소스들은 iis서버에 있고 이를 URL을 통해서 클라이언트는 서버로 접속을 하고 내려 받는 것이다. 다운받은 리소스들은 자동으로 설치가 되는 것이다.

Visual Stdio .Net에서 게시를 하면 위와 같은 화면을 볼 수있다.
현재 3rd Part로 Infragistics의 Wingrid, WinTree 등, XtraReport를 쓰고 있는 데
인프라로직스의 경우
http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.Aspx?ArticleID=9692
를 보면 알수 있듯이 간단히 게시만으로도 배포가 가능하다고 나와 있다.

HOWTO:Deploy a VS2005 Windows Forms application with NetAdvantage controls using ClickOnce deployment

Step-By-Step Example

Use the following steps to configure your application's NetAdvantage references to include these files as part of ClickOnce deployment.

1) Access the project’s properties interface by right-clicking on the project in Solution Explorer and selecting properties or through Visual Studio 2005’s main toolbar’s Project -> (Your project name) Properties.

2) Click on the Publish tab.

3) Click on the Application Files button.

4) In the interface that appears, you will find the NetAdvantage assemblies that are referenced. Change their Publish Status to Include.




특별히 다른 배포를 할 필요가 있으면 Bootstrapper Manifest Generator 을 이용하여 배포할때 필요한 구성에 추가를 하면된다.
http://www.davidguyer.us/BMG/publish.htm   여기에서 다운로드 받을 수 있다.
msi파일로 만들어서 같이 배포를 하면 되기 때문에 같이 쓰면 유용하다.



# 마무리
솔찍히 스마트클라이언트로 만들고 ClickOnce로 배포하는 로직을 구현했으나
대 실패하였다. 하지만 관련정보를 애써 모았던 기억이 나고 다음에 쓸 기회가 있다는 생각에 적어두었습니다.
배포하는 방법은 ClickOnce가 참 좋던데 IE에서 exe파일을 독립적으로 호출 할때 차후 문제가 많이 될거라 생각되어서 손땟습니다.

ClickOnce가 원하는 위치에 배포하지 않기때문에 자동업그래이드도 직접구현하여서 처리하는 방향으로 가닥을 잡았습니다.
잘 관리하면 초기배포비용을 줄일수있을거 같은데 쉽지 않네요. 유료배포툴인 인스톨쉘이 더 좋은건 사실인거 같습니다.

바탕화면으로 바로가기 아이콘 뽑아내기, CAS 등 권한 자동으로 설정등 팁이 있지만 여전히 힘듬




참고사이트
http://springpopup.me/33   ☆☆☆☆☆ 추천! (실무자 다운 면모)
http://kikiwaka.egloos.com/2046360 ☆☆☆ (읽어볼것. 개념정리에 좋음)





# 추가


1. CAS권한 msi로 배포하기
http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=18&MAEULNO=8&no=1067&page=20


참고
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNo=8&no=1075&ref=1075

작성자 우영식

ClickOnce 배포

ClickOnce 배포를 사용하면 간단한 설치를 위해 웹 서버나 네트워크 파일 공유에 Windows 기반 응용 프로그램을 게시할 수 있습니다. Visual Studio는 ClickOnce를 사용하여 배포되는 응용 프로그램의 게시 및 업데이트를 완벽하게 지원합니다. ClickOnce 배포는 Visual Basic, Visual C# 및 Visual J#을 사용하여 만드는 프로젝트에 사용할 수 있지만 Visual C++에는 해당되지 않습니다. Visual C++ 응용 프로그램 배포에 대한 자세한 내용은 Visual C++ 응용 프로그램의 ClickOnce 배포를 참조하십시오.

다음 항목에서는 ClickOnce 배포에 대해 자세히 설명합니다.

단원 내용

ClickOnce 배포 개요

ClickOnce 배포 기술 및 관련 개념에 대해 소개합니다.

ClickOnce 배포 전략 선택

ClickOnce 응용 프로그램을 배포하기 위한 여러 가지 옵션을 설명합니다.

ClickOnce 업데이트 전략 선택

ClickOnce 응용 프로그램을 업데이트하기 위한 여러 가지 옵션을 설명합니다.

ClickOnce 배포 및 보안

ClickOnce 배포의 보안 관련 문제에 대해 설명합니다.

ClickOnce 응용 프로그램 게시

이 단원에는 ClickOnce 배포와 관련된 일반적인 작업을 수행하는 방법에 대해 설명하는 작업 항목이 포함되어 있습니다.

ClickOnce 응용 프로그램 보안

ClickOnce 배포의 보안 기능과 코드 액세스 보안 및 보안 영역의 역할에 대해 설명합니다.

ClickOnce 매니페스트 서명

응용 프로그램 및 배포 매니페스트를 서명하는 방법에 대해 설명합니다.

ClickOnce를 사용하여 COM 구성 요소 배포

응용 프로그램 및 배포 매니페스트를 서명하는 방법에 대해 설명합니다.

명령줄에서 ClickOnce 응용 프로그램 빌드

MSBuild를 사용하여 명령줄에서 응용 프로그램을 배포하는 방법에 대해 설명합니다.

System.Deployment.Application을 사용하는 ClickOnce 응용 프로그램 디버깅

고급 ClickOnce 배포 기능을 제공하는 System.Deployment.Application 네임스페이스의 요소를 구현하는 응용 프로그램을 디버깅하는 방법에 대해 설명합니다.

Troubleshooting ClickOnce Deployment

ClickOnce 배포에서 발생할 수 있는 일반적인 문제의 해결 방법에 대한 정보를 제공합니다.

관련 단원

배포 전략 선택

ClickOnce와 Windows Installer 배포를 비교합니다.

배포의 새로운 기능

ClickOnce 배포 및 64비트 응용 프로그램 배포와 같은 Microsoft Visual Studio 2005의 새로운 기능을 나열합니다.

64비트 응용 프로그램 배포

ClickOnce 또는 Windows Installer 배포를 사용하여 64비트 응용 프로그램을 배포하는 방법에 대한 정보를 제공합니다.

사용자 지정 필수 구성 요소 추가

사용자 지정 필수 구성 요소(부트스트래퍼에 기본적으로 포함되지 않는 시스템 구성 요소)를 설치하는 방법에 대해 설명합니다.

Windows Installer 배포

이 단원에서는 설치 프로젝트를 사용하여 기존 배포 기술인 Windows Installer에 대해 설명합니다.

배포 오류 메시지

ClickOnce 및 Windows Installer 배포와 관련된 오류 메시지에 대해 설명합니다.



반응형

댓글