천객만래 [千客萬來] (It has an interminable succession of visitors)

스크립트 암호화 프로그램 입니다.


aspx 소스입니다..





스크립트암호화.zip


Posted by SB패밀리

[연봉통계] 2007년3월 소프트웨어,솔루션,ASP분야 직급별

jobkorea.co.kr










Posted by SB패밀리

[연봉통계] 2007년3월 소프트웨어,솔루션,ASP분야

출처 : jobkorea.co.kr


경력년차별 연봉차이...








Posted by SB패밀리



1. SaaS (Software as a Service)


한국소프트웨어진흥원은 지난달 발표한 `기업용 소프트웨어(SW) 시장 미래전망'이라는 보고서에서 `SaaS'를 서비스 기반 아키텍처(SOA), 공개SW, 오프쇼어 SW와 함께 향후 세계 SW 시장구조의 변화를 이끌 4대 동인 중 하나로 꼽았습니다.

우리말로 `서비스로서의 SW' 정도로 옮길 수 있는 SaaS(Software as a Service)가 무엇이기에 이처럼 SW시장에 큰 영향력을 줄 것으로 예상되는 것일까요?

전문가들에 따르면, SOA와 웹 2.0 SW를 구현하고 사용, 관리하는 방식의 변화를 설명하는 것이라면, SaaS SW 유통방식의 근본적인 변화를 설명하는 개념이라고 할 수 있습니다.

IT 시장분석 기업인 가트너는 SaaS를 하나 이상의 공급업체가 원격지에서 보유하고, 제공, 관리하는 SW라고 정의하고 있습니다. 공급업체가 하나의 플랫폼을 이용해 다수의 고객에게 SW 서비스를 제공하고, 사용자는 이용한 만큼 돈을 지불하게 되는 것이지요.

이러한 정의 때문에 온라인애플리케이션임대서비스(ASP)와 혼동되기도 하는데, 둘은 같은 사상에서 출발했지만, 실은 약간 다르다고 할 수 있습니다. ASP가 전통적인 애플리케이션을 온라인으로 대체하는 것에 초점을 맞춘 것이라면, SaaS는 모든 SW 영역에서 새로운 방식의 유통모델을 강조하는 개념이라고 할 수 있는 것이지요.

전통적 SW 비즈니스 모델과 비교할 때 SaaS의 가장 큰 차이점은 제품 소유의 여부입니다. 패키지 또는 SI 구축방식의 기존 기업용 SW는 기업 내부의 서버 등 장비에 무형의 SW를 저장해 이용한다는 점에서 고객이 소유권을 갖고 있었습니다. 물론 엄밀한 의미에서 소유권이 아닌 사용권으로 봐야겠지만, 어쨌든 고객들은 제품을 소유하고 있는 것입니다. 그렇지만 SaaS SW가 제품이 아닌 서비스, 즉 빌려쓰는 모델이라는 점에서 기존 라이선스 모델과는 확연히 구분됩니다.

그렇다면, SaaS의 가장 큰 이점은 무엇일까요? SW진흥원은 종량제 가격 대안을 제시하는 SaaS가 기업들이 새로운 SW 기능을 구매하는데 드는 비용을 혁신적으로 줄여줄 수 있으며, 일정기간동안 사용량 기반으로 비용을 지불함으로써 인프라 투자를 피할 수 있게 한다고 설명합니다.

사용자 입장에서는 SaaS가 본격화되면 굳이 막대한 비용을 들여 SW 라이선스를 구매하고 설치, 관리해야할 필요성이 없게 됩니다. 이는 대부분의 온디맨드(on demand) SW업체들이 강점으로 내세우는 것으로, 이들은 고객사의 요구사항을 제품에 빠른 속도로 반영하는 동시에 저렴한 이용료와 편리한 유지보수 및 업그레이드 서비스를 기반으로 전통적 솔루션 업체를 압박하고 있습니다.

이러한 이점 때문에 수요기업들의 관심도 크게 높아지고 있습니다. 시장조사업체인 IDC SaaS 전 세계 지출 규모가 2004 42억 달러에서 연평균 21% 성장해 오는 2009 107억 달러에 달할 것으로 전망하고 있습니다.

SaaS 모델은 통상 중소기업용으로 널리 알려져 왔으나 지난해부터 대기업들이 SaaS 고객으로 등장하고 있습니다. 실제 온디맨드 고객관계관리(CRM) 기업인 세일즈포스닷컴은 노키아, 야마하 등 대기업을 고객사로 확보하고 있으며, 비용을 중시하는 국내 대기업들도 SaaS에 주목하기 시작한 것으로 분석됩니다.

현재 초기단계인 SaaS의 대표주자는 세일즈포스닷컴ㆍ석세스팩터ㆍ베이스캠프 등이 꼽히고 있습니다.

세일즈포스닷컴은 매년 80%가 넘는 고객증가율을 보이며, 현재 24000여 고객과 50여만명의 가입자를 확보하고 있습니다. 직원성과관리 업체인 석세스팩터는 SAPㆍ오라클 등 굴지의 기업을 제치고 지난해 가트너의 직원성과관리 분야에서 우수 기업으로 선정됐습니다. 또 베이스캠프는 지식 근로자들의 프로젝트 협업에 필요한 작업 관리ㆍ파일 공유ㆍ일정 추적ㆍ마일스톤 관리 등의 기능을 제공하는데, 현재 25만명의 사용자가 있습니다.

여기에 최근에는 IBM, 마이크로소프트, 오라클, SAP 등 대형 SW기업들도 SaaS 모델을 적극적으로 채택하고 있어 SaaS SW 분야의 하나의 거대한 흐름으로 자리잡기 시작하고 있습니다.


2. ASP 차이


소프트웨어(SW) 업계의 큰 관심사 중 하나인 `서비스로서의SW(SaaS)'를 거론할 때마다 함께 이야기되는 것이 `온라인애플리케이션임대(ASP)' 서비스입니다.

그런데, SaaS ASP와 무엇이 다른 것인지 궁금해하는 사람들이 많습니다. 또 근본적으로 이 둘이 다르지 않음에도 이름만 바꿔 소비자들을 현혹시키는 것 아니냐는 의구심을 갖는 사람도 있습니다.

과연, SaaS ASP의 차이점은 무엇인지 알아봅시다.

차이점을 얘기하기에 앞서 먼저 공통점은 살펴보면, 두 가지 서비스 방식 모두 인터넷을 통해 소비자(주로 기업)에게 애플리케이션을 제공한다는 것입니다. 이들 두 방식은 전통적인 SW 비즈니스 모델(소비자가 애플리케이션을 구입, 구축해 소유하고 관리하는 모델)과 달리 정액제 또는 종량제 등의 방식으로 빌려쓰는 모델이라는 점에서 구분됩니다. 이를 통해 소비자들은 애플리케이션 구매 비용을 줄일 수 있으며, 막대한 인프라 투자와 관리의 어려움을 피할 수 있습니다.

그렇다면 SaaS ASP의 차이점은 무엇일까요?

전문가들에 따르면, 기존의 ASP가 단순히 일부 애플리케이션 공급 방식을 온라인으로 대체하는 것이라면, SaaS는 기본적으로 SW의 선택 및 공급, 운영을 지원하는 단일한 플랫폼을 통해 모든 SW 영역의 서비스를 제공할 수 있다는 것이 다릅니다.

다시 말해 SaaS는 웹에서 단일한 플랫폼을 기반으로 동일한 버전의 애플리케이션을 모든 소비자에게 공급하거나 다양한 SW를 백화점식으로 모두 갖춰놓고 온 디멘드 형태로 공급하는 것이 가능합니다. 따라서 소비자의 요구에 따라 커스토마이징을 해줘야 하기 때문에 `1대 다' 서비스를 하는 것이 어려운 기존 ASP 방식의 문제점을 해결할 수 있습니다. 물론, 이같은 SaaS 플랫폼을 만드는 것은 상당한 노하우와 기술력이 요구되는 것으로, 분명한 기술적 장벽이 존재합니다.

SaaS는 하늘에서 뚝 떨어진 것이 아니라 ASP에서 진화된 것으로 보는 것이 맞습니다.

한국정보산업연합회가 최근 발간한 보고서에 따르면, 1990년대 후반경에 시작된 ASP 2000년 초까지 미국에서만 36억달러의 투자를 받고 2000개 이상의 업체가 성업했으나 불경기, 닷컴 기업의 붕괴, 그리고 규모의 경제를 달성하는데 따른 어려움 등으로 인해 하락세를 나타냈습니다.

또 초기 ASP 사업자들은 클라이언트/서버 환경에서 라이선싱을 위해 디자인된 기업용 애플리케이션이 온 디멘드 모델을 제대로 구현하지 못했고, 다른 SW와의 연계와 통합 역시 어려웠습니다. 이와 함께 많은 기업이 전략적 자산인 IT 및 비즈니스 애플리케이션 운용을 제3자에게 맡기는 것에 저항감을 보였지요.

이후 APS로 대표되는 1세대 비즈니스가 진행되는 동안 몇몇 기업은 2세대로 불리는 SaaS 개념을 도입, 서비스상의 결점을 보완하고 비즈니스 모델의 타당성을 확보해 사용자 저변을 확대하기 시작했습니다. SaaS 서비스 업체는 웹 기반 애플리케이션을 통해 주요 비즈니스 기능에 대한 직접적인 해결책을 제시하고, 측정 가능한 투자대비효과(ROI)와 강력한 가치 제안 등을 제공해 ASP와의 차별화를 시도하게 됩니다.

또 최근 비즈니스 환경이 거의 대부분의 애플리케이션이 웹으로 전환됐고, 기업들이 다양한 웹 SW를 사용하는 데 매우 익숙해진데다 강력한 예산 삭감 압박 등으로 인해 비용절감 차원에서 SaaS 모델 도입을 적극적으로 고려하게 되는 등 비즈니스 여건이 크게 달라진 점 또한 SaaS가 하나의 대세로 떠오르게 되는 중요한 요인이 되고 있습니다.


출처: http://k.daum.net/qna/view.html?category_id=QFP003&qid=3SwTY&q=SaaS&srchid=NKS3SwTY

Posted by SB패밀리

ASP에서 ActiveX DLL 사용하기

 

출처:http://www.neovis.pe.kr/


■ ActiveX DLL 프로그래밍하기

3.3 ASP에서 ActiveX DLL 사용하기

비주얼 베이직에서 만든 ActiveX DLL 컴포넌트를 ASP에서 사용하여 보자. 처음에는 간단한 덧셈 연산을 수행하는 컴포넌트 제작 과정에 대해 알아볼 것이며, 이후에는 ASP 소스에 직접 사용할 수 있는 컴포넌트 제작에 대해서 알아보겠다.

1) 덧셈 컴포넌트 만들기

두 개의 수를 입력하면 덧셈을 수행하는 컴포넌트를 만들어보자. 우선 ActiveX DLL 프로젝트를 새롭게 만든 다음 프로젝트의 이름과 클래스 모듈의 이름을 prjCalc와 Calc로 변경하자. 프로젝트의 이름과 클래스의 이름은 이후에 컴포넌트를 생성하는 기준이 되는 이름이 되므로 주의하여야 한다.

이름의 변경이 정상적으로 완료되면 클래스 모듈의 코드 입력창에 다음과 같은 코드를 입력하도록 하자.

● Calc.cls


Option Explicit

Dim Result As Integer
Dim Num1 As Integer
Dim Num2 As Integer

Public Property Let aNum1(ByVal rNum As Integer)

Num1 = rNum

End Property

Public Property Let aNum2(ByVal rNum As Integer)

Num2 = rNum

End Property

Public Sub SumCalc()

Result = Num1 + Num2

End Sub

Public Property Get SumResult()

SumResult = Result

End Property


위의 Calc클래스는 연산에 필요한 입력값과 계산을 수행하는 메서드, 계산된 결과값을 나타내어주는 3 부분으로 이루어져 있다. 우선 입력값을 클래스로 가져오는 속성 선언 부분을 살펴보자.


Public Property Let aNum1(ByVal rNum As Integer)

Num1 = rNum

End Property


추후 객체를 생성하는 부분에서 aNum1이르는 속성 값으로 숫자를 입력하면 Num1에 저장하여 계산에 사용할 수 있게 하는 부분이다. Property Let으로 선언하여 외부에서 클래스로 받아오는 속성임을 나타내게 되는 것이다.


Public Sub SumCalc()

Result = Num1 + Num2

End Sub


SumCalc 메서드는 입력된 Num1과 Num2를 더하여 Result 변수에 저장하는 메서드가 된다.


Public Property Get SumResult()

SumResult = Result

End Property


SumResult는 계산된 결과값을 Property Get으로 선언하여 클래스에서 외부로 보내는 속성을 나타낸다. 실제 ASP에서는 SumResult를 통하여 결과값을 통보 받게 되는 것이다.

2) 컴포넌트 활용 ASP 파일 만들기

컴포넌트를 이용하는 ASP 파일을 만들어보자. ASP를 조금이라도 다루어본 개발자라면 쉽게 이해 가는 아주 간단한 예제이다. 마이크로소프트 비주얼 인터데브나 다른 텍스트 에디터에서 다음처럼 ASP 파일을 하나 생성하자.

● SumCalc.asp


<%@ Language=VBScript %>

<%

Dim objSumCalc, Num1, Num2

Num1 = Request("Num1")
Num2 = Request("Num2")

Set objSumCalc = Server.CreateObject("prjCalc.Calc")

objSumCalc.aNum1 = Num1
objSumCalc.aNum2 = Num2

objSumCalc.SumCalc()

%>

<HTML>
<HEAD>
<TITLE>ActiveX DLL 컴포넌트 활용하기 </TITLE>
</HEAD>

<BODY>

<P>입력하신 숫자의 <%=Num1%>, <%=Num2%>의 합은 <%=objSumCalc.SumResult%> 입니다.</P>

</BODY>

</HTML>


ASP 소스코드를 살펴보자. ASP에서 데이터베이스 연결을 하여 작업을 수행해본 경험이 있다면 쉽게 이해할 수 있을 코드가 되겠다. 가장 먼저 변수가 선언되어 있다. ASP에서는 비주얼 베이직과는 달리 항상 변수를 선언하거나 형식을 지정해야 할 필요는 없다.


Num1 = Request("Num1")
Num2 = Request("Num2")

SumCalc.asp파일로 Get방식이나 Post방식으로 전송되어지는 두 개의 값을 새로운 변수에 저장하는 부분이다. Request 객체를 이용하여 넘어온 값을 새로운 변수에 저장한다.


Set objSumCalc = Server.CreateObject("prjCalc.Calc")

비주얼 베이직의 표준 EXE에서의 객체 생성과 유사한 형식을 가지고 있지만 ASP는 웹 서버에서 동작하므로 서버 객체를 생성하는 Server.CreateObject라는 구문을 가지게 되는 것이다. objSumCalc에 새로운 서버 객체인 prjCalc(프로젝트명).Calc(클래스명)가 할당된다. 이렇게 서버 객체가 생성되기 위해서는 반드시 앞서 만든 DLL 파일이 웹 서버에 우선 등록되어야 할 것이다.


[참고하세요]

서버 객체 등록 : 서버에서 생성할 수 있는 객체를 등록하고자 반드시 서버의 레지스트리에 등록이 되어야 한다. 비주얼 베이직에서 컴파일을 수행하면 자동으로 등록되지만 그렇지 못 할 경우에는 regsvr32 명령을 이용하여 등록할 수도 있다. 명령 프롬프트 창에서 등록하고자 하는 dll파일이 있는 곳으로 이동한 다음 [regsvr32 dll파일명]을 입력하면 성공적으로 등록되었다는 메시지가 나올 것이다. 등록되어 있는 dll을 삭제하고자 할 경우에는 /u 옵션을 사용하여 [regsvr32 /u dll파일명]과 같이 입력하면 된다.




objSumCalc.aNum1 = Num1
objSumCalc.aNum2 = Num2
objSumCalc.SumCalc()

앞서 생성한 객체의 속성에 값을 입력하고, 메서드를 실행하는 부분이다. DLL 파일에서 두 가지의 입력값으로 덧셈 연산을 수행하므로 Num1과 Num2에 ASP로 전달되어진 입력값을 할당한 뒤 SumCalc() 메서드를 이용하여 덧셈 연산이 수행된다.


<%=objSumCalc.SumResult%>

앞의 과정으로 연산작업이 완료되면 결과값을 SumResult라는 속성으로부터 가져오는 부분이다.

이렇게 만든 ASP 파일을 IIS에서 접근이 가능한 디렉토리로 복사하자. 이제 실행하면 될 것이다. 단 하나 주의할 점은 Num1과 Num2에 덧셈을 할 값들을 입력하여야 한다는 것이다. 이번 예제는 간단하므로 주소를 입력할 때 Get 방식을 통한 변수값 입력을 하면 될 것이다. 따라서 서버에서 SumCalc.asp 파일을 접근할 때 Num1과 Num2의 값을 다음과 같이 입력하도록 하자. [http://localhost/접근주소/SumCalc.asp?Num1=3&Num2=2] 이렇게 입력한 결과값은 다음과 같이 출력될 것이다. Num1과 Num2의 값을 변경하여 가면서 여러번 결과값을 확인하여 보자.


[그림 4-1] SumCalc.asp 결과 화면


[참고하세요]

앞의 서버 컴포넌트 등록과정이 비주얼 베이직에서는 불편할 수도 있다. 그래서 비주얼 베이직에서는 디버깅 모드를 제공하고 있다. asp 파일을 완성한 뒤 서버에게 접근이 가능한 경로로 이동해 놓으면 서버 컴포넌트를 등록하지 않아도 실행된 결과를 확인할 수 있는 것이다. 컴포넌트를 제작하는 과정에서는 이와 같은 디버깅 모드를 활용하면 오류 수정에 용이할 것이다.

비주얼 베이직의 프로젝트 메뉴에서 프로젝트 속성 창을 실행한 후 디버깅 탭을 선택하자. 프로젝트를 시작할 때 항목을 URL을 사용한 브라우저 시작으로 변경하고 앞의 서버 접근 주소를 동일하게 입력한 후 프로젝트를 실행하여 보자. 웹 브라우저가 실행되면서 앞의 결과와 같은 동일한 결과화면을 볼 수 있을 것이다.

[그림 4-2] 디버깅 속성 변경




[주의하세요]

윈도우 2000에서의 비주얼 베이직 디버깅모드 사용법

윈도우 2000을 사용하는 개발자들이 비주얼 베이직과 ASP를 연동하여 컴포넌트 제작을 할 때 가장 많이 오류가 발생하는 것이 Server.CreateObject 오류이다. 이것은 윈도우 2000의 COM+에서의 지원이 올바르지 못해 발생하므로 다음과 같이 컴포넌트 작업을 수행하는 시스템의 설정을 변경하여야 한다.

1) 레지스트리 변경

DCOM에서의 VB ASP 디버깅을 수행하기 위한 레지스트리를 생성하여야 한다. 메모장에서 다음과 같이 입력한 후 Vbaspdbg.reg 파일의 이름으로 저장하자.


REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}]
@="VB ASP Debugging"

[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32]
@="vb6.exe"

[HKEY_CLASSES_ROOT\AppID\vb6.exe]
"AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"



[그림 4-3] Vbaspdbg.reg 파일 생성

Vbaspdbg.reg 파일의 저장이 완료되면 이 파일을 실행하여 레지스트리 항목으로 추가시키자.

[그림 4-4] Vbaspdbg.reg 파일 레지스트리 등록

2) DCOM 권한변경

DCOM 구성 등록 정보에서의 권한변경을 수행하여야 한다. 다음의 순서대로 따라하자.

① 윈도우의 실행창에서 dcomcnfg를 입력하여 DCOM 구성 등록 정보 창을 실행하자.


[그림 4-5] DCOM 구성 등록 정보 실행

② DCOM 구성 등록 정보 창에서 응용 프로그램 탭을 선택한 다음 VB ASP Debugging 항목을 선택하자.

[그림 4-6] VB ASP Debugging 항목 선택

③ VB ASP Debugging 항목의 등록 정보를 실행하자. 등록 정보 창에서 보안 탭을 선택한 후 사용자 정의 액세스 권한으로 선택항목을 변경하자.


[그림 4-7] 보안 등록정보 변경

④ 사용자 정의 액세스 권한의 편집 버튼을 눌러 나온 사용 권한 창에서 추가를 선택하고, 사용자 및 그룹 추가에서 Everyone 항목을 추가하자.


[그림 4-8] 사용자 추가

⑤ 확인 버튼을 클릭하여 변경된 등록 정보를 저장하자.

3) 가상 디렉토리 권한 변경

실제 비주얼 베이직의 컴포넌트를 이용하는 ASP 파일이 위치하게 될 가상 디렉토리의 권한과 설정의 변경 작업을 수행하여 보자.

① 인터넷 서비스 관리자를 실행하여 현재 비주얼 베이직의 컴포넌트를 이용하는 ASP 파일이 위치하는 가상 디렉토리를 선택하자.

[그림 4-9] 인터넷 서비스 관리자 실행

② 가상 디렉토리의 등록정보를 실행한 후 가상 디렉토리 탭에서 응용 프로그램 보호항목에서 높음(격리됨)으로 변경하자.


[그림 4-10] 가상 디렉토리 등록정보 변경

③ 디렉토리 보안 탭을 선택하자. 상단에 있는 익명 액세스 및 인증 제어 항목에서의 편집 버튼을 클릭한 후 익명 액세스 항목의 체크를 해제하고, 기본 인증과 Windows 통합 인증을 체크하자.


[그림 4-11] 가상 디렉토리 보안 등록정보 변경

이렇게 하여 윈도우 2000에서의 비주얼 베이직 디버깅을 사용할 수 있는 방법을 수행하여 보았다. 보다 자세한 정보는 마이크로소프트의 홈페이지를 참고하기 바란다.

(http://support.microsoft.com/support/kb/articles/q259/7/25.asp



출처: http://blog.naver.com/kdllee/70000510255
Posted by SB패밀리


1. stdafx.h 파일에 #include <atlbase.h> 위에 아래와 같이 include 하면 됩니다.

2. 필요에 따라 프로젝트 속성 - 링커 - 입력에 comsvcs.lib activeds.lib adsiid.lib wininet.lib 를 추가합니다.

 

/////////////////////////////////////////////////////////////////////////////
// EOCS_ADD
/////////////////////////////////////////////////////////////////////////////
// - MFC 지원
#include <afxwin.h>   // MFC 자동화 클래스입니다. - 코어 및 표준 컴포넌트
#include <afxext.h>   // MFC 자동화 클래스입니다. - 확장
#include <afxdisp.h>  // MFC 자동화 클래스입니다. - 자동화 확장
// - Active Server Pages Definitions
#include <asptlb.h>
// - COM 관련 확장
#include <afxconv.h> // for USES_CONVERSION,
#include <comdef.h>
#include <afxctl.h>
#include <afxdb.h>
// - MDAC
#import "c:\\Program Files\\Common Files\\System\\Ado\\msado15.dll" no_namespace rename("EOF", "EndOfFile") // 설치된 경로에 따라 변경
// - ADSI
#include "activeds.h"


출처 : http://blog.naver.com/eocsdev/150070499587

Posted by SB패밀리
TAG AFX, asp, atl, COM, MDAC, MFC, vc++