.NET 2.0 이란? ASP.NET 2.0이 지향하는 목표는 크게 다음의 세가지가 있다.
.NET의 정의
1. .NET의 정의 - .NET 은 XML 웹 서비스 플랫폼이다. 2. XML이란? - XML(eXtensible Markup Language)은 웹 상에서 구조화된 문서와 데이터를 교환할 수 있는 범용적인 언어이다. - XML은 HTML(HyperText Markup Language)의 확장판 이라고 생각할 수 있다 - XML은 업계 표준으로서 특정 시스템 및 기종에 상관없이 데이터를 주고 받을 수 있게 해준다. - XMl을 사용하면 DPA, 휴대폰, 컴퓨터, 전화기, 가전기기 등등 인터넷에 연결할 수 있는 시스템이면 어떤 것이든지 간에, 서로 데이터를 주고 받거나 시스템을 제어할 수 있다. 3. XML 웹 서비스 - XML 웹 서비스는 다른 응용 프로그램에 데이터와 서비스를 제공하는 응용 프로그램 논리 단위로서, 서로 다른 시스템 간의 데이터 교환 및 서비스를 위해 사용된다. 4. .NET의 목적(전략) - .NET의 목적은 웹을 통한 이기종 간의 시스템 통합(Intergration)입니다. 그리고 이때 사용되는 것이 바로 XML 웹 서비스입니다. - 즉, .NET은 XML 웹 서비스를 사용하여 서로 다른 시스템을 통합 하기 위한 기반입니다.
1. 새로운 서버 컨트롤 추가 - ASP.NET 2.0으로 넘어오면서 50개 이상의 새로운 서버 컨트롤이 추가 2. 사이트 탐색(Site Navigation) - ex) Home > 노무현 대통령 > 발언록 전문보기 와 같은 구성을 하나의 파일에 저장 3. 마스터 페이지(Master Pages) - .master 라는 확장자를 가진 ASP.NET 2.0에 새로 추가된 페이지이며 웹 사이트에서 공통적으로 사용되는 레이아웃을 정의한다. 4. 테마(Themes) - 서버 컨트롤, 웹 페이지, 웹 사이트, 웹 서버 단위의 스타일을 일관성 있게 관리해 주는 기능임. ( 색 모양 등으로 구성가능 ) 5. 웹 파트(Web Parts) - 페이지에 포함된 각 콘텐츠를 모듈화 하는 데 사용되는 통합 컨트롤 집합. - 웹 파트는 개인 설정(Personalication) 기능을 제공 ex) my.msn.com - 개인 설정 : 응용 프로그램(웹, Windows 응용 프로그램 등등)을 개인의 상향에 맞게 정하는 것
아래의 내용은 회사 내부발표자료를 준비하면서 직접 작성한 PPT파일 에서 발췌한 내용들이며, PPT파일을 만들 당시에 참고한 자료의 내역들이 없는관계로 부득이하게 첨부하지 못했습니다. -2007.03.28 일날 작성된 문서입니다. -
Ajax ( Asynchronous JavaScript and XML ) ◈ 대화식 웹 어플리케이션의 제작을 위해 아래와 같은 조합을 이용하는 웹 개발 기법이다. - HTML (또는 XHTML) 과 CSS , DOM, 자바스크립트 , XML, XSLT, XMLHttpRequest ◈ Ajax는 자체가 하나의 특정한 기술을 말하는 것이 아니며, 함께 사용하는 기술의 묶음을 지칭하는 용어이다. ◈ Ajax 어플리케이션은 실행을 위한 플랫폼으로 위에서 열거한 기술들을 지원하는 웹 브라우저를 이용한다, 이것을 지원하는 브라우저로는 모질라 파이어폭스, 인터넷 익스플로러, 오페라, 사파리 등이 있다, 단, 오페라는 현재 XSL 포맷팅 객체와 XSLT 변환을 지원하지 않는다.
◈ FLAX와 같이 사실상 Ajax에 바탕을 두고 있는 유사/복합 기술들이 속속 나타나고 있다.
Difference point of existing technique and
◈ 장점 - 페이지 이동없이 고속으로 화면을 전환할 수 있다. - 서버 처리를 기다리지 않고, 비동기 요청이 가능하다. - 수신하는 데이터 량을 줄일 수 있고, 클라이언트에게 처리를 위임할 수도 있다.
◈ 단점 - Ajax를 쓸 수 없는 브라우저에 대한 문제가 있다. - Http클라이언트의 기능이 한정되어 있다. - 페이지 이동없는 통신으로 인한 보안상의 문제 - 지원하는 Charset이 한정되어 있다. - 스크립트로 작성되므로 Debugging이 용이하지 않다. - 요청을 남발하면 역으로 서버 부하가 늘 수 있음
Ajax
◈ 지원가능 - 마이크로소프트 인터넷 익스플로러 5.0 이상, 기타 인터넷 익스플로러를 기반으로 한 브라우저들 (Mac OS 버전은 미지원 ) - 게코 기반 모질라, 모질라 파이어폭스, 씨몽키, 에피파니, 갈레온 브라우저 그리고 넷스케이프 7.1 이상 - KHTML 3.2 이상, 컨커러 3.2 이상 그리고 애플 사파리 1.2 이상 포함 - 오페라 브라우저 8.0 이상, 오페라 모바일 브라우저 8.0 이상
◈ 지원 불가능 - 오페라 7 이하 - 마이크로소프트 인터넷 익스플로러 4.0이하 - 텍스트 기반의 브라우저 링크스, w3m - 시각장애인을 위한 브라우저 - 1997년 이전 브라우저
The opinion against the Ajax
◈ 이점 - 비동기식의 최대 이점인 인터페이스의 강화에는 확실히 도움이 되는것 같음. - 기존코딩방식에서 어렵게 구현되었던 부분에대한 간략화가 가능한 부분도 있음. - 다양한 웹 퍼포먼스 구현이 가능함.
◈ 단점 - 사용자들이 Ajax의 구현에대한 인지를 못하는부분이 큼. - Javascript코딩과 복잡한 DIV등이 많이 필요함. - 디버깅툴을 새로 익혀야함..(단점은 아니지만..) - 유지보수의 어려움이 예상됨. - 빗나간 설계시에 서버측 부하가 매우 크게 예상됨.
◈ 다른면 - Ajax에 맞는 PM방식 및 UI접근방법이 필요함(설계의 패러다임에 전환이 필요함) - Javascript, 와 DOM구조의 이해가 개발자들에게는 필요함 - XML의 이해와 트리구조의 이점을 잘 살릴 수 있는가에 대한 의문점. - 기존방식보다 간략화 할 수 있다는 이점의 반대로 기본적 코딩이 복잡해짐. - 비용산출(?)이 아직까지 불확실함
Web2.0 and Ajax
◈ web2.0 - 웹 2.0(Web 2.0)은 어떤 application이나 Technique을 말하는 것이 아니고, 현재 사용되고 쓰여지고 있는 웹의 진화 모델로서 제시되고 있는 트랜드를 말한다고 하는 것이 좀 더 그 의미에 가까울 것이다. 이에 현재 쓰이고 있는 웹은 web1.0이라고 불리기도 한다.
◈ web2.0 에 필요한 요소들 - 웹 표준을 지켜라 : CSS - 모든 브라우저를 지원하라 : 크로스 브라우징 - 문자 인코딩을 UTF-8로 바꿔라 : EUC-KR -> UTF-8 - 짧고 이해하기 쉬운 주소를 만들어라 : search.naver.com, blog.empas.com - 콘텐츠의 유통 방식을 고민하라 : RSS(XML), JSON(Ajax) - API를 공개해 사용자들을 끌어들여라 : Open소스 - 집단지성을 활용하라 : 커뮤니티 활성 - 가벼운 플랫폼을 써라 : 기존의 코딩방식의 개선 - 더 많은 기능을 제공하라 : 기본(?) 이라 칭하는 스팩의 업그레이드 - 브라우저의 한계를 넘어서라 : 각 특성(국내환경 IE)에 맞는 기술적용
Website in Ajax
◈ maps.google.com - Ajax로 구현된 가장 대표적인 사이트
◈ naver.com - 국내검색 포탈 네이버(엠파스 등)
◈ ohpy.com - 국내커뮤니티 사이트
테스트 구현 예제
◈ 회원가입 시 ID등의 체크 - 아이디등의 중복검색 및 기존의 유요성검사부분의 사용자편의반영 기술
◈ 정보의 수정단계 - 새로고침과 전체폼구분없이 개별적으로 수정가능한 기술
◈ 하위글 직접참조방식의 트리검색 - 뼈대만 구현(방식만.)
◈ Ajax Search - 검색포탈 및 타 커뮤니티 사이트와 동일한 주제별(지정) 관련 단어검색
Thank you
◈ Outro - 지금까지 대략적으로 Ajax 및 Web2.0에 관한 보고를 마치겠습니다. - 작성하지 못한 몇몇 시도중인 기술들과 참고되어지는 여러 기술들을 미루어볼때, Web2.0환경과 Ajax, XML등의 수렴은 기존의 패러다임에서 좀더 틀을 벗어날 수 있는 기회가 될것이라고 저는 생각하며, 앞으로 저에게 주어진 기회로인한 지식들을 좀더 구체화 및 현실화시켜가면서 보다 실용적인 기술을 구현할 수 있었으면 좋겠습니다. - 이외에도 수많은 변화속의 웹프로그램 및 웹디자인 환경에서 서로 연대감있고 전문가적인 시각에서 여러가지 의견을 모아 나간다면 인터넷 시대를 살아가는 보다 멋진 사람들이모인 XXXXXX이 될것이라고 생각합니다.
이 글은 오픈소스 혹은 개발자의 측면만이 아닌 웹에 익숙치 않은 클라이언트도 대상에 포함되어진 내용입니다.
test/ecmascript은 자바스크립트 대신 사용도 가능하다, text/jscript는 MS의 IE에서 구현한 버전 나머지 등등이다, 현제 스크립트 블록이 어떤 MINEMIME 타입인지 나타내야한다.! language="javascript" 요건 옛날꺼라고 한다.! 자 그럼 책의 내용을 참고해서 한번 정리해보자.!
1MIME은 "다목적 인터넷 메일 확장(Multipurpose Internet Mail Extension)" 의 약자로, 인코딩 방식(예를 들어, text)과 사용 포맷(예를 들어, javascript)을 지정해준다, MIME은 처음에 이메일을 사용하면서 제안된 개념이고, 지금은 스크립트 블록에서 스크립트 타입을 지정하는 데도 사용된다.
script 태그의 예전 버전은 language 속성을 사용했고, 여기에 언어의 종류 및 버전을 지정했다(즉, 'javascript' 또는 'javascript 1.2' 와 같이 지정했다). HTML 4.01에서는 language 속성의 사용을 권장하고 있지 않지만, 여전히 많이 쓰이고 있다. 초창기에는 브라우저별로 처리방식을 달리하는 기법이 필요했다.
또 <!-- //--> 의 사용은 참고할만한 자료는 없지만... 내기억에 예전에 여기가 스크립트블록입니다. 혹은 noscript같은 역활을 하는걸로 알고있었는데....지금은 또 뭐랑 충돌날수가 있다고... XML쪽이었던거 같은데.....음...아무튼 이부분은 나중에 다시. 초창기 브라우저(언제- _-? 10년전??;;) 에는 자바스크립트의 지원이 거의 없었다고한다, 또 자바스크립트도 버전별로 지원하는 브라우저가 달랐다고 한다, 뭐 지원안하면 그냥 브라우저에 뿌려지기도 했다고 한다 ㅡㅡ;; , 아우~~그랬구나~!- _+;
이에 방지법으로 스크립트를 HTML 주석문(<!--와-->)으로 보쌈해뒀다고 한다, 그래서 인식하면 실행하고 아님 무시하고 ㅋㅋ.....(지금도 이런거 있는거 같은데.. 자바스크립트...) 뭐그랬다고 한다.
중요한건
최신브라우저중 일부에서는 XHTML을 XML로 해석을좀 빡씨게해서 (<!--와-->)부분이 완전 무시되는경우도 있다고 한다.! ㅇㅋㅂㄹ!
브라우저에서 클라이언트가 최초로 페이지 혹은 웹 응용프로그램을 요청시에 Parser(*.aspx)는 DLL이라는 파일로 컴파일 되어서 Assembly Cache에 저장된후에 Memory를 거쳐서 사용자에게 돌아가게 된다.
이같은 과정이 브라우저에서 클라이언트가 재방문 혹인 재요청시에는 바로 Assembly Cache에서 Memory를거쳐 사용자에게 전달되어지며 ASP.NET 2.0 부터는 Precompilation 이라는 과정을 거쳐 바로 컴파일된 파일을 웹서버에 제공함으로써 최초방문시에 과정도 생략가능하게 할 수 있다.
기본적으로 사용자로부터 일어날 수 있는 거의 모든 상황들과 요청 그리고 웹사이트 내부적으로 발생할 수 있는 여러 상황들에 대해서도 적절히 반응할 수 있는 방대한 기능들을 이미 갖추고 있으므로 개발자는 어떤 상황에서도 미리 구축되어있는 기능들을 통해 개발시 또는 유지보수시 발생할 수 있는 문제에대해 유연하게 대처할 수 있다.
.NET언어들은 서로간의 문법은 다르지만 내부적인 규격은 모두 동일하기때문에 C#을 사용해서 만든 기능을 VB.NET 또는 J#과 같은 다른 .NET언어에서 참조 할 수 있게된다.
이말은 C#개발자, VB.NET개발자, J#개발자가 같은 프로젝트에서 자신들의 언어로 일을 진행하면서 서로간에 협업(co-work)할 수 있다는 것을 의미한다, 이것은 프로젝트 진행시 모두에게 매우 큰 유연성을 제공한다.