달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'분류 전체보기'에 해당되는 글 216

  1. 2008.03.23 어도비 RIA World 2008을 다녀와서..
  2. 2008.03.18 IIS 7.0 Architecuture
  3. 2008.03.16 Features of the ASP.NET MVC Framework
  4. 2008.03.15 Microsoft ASP.NET MVC 동영상을 보고서...

지난주 화요일은 삼성역 그랜드 인터컨티넨탈 호텔에서 열린 한국 아도비의 제품발표회에 참관차 관람하였다. 제품 소개와 세미나였지만, 솔직한 느낌은 제품소개 측면이 강했다. 기대한 것보다는 수준이 높지는  않았다. 하지만, 세미나에 관심을 가지고 참관한 참가자들이 반드시 개발자가 아니라는 측면을 보면(디자이너들이 상당히 많았던거 같다) 이해가 간다.
여기 저기시 자바 관련된 용어와 기술 설명이 나오면, 이해가 안간다는 말이 들렸다. 좀더 참관자들의 수준을 배려할 필요가 있지 않았나 하는, 지극히 개인적인 의견이다.

그럼에도 불구하고, 정말 놀랐던 것은, 정말 많은 사람들이 관심을 가지고 찾아 왔다는 것이다. 홀 규모는 약 1500명 정도일것 같은데, 2000명 정도가 찾와와서, 준비된 자리가 없음에도 뒤에 서서 키노츠와 제품 소개를 들고, 세미나를 참석하는 열정을 보여주니 말이다. 최근 내가 갔던 행사에서 이정도로 관심이 집중된 것은 몇개 안되는것 같다.

내가 이 세미나를 참관한 목적은 당장의 필요는 적었지만, Web 기술이 어는 정도 성숙한 현 시점에서, 가장 주목 받는 RIA 기술중에 하나라는 측면에서 Adobe의 기술들을 이해하고 싶었다.

Web 기술이 성숙했다는 측면은, 현재 웹 브파우저을 이용한 Data 전송 방법과 동기화 기술  그리고 윈도우 Application과 유사한 서비스의 제공을 들 수 있다. 그 대표적인 예가 구글이고 Ajax를 이용해서 구글에서 만들고 배포한 여러 웹 Application들은 네트워크 연결이 안되거나, 끊어지더라도 지속적으로 서비스 제공하고, 동작하는 기술로 한층 없그레이드 되고 있다. (구글 Gears 참조)
기술이 성숙 되면, 다양한 응용 프로그램들이 나오게 되는데, 결국은 사용자를 위한 UX 측면에세 차별화가 되기 시작할 것이다.

행사를 참여한 여러 회사의 데모를 보았는데, 그중에서 국외는 eBay, 국내는 농협의 Banking System 과 현대 자동차의 상황판 시스템이 인상적이었다.
- eBay Dask top(http://desktop.ebay.com/)


사용자 삽입 이미지


AIR은 Adobe Flash Player의 확장판이으로 보면 쉽게 이해가 된다. 웹브라우저와 PC에 종속되지 않고 독립적으로 Flash 파일을 수행한다고 생각하면 된다. 이는 모바일과 인터넷이 연결되지 않은 환경에서도 동작이 가능하다. 그리고 네트워크가 연결되면, 서버와 데이터 싱크를 할 수 있는 엔진과 Embadded DB를 포함하고 있다. Embadded DB는 Sqlite가 사용된다.
그리고 Flash Player와 가장 큰 차이점 중 하나는 Local 시스템(PC 또는 모바일 기기)의 파일 시스템이 Read/Write가 가능하다는 점이다. 그리고 AIR가 설치된 어떤 OS에서도 사용이 프로그램이 코드 변경 없이 사용이 가능하다.

Flex 3.0은 이를 위한 개발툴이다. (정확하게는 Flex Builder)  Flex 제품군은 서버용 제품들이 여러가지 있다. 그러나 가격이 비싸서 프로젝트에 적용하지는 못했었는데, 요즘은 그 대체 기술들이 많이 나오고 있고, 또 Adobe에서도 이를 위한 기술을 일부 지원하기도 한다.
Flex에 대한 라이센스 정책은 사실 잘 모르겠다.
Adobe의 김 백수 전무에게 물었더니, Flex Builder 3.0을 사면 된다고 했는데, 정말 배포에 대한 추가 라이센스가 없는지 명확하지가 않았다. (지금은 다른 부서 사람인데 Flex 2로 개발 중인 책인 개발자 한명이 이 때문에 어려워했던 기억이 있어서, 확인차 물었었다. 사실 이거 확인하는 것도 나의 참관 이유중 하나였다.)

새로운 것을 배우는 것이 즐거운 이유는 여러가지 호기심이 생기기 때문일 것이다.
반드시 신기술이 좋다고는 할 수 없지만, 사람들의 관심을 끌지 못하는 기술은 아무리 시대를 앞선다고 해도, 사라질수 밖에 없다.

그런 의미에서 이번 행사에서 많은 관심을 끈 Adobe AIR와 Flex는 향후 어떤 모습으로 개발자와 디자이너에게 그리고 사용자에게 다가갈지 귀추가 주목된다.

:
Posted by 행복상자
2008. 3. 18. 23:51

IIS 7.0 Architecuture 좋아하는 것2008. 3. 18. 23:51

요즘은 주제를 정하지도 않고서, 웹 서핑을 하다가, 공부를 하게된다.
사실 IIS 서버는 내가 처음 웹 프로그래밍을 했던 Windows NT 3.5에 내장된 웹서버 였다. 그때는(1996년도) ASP의 동적 스크립트의 장점과 쉽게 데이터 베이스 연결할 수 있도록 도와주던, Inter Dev 1.0 Beta 3는 웹 개발함에 있어서 최고의 툴이었고, 프론트 페이지와 궁합도 정말 잘 맞았다. 거에에 IIS에 쉽게 연동할 수 있었기에 당시로는 혁신적인 웹 개발 프레임워크 였다.   내 기억이 맞다면, 그 때 사용하던 IIS는 3.0 버전이었을 것이다.

2000년대에 들어서면서도 Architecture에 많은 변화가 있었고, 현재는 6.0 버전이 주로 사용되고 있다.
MIX 08에서 IIS 대한 변화된 내용들이 발표되었는데, Windows 2008서버에 포함되어 출시될것 같다.

아키텍쳐를 보면 몇가지 특이 사항들이 있지만, IIS 6.0에서 Windows Sockets API를 대체한 HTTP.sys는 더욱 중요한 역할을 할것이다. 이는 Kernel-mode 에서 동작하기 때문에 다른 웹 서버보다 빠르다고 알려져 있다. (OS의 특성을 이용하기에..)

HTTP.sys를 이용한 장점들은:
  • Kernel-mode caching. Requests for cached responses are served without switching to user mode.
  • Kernel-mode request queuing. Requests cause less overhead in context switching because the kernel forwards requests directly to the correct worker process. If no worker process is available to accept a request, the kernel-mode request queue holds the request until a worker process picks it up.
  • Request pre-processing and security filtering.

    ==> 커널모드의 장점을 살려 속도를 취대한 끌어올리는데 초점이 맞추어져 있다.
  • 다음은 HTTP Request Processing 에 대한 내용이다
    1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request.
    2. HTTP.sys contacts WAS to obtain information from the configuration store.
    3. WAS requests configuration information from the configuration store, applicationHost.config.
    4. WWW Service receives configuration information, such as application pool and site configuration.
    5. WWW Service uses the configuration information to configure HTTP.sys.
    6. WAS starts a worker process for the application pool to which the request was made.
    7. The worker process processes the request and returns a response to HTTP.sys.
    8. The client receives a response.


    그리고 IIS에 추가 가능한 모듈들이 추가되었는데, 이는
    http://learn.iis.net/page.aspx/101/introduction-to-iis7-architecture/
    를 참조하면 된다.

    :
    Posted by 행복상자
    2008. 3. 16. 08:30

    Features of the ASP.NET MVC Framework 좋아하는 것2008. 3. 16. 08:30

    이른 새벽 아침부터, 노트북은 열고 ASP.NET MVC에 대한 자료들을 읽어 보았다.
    ASP.NET 3.5의 Extention 기능으로 제공할 예정이고, 기능에 대한 세부 소개는 다음 링크를 참조하면 된다.
         - ASP.NET Model View Controller Applications

    사실상, MVC 패턴은 ASP.NET에서 구현 불가능한 것은 아니였는데, 그런데 왜 갑작스럽게 ASP.NET에서 MVC를 논하냐고 이야기 한다면, 이제 MVC 패턴도 성숙기에 들어섰기 때문이 큰 이유일 것이다. 그리고 다른 이유는 ASP.NET에서도 다른 Java의 웹 프레임워크과 같이 개발자를 위한 새로운 Framwork를 제공한 필요성을 강하게 느끼고 있는 것 같다.

           - Test Faramework (Visual Studio 2008에 nUnit이 기본 제공됨)
           - Moc 객체를 쉽게 생석할 수 있도록 지원함
           - DI(Dependency Injection)과 IoC(Inversion of Control) 지원
           - SEO(search engine optimization) and REST(representational state transfer) 지원
           - Urll despatch를 위한 Controller 와 Routing

    위와 같은 내용들이 주요 특징 들이다. 자세한 내용은 위의 링크와 다음에 발취한 ASP.NET MVC Feature 참조하면 이해에 도움이 될것이다.
     
    The ASP.NET MVC framework provides the following features:

    • Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts within the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.

    • An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports using existing Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, rather than relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This facilitates testing.

    • A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.

    • Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.

    • Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, configuration system, the provider architecture, and other areas of ASP.NET.


     

    :
    Posted by 행복상자

    사실 오늘은 최근에 공개한 iPhone SDK 소개 키노츠와 데모 동영상을 보려고 PC를 열었다가  별 생각 없이 .Net MVC를 찾아들어가게 되었다. 의도한 것은 절대로 아니다.
    요즘에 나온는 많은 웹 프레임워크들은 경쟁적으로 자기들이 많든 MVC Framework의 우수함을 알리는데 열을 올리고 있다. 그리고 실제로 쓰기에 충분할 만큼 안정성과 성능을 보장해 준다.

    그러나 최근에 이도 종지부가 찍힌것 같다.(이는 절대적으로 내 개인적인 소견이다.) 새로 개발되거나 또는 기존 Framework가 버전업이 되면서 MVC Framework들이 유사해 지기 시작했으니 말이다. 이에 가장 큰 영향을 준 Framework는 역시 Rails이다. 개발자에게 필요한 것은(자신을 증명하는 것은), 마지막에 완성된 코드라고 누군가가 이야기 한것 같다. (아마도 최근에 한국에 찾아온 MS의 누군가 였었지요..)

    개발자에게는 생산성과 안정성이 가장 큰 이슈이다. 이것은 마케팅적으로 영업적으로 대외에 홍보하는 포장되고 형식적인 것이 아니라, 프로젝트를 함에 있어서 필수적인 것이다.
    웹 개발에 있어서는 배포된 Application의 성능과 안정성은 너무나 중요하다. (사실 이외에도 챙겨할 것들은 부지기수 이다.)

    그런 면에서 RobyOnRails는 가히 충격적이었다. 마치 Visual Basic을 처음 접할때의 충격과도 같았다. MVC를 지원하기 위한 Simple하고도 직관적인 구조와 개발자가 부담감 없이 익힐 수 있는 기본 명령과 사용법등은 누구를 위한 Framework 인가를 바로 알수 있게 해준다.

    지난 몇달전에 일민(Toby)이가 진행하는 KSUG 세미나를 통해, Spring 2.5에서 변화되는 Spring MVC 프레임워크의 변화를 접하게 되었는데, XML과 자바 Annotation 그리고 Auto Wiring를 이용하지만 그 근간은 Rails의 프레임워크라는 생각이 많이 들었다.

    많은 프레임워크가 서로의 좋은 기능을 통해서 발전하는 것은 개발자로서는 행복한 선택을 할 수 있어서 즐겁다.

    이야기가 길어졌는데, 오늘 내가 본 Micorsoft의 MVC 데모 동영상이다.  



    너무나도 쉽고, Rails와 유사히지 않은가?
    사실 회사에서는 요즘 .Net이냐 Java냐로 논란이 많다. 그래서 관심있게 본것이다.

    아래의 링크들을 이용하면 다른 데모도 볼수 있다.
          - Part 1 - Displaying Data 
          - Part 2 - Editing Data and Making Forms 
          - Part 3 - Advanced Techniques 
          - Part 4 - Testing

    '좋아하는 것' 카테고리의 다른 글

    ASP.NET MVC & Request Flow  (0) 2008.03.29
    Visual Basic 2008 hot fix in Visual Studio 2008  (0) 2008.03.29
    IIS 7.0 Architecuture  (0) 2008.03.18
    Features of the ASP.NET MVC Framework  (0) 2008.03.16
    Visual Basic 2008을 접하고...  (0) 2008.03.08
    :
    Posted by 행복상자