Top

엔터프라이즈 Ajax [대규모 웹사이트 구축을 위한 실전 Ajax의 모든 것]

  • 원서명Enterprise AJAX: Strategies for Building High Performance Web Applications (ISBN 9780132242066)
  • 지은이데이브 존슨, 알렉세이 와이트, 앙드레 샬랜드
  • 옮긴이김수정
  • 감수자장정환
  • ISBN : 9788960771321
  • 30,000원
  • 2010년 04월 30일 펴냄 (절판)
  • 페이퍼백 | 492쪽 | 188*250mm
  • 시리즈 : 웹 프로페셔널

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

MVC 구현, 보안, 확장성, 안정성, 신뢰성, 기능 최적화, 프로젝트의 위험요소까지 Ajax 개발자가 기업 환경의 애플리케이션 개발 상황에서 맞닥뜨릴 모든 문제를 다루는 책. 기업에서 바로 적용할 수 있고 실무 Ajax 개발자가 꼭 알아야 할 실전 Ajax 웹사이트 구축의 모든 것. 엔터프라이즈 개발자, 설계자, 사용자 인터페이스 전문가의 필독서.


[ 소개 ]

성능, 스케일링, 객체지향 자바스크립트, 사용도, 접근성 등 Ajax와 관련된 고급 기술을 훌륭하게 설명하는 책이다. 이미 시중에 나온 Ajax 기초 서적도 많지만, 엄격한 비즈니스 환경에 잘 들어맞는 애플리케이션을 제작하고자 한다면 꼭 한번 읽어봐야 한다.
- 어도비시스템즈 수석 기술 에반젤리스트이자 OASIS SOA 참조 모델 기술위원회 위원장, 듀안 니쿨

Ajax의 핵심 기술은 매우 간단한 반면, 실제 상황에 맞게 잘 구현하는 일이 가장 어렵다. 하지만 다행히도, 이 책의 저자는 Ajax라는 용어가 생긴 이래, 이 기술을 어떻게 하면 잘 적용할 수 있는지 매우 잘 알고 있다. 『엔터프라이즈 Ajax』는 사용성, 보안, 신뢰성 등 Ajax 애플리케이션과 관련되어 지금까지 엔터프라이즈 개발자가 자주 마주쳤으나, 시원하게 설명하지 못했던 문제점과 이슈들을 매우 훌륭하게 풀어 놓았다.
- 『Ajax 디자인 패턴』의 저자 마이클 마헤모트 박사(AJaxPatterns.org)

Ajax에 대해 알 만한 내용은 다 알았다고 자만하는 순간, 데이브와 알렉세이, 앙드레는 엔터프라이즈 Ajax 기술과 실제 사례, 전문가로서의 경험에서 우러나온 조언 등 여러분이 더 알아야 할 필요가 있는 매우 소중한 지식을 던져줄 것이다. 기존에 개발돼 있거나, 앞으로 개발하려는 고성능의 비즈니스 애플리케이션에 Ajax를 적용하고 싶은 이들에게, 이 책은 필요한 지식은 물론 자신감까지 불어넣어주리라 확신한다.
- 웹 개발자이자 Ajax 선구자, 브렌트 애슐리

『엔터프라이즈 Ajax』를 다른 사람이 쓴다는 건 상상할 수조차 없다. 이 책은 차세대 웹 애플리케이션을 제작할 개발자에게 매우 소중한 지침서임이 분명하다.
- 어도비시스템즈 라이브사이클 소프트웨어 개발 매니저, 매트 맥켄지

엔터프라이즈급 자바스크립트 작성에 필요한 최고의 참고서
- 쉥커 DB 로지스틱스의 선임 애플리케이션 전문가, 크리스찬 반 에덴


믿을 수 있는 엔터프라이즈급 Ajax 웹 애플리케이션 제작하기

엔터프라이즈 개발자, 설계자, 사용자 인터페이스 전문가에게 Ajax가 대규모 개발 환경에서 훌륭한 기능을 제공할 수 있는 이유를 설명하고자 하며, 더불어 오늘날 Ajax의 핵심 기술과 주요 컴포넌트를 소개한다. 데이터 테이블, 웹 폼, 차트, 검색, 필터링 등을 통합하는 Ajax 애플리케이션 제작에 필요한 프레임워크 개발은 물론 CRM, ERP, BI 등에 활용될 시스템 비즈니스까지 알아보자. 그 후에, 이런 강력한 기본 지식을 바탕으로 Ajax의 구조적 패턴을 증명하고 실제 닷넷과 자바 Ajax 애플리케이션에서 이끌어낸 사례를 살펴본다.


[ 이 책에서 다루는 내용 ]

■ Ajax로 구현하는 브라우저의 모델 뷰 컨트롤러(MVC)
■ Ajax와 관련된 보안 문제 해결
■ 코드 재사용을 통한 사용자 인터페이스 기능 보호와 브라우저 호환 개발의 문제점
■ Ajax 사용성 최적화: 뒤로가기 버튼, 캐시, 북마크, 오프라인 사용 등

보안 문제부터 확장성, 프로젝트의 위험요소까지, 이 책은 Ajax 개발자가 기업 환경의 애플리케이션 개발 상황에서 맞닥뜨릴 모든 문제를 다룬다. 레거시 HTML 인터페이스부터 시작하든, 아예 처음부터 새로운 애플리케이션을 개발하든 간에 상관없이, 이 책은 모든 개발자에게 도움이 될 것이다. www.enterpriseajax.com에서 코드 샘플, 사례, 지침서, 라이브 데모, 기타 Ajax 리소스 등을 내려 받을 수 있다.


[ 이 책의 대상 독자 ]

『엔터프라이즈 Ajax』는 자바, ASP.NET 등의 서버단 개발 지식이 있는 개발자가 쓴 책이다. 책에 쓰여진 많은 디자인 패턴 개념은 GoF, 즉 에릭 감마, 리처드 헬름, 랠프 존슨, 존 블리시데스가 저술한 『Design Patterns: Elements of Reusable Object-Oriented Software』에서 가져왔다. 따라서 소프트웨어 디자인 패턴을 잘 알고 있거나, 적어도 한 번쯤 들여다본 독자라면 책을 이해하기에 훨씬 수월할 것이다. 패턴을 이용한 설명 방식이 도움이 되길 바란다(경험이 많은 개발자일수록 더 쉽게 이해하리라 생각한다).

사실, 패턴보다 더 중요한 개념은 자바스크립트와 HTML, CSS가 아닐까 한다. 물론 XML, XSLT, JSON도 도움은 될 것이다. 자바, C#, PHP 같은 객체지향의 서버단 프로그래밍 언어 사용 경험은 당연히 있으리라 생각한다.

책을 다 읽은 후라면 Ajax 기술 스택이나 객체지향 자바스크립트 개발에 좀 더 익숙해지길 바란다. 또한 책에서 다룬 보안, 사용성, 접근성 등의 다양한 Ajax 관련 이슈를 직접 고민해보고, Ajax 애플리케이션 개발에 도움을 주는 많은 툴도 활용해보자.


[ 이 책의 구성 ]

1장 “Ajax와 리치 인터넷 애플리케이션”은 Ajax 애플리케이션이 무엇인지를 설명한다. 웹 애플리케이션의 발전 과정은 물론 Ajax가 웹 기반 애플리케이션에서 선호될 수밖에 없는 이유는 무엇인지 함께 살펴보자.

2장 “Ajax 기본 구성”에서는 Ajax 기술 스택을 나눠 이야기한다. 자바스크립트의 올바른 프로그래밍 방법, 객체지향 자바스크립트, 문서객체모델, CSS, 이벤트, XMLHttpRequest 객체, 그 밖의 클라이언트와 서버 간 데이터 전송 방식 등을 설명하겠다.

3장 “웹 브라우저에서의 Ajax”에서는 2장의 내용을 바탕으로 주요 브라우저 간의 기술 차이, 관련 정보, 모델 뷰 컨트롤러 디자인 패턴을 적용한 Ajax 애플리케이션 제작 방식을 알아보자. 세부적으로는 클라이언트단 모델을 자바스크립트로 작성하는 방법, 데이터를 HTML 뷰로 생성해내기, 자바스크립트 기반 컨트롤러로 모델과 뷰 잇기 등을 설명한다.

4장 “Ajax 컴포넌트”는 웹 애플리케이션에서 사용될 Ajax 사용자 인터페이스 컴포넌트를 제작하는 방법을 다룬다. 여기서는 선언적 방식을 설명하고, 명령적 방식과의 차이점도 이야기하겠다.

이제 이 정도면 기본 내용은 훑어봤으니, Ajax 개발 과정에서 고려해야 하는 핵심 문제를 다룰 준비가 됐다. 5장 “개발 과정”에서는 Ajax를 적용하는 소프트웨어 개발 과정을 애플리케이션 디자인부터 테스트, 테스트 과정 후의 애플리케이션 배포까지 전체적으로 살펴보자. 다양한 성능 문제는 물론, 개발 프로젝트 과정에 참조할 만한 유용한 툴도 더불어 소개한다.

6장 “Ajax 구조”는 Ajax 개발을 둘러싼 다양한 구조적 이슈를 다룬다. 비동기적 메시지 패턴은 물론, 서버 푸시, 캐시, 스케일링, 오프라인 Ajax 같은 서버와의 커뮤니케이션 내용을 설명하겠다. 여느 웹 기반 애플리케이션에서도 위와 같은 이슈는 있지만, Ajax 책이니만큼 Ajax와 이들 이슈와의 관계에 초점을 맞춰 알아보자.

6장의 내용을 바탕으로 7장 “웹 서비스와 보안”에서는 Ajax가 웹 브라우저에서의 웹 서비스를 사용해 서비스 지향 구조에 사용될 수 있는 이유를 알아보겠다. 더불어 Ajax 웹 애플리케이션 제작 과정 중 발생하는 다양한 보안 문제도 살펴보자.

8장 “Ajax 사용성”에서는 이 책의 주요 화제 중 하나였던 사용성, 특히 Ajax 애플리케이션을 사용하는 모든 사용자에게 적용될 사용성 문제를 이야기하겠다. 뒤로가기 버튼 문제나, 접근성, 국제화 등의 이슈에 적용할 해결책에 관심이 있다면 8장을 꼭 읽어보길 바란다.

9장 “사용자 인터페이스 패턴”은 즉석 편집, 마스터 디테일, 라이브 폼, 드래그앤드롭 같은 강력한 Ajax 사용자 인터페이스 패턴을 설명한다. 종류를 불문하고, Ajax 애플리케이션을 제작해야 하는 개발자라면 누구든지 반드시 알아야 하는 핵심 사용자 인터페이스 디자인 패턴이다.

10장 “문제 발생과 해결 방안”부터는 기술적인 이야기는 접고, 엔터프라이즈급 Ajax 애플리케이션 과정 중 발생할 만한 문제와 해결 방안을 알아본다. 여타 Ajax 책에서도 다루는 내용이겠지만, 그만큼 새로운 애플리케이션을 제작해야 할 때 사전에 반드시 숙지해야 하는 내용이다.

마지막으로 11장 “사례연구”에서는 기업 환경에서의 실제 Ajax 구현 사례를 설명한다. 개발자로서 개발자에게 진정으로 건네고픈 경험담과 조언이 담겨 있으므로, 독자가 개발 프로젝트에 참여하게 됐을 때 참고하고 활용하길 바란다.

이 책이 Ajax 개발을 바라보는 새로운 안목을 키워주는 역할을 하고, 무엇보다 개발 프로젝트에 활용할 만한 새로운 지식과 기술을 공부하는 데 도움이 되길 바란다.


[ 추천의 글 ]

지난 몇 년간 Ajax를 적용하는 업무를 해오면서 Ajax가 유명하게 된 것은 결국 사용자의 편의성을 증대시켰기 때문이라는 생각을 지울 수 없다. 서버에서 정보를 가져오기 위해 페이지를 리로드하거나 팝업을 띄우는 불편함은 사라진 지 오래다. Ajax를 사용해 페이지를 리로드하지 않고도 서버와 통신할 수 있게 되면서부터 우리의 웹 생활은 혁신적으로 편리해졌다.

하지만 1~2년 전과 비교하면 Ajax라는 단어는 시들해진 느낌이다. 마치 햇빛에 색이 바랜 책 표지처럼 이제는 그다지 매력적이지 않아 보인다. 이제 Ajax의 시대는 끝난 것일까? 이 질문에 대해서는 자신있게 NO라고 이야기할 수 있다. 그러면 왜 더 이상 매력적이지 않아 보이는 걸까? 그 이유는 바로, 너무나 많은 곳에 Ajax가 적용되어 있어 이제는 없으면 불편한 수준이 되었기 때문이다. 지도, 자동완성 등 전통적인(?) 서비스는 말할 것도 없고 메일, 캘린더처럼 Ajax를 잘 활용한 서비스는 이미 대부분 포털 사이트에서 제공하고 있다. 그리고 블로그에서 글을 작성할 때의 임시 저장 기능이나 최근 여러 검색 서비스에서 시작하고 있는 실시간 검색 등에도 Ajax가 적용되어 있다. 점점 Ajax는 사용자가 쉽게 알아차릴 수 없는 곳까지 적용되고 있으며 그 활용도는 점점 커질 것이다.

이렇게 Ajax가 확대 적용되는 과정에서 필연적으로 나타나는 것이 Ajax를 잘 적용하는 방법에 대한 고민이다. 또한 설계부터 배포에 이르기까지 모든 개발 과정에서 성능이나 보안 등 고려해야 할 내용이 증가할 것이다. 그리고 Ajax가 클라이언트 기술이기는 하지만 서버가 반드시 필요하므로 서버 영역에 대해서도 고민하는 경우가 발생하게 될 것이다. 사용성이나 안정성도 빼놓을 수 없는 문제다. 하지만 문제에 대한 해법을 찾기란 쉽지가 않다.

이런 상황에 당면한 개발자에게 『엔터프라이즈 Ajax』가 큰 도움이 될 것이라 생각한다. 이 책은 특정한 기능을 구현하는 내용에서 벗어나 실제 엔터프라이즈 수준에서 Ajax를 활용할 때 필요한 내용들로 구성되어 있다. 꼭 엔터프라이즈 수준의 결과물을 만드는 사람이 아닐지라도 Ajax로 무엇인가를 만드는 개발자라면 이 책은 결과물의 수준을 높이는 데 도움이 될 것으로 생각한다. 한 번쯤 Ajax에 대해 쉽게 얻을 수 없는 답을 찾아 웹을 헤맨 경험이 있다면 이 책이 많은 도움이 될 것이다. 나 또한 이 책을 보면서 지난 3년간 Ajax를 사용하여 개발하는 과정에서 맞닥뜨렸던 많은 문제의 답을 얻을 수 있었다.

Ajax를 활용하는 서비스는 점점 증가하고 있으며 사용자들은 점점 편리해지고 있다. 특히 지금은 HTML5가 확산되기 시작하는 시점으로 HTML5가 널리 사용되면 Ajax의 필요성도 점점 높아질 것이다. 이 과정에서 『엔터프라이즈 Ajax』는 Ajax에 대한 여러분의 한계를 뛰어넘을 수 있는 좋은 도우미가 될 것으로 기대한다.

감수자 장정환

저자/역자 소개

[ 저자 서문 ]

재능 있는 개발자라면 Ajax에 관심을 갖기 마련이며, 어떻게 적용해야 자신의 웹 애플리케이션 성능을 향상시킬지 분명 고민할 게다. 이 글을 읽고 있는 사람이라면 적어도 Ajaxian.com 같은 사이트를 들러서 미리 조사를 했거나, 초보 단계의 Ajax 관련 서적은 한 권 정도 읽었으리라 생각한다. 미리 공부한 상태가 아니라면, Ajax에 관심이 있는 개발자 모임에 가입해서 함께 공부해보길 바란다. 어떤 방법으로 공부를 하든지 간에, 지금 이 책을 잡고 있는 독자는 Ajax를 더 알고 싶은 사람일 것이다.

어느 날 주위를 둘러보니 Ajax 개발과 관련된 중, 고급 정보가 기대만큼 많지 않다는 사실에 실망하게 됐다. 그래서 직접 이 정보를 제공해보고자 펜을 들었으며, 어느 정도 책을 쓰다 보니 어느 샌가 Ajax가 엔터프라이즈 소프트웨어에 깊숙이 침투해 있음을 깨달았다. 이 책은 엔터프라이즈 개발자의 관심사에 맞는 정보를 주로 담고 있다. 자바스크립트는 물론, 엔터프라이즈 개발자에게 익숙하고 또한 반드시 알아야 할 현재 Ajax와 함께 어우러져 사용 중인 기술을 다양하게 설명하려 노력했다.

이 책이 필요한 이유

이 책의 내용 대부분은 수년에 걸쳐 Nitobi(www.nitobi.com)에서 Ajax 애플리케이션과 사용자 인터페이스 컴포넌트를 직접 개발할 때의 경험을 반영했다. 개발 당시에는 고생스러웠지만, 그때의 경험을 바탕으로 Ajax가 포함된 애플리케이션 개발 프로젝트를 맡은 (혹은 맡을 예정인) 여러분에게 필요한 정보와 유용한 리소스를 제공해줄 수 있어 매우 기쁘게 생각한다. 자바스크립트 활용 개발, Ajax 도입 시 문제 해결, 유용한 소프트웨어 디자인 등을 기초부터 모두 이뤄내야 하는 재능 있는 개발자가 되고 싶다면, 분명 이 책이 도움이 되리라 믿는다.

자바나 C#에 익숙해진 개발자가 자바스크립트 방식에 적응하는 시간을 줄이기 위해, 이들이 자바스크립트 코드를 쉽게 작성할 수 있는 방법은 무엇인지 참으로 오랜 시간 동안 고민했다. 그와 동시에 보안, 오프라인 스토리지와 같이 Ajax 개발 과정에서 화두로 떠오른 주제와 Ajax 개발에 활용할 만한 소프트웨어 디자인 패턴은 무엇인지 고려했다. 또한 코드 성능화뿐만 아니라, 캐시와 같은 인터넷 인프라스트럭처의 핵심을 적용해 고성능의 Ajax 애플리케이션을 제작하는 실질적인 해결책도 제시했다.

이 책은 프로그래밍 기법에 관한 조언과, 사용성, 접근성, 국제화 등의 이슈에 대해서도 논의하는 등, 기존 책과는 다른 방식으로 Ajax에 접근한다. 게다가 Ajax 개발 프로젝트 수행 중 발생하는 문제와 적용 프레임워크, 실제로 Ajax를 애플리케이션에 적용한 사례 등을 다뤄서 좀 더 실질적인 도움을 주고자 했다.


[ 저자 소개 ]

데이브 존슨(Dave Johnson)
캐나다 밴쿠버의 Ajax 컴포넌트 개발사이자 컨설팅 회사인 Nitobi Software의 공동 설립자이자 CTO이다. 또한 자신의 대부분의 시간을 웹 기반 애플리케이션에서 사용될 고성능의 Ajax 컴포넌트를 개발하는 데 할애하는 열정 넘치는 개발자이기도 하다. Nitobi는 좀 더 향상된 성능과 생산력을 보이는 Ajax 컴포넌트와 인터페이스를 개발하는 데 중점을 두고 있다. 데이브는 AJAXWorld 2006, XTech 2007, JAvaOne2007을 비롯한 여러 자리에서 Ajax와 웹 개발 관련 강연을 하며 의견을 나눈다. 브리티시컬럼비아 대학교에서 전자공학 학사 학위를, 런던임페리얼 단과대학에서 박사학위를 마쳤다.

알렉세이 와이트(Alexei White)
개발자이자, 디자이너로 사용자 경험을 매우 중요시한다. Nitobi의 컴포넌트 툴 제품 관리자로서, Ajax 컴포넌트와 애플리케이션 개발 분야에서 매우 오랜 기간 동안 개발자로 일해왔다. 좀 더 빠르고, 저렴하며, 사용자가 즐겨 사용할 만한 웹 애플리케이션을 개발하고자 항상 노력한다. 또한 알렉세이는 Nitobi와 SayZu(www.sayzu.com)가 차세대 웹 분석 툴로 개발하는 Ajax 기반의 유망 웹 조사 서비스 RobotReplay (www.robotreplay.com)의 수석 설계자이기도 하다. 더불어, Nitobi에서 Ajax를 기반으로 하는 리치 인터페이스 중심의 수많은 웹 애플리케이션의 디자인/개발 과정에 참여했다. 브리티시컬럼비아 대학교에서 학사 학위를 수여 받았으며, 현재 캐나다 벤쿠버에 살고 있다.

앙드레 샬랜드(Andre Charland)
여러 인터넷 회사에서 근무하며 쌓은 경험을 바탕으로, 1998년 Nitobi를 공동 설립한다. Nitobi 대표이자 CEO인 앙드레는, 지금까지 100개 이상의 개발 프로젝트에 직접적으로 참여, 프로젝트를 성공적으로 완료했다. 또한 Ajax 기술의 기초를 닦은 개발자 중 한 명으로서, 세계를 다니며 Ajax, 블로깅, 웹 사용성 등을 강연한다. BALLE BC의 위원 중 한 명이며, Social Tech Brewing 사의 공동 설립자다.


[ 감수자 소개 ]

장정환
서울대학교 전기공학부를 졸업하고 NHN에서 디스플레이 광고 시스템을 담당했으며, 지금은 NHN Ajax UI랩의 랩장으로 자바스크립트 개발 업무를 맡고 있다. 자바스크립트로 UI를 개발하는 것 외에 국내 자바스크립트 전문 개발자의 확산을 시도하고 있으며 지금보다 효율적으로 자바스크립트를 개발하는 방법에 대해 고민하는 중이다.


[ 옮긴이의 말 ]

전세계적으로 스마트폰 보급이 확대되면서 웹 접근성이 그 어느 때보다 중요해지고 있다. 물론 현재는 플래시와 실버라이트 같은 기술이 많이 사용되고 있지만, HTML5 등 새로운 스펙이 등장하면서 마크업과 Ajax를 이용한 구현 방향으로 웹 기술의 판도가 바뀌는 중이다. 국내 포털 사이트는 물론 국외에서도 웹 환경에 대대적인 새로운 바람이 인다는 사실은 눈치챘으리라. 바야흐로 Ajax를 새로운 시각으로 다시 한 번 주목해야 하는 때가 온 것이다.

어떤 분야를 체계적으로 익히려면 관련 서적 참고가 최고의 해법이다. 지금 현재 아마존닷컴에서 Ajax를 검색하면 무려 1700 여권이, 우리나라 인터넷서점에서는 약 40권 정도의 책이 눈 앞에 펼쳐진다. Ajax 분야 ‘베스트셀러’에 오른 책들을 보면 단순히 Ajax를 ‘소개’하고 Ajax를 이용한 사이트를 ‘만드는 데’ 집중했다. 반면 이 책 『엔터프라이즈 Ajax』는 Ajax를 이용한 다이내믹한 사이트를 그저 ‘만드는’ 것에서 벗어나 정말 ‘잘 만들’ 수 있도록 기술을 초급부터 고급까지 단계별로 아우르며 설명한다.

『엔터프라이즈 Ajax』는 우선 1장부터 4장까지 ‘Ajax 기초’를 설명한다. 고급 개발자라면 이 부분을 뛰어넘어도 좋지만 시간이 허락한다면 기본 개념을 정리하고 혹시라도 있을지 모르는 잘못된 개념을 바로잡기에 좋다. 무엇보다 3장에서 다루는 MVC 모델과 4장의 컴포넌트 제작 방식은 반드시 짚고 넘어가길 바란다. Ajax의 기본을 알았다고 해서 Ajax 사이트를 만들 수 있다면 좋겠지만, 아직은 부족하다. 물론 사이트를 ‘만들 수’는 있지만 이 책에서 이야기하는 ‘잘 만들기’는 어렵다. 5장부터 9장은 중/고급 수준이다. 애플리케이션 디자인부터 테스트, 배포는 물론, 스케일링, 인터페이스 패턴, 최적화, 그에 덧붙여 Ajax를 사용할 때 발생하는 보안 문제까지 다룬다. 그야말로 실전에 바로 적용할 수 있는, 실무 Ajax 개발자가 늘 고민하던 내용을 저자의 식견과 경험을 바탕으로 매우 충실하게 풀어낸다. 마지막 10장과 11장에서는 실제 개발 과정에서 발생할 만한 문제와 적절한 해결방안을 참조할 수 있다. 이 과정을 거쳐간 ‘고수’ Ajax 개발자들의 경험에서 우러난 조언이니 참고하면 좋겠다.

이 책의 제목은 『엔터프라이즈 Ajax』다. 하지만 실제로 읽어보면 규모에 관계없이 어느 기업에서나 사용할 수 있는, 개발자에게 꼭 필요한 ‘실전’ 기술을 배울 수 있다. 꼭 고급 개발자가 아니어도 괜찮다. Ajax를 맛봤거나 자바스크립트로 웹사이트를 만들어 본 개발자라면 앞 부분 소개 장을 거치면서 얼마든지 활용할 수 있는 책이다. 풍부한 기능을 바탕으로 사용자의 접근성과 편의를 중시하는 진정한 ‘리치 웹 애플리케이션’의 시대에서. 아무쪼록 이 책이 정말 ‘잘’ 만든 Ajax 애플리케이션 개발에 큰 도움이 되길 바란다.


[ 옮긴이 소개 ]

김수정
카이스트 정보통신공학과를 졸업하고 동 대학원에서 무선통신 석사 학위를 취득했다. 워낙 책을 좋아하는 탓에 학생 때부터 번역 프리랜서로 활동했으며 국내 기술서적의 품질 향상에 일조하고자 큰 뜻을 품고 현재 에이콘출판사 편집자로 일하는 중이다. 역서로 에이콘출판사에서 펴낸 『크라임웨어』가 있다.

목차

목차
  • 1장 Ajax와 리치 인터넷 애플리케이션
    • 진화하는 웹
      • 기존 웹 애플리케이션의 단점
      • 해결사 Ajax
    • 기업의 Ajax 활용
    • Ajax 수용 유도
      • 사용성
      • 네트워크 활용
      • 데이터 중심
      • 방법과 툴, 기술의 발전
      • 서버 독립성
    • 애플리케이션과의 관계
      • Ajax 기술
      • 프로그래밍 패턴
    • Ajax의 대안
      • XUL
      • XAML
      • 자바 애플릿과 웹 스타트
      • 어도비 플래시, 플렉스와 아폴로
      • 오픈라즐로
    • 정리
    • 참고자료
  • 2장 Ajax 기본 구성
    • 자바스크립트
      • 자바스크립트 타입
      • 클로저
      • 객체지향형 언어 자바스크립트
      • 프로토타입 프로퍼티
      • 객체지향과 상속
      • 가변성
      • 스레드
      • 에러 처리
      • 네임스페이스
    • 문서 객체 모델
      • DOM 기초
      • DOM 조작
    • CSS
      • 상속과 캐스케이드
      • 인라인 스타일
      • 스타일시트
      • 동적 스타일
    • 이벤트
      • 이벤트 흐름
      • 이벤트 바인딩
      • 브라우저 호환 이벤트
      • 이벤트 객체
    • 클라이언트/서버 메시지
      • XMLHttpRequest 기초
      • 데이터 처리
    • 정리
    • 참고자료
  • 3장 웹 브라우저에서의 Ajax
    • 컴포넌트 기반 Ajax
      • Ajax 사용 증가
      • 서버로의 영향
    • HTML 표준
      • 문서 타입 정의
      • 박스 모델
    • Ajax 컴포넌트 실행
      • onload 이벤트
      • 브라우저 속임수
    • 모델 뷰 컨트롤러
      • 컨트롤러
      • 모델
    • Ajax MVC
      • Ajax 모델
      • Ajax 뷰
      • Ajax 컨트롤러
      • 관점지향 자바스크립트
    • 정리
    • 참고자료
  • 4장 Ajax 컴포넌트
    • 명령형 컴포넌트
    • 선언형 컴포넌트
      • 서버단의 선언형 프로그래밍
      • 선언형 구글 맵
      • 대안 방식
    • 커스텀 선언형 컴포넌트
      • 행위형 컴포넌트
      • 선언형 컴포넌트
      • 선언
    • 컴포넌트 제작
      • 기본 함수
      • 서버 연결
      • 반복문 끝내기
    • 정리
    • 참고자료
  • 5장 개발 과정
    • 디자인
      • Ajax 모델링
      • 모델 뷰 컨트롤러 패턴 적용
      • 성능 문제 방지
    • 프로토타입
      • 와이어프레임
      • 디자인 결정 검증
    • 테스트
      • 테스트 주도 개발론
      • 디버깅
    • 소프트웨어 배포
      • 자바스크립트 압축
      • 이미지 연결
      • 지적 재산 보호
      • 문서화
    • 정리
    • 참고자료
  • 6장 Ajax 구조
    • N티어 구조: 1에서 n티어까지
    • 비동기 메시지
    • 폴링
    • 서버 푸시
      • 코멧
    • 트래킹 요청
    • 캐시: 데이터 접근
    • 기본 캐시
    • 컴포넌트에서의 캐시
    • 브라우저에서의 캐시
    • 서버에서의 캐시
    • 데이터베이스에서의 캐시
      • MySQL
      • MS SQL 서버
      • 오라클
    • 서버 업데이트 모델: 동시성
      • 비관적 잠금
      • 읽기 전용 잠금
      • 낙관적 잠금
      • 충돌 확인
      • 충돌 해결
      • 자동 충돌 해결
    • 동시 접속 수 관리
      • 클라이언트
      • 서버
    • 스케일링
      • 로드 밸런싱과 클러스터링
      • Ajax 스케일링 문제
    • 오프라인 Ajax
    • 파이어폭스 오프라인 스토리지
    • 인터넷 익스플로러 userData 오프라인 스토리지
    • 플래시 클라이언트 스토리지 사용
    • 오프라인 Ajax와 동시성
    • 정리
    • 참고자료
      • REST와 웹 서비스
      • 캐시
      • 데이터베이스 성능
      • 오프라인 Ajax
  • 7장 웹 서비스와 보안
    • 웹 서비스
    • 웹 서비스 프로토콜
      • REST
      • XML 원격 프로시저 호출
      • 웹 서비스
      • 올바른 툴 선택하기
    • 클라이언트에서의 SOAP
      • IBM 웹 서비스 자바스크립트 라이브러리
      • 파이어폭스
      • 인터넷 익스플로러
    • 크로스 도메인 웹 서비스
      • 서버 프록시
      • URL 부위 지정자
      • 플래시 크로스 도메인 XML
      • 스크립트 삽입
    • 보안
    • Ajax 보안 문제
    • 크로스 도메인의 취약성
      • 크로스 사이트 스크립팅
      • 크로스 사이트 요청 위조
      • 자바스크립트 하이재킹
    • SQL 삽입
      • 예약문
      • 저장된 프로시저
      • XPath 삽입
    • 데이터 암호화와 보안
    • 방화벽
    • 정리
    • 참고자료
  • 8장 Ajax 사용성
    • 일반적인 문제
      • 뒤로가기 버튼과 북마크
      • 페이지 총용량
      • 자동 커밋
    • 접근성
      • 필요로 하는 접근성에 따른 사용자 구분
      • 자바스크립트와 웹 접근성
      • 스크린리더와 접근성
      • 스크린리더에 관한 오해
      • JAWS에서 지원하는 Ajax 상호작용
      • 키보드 접근성
    • 사용성 테스트
    • 약식 테스트
      • 참가자 모집
      • 디자인과 실행 테스트
    • 소프트웨어 지원 테스트
      • 사용성 테스트 툴
      • 소프트웨어 지원 테스트 도움말
    • 정리
    • 참고자료
      • 뒤로가기 버튼
      • 사용성 테스트
  • 9장 사용자 인터페이스 패턴
    • 디스플레이 패턴
      • 애니메이션 패턴
    • 상호작용 패턴
      • 기본 상호작용 패턴
      • 드릴다운/마스터디테일
    • 정리
    • 참고자료
      • 드래그앤드롭
      • 진행상태 바
      • 활성화 표시기
      • 색상 페이드
      • 즉석 편집
      • 드릴다운
      • 라이브 서치
      • 라이브 폼
  • 10장 문제 발생과 해결 방안
    • 문제 원인
      • 기술적 문제
      • 문화적/정치적 문제
      • 마케팅 문제
    • 기술적 문제
      • 사용 범위
      • 브라우저 성능
      • 유지보수
      • 상위호환성
      • 서드파티 툴 지원과 노후화
    • 문화적/정치적 문제
      • 최종 사용자 경험
      • 훈련 능력
      • 관련 법안
    • 마케팅 문제
      • 검색엔진 접근성
      • 사용 범위
      • 수익 창출
    • 문제 진단과 해결 방안
      • 특화된 Ajax 프레임워크나 컴포넌트 사용
      • 점진적 향상과 비간섭 자바스크립트
      • 구글 사이트맵
      • 시각적 단서
      • 골드 플레이팅
      • 유지보수 계획
      • 수익 모델 참고
      • 애플리케이션 교육 기간
    • 정리
    • 참고자료
      • 검색엔진 최적화
      • 통계
      • 로드맵
      • 화면 캡처 툴
  • 11장 사례연구
    • 미국 국방부의 웹 2.0
      • 배경
      • 도전 문제
      • 해결책
      • 사용 기술
      • 결과
    • 아그리엄의 Ajax 적용
      • 배경
      • 도전 문제
      • 해결책
      • 사용 기술
      • 결과
    • Ajax, 세계적 운송 업계 로지스틱스를 돕다
      • 배경
      • 도전 문제
      • 해결책
      • 사용 기술
      • 결과
    • 정리
    • 참고자료
  • 부록 A OPENAjax HUB
    • 핵심 특징: Hub의 publish/subscribe manager

관련 블로그 글

고급 Ajax 개발자로 가는 지름길『엔터프라이즈 Ajax』
사용자 삽입 이미지
엔터프라이즈 Ajax
대규모 웹사이트 구축을 위한 실전 Ajax의 모든 것
데이브 존슨 외 지음 | 김수정 옮김 | 장정환 감수
496쪽 | 30,000원 | 2010년 4월 30일 출간예정
YES24, 교보문고, 강컴, 인터파크, 알라딘

2004년 4월 1일 만우절, 구글은 마치 거짓말이나 우스개처럼 이후 IT 역사에 있어서 전세계 웹트렌드의 흐름을 바꿔놓는 사건을 발표합니다. 자사 직원들이 내부 엽무용으로 사용하던 지메일(Gmail)을 발표한 것이죠. 기존 가입자가 초대를 해야 가입해야 하는 무료 이메일 서비스인데다가 아직도 우리나라에서는 일반 사용자들에게는 널리 알려지지 못했을 정도로 일반인에게는 그 중요성이 간과될 수도 있을 것입니다. 하지만 이 지메일이 불러온 파장은 엄청났습니다.

당시만 해도 엄청난 용량이었던 1기가바이트의 무료공간이나 막강한 스팸메일 처리나 확장성도 놀라웠지만, 무엇보다도 사람들이 주목한 것은 Ajax라는 기술의 등장이었습니다. 페이지를 다시 새로고침해서 서버로부터 데이터를 받아오지 않는데도 지메일에서는 클라이언트 단에서 동적인 웹사이트를 볼 수 있는 놀라운 기능이 제공되고 있었습니다.

물론 모두 다 알고 있듯이, Ajax를 구성하는 부분 기술은 이미 그보다 더 오래 전에 공개된 기술이었습니다. 하지만 모두가 알고 있던 자바스크립트와 XML이 맞물려 인터넷을 뒤흔드는 강력한 힘을 발휘한 것이죠. 마치 데스크탑 애플리케이션을 쓰는 듯한 사용성을 지닌 동적인 웹 사이트를 만들어 낸 것입니다.

2005년 원서가 출간되고 2006년 5월 번역서인 『Ajax 인 액션』이 출간되고 수많은 Ajax 관련서적도 봇물 터져나듯 쏟아져 나왔습니다. 지금 인터넷서점을 검색하면 아마존닷컴에서는 무려 1,700 여권의 Ajax 관련서가, 우리나라 서점에서도 50여 권의 Ajax 책을 찾을 수 있습니다. 이제 웬만한 사이트에서는 Ajax를 사용하지 않은 사이트를 찾을 수 없을 정도입니다.

Ajax가 세간의 주목과 각광을 받은 지 어느덧 5년 여의 세월이 흘렀습니다. 그렇다면 지금은 Ajax의 필요성이 그만큼 줄어들었다거나 모두 다 Ajax를 "제대로 잘" 활용하고 있는 걸까요?

MVC 구현, 보안, 확장성, 안정성, 신뢰성, 기능 최적화, 프로젝트의 위험요소까지 Ajax 개발자가 기업 환경의 애플리케이션 개발 상황에서 맞닥뜨릴 모든 문제를 다루는 책
최근 들어 어도비와 애플의 플래시 전쟁, HTML5 표준 발표 등 여기저기서 많은 이슈가 들려 옵니다. 특정 기술이 단박에 명멸하기는 그리 쉬운 일은 아닙니다만, 동영상을 제어하는 기능까지 갖춘 HTML5가 더 널리 사용되기 시작하면 Ajax의 필요성은 점점 더 부각될 것이라는 점에는 이견이 없습니다.

Ajax 사이트, 그저 "만들" 것인가? 제대로 "잘 만들" 것인가?

이렇게 Ajax가 확대 적용되는 과정에서 필연적으로 나타나는 것이 Ajax를 잘 적용하는 방법에 대한 고민이다. 또한 설계부터 배포에 이르기까지 모든 개발 과정에서 성능이나 보안 등 고려해야 할 내용이 증가할 것이다. 그리고 Ajax가 클라이언트 기술이기는 하지만 서버가 반드시 필요하므로 서버 영역에 대해서도 고민하는 경우가 발생하게 될 것이다. 사용성이나 안정성도 빼놓을 수 없는 문제다. 하지만 문제에 대한 해법을 찾기란 쉽지가 않다.

이런 상황에 당면한 개발자에게 『엔터프라이즈 Ajax』가 큰 도움이 될 것이라 생각한다. 이 책은 특정한 기능을 구현하는 내용에서 벗어나 실제 엔터프라이즈 수준에서 Ajax를 활용할 때 필요한 내용들로 구성되어 있다. 꼭 엔터프라이즈 수준의 결과물을 만드는 사람이 아닐지라도 Ajax로 무엇인가를 만드는 개발자라면 이 책은 결과물의 수준을 높이는 데 도움이 될 것으로 생각한다. 한 번쯤 Ajax에 대해 쉽게 얻을 수 없는 답을 찾아 웹을 헤맨 경험이 있다면 이 책이 많은 도움이 될 것이다. 나 또한 이 책을 보면서 지난 3년간 Ajax를 사용하여 개발하는 과정에서 맞닥뜨렸던 많은 문제의 답을 얻을 수 있었다.
- 추천의 글 중에서, 감수자 장정환 / NHN Ajax UI 랩장


Ajax 사이트를 만드는 데 급급했던 시절은 이제 지나갔습니다. 이제는 '고성능 웹 사이트 구축'을 위해 좀 더 제대로 잘 만들 수 있는 사이트 구축에 대한 실전 Ajax 기술을 익혀 기업이나 실무에서 바로 적용할 수 있는 단계로 업그레이드해야 할 시점입니다.

지금보다 더 화려하고 다이나믹하게 펼쳐질 웹 세상을 준비하기 위해 여러분이 모두 꼭 읽어 내공을 올려야 할 시점에 필요한 책이 될 것이라 믿어 마지 않습니다.

이 책으로 첫 인연을 맺은 이후, 지금은 에이콘 편집자로 일하면 열심히 책을 기획하고 펴내고 있는 김수정씨에게 축하 인사와 감사 말씀 전합니다. 그리고 NHN Ajax UI랩을 이끌며 실무에 대한 경험을 바탕으로 이 책 감수를 맡아 여러 가지 조언을 아끼지 않으신 장정환 랩장님께 진심으로 감사하다는 말씀 전합니다.

엔터프라이즈 Ajax』는 YES24, 교보문고, 강컴, 인터파크, 알라딘 등에서 예약 판매 중이며 4월 30일 출간 예정입니다. 모든 Ajax 개발자에게 딱 필요한 시점에서 적시에 나온 훌륭한 책으로 자리매김하길 바랍니다.

CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안