엔터프라이즈 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 기초 서적도 많지만, 엄격한 비즈니스 환경에 잘 들어맞는 애플리케이션을 제작하고자 한다면 꼭 한번 읽어봐야 한다.
Ajax의 핵심 기술은 매우 간단한 반면, 실제 상황에 맞게 잘 구현하는 일이 가장 어렵다. 하지만 다행히도, 이 책의 저자는 Ajax라는 용어가 생긴 이래, 이 기술을 어떻게 하면 잘 적용할 수 있는지 매우 잘 알고 있다. 『엔터프라이즈 Ajax』는 사용성, 보안, 신뢰성 등 Ajax 애플리케이션과 관련되어 지금까지 엔터프라이즈 개발자가 자주 마주쳤으나, 시원하게 설명하지 못했던 문제점과 이슈들을 매우 훌륭하게 풀어 놓았다.
Ajax에 대해 알 만한 내용은 다 알았다고 자만하는 순간, 데이브와 알렉세이, 앙드레는 엔터프라이즈 Ajax 기술과 실제 사례, 전문가로서의 경험에서 우러나온 조언 등 여러분이 더 알아야 할 필요가 있는 매우 소중한 지식을 던져줄 것이다. 기존에 개발돼 있거나, 앞으로 개발하려는 고성능의 비즈니스 애플리케이션에 Ajax를 적용하고 싶은 이들에게, 이 책은 필요한 지식은 물론 자신감까지 불어넣어주리라 확신한다.
『엔터프라이즈 Ajax』를 다른 사람이 쓴다는 건 상상할 수조차 없다. 이 책은 차세대 웹 애플리케이션을 제작할 개발자에게 매우 소중한 지침서임이 분명하다.
엔터프라이즈급 자바스크립트 작성에 필요한 최고의 참고서
믿을 수 있는 엔터프라이즈급 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와 관련된 고급 기술을 훌륭하게 설명하는 책이다. 이미 시중에 나온 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에 대한 여러분의 한계를 뛰어넘을 수 있는 좋은 도우미가 될 것으로 기대한다.
감수자 장정환
목차
목차
- 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 컨트롤러
- 관점지향 자바스크립트
- 정리
- 참고자료
- 컴포넌트 기반 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, 세계적 운송 업계 로지스틱스를 돕다
- 배경
- 도전 문제
- 해결책
- 사용 기술
- 결과
- 정리
- 참고자료
- 미국 국방부의 웹 2.0
- 부록 A OPENAjax HUB
- 핵심 특징: Hub의 publish/subscribe manager
- 예
- 핵심 특징: Hub의 publish/subscribe manager
관련 블로그 글
고급 Ajax 개발자로 가는 지름길『엔터프라이즈 Ajax』
『엔터프라이즈 Ajax』
대규모 웹사이트 구축을 위한 실전 Ajax의 모든 것
데이브 존슨 외 지음 | 김수정 옮김 | 장정환 감수
496쪽 | 30,000원 | 2010년 4월 30일 출간예정
YES24, 교보문고, 강컴, 인터파크, 알라딘
대규모 웹사이트 구축을 위한 실전 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 개발자에게 딱 필요한 시점에서 적시에 나온 훌륭한 책으로 자리매김하길 바랍니다.
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.