Muutke küpsiste eelistusi

eXist [Pehme köide]

  • Formaat: Paperback / softback, 400 pages
  • Ilmumisaeg: 20-Jan-2015
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1449337104
  • ISBN-13: 9781449337100
Teised raamatud teemal:
  • Pehme köide
  • Hind: 43,68 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 51,39 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 400 pages
  • Ilmumisaeg: 20-Jan-2015
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1449337104
  • ISBN-13: 9781449337100
Teised raamatud teemal:

Get a head start with eXist, the open source NoSQL database and application development platform built entirely around XML technologies. With this hands-on guide, you’ll learn eXist from the ground up, from using this feature-rich database to work with millions of documents to building complex web applications that take advantage of eXist’s many extensions.

If you’re familiar with XML—as a student, professor, publisher, or developer—you’ll find that eXist is ideal for all kinds of documents. This book shows you how to store, query, and search documents with XQuery and other XML technologies, and how to construct applications on top of the database with tools such as eXide and eXist’s built-in development environment.

  • Manage both data-oriented and text-oriented markup documents securely
  • Build a sample application that analyzes and searches Shakespeare’s plays
  • Go inside the architecture and learn how eXist processes documents
  • Learn how to work with eXist’s internal development environment
  • Choose among various indexes, including a full-text index based on Apache Lucene
  • Dive into eXist’s APIs for integrating or interacting with the database
  • Extend eXist by building your own Triggers, Scheduled Tasks, and XQuery extension modules
Preface xi
1 Introduction
1(20)
What Is eXist?
1(2)
eXist Compared to Other Database Systems
3(2)
History
5(2)
Competitors
7(2)
Open Source Competitors
8(1)
Closed Source, Commercial Competitors
8(1)
Who Is Using eXist, and for What?
9(4)
Contributing to the Community
13(3)
Individuals Using eXist
14(1)
Organizations Using eXist
15(1)
Authors Using eXist
16(1)
Developers Using eXist
16(1)
Additional Resources
16(5)
2 Getting Started
21(20)
Downloading and Installing eXist
21(4)
Preconditions
21(1)
Downloading eXist
22(1)
Things to Decide Before Installing
22(2)
Installing eXist
24(1)
Post-Installation Checks
24(1)
Starting and Stopping eXist with a GUI
25(1)
Starting and Stopping eXist from the Command Line
26(1)
A First Tour Around Town
26(6)
The Dashboard
26(3)
Playing Around
29(1)
What's in Your Database
29(1)
What's on Your Disk
30(1)
The Java Admin Client
31(1)
Getting Files into and out of the Database
32(1)
Hello eXist!
33(8)
Hello Data
33(1)
Hello XQuery
34(1)
Hello XSLT
35(2)
Hello XInclude
37(1)
Hello XForms
37(4)
3 Using eXist 101
41(26)
Preparations and Basic Application Setup
41(4)
eXist Terminology
42(1)
Exporting Documents from eXist
42(2)
Designing an Application's Collection Structure and Importing Data
44(1)
Viewing the Data
45(2)
Listing the Plays (XML)
47(3)
Listing with the collection Function
47(3)
Listing with the xmldb Extension Module
50(1)
Listing the Plays (HTML)
50(3)
Analyzing the Plays
53(4)
Linking the Analysis to the Play Overview
57(1)
Searching the Plays
58(4)
Searching Using Straight XQuery
58(2)
Searching Using an Index
60(2)
Creating a Log
62(4)
What's Next?
66(1)
4 Architecture
67(22)
Deployment Architectures
69(5)
Embedded Architecture
70(1)
Client/Server Database Architecture
71(1)
Web Application Platform Architecture
72(2)
Storage Architecture
74(4)
XML Document Storage and Indexing
74(4)
Binary Document Storage
78(1)
Efficient XML Processing Architecture
78(11)
Collections
79(2)
Documents
81(1)
Dynamic Level Numbering of Nodes
82(3)
Dynamic Level Numbering and Updates
85(2)
Paging and Caching
87(2)
5 Working with the Database
89(24)
The Database's Content
89(6)
Help: Where Is My XML?
89(1)
Terminology
90(1)
Properties of Collections and Resources
90(2)
System Collections
92(1)
Addressing Collections, Resources, and Files
93(2)
The XPath Collection and Doc Functions in eXist
95(1)
The collection Function
95(1)
The doc Function
96(1)
Querying the Database Using REST
96(7)
Security
97(1)
GET Requests
97(2)
PUT Requests
99(1)
DELETE Requests
99(1)
POST Requests
100(2)
Ad Hoc Querying
102(1)
Updating Documents
103(6)
eXist's XQuery Update Extension
104(3)
XUpdate
107(2)
Controlling the Database from Code
109(4)
Specifying Collections and Resources for the xmldb Extension Module
109(1)
Getting Information
110(1)
Creating Resources and Collections
111(1)
Setting Permissions
112(1)
Moving, Removing, and Renaming
112(1)
6 XQuery for eXist
113(16)
eXist's XQuery Implementation
113(7)
XQuery 1.0 Support
113(1)
XQuery 3.0 Support
114(4)
Other XQuery Extras
118(2)
XQuery Execution
120(1)
Serialization
120(5)
Controlling Serialization
121(1)
Serialization Options
121(4)
Controlling XQuery Execution
125(2)
eXist XQuery Pragmas
125(1)
Limiting Execution Time and Output Size
126(1)
Other Options
126(1)
XQuery Documentation with xqDoc
127(2)
7 Extension Modules
129(6)
Types of Extension Modules
129(1)
Extension Modules Written in Java
129(1)
Extension Modules Written in XQuery
130(1)
Enabling Extension Modules
130(5)
Enabling Java Extension Modules
131(1)
Enabling XQuery Extension Modules
132(3)
8 Security
135(58)
Security Basics
136(6)
Users
136(1)
Groups
137(1)
Permissions
137(3)
Default Permissions
140(2)
Managing Users and Groups
142(5)
Group Managers
142(1)
Tools for User and Group Management
143(4)
User and Group Management with the Java Admin Client
147(6)
Scenario
147(1)
Creating a Group
147(2)
Creating Users
149(2)
Setting Group Managers
151(2)
Managing Permissions
153(5)
Tools for Permission Management
153(3)
Permission Management with the Java Admin Client
156(2)
Access Control Lists
158(10)
Access Control Entries
159(1)
ACLs by Example
160(6)
Managing ACLs
166(2)
Realms
168(8)
LDAP Realm Module
168(8)
Other Realm Modules
176(1)
Hardening
176(13)
Reducing Collateral Damage
177(2)
Reducing the Attack Surface
179(10)
User Authentication in XQuery
189(2)
xmldb: authenticate
190(1)
xmldb: login
190(1)
Backups
191(2)
9 Building Applications
193(46)
Overview
193(3)
Which Technology to Use?
194(1)
Application Aspects
194(1)
Getting Started, Quickly?
195(1)
Where to Store Your Application?
196(1)
URL Mapping Using URL Rewriting
196(11)
Anatomy of a URL Rewriting-Based Application
197(3)
How eXist Finds the Controller
200(1)
The URL Rewriting Controller's Environment
201(1)
The Controller's Output XML Format
202(3)
Advanced URL Control
205(2)
Changing the URL for URL Rewriting
207(4)
Changing Jetty Settings: Port Number and URL Prefix
207(1)
The controller-config.xml Configuration File
208(1)
Proxying eXist Behind a Web Server
209(2)
Requests, Sessions, and Responses
211(3)
The request Extension Module
211(2)
The session Extension Module
213(1)
The response Extension Module
213(1)
Application Security
214(2)
Running with Extra Permissions
216(1)
Global Error Pages
217(1)
Building Applications with RESTXQ
217(12)
Configuring RESTXQ
218(1)
RESTXQ Annotations
219(10)
RESTXQ XQuery Extension Functions
229(1)
Packaging
229(10)
Examples
231(1)
The Packaging Format
231(4)
The Prepare and Finish Scripts
235(1)
Creating Packages
236(1)
Additional Remarks About Packages
236(3)
10 Other XML Technologies
239(34)
XSLT
240(5)
Embedding Stylesheets or Not
240(2)
Invoking XSLT with the Transform Extension Module
242(1)
Passing XSLT Parameters
243(1)
Invoking XSLT by Processing Instruction
244(1)
Stylesheet Details
245(1)
XInclude
245(3)
Including Documents
246(1)
Including Query Results
247(1)
Error Handling and Fallback
247(1)
Validation
248(5)
Implicit Validation
248(2)
Explicit Validation
250(3)
Collations
253(1)
Supported Collations
253(1)
Specifying Collations
253(1)
XSL-FO
254(2)
XForms
256(17)
XForms Instances
257(3)
XForms Submissions
260(5)
betterForm
265(2)
XSLTForms
267(6)
11 Basic Indexing
273(14)
Indexing Example
274(2)
Index Types
276(2)
Structural Index
276(1)
Range Indexes
276(1)
NGram Indexes
277(1)
Full-Text Indexes
277(1)
Configuring Indexes
278(2)
Configuring Range Indexes
278(2)
Configuring NGram Indexes
280(1)
Maintaining Indexes
280(1)
Using Indexes
281(3)
Using the Structural Index
281(1)
Using the Range Indexes
281(1)
Using the NGram Indexes
282(1)
General Optimization Tips
283(1)
Debugging Indexes
284(3)
Checking Index Definitions
284(1)
Checking Index Usage
285(1)
Tracing the Optimizer
285(2)
12 Text Indexing and Lookup
287(18)
Full-Text Index and KWIC Example
287(1)
Configuring Full-Text Indexes
288(5)
Configuring the Search Context
289(3)
Handling Mixed Content
292(1)
Maintaining the Full-Text Index
293(1)
Searching with the Full-Text Index
294(5)
Basic Search Operations
294(4)
Scoring Searches
298(1)
Locating Matches
298(1)
Using Keywords in Context
299(1)
Defining and Configuring the Lucene Analyzer
300(3)
Manual Full-Text Indexing
303(2)
13 Integration
305(70)
Choosing an API
305(2)
Remote APIs
307(59)
WebDAV
307(14)
REST Server API
321(23)
XML-RPC API
344(7)
XML: DB Remote API
351(4)
RESTXQ
355(6)
XQJ
361(2)
Deprecated Remote APIs
363(2)
Remote API Libraries for Other Languages
365(1)
Local APIs
366(9)
XML: DB Local API
368(3)
Fluent API
371(4)
14 Tools
375(12)
Java Admin Client
375(1)
eXide
376(1)
oXygen
377(4)
Connecting with oXygen Using WebDAV
378(1)
Natively Connecting with oXygen
379(2)
Ant and eXist
381(6)
Trying the Ant Examples
381(1)
Preparing an eXist Ant Build Script
382(1)
Using Ant with eXist
383(4)
15 System Administration
387(32)
Logging
387(2)
JMX
389(2)
Memory and Cache Tuning
391(7)
Understanding Memory Use
392(4)
Cache Tuning
396(2)
Backup and Restore
398(9)
Client-Side Data Export Backup
399(3)
Server-Side Data Export Backup
402(3)
Restoring a Clean Database
405(1)
Emergency Export Tool
406(1)
Installing eXist as a Service
407(3)
Solaris
408(1)
Windows Linux and Other Unix
409(1)
Hosting and the Cloud
410(5)
Entic
410(1)
Amazon EC2
410(4)
Other Cloud Providers
414(1)
Getting Support
415(4)
Community Support
417(1)
Commercial Support
417(2)
16 Advanced Topics
419(76)
XQuery Testing
419(10)
Versioning
429(8)
Historical Archiving
429(1)
Document Revisions
430(7)
Scheduled Jobs
437(11)
Scheduling Jobs
438(2)
XQuery Jobs
440(3)
Java Jobs
443(5)
Startup Triggers
448(3)
Configured Modules Example Startup Trigger
450(1)
Database Triggers
451(18)
XQuery Triggers
455(4)
Java Triggers
459(10)
Internal XQuery Library Modules
469(16)
Using the Hello World Module
475(1)
Types and Cardinality
476(3)
Function Parameters and Return Types
479(5)
Variable Declarations
484(1)
Module Configuration
485(1)
Developing eXist
485(10)
Building eXist from Source
487(3)
Debugging eXist
490(5)
A XQuery Extension Modules
495(32)
B REST Server Processes
527(18)
Index 545
Erik Siegel runs Xatapult, a consultancy that offers coaching, training, applications, and more to the publishing world. Adam Retter is one of the core developers of eXist-db and has been using and contributing to eXist since 2005. Passionate about the Web, Code Quality, Standards and Portable Code, Adam has been promoting XQuery as a Web Application development language for the last few years. Adam is a member of the XML Guild, an Invited Expert to the W3C XML Query Working group and on the program committee of both the XML Prague and the XML Summer School conferences