You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2016/08/30 15:50:45 UTC

svn commit: r1758411 [30/30] - in /uima/site/trunk/uima-website/docs/d/uimaj-current: ./ apidocs/ apidocs/org/apache/uima/ apidocs/org/apache/uima/analysis_component/ apidocs/org/apache/uima/analysis_component/class-use/ apidocs/org/apache/uima/analysi...

Modified: uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.html
URL: http://svn.apache.org/viewvc/uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.html?rev=1758411&r1=1758410&r2=1758411&view=diff
==============================================================================
--- uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.html (original)
+++ uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.html Tue Aug 30 15:50:35 2016
@@ -2,7 +2,7 @@
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>UIMA Tutorial and Developers' Guides</title><link rel="stylesheet" type="text/css" href="css/stylesheet-html.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book" title="UIMA Tutorial and Developers' Guides" id="d5e1"><div xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div><h1 class="title">UIMA Tutorial and Developers' Guides</h1></div><div><div class="authorgroup">
       <h3 class="corpauthor">Written and maintained by the Apache UIMA&#8482; Development Community</h3>
-    </div></div><div><p class="releaseinfo">Version 2.8.1</p></div><div><p class="copyright">Copyright &copy; 2006, 2015 The Apache Software Foundation</p></div><div><p class="copyright">Copyright &copy; 2004, 2006 International Business Machines Corporation</p></div><div><div class="legalnotice" title="Legal Notice"><a name="d5e8"></a>
+    </div></div><div><p class="releaseinfo">Version 2.9.0</p></div><div><p class="copyright">Copyright &copy; 2006, 2016 The Apache Software Foundation</p></div><div><p class="copyright">Copyright &copy; 2004, 2006 International Business Machines Corporation</p></div><div><div class="legalnotice" title="Legal Notice"><a name="d5e8"></a>
       <p> </p>
       <p title="License and Disclaimer">
         <b>License and Disclaimer.&nbsp;</b>
@@ -35,7 +35,7 @@
         the trademark or service mark.
         
       </p>
-    </div></div><div><p class="pubdate">August, 2015</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#ugr.tug.aae">1. Annotator &amp; AE Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.getting_started">1.1. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.defining_types">1.1.1. Defining Types</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.generating_jcas_sources">1.1.2. Generating Java Source Files for CAS Types</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.developing_annotator_code">1.1.3. Developing Your Annotator Code</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.creating_xml_descriptor">1.1.4. Creating the XML Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.testing_your_annotator">1.1.5. Testing Your Annotator</a></span></dt></dl></dd><dt><span class="section"><a 
 href="#ugr.tug.aae.configuration_logging">1.2. Configuration and Logging</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.configuration_parameters">1.2.1. Configuration Parameters</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.logging">1.2.2. Logging</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aae.building_aggregates">1.3. Building Aggregate Analysis Engines</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.combining_annotators">1.3.1. Combining Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.aaes_can_contain_cas_consumers">1.3.2. AAEs can also contain CAS Consumers</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.reading_results_previous_annotators">1.3.3. Reading the Results of Previous Annotators</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aae.other_examples">1.4. Other examples</a></span></dt><dt><span class="section"><a href="#ugr.
 tug.aae.additional_topics">1.5. Additional Topics</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.contract_for_annotator_methods">1.5.1. Annotator Methods</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.reporting_errors_from_annotators">1.5.2. Reporting errors from Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.throwing_exceptions_from_annotators">1.5.3. Throwing Exceptions from Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.accessing_external_resource_files">1.5.4. Accessing External Resources</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.result_specification_setting">1.5.5. Result Specifications</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.classpath_when_using_jcas">1.5.6. Class path setup when using JCas</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.using_shell_scripts">1.5.7. Using the Shell Scripts</a></span></dt></dl></dd><dt><span cla
 ss="section"><a href="#ugr.tug.aae.common_pitfalls">1.6. Common Pitfalls</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.viewing_UIMA_objects_in_eclipse_debugger">1.7. UIMA Objects in Eclipse Debugger</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_ae_descriptor">1.8. Analysis Engine XML Descriptor</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.header_annotator_class_identification">1.8.1. Header and Annotator Class Identification</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_simple_metadata_attributes">1.8.2. Simple Metadata Attributes</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_type_system_definition">1.8.3. Type System Definition</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_capabilities">1.8.4. Capabilities</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro.configuration_parameters">1.8.5. Configuration Parameter
 s (Optional)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#ugr.tug.cpe">2. CPE Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.concepts">2.1. CPE Concepts</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.configurator_and_viewer">2.2. CPE Configurator and CAS viewer</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.cpe_configurator">2.2.1. Using the CPE Configurator</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.running_cpe_configurator_from_eclipse">2.2.2. Running the CPE Configurator from Eclipse</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.running_cpe_from_application">2.3. Running a CPE from Your Own Java Application</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.using_listeners">2.3.1. Using Listeners</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.developing_collection_processing_compone
 nts">2.4. Developing Collection Processing Components</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.collection_reader.developing">2.4.1. Developing Collection Readers</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.cas_initializer.developing">2.4.2. Developing CAS
+    </div></div><div><p class="pubdate">August, 2016</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#ugr.tug.aae">1. Annotator &amp; AE Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.getting_started">1.1. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.defining_types">1.1.1. Defining Types</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.generating_jcas_sources">1.1.2. Generating Java Source Files for CAS Types</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.developing_annotator_code">1.1.3. Developing Your Annotator Code</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.creating_xml_descriptor">1.1.4. Creating the XML Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.testing_your_annotator">1.1.5. Testing Your Annotator</a></span></dt></dl></dd><dt><span class="section"><a 
 href="#ugr.tug.aae.configuration_logging">1.2. Configuration and Logging</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.configuration_parameters">1.2.1. Configuration Parameters</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.logging">1.2.2. Logging</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aae.building_aggregates">1.3. Building Aggregate Analysis Engines</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.combining_annotators">1.3.1. Combining Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.aaes_can_contain_cas_consumers">1.3.2. AAEs can also contain CAS Consumers</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.reading_results_previous_annotators">1.3.3. Reading the Results of Previous Annotators</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aae.other_examples">1.4. Other examples</a></span></dt><dt><span class="section"><a href="#ugr.
 tug.aae.additional_topics">1.5. Additional Topics</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.contract_for_annotator_methods">1.5.1. Annotator Methods</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.reporting_errors_from_annotators">1.5.2. Reporting errors from Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.throwing_exceptions_from_annotators">1.5.3. Throwing Exceptions from Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.accessing_external_resource_files">1.5.4. Accessing External Resources</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.result_specification_setting">1.5.5. Result Specifications</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.classpath_when_using_jcas">1.5.6. Class path setup when using JCas</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.using_shell_scripts">1.5.7. Using the Shell Scripts</a></span></dt></dl></dd><dt><span cla
 ss="section"><a href="#ugr.tug.aae.common_pitfalls">1.6. Common Pitfalls</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.viewing_UIMA_objects_in_eclipse_debugger">1.7. UIMA Objects in Eclipse Debugger</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_ae_descriptor">1.8. Analysis Engine XML Descriptor</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aae.header_annotator_class_identification">1.8.1. Header and Annotator Class Identification</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_simple_metadata_attributes">1.8.2. Simple Metadata Attributes</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_type_system_definition">1.8.3. Type System Definition</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro_capabilities">1.8.4. Capabilities</a></span></dt><dt><span class="section"><a href="#ugr.tug.aae.xml_intro.configuration_parameters">1.8.5. Configuration Parameter
 s (Optional)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#ugr.tug.cpe">2. CPE Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.concepts">2.1. CPE Concepts</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.configurator_and_viewer">2.2. CPE Configurator and CAS viewer</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.cpe_configurator">2.2.1. Using the CPE Configurator</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.running_cpe_configurator_from_eclipse">2.2.2. Running the CPE Configurator from Eclipse</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.running_cpe_from_application">2.3. Running a CPE from Your Own Java Application</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.using_listeners">2.3.1. Using Listeners</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.developing_collection_processing_compone
 nts">2.4. Developing Collection Processing Components</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.collection_reader.developing">2.4.1. Developing Collection Readers</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.cas_initializer.developing">2.4.2. Developing CAS
       Initializers</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.cas_consumer.developing">2.4.3. Developing CAS
       Consumers</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.deploying_a_cpe">2.5. Deploying a CPE</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cpe.managed_deployment">2.5.1. Deploying Managed CAS Processors</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.deploying_nonmanaged_cas_processors">2.5.2. Deploying Non-managed CAS Processors</a></span></dt><dt><span class="section"><a href="#ugr.tug.cpe.integrated_deployment">2.5.3. Deploying Integrated CAS Processors</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cpe.collection_processing_examples">2.6. Collection Processing Examples</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ugr.tug.application">3. Application Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.appication.uimaframework_class">3.1. The UIMAFramework Class</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.using_aes">
 3.2. Using Analysis Engines</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.application.instantiating_an_ae">3.2.1. Instantiating an Analysis Engine</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.analyzing_text_documents">3.2.2. Analyzing Text Documents</a></span></dt><dt><span class="section"><a href="#ugr.tug.applications.analyzing_non_text_artifacts">3.2.3. Analyzing Non-Text Artifacts</a></span></dt><dt><span class="section"><a href="#ugr.tug.applications.accessing_analysis_results">3.2.4. Accessing Analysis Results</a></span></dt><dt><span class="section"><a href="#ugr.tug.applications.multi_threaded">3.2.5. Multi-threaded Applications</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.using_multiple_aes">3.2.6. Multiple AEs &amp; Creating Shared CASes</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.saving_cases_to_file_systems">3.2.7. Saving CASes to file systems or general Streams</a></span>
 </dt></dl></dd><dt><span class="section"><a href="#ugr.tug.application.using_cpes">3.3. Using Collection Processing Engines</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.application.running_a_cpe_from_a_descriptor">3.3.1. Running a CPE from a Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.configuring_a_cpe_descriptor_programmatically">3.3.2. Configuring a CPE Descriptor Programmatically</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.application.setting_configuration_parameters">3.4. Setting Configuration Parameters</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.integrating_text_analysis_and_search">3.5. Integrating Text Analysis and Search</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.application.building_an_index">3.5.1. Building an Index</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.search.query_tool">3.5.2. Semantic Search Query Tool<
 /a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.application.remote_services">3.6. Working with Remote Services</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.application.how_to_deploy_as_soap">3.6.1. Deploying as SOAP Service</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.how_to_deploy_a_vinci_service">3.6.2. Deploying as a Vinci Service</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.how_to_call_a_uima_service">3.6.3. Calling a UIMA Service</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.restrictions_on_remotely_deployed_services">3.6.4. Restrictions on remotely deployed services</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.vns">3.6.5. The Vinci Naming Services (VNS)</a></span></dt><dt><span class="section"><a href="#ugr.tug.configuring_timeout_settings">3.6.6. Configuring Timeout Settings</a></span></dt></dl></dd><dt><span class="section"><a href
 ="#ugr.tug.application.increasing_performance_using_parallelism">3.7. Increasing performance using parallelism</a></span></dt><dt><span class="section"><a href="#ugr.tug.application.jmx">3.8. Monitoring AE Performance using JMX</a></span></dt><dt><span class="section"><a href="#tug.application.pto">3.9. Performance Tuning Options</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ugr.tug.fc">4. Flow Controller Developer's Guide</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.fc.developing_fc_code">4.1. Developing the Flow Controller Code</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.fc.fc_interface_overview">4.1.1. Flow Controller Interface Overview</a></span></dt><dt><span class="section"><a href="#ugr.tug.fc.example_code">4.1.2. Example Code</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.fc.creating_fc_descriptor">4.2. Creating the Flow Controller Descriptor</a></span></dt><dt><span class="section"><a href="#u
 gr.tug.fc.adding_fc_to_aggregate">4.3. Adding Flow Controller to an Aggregate</a></span></dt><dt><span class="section"><a href="#ugr.tug.fc.adding_fc_to_cpe">4.4. Adding Flow Controller to CPE</a></span></dt><dt><span class="section"><a href="#ugr.tug.fc.using_fc_with_cas_multipliers">4.5. Using Flow Controllers with CAS Multipliers</a></span></dt><dt><span class="section"><a href="#ugr.tug.fc.continuing_when_exceptions_occur">4.6. Continuing the Flow When Exceptions Occur</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ugr.tug.aas">5. Annotations, Artifacts &amp; Sofas</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aas.terminology">5.1. Terminology</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aas.artifact">5.1.1. Artifact</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.sofa">5.1.2. Subject of Analysis &#8212; Sofa</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aas.sofa_data_formats">5.2. For
 mats of Sofa Data</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.setting_accessing_sofa_data">5.3. Setting and Accessing Sofa Data</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aas.setting_sofa_data">5.3.1. Setting Sofa Data</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.accessing_sofa_data">5.3.2. Accessing Sofa Data</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.accessing_sofa_data_using_java_stream">5.3.3. Accessing Sofa Data using a Java Stream</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aas.sofa_fs">5.4. The Sofa Feature Structure</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.annotations">5.5. Annotations</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.aas.built_in_annotation_types">5.5.1. Built-in Annotation types</a></span></dt><dt><span class="section"><a href="#ugr.tug.aas.annotations_associated_sofa">5.5.2. Annotations have an associated Sofa</a
 ></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.aas.annotationbase">5.6. AnnotationBase</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ugr.tug.mvs">6. Multiple CAS Views</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.mvs.cas_views_and_sofas">6.1. CAS Views and Sofas</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.mvs.naming_views_sofas">6.1.1. Naming CAS Views and Sofas</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.multi_view_and_single_view">6.1.2. Multi/Single View parts in Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.mvs.multi_view_components">6.2. Multi-View Components</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.mvs.deciding_multi_view">6.2.1. Deciding: Multi-View</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.additional_capabilities">6.2.2. Multi-View: additional capabilities</a></span></dt><dt><span class="section"
 ><a href="#ugr.tug.mvs.component_xml_metadata">6.2.3. Component XML metadata</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.mvs.sofa_capabilities_and_apis_for_apps">6.3. Sofa Capabilities &amp; APIs for Apps</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sofa_name_mapping">6.4. Sofa Name Mapping</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.mvs.name_mapping_aggregate">6.4.1. Name Mapping in an Aggregate Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.name_mapping_cpe">6.4.2. Name Mapping in a CPE
       Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.specifying_cas_view_for_process">6.4.3. CAS View received by Process</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.name_mapping_application">6.4.4. Name Mapping in a UIMA Application</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.name_mapping_remote_services">6.4.5. Name Mapping for Remote Services</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.mvs.jcas_extensions_for_multi_views">6.5. JCas extensions for Multiple Views</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sample_application">6.6. Sample Multi-View Application</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.mvs.sample_application.descriptor">6.6.1. Annotator Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sample_application.setup">6.6.2. Application Setup</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sample_applic
 ation.annotator_processing">6.6.3. Annotator Processing</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sample_application.accessing_results">6.6.4. Accessing the results of analysis</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.mvs.views_api_summary">6.7. Views API Summary</a></span></dt><dt><span class="section"><a href="#ugr.tug.mvs.sofa_incompatibilities_v1_v2">6.8. Sofa Incompatibilities: V1 and V2</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ugr.tug.cm">7. CAS Multiplier</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cm.developing_multiplier_code">7.1. Developing the CAS Multiplier Code</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cm.cm_interface_overview">7.1.1. CAS Multiplier Interface Overview</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.how_to_get_empty_cas_instance">7.1.2. Getting an empty CAS Instance</a></span></dt><dt><span class="section"><a href="#ugr.tug.
 cm.example_code">7.1.3. Example Code</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cm.creating_cm_descriptor">7.2. CAS Multiplier Descriptor</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.using_cm_in_aae">7.3. Using CAS Multipliers in Aggregates</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cm.adding_cm_to_aggregate">7.3.1. Aggregate: Adding the CAS Multiplier</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.cm_and_fc">7.3.2. CAS Multipliers and Flow Control</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.aggregate_cms">7.3.3. Aggregate CAS Multipliers</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cm.using_cm_in_cpe">7.4. CAS Multipliers in CPE's</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.calling_cm_from_app">7.5. Applications: Calling CAS Multipliers</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cm.retrieving_output_cases">7.5.1. Outpu
 t CASes</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.using_cm_with_other_aes">7.5.2. CAS Multipliers with other AEs</a></span></dt></dl></dd><dt><span class="section"><a href="#ugr.tug.cm.using_cm_to_merge_cases">7.6. Merging with CAS Multipliers</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.cm.overview_of_how_to_merge_cases">7.6.1. CAS Merging Overview</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.example_cas_merger">7.6.2. Example CAS Merger</a></span></dt><dt><span class="section"><a href="#ugr.tug.cm.using_the_simple_text_merger_in_an_aggregate_ae">7.6.3. SimpleTextMerger in an Aggregate</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#ugr.tug.xmi_emf">8. XMI &amp; EMF</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.xmi_emf.overview">8.1. Overview</a></span></dt><dt><span class="section"><a href="#ugr.tug.xmi_emf.converting_ecore_to_from_uima_type_system">8.2. Converting an Ecore Model
  to or from a UIMA Type System</a></span></dt><dt><span class="section"><a href="#ugr.tug.xmi_emf.using_xmi_cas_serialization">8.3. Using XMI CAS Serialization</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.xmi_emf.xml_character_issues">8.3.1. Character Encoding Issues with XML Serialization</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#ugr.tug.type_mapping">9. Managing different TypeSystems</a></span></dt><dd><dl><dt><span class="section"><a href="#ugr.tug.type_mapping.type_merging">9.1. Annotators, Type Merging, and Remotes</a></span></dt><dt><span class="section"><a href="#ugr.tug.type_mapping.remote_support">9.2. Supporting Remote Annotators</a></span></dt><dt><span class="section"><a href="#ugr.tug.type_mapping.allowed_differences">9.3. Type filtering support in Binary Compressed Serialization/Deserialization</a></span></dt><dt><span class="section"><a href="#ugr.tug.type_mapping.compressed">9.4. Remote Services support with Compress
 ed Binary Serialization</a></span></dt><dt><span class="section"><a href="#ugr.tug.type_filtering.compressed_file">9.5. Compressed Binary serialization to/from files</a></span></dt></dl></dd></dl></div>
@@ -796,11 +796,11 @@ public void initialize(UimaContext aCont
         names in an external properties file.  With this approach a particular parameter setting can
         be easily shared by multiple descriptors, even across different applications.  For applications
         with many levels of descriptor nesting it avoids the need to edit aggregate override
-        definitions when the location of an annotator in the hierarchy is changed.</p>
+        definitions when the location of an annotator in the hierarchy is changed.
 
-        <p>For details see 
+        For details see
           <a href="references.html#d5e1" class="olink">UIMA References</a>
-          <a href="references.html#ugr.ref.xml.component_descriptor.aes.aggregate.configuration_parameter_overrides" class="olink">Section&nbsp;2.4.3.3, &#8220;Configuration Parameter Overrides&#8221;</a>
+          <a href="references.html#ugr.ref.xml.component_descriptor.aes.external_configuration_parameter_overrides" class="olink">Section&nbsp;2.4.3.4, &#8220;External Configuration Parameter Overrides&#8221;</a>
         </p> 
       </div>
     </div>
@@ -998,7 +998,7 @@ public void initialize(UimaContext aCont
           UIMA also provides a logging implementation that use Apache Log4j instead of Java logging. To
           use Log4j you have to provide the Log4j jars in the classpath and your application 
           must specify the logging configuration as shown below. 
-          </p><pre class="programlisting">-Dorg.apache.uima.logger.class=&lt;org.apache.uima.util.impl.Log4jLogger_impl&gt;</pre><p>
+          </p><pre class="programlisting">-Dorg.apache.uima.logger.class=org.apache.uima.util.impl.Log4jLogger_impl</pre><p>
         </p>
       </div>
       
@@ -2381,7 +2381,7 @@ documentAnalyzer</pre><p>
   
   <p>A Collection Reader provides the interface to the raw input data and knows how to
     iterate over the data collection. Collection Readers are discussed in <a class="xref" href="#ugr.tug.cpe.collection_reader.developing" title="2.4.1.&nbsp;Developing Collection Readers">Section&nbsp;2.4.1, &#8220;Developing Collection Readers&#8221;</a>. The CAS Initializer
-    <sup>[<a name="d5e1119" href="#ftn.d5e1119" class="footnote">4</a>]</sup> prepares an individual data item for
+    <sup>[<a name="d5e1118" href="#ftn.d5e1118" class="footnote">4</a>]</sup> prepares an individual data item for
     analysis and loads it into the CAS. CAS Initializers are discussed in <a class="xref" href="#ugr.tug.cpe.cas_initializer.developing" title="2.4.2.&nbsp;Developing CAS Initializers">Section&nbsp;2.4.2, &#8220;Developing CAS
       Initializers&#8221;</a> A CAS Consumer extracts
     analysis results from the CAS and may also perform <span class="emphasis"><em>collection level
@@ -2492,7 +2492,7 @@ documentAnalyzer</pre><p>
         </p>
       
       <p>The window is divided into three sections, one each for the Collection Reader, 
-        Analysis Engines, and CAS Consumers.<sup>[<a name="d5e1186" href="#ftn.d5e1186" class="footnote">5</a>]</sup> 
+        Analysis Engines, and CAS Consumers.<sup>[<a name="d5e1185" href="#ftn.d5e1185" class="footnote">5</a>]</sup> 
         In each section, you select the component(s) you want to include in the CPE by 
         browsing to their XML descriptors. The configuration parameters present in the XML 
         descriptors will then be displayed in the GUI; these can be modified to override
@@ -2518,7 +2518,7 @@ CAS Consumer:
     </div>
       
       <p>For the File System Collection Reader, ensure that the Input Directory is set to
-        <code class="literal">%UIMA_HOME%\examples\data</code><sup>[<a name="d5e1199" href="#ftn.d5e1199" class="footnote">6</a>]</sup>. The other parameters may be left blank. For the External CAS Writer CAS
+        <code class="literal">%UIMA_HOME%\examples\data</code><sup>[<a name="d5e1198" href="#ftn.d5e1198" class="footnote">6</a>]</sup>. The other parameters may be left blank. For the External CAS Writer CAS
         Consumer, ensure that the Output Directory is set to
         <code class="literal">%UIMA_HOME%\examples\data\processed</code>.</p>
       
@@ -3558,10 +3558,10 @@ descriptors\collection_processing_engine
       to specify the VNS host instead of <span class="quote">&#8220;<span class="quote">localhost</span>&#8221;</span>.</p>
   </div>
   
-<div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.d5e1119" href="#d5e1119" class="para">4</a>] </sup>CAS Initializers are deprecated in favor of a more general mechanism,
-    multiple subjects of analysis.</p></div><div class="footnote"><p><sup>[<a id="ftn.d5e1186" href="#d5e1186" class="para">5</a>] </sup>There is also a fourth pane,
+<div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.d5e1118" href="#d5e1118" class="para">4</a>] </sup>CAS Initializers are deprecated in favor of a more general mechanism,
+    multiple subjects of analysis.</p></div><div class="footnote"><p><sup>[<a id="ftn.d5e1185" href="#d5e1185" class="para">5</a>] </sup>There is also a fourth pane,
         for the CAS Initializer, but it is hidden by default.  To enable it click the
-        <code class="literal">View <span class="symbol">&#8594;</span> CAS Initializer Panel</code> menu item.</p></div><div class="footnote"><p><sup>[<a id="ftn.d5e1199" href="#d5e1199" class="para">6</a>] </sup>Replace
+        <code class="literal">View <span class="symbol">&#8594;</span> CAS Initializer Panel</code> menu item.</p></div><div class="footnote"><p><sup>[<a id="ftn.d5e1198" href="#d5e1198" class="para">6</a>] </sup>Replace
         <code class="literal">%UIMA_HOME%</code> with the path to where you installed UIMA.</p>
         </div></div></div>
   <div class="chapter" title="Chapter&nbsp;3.&nbsp;Application Developer's Guide" id="ugr.tug.application"><div class="titlepage"><div><div><h2 class="title">Chapter&nbsp;3.&nbsp;Application Developer's Guide</h2></div></div></div>
@@ -3899,7 +3899,7 @@ ae.destroy();</pre>
       
       <p>There is not much more code required here than in the previous example. First, there is one additional
         parameter to the AnalysisEngine producer, specifying the number of annotator instances to
-        create<sup>[<a name="d5e1743" href="#ftn.d5e1743" class="footnote">7</a>]</sup>. Then, instead of creating a
+        create<sup>[<a name="d5e1742" href="#ftn.d5e1742" class="footnote">7</a>]</sup>. Then, instead of creating a
         single CAS in the constructor, we now create a CasPool containing 3 instances. In the analyze method, we check
         out a CAS, use it, and then release it.</p> <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
       <p>Frequently, the two numbers (number of CASes, and the number of AEs) will be the same. It would not make
@@ -3977,14 +3977,18 @@ ae.destroy();</pre>
       
       
       <p>The UIMA framework provides multiple APIs to save and restore the contents of a CAS to streams. 
+      Two common uses of this are to save CASes to the file system, and to send CASes to other processes, running
+      on remote systems.</p>
+      
+      <p>
         The CASes can be serialized in multiple formats:
         </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
             <p>Binary formats:
               </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
-                  <p>plain binary:  This is used to communicate with remote services, and also for interfacing with
+                  <p>plain binary: This is used to communicate with remote services, and also for interfacing with
                   annotators written in C/C++ or related languages via the JNI Java interface, from Java</p>
                 </li><li class="listitem">
-                  <p>Two forms of compressed binary.  The recommend one is form 6, which also allows
+                  <p>Compressed binary: There are two forms of compressed binary.  The recommend one is form 6, which also allows
                   type filtering. See <a href="references.html#ugr.ref.compress.overview" class="olink">Section&nbsp;8.1, &#8220;Binary CAS Compression overview&#8221;</a>.</p>
                 </li></ul></div><p>
             </p>
@@ -3997,18 +4001,94 @@ ae.destroy();</pre>
             This is intended for exposing results in the CAS as JSON objects for use by 
             web applications.  See <a href="references.html#ugr.ref.json.overview" class="olink">Section&nbsp;9.1, &#8220;JSON serialization support overview&#8221;</a>.
             For JSON, only serialization is supported.</p>
+          </li><li class="listitem">
+            <p>Java Object serialization: There are APIs to convert a CAS to a Java object that can be serialized
+            and deserialized
+            using standard Java object read and write Object methods.  There is also a way to include the CAS's type system and 
+            index definition.</p>
           </li></ul></div><p>
       </p>
       
-      <p>To save an XMI representation of a CAS, use the <code class="literal">serialize</code> method of the class
+      <p>Each of these serializations has different capabilities, summarized in the table below.
+       </p><div class="table"><a name="ugr.tug.tbl.serialization_capabilities"></a><p class="title"><b>Table&nbsp;3.1.&nbsp;Serialization Capabilities</b></p><div class="table-contents">
+          
+          <table summary="Serialization Capabilities" style="border-collapse: collapse;border-top: 0.5pt solid black; border-bottom: 0.5pt solid black; border-left: 0.5pt solid black; border-right: 0.5pt solid black; "><colgroup><col class="c1"><col class="c2"><col class="c3"><col class="c4"><col class="c5"><col class="c6"><col class="c7"><col class="c8"></colgroup><thead><tr><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">&nbsp;</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">XCAS</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">XMI</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">JSON</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">Binary</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">
 Cmpr 4</th><th style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; " align="center">Cmrp 6</th><th style="border-bottom: 0.5pt solid black; " align="center">JavaObj</th></tr></thead><tbody><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream, File, Writer</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream, Data Output Stream, File</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Output Stream, Data Output Stream, File</td><td style="border-bottom: 0.5pt solid
  black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Lists/Arrays inline formatting?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Formatted?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td s
 tyle="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Type Filtering?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0
 .5pt solid black; ">Yes</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Delta Cas?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">OOTS?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; bord
 er-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Only send indexed + reachable FSs?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">send all</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid blac
 k; ">send all</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-bottom: 0.5pt solid black; ">send all</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">NameSpace/Schemas?</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">lenient available?</td><td style="border-right: 0.5pt solid
  black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; border-bottom: 0.5pt solid black; ">Yes</td><td style="border-bottom: 0.5pt solid black; ">-</td></tr><tr><td style="border-right: 0.5pt solid black; ">optionally include embedded Type System and Indexes definition?</td><td style="border-right: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; ">-</td><td style="border-right: 0.5pt solid black; ">Just type system</td><td style="border-right: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; ">Yes</td><td style="border-right: 0.5pt solid black; ">Yes</td><t
 d style="">Yes</td></tr></tbody></table>
+          
+        </div></div><p><br class="table-break">
+      </p>
+      
+      <p>In the above table, Cmpr 4 and Cmpr 6 refer to Compressed forms of the serialization, 
+      and JavaObj refers to Java Object serialization.</p>
+      
+      <p>For the XMI and JSON formats, lists and arrays can sometimes be formatted "inline".
+      In this representation, the elements are formatted directly as the value of a particular
+      feature.  This is only done if the arrays and lists are not multiply-referenced.</p>
+      
+      <p>Type Filtering support enables only a subset of the types and/or features to be
+      serialized. An additional type system object is used to specify the types to be included
+      in the serialization.  This can be useful, for instance, when sending a CAS to a remote service,
+      where the remote service only uses a small number of the types and features, to reduce the size
+      of the serialized CAS.</p>
+      
+      <p>Delta Cas support makes use of a "mark" set in the CAS, and only serializes changes in the CAS,
+      both new and modified Feature Structures, that were added or changed after the mark was set.
+      This is useful for remote services, supporting the use-case where a large CAS is sent to the service,
+      which sets the mark in the received CAS, and then adds a small amount of information; 
+      the Delta CAS then serializes only that small amount as the "reply" sent back to the sender.</p>
+      
+      <p>OOTS means "Out of Type System" support, intended to support the use-case where a CAS is being sent
+      to a remote application.  This supports deserializing an incoming CAS where
+      some of the types and/or features may not be present in the receiving CAS's type system.  A "lenient" 
+      option on the deserialization permits the deserialization to proceed, with the out-of-type-system
+      information preserved so that when the CAS is subsequently reserialized (in the use-case, to be 
+      returned back to the sender), the out-of-type-system information is re-merged back into the output stream.
+      </p>
+      
+      <p>The Binary, Java Object, and Compressed Form 4 serializations send all the Feature Structures in the CAS,
+      in the order they were created in the CAS.  The other methods only 
+      send Feature Structures that are reachable, either by 
+      their being in some CAS index, or being referenced 
+      as a feature of another Feature Structure which is reachable.</p>
+      
+      <p>The NameSpace/Schema support allows specifying a set of schemas, each one corresponding to a particular
+      namespace, used in XMI serialization.</p>
+      
+      <p>Lenient allows the receiving Type System to be missing types and/or features that being deserialized.
+      Normally this causes an exception, but with the lenient flag turned on, these extra types and/or features are 
+      skipped over and ignored, with no error indicated.</p>
+      
+      <p>Some formats optionally allow embedded type system and indexes definition to be saved; 
+      loaders for these can use that information to
+      replace the CAS's type system and indexes definition, or (for compressed form 6) use the type system part
+      to decode the serialized data.  This is described in detail in the Javadocs for CasIOUtils.
+      JSON serialization has several alternatives for optionally including portions of the type system, described in
+      the reference document chapter on JSON.</p>
+      
+      <p>To save an XMI representation of a CAS, use the <code class="code">save</code> method in <code class="code">CasIOUtils</code> or the 
+        <code class="literal">serialize</code> method of the class
         <code class="literal">org.apache.uima.util.XmlCasSerializer</code>. To save an XCAS representation of a CAS,
-        use the class <code class="literal">org.apache.uima.cas.impl.XCASSerializer</code> instead; see the Javadocs
+        use the <code class="code">save</code> method in <code class="code">CasIOUtils</code> class or use the 
+        <code class="literal">org.apache.uima.cas.impl.XCASSerializer</code> instead; see the Javadocs
         for details.</p>
       
-      <p>Both of these external forms can be read back in, using the <code class="literal">deserialize</code> method of
-        the class <code class="literal">org.apache.uima.util.XmlCasDeserializer</code>. This method deserializes
-        into a pre-existing CAS, which you must create ahead of time, pre-set-up with the proper type system. See the
+      <p>All the external serialized forms (except JSON and the inline CAS approximate serialization) 
+        can be read back in using the <code class="code">CasIOUtils load</code> methods.
+        The <code class="code">CasIOUtils load</code> methods also have API forms that support 
+        loading type system and index definition information
+        at the same time (from addition input sources); there is also a form for loading compressed form 6 where
+        you can pass the type system to use for decoding, when it is different from that of the receiving CAS. 
+        The XCAS and XMI external forms can also be read back in using the <code class="literal">deserialize</code> method of
+        the class <code class="literal">org.apache.uima.util.XmlCasDeserializer</code>. All of these methods deserialize
+        into a pre-existing CAS, which you must create ahead of time.  See the
         Javadocs for details.</p>
+        
+      <p>        
+      The <code class="code">Serialization</code> class has various static methods for serializing and deserializing Java Object forms and 
+      compressed forms, with finer control over available options.   
+      See the Javadocs for that class for details.</p>
+      
+      <p>Several of the APIs use or return instances of <code class="code">SerialFormat</code>, which is an enum specifying the various
+      forms of serialization.</p>  
     </div>
   </div>
   
@@ -5281,7 +5361,7 @@ Exception: Connection refused: connect</
   </div>
     
 <div class="footnotes"><br><hr width="100" align="left"><div class="footnote">
-        <p><sup>[<a id="ftn.d5e1743" href="#d5e1743" class="para">7</a>] </sup> Both the UIMA Collection Processing Manager framework and the remote deployment services framework
+        <p><sup>[<a id="ftn.d5e1742" href="#d5e1742" class="para">7</a>] </sup> Both the UIMA Collection Processing Manager framework and the remote deployment services framework
           have implementations which use CAS pools in this manner, and thereby relieve the annotator developer of
           the necessity to make their annotators thread-safe.</p> </div></div></div>
   <div class="chapter" title="Chapter&nbsp;4.&nbsp;Flow Controller Developer's Guide" id="ugr.tug.fc"><div class="titlepage"><div><div><h2 class="title">Chapter&nbsp;4.&nbsp;Flow Controller Developer's Guide</h2></div></div></div>

Modified: uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.pdf
URL: http://svn.apache.org/viewvc/uima/site/trunk/uima-website/docs/d/uimaj-current/tutorials_and_users_guides.pdf?rev=1758411&r1=1758410&r2=1758411&view=diff
==============================================================================
Binary files - no diff available.