Thanks Marshall! 

Actually, now that you say it, I knew it all... 

For a bit, I had actually thought to have missed out on a significant
part of the framework :)

Cheers,

-- Richard


> On 30.11.2015, at 17:10, Marshall Schor <[email protected]> wrote:
> 
> This also initially confused me...
> 
> There are two different categories of APIs used in UIMA pipelines.  One of 
> these
> is for "component" writers - these are people who implement components 
> (usually
> these are usually Annotators, but may also be things like Cas Consumers, Cas
> Multipliers, etc.) which implement a standard set of APIs for components.  For
> example, Annotators implement the "process" method which takes a CAS and works
> on it.  Each component implements a particular lifecycle, and handles one or
> more CASs. 
> 
> Analysis Engines represent UIMA pipelines, usually made up of multiple
> components, possibly in hierarchies, arranged in some kind of a flow. The
> pipelines, at the bottom of any aggregation hierarchy is composed of the the
> above "components". 
> 
> Analysis Engines are created using produceAnalysisEngine calls, and then fed 
> one
> or more CASes to process.  The APIs for Analysis Engines can be thought of as
> UIMA Application APIs.
> 
> The XML descriptors, which describe which components to use, how they are put
> together, configuration parameters, and other meta information, are associated
> with Analysis Engines.
> 
> In the tutorial book,
> http://uima.apache.org/d/uimaj-current/tutorials_and_users_guides.html ,
> Chapter 1 is more about developing components (called Annotators), while 
> chapter
> 3 is more about topics relating to Analysis Engines.
> 
> Annotators, Cas Multipliers, Collection Readers, and Cas Consumers typically
> inherit from Cas/JCasAnnotator_ImplBase, which eventually inherits from
> AnalysisComponent.
> 
> HTH.  -Marshall
> 
> On 11/29/2015 5:25 AM, Richard Eckart de Castilho wrote:
>> Hi all,
>> 
>> this post [1] on Stackoverflow brought up a question I couldn't answer:
>> 
>> What is the difference between AnalysisComponent and AnalysisEngine?
>> 
>> Looking at the inheritance hierarchy of AnalysisComponent, it appears that
>> it is used in the UIMA SDK examples to implement components.
>> 
>> But I've never seen that being used anywhere else. E.g. we implemented
>> uimaFIT on top of AnalysisEngine.
>> 
>> So what's the difference and when should one be used and when the other?
>> 
>> Cheers,
>> 
>> -- Richard
>> 
>> [1] 
>> http://stackoverflow.com/questions/33973273/how-are-you-supposed-to-use-the-dkpro-libraries-with-uima-ruta
>> 
>> 
> 

Reply via email to