Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in...
Transcript of Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in...
![Page 1: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/1.jpg)
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
ENTERPRISE APPLICATION INTEGRATION WITH MARKLOGIC AND CAMEL Rob Rudin, Solutions Specialist, MarkLogic
![Page 2: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/2.jpg)
SLIDE: 2 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Agenda Introduction
Problems solved by EAI
How EAI and MarkLogic work together
![Page 3: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/3.jpg)
SLIDE: 3 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Introduction Rob Rudin
Solutions Architect at MarkLogic, 2+ years
Former MarkLogic customer, 5+ years
https://github.com/rjrudin
![Page 4: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/4.jpg)
SLIDE: 4 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
The Operational Data Hub A flexible, scalable operational database
All types of data
Convergence between analysis and operations
How do we keep these in sync?
MARKETING
SALES
CRM ERP
HR
FINANCE LINE-OF-BUSINESS 1
LINE-OF-BUSINESS 2
![Page 5: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/5.jpg)
SLIDE: 5 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Real World Example JMS message queues
Multiple relational databases
Web services
Exports to BI tools
EJB (!) interfaces
MarkLogic brought into the middle
![Page 6: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/6.jpg)
SLIDE: 6
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Enterprise Application Integration (EAI) Emerged in various flavors from the late 90s
into 2000s (point-to-point, SOA, ESB, etc.)
Addresses integration for the run-the-business functions
![Page 7: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/7.jpg)
SLIDE: 7 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
EAI and ETL, in General Terms
ETL EAI
Infrequent Maybe just once
Batch-oriented Migrating a database, importing a data dump
Well-defined steps Extract, transform, load –transform could be complex
Database to database Not always, but typically
Frequent Many times a day
Message-oriented Messages on a queue, files in a directory
Many steps Parallel steps; point to point; broadcasting; aggregating
Many systems Databases, web services, external systems, command line interfaces
![Page 8: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/8.jpg)
SLIDE: 8 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
EAI and the Operational Data Hub How do we keep these in sync?
Data feeds
Data transformation
Entity resolution
How can EAI help us?
And how do EAI and MarkLogic work together?
MARKETING
SALES
CRM ERP
HR
FINANCE LINE-OF-BUSINESS 1
LINE-OF-BUSINESS 2
![Page 9: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/9.jpg)
SLIDE: 9
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Better EAI with MarkLogic Understand what MarkLogic can do
Understand what EAI tools can do
Recommendations for blending the two together
![Page 10: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/10.jpg)
SLIDE: 10 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
MarkLogic Changes the Equation Traditional approach – do
everything in middleware
Message bus, ESB, app server
Need to leverage MarkLogic’s application services to maximize performance and simplicity
DATABASE
APP SERVICES
SEARCH
![Page 11: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/11.jpg)
SLIDE: 11
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Traditional EAI
Extract new data
Transform, massage data
Query for matching data
Merge with existing data
Insert one or more rows
Update one or more rows
Delete one or more rows
Must model upfront! What about non-tabular
content, like images, Office files, PDFs?
![Page 12: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/12.jpg)
SLIDE: 12
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
How EAI can Work with MarkLogic
Extract new data Send via HTTP to MarkLogic as XML, JSON, CSV, text, binary
Transform
Query for matching records
Insert, update, delete multiple documents
Post-process via triggers
(optional)
Store anything! No upfront modeling required!
![Page 13: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/13.jpg)
SLIDE: 13
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
MarkLogic Facilitates EAI Store any data – structured, unstructured, images, Office files, PDFs - anything
REST API – easy to load documents with transforms
Triggers – easy to add processing after data is loaded
Indexes – easy to resolve entities
Server-side programming – easy to call other web services, sends emails, etc
![Page 14: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/14.jpg)
SLIDE: 14
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
But Don’t Get Rid of EAI Extraction – still need to integrate with a wide variety of data sources
External services – still need to invoke a wide variety of external services
Library reuse – may need to reuse libraries that can’t run within MarkLogic
Content routing – still need a way to all the steps in an integration
![Page 15: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/15.jpg)
SLIDE: 15
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Important! MarkLogic can do a lot
It’s a database
It’s a search engine
It’s an application layer
But it’s not an EAI tool
Use one that exists
DATABASE
APP SERVICES
SEARCH
![Page 16: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/16.jpg)
SLIDE: 16 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Recommendations for EAI with MarkLogic We’ll use 3 use cases for analyzing how to combine EAI with MarkLogic
A simple “hot” folder
A hot folder that depends on an external service
An ingestion pipeline with entity resolution and complex transformation rules
We’ll use Apache Camel as our EAI tool
![Page 17: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/17.jpg)
SLIDE: 17
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Apache Camel Open source integration framework – based
on Enterprise Integration Patterns
Written in Java – integrates with dozens of other popular Java projects, as well as nearly any protocol you can think of
Mature – first released in 2007
![Page 18: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/18.jpg)
SLIDE: 18 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
The Camel Ecosystem
![Page 19: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/19.jpg)
SLIDE: 19
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Notable Camel Components File – watch for files to arrive in a directory
HTTP – invoke HTTP endpoints
Bean – invoke custom Java code
Great for integration with MarkLogic, as we’re deeply invested in the Java ecosystem
Broadcast – send a message to multiple components for parallel processing
Dozens more…
![Page 20: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/20.jpg)
SLIDE: 20 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Simple Hot Folder Use case – as files are created by other applications, copy them to a directory, and
load them into MarkLogic
Camel makes watching a directory easy - http://camel.apache.org/file2.html
But how we do get a file into MarkLogic?
![Page 21: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/21.jpg)
SLIDE: 21 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Hot Folder Options Could do nearly everything in Camel/Java
Can unzip - http://camel.apache.org/zip-file-dataformat.html
Or break apart a big XML - http://camel.apache.org/splitter.html
Can transform XML files - http://camel.apache.org/xslt.html
Can then load via MarkLogic REST API
http://docs.marklogic.com/REST/PUT/v1/documents
Can set collections, permissions
Need a way to determine a URI
![Page 22: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/22.jpg)
SLIDE: 22 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Hot Folder and Content Pump OR – use MarkLogic Content Pump (mlcp)
https://docs.marklogic.com/guide/mlcp
mlcp excels at loading from the filesystem
Can specify a transform, split up an XML file, split up a zip, generate a URI via an algorithm, spread load across the cluster, parse delimited files, load triples, and more
So Camel handles watching the directory
And mlcp + MarkLogic handles loading and indexing data
![Page 23: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/23.jpg)
SLIDE: 23
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Camel and Content Pump
Watch for files
Transform on ingest (optional)
Post-process via triggers (optional)
FILE SYSTEM
Invoke mlcp with options
Insert into MarkLogic
![Page 24: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/24.jpg)
SLIDE: 24 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Hot folder and a Camel Component Camel can be extended via custom components
mlcp is Java, so easy to integrate
Demo
For more advanced usage, could route files to different mlcp endpoints based on file type, file name, etc. – all a good use case for Camel
Recommendation – when loading data from a file system, use mlcp
![Page 25: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/25.jpg)
SLIDE: 25 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Hot folder with External Service Shapefiles – an Esri geospatial data format – are created by an application and
copied to a directory
For each file, extract the geospatial data as GeoJSON via an external service
Ogre - http://ogre.adc4gis.com/
Then ingest both the shapefile and GeoJSON document into MarkLogic
Goal: searchable shapefile repository with original shapefiles
![Page 26: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/26.jpg)
SLIDE: 26 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
External Service Integration Options Could invoke Ogre in MarkLogic server-side code
But there’s a command line Ogre client too
Consider:
Testability – easier to mock calls to Ogre in Java code in Camel
Availability – may need to support both web Ogre and client-side Ogre
![Page 27: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/27.jpg)
SLIDE: 27
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Camel and an External Service
Watch for shapefiles
Transform on ingest (optional)
Post-process via triggers (optional)
FILE SYSTEM
Call service to extract GeoJSON
Insert shapefile and GeoJSON into MarkLogic
Ogre
![Page 28: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/28.jpg)
SLIDE: 28 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Camel and an External Service Consider making a custom Camel component
Support both web and command line Ogre
Reuse across Camel flows
Demo
Recommendation – in general, prefer invoking external services from EAI tool
![Page 29: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/29.jpg)
SLIDE: 29 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Complex Ingestion Pipeline GDELT Event Database
http://gdeltproject.org/ and http://data.gdeltproject.org/gdeltv2/lastupdate.txt
Contains news events with extracted persons, organizations, locations, and themes
7-page cookbook to understand the data format
http://data.gdeltproject.org/documentation/GDELT-Data_Format_Codebook.pdf
![Page 30: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/30.jpg)
SLIDE: 30 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
GDELT challenges External service
One call to get URL of new batch of events, another call to download batch
Multiple lines per source URL
We want to consolidate those into a single document in MarkLogic
URL may have been processed in previous batch
Will need to query MarkLogic to see if document already exists
![Page 31: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/31.jpg)
SLIDE: 31
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
How EAI can Work with MarkLogic
Every 15 minutes, get new URLs
Use transform to merge with existing document if one exists
Post-process via triggers (optional)
GDELT
Download event files
Merge rows with same source URL, massage data
Ingest XML/JSON document
![Page 32: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/32.jpg)
SLIDE: 32
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Could Also Do This All in MarkLogic Too
Every 15 minutes, get new URLs (via scheduled task)
GDELT
Download event files
Merge rows with same source URL, massage data
Search for existing document if one exists
Insert new XML/JSON document
Post-process via triggers (optional)
![Page 33: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/33.jpg)
SLIDE: 33 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Benefits of Camel + MarkLogic Very large GDELT responses can be handled more easily
Camel can split this and parallelize processing
MarkLogic solutions exist (e.g. taskbot), though not CPF-based
External service can be mocked for testing
Developers may prefer complex logic to be in EAI language
Demo
![Page 34: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/34.jpg)
SLIDE: 34 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Complex Ingestion Recommendations Let EAI tool handle large payloads
Can leverage EAI patterns – routing, splitting, aggregating, etc.
Consider need to mock external services for testing
Consider personnel
![Page 35: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/35.jpg)
SLIDE: 35 © COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Summary of Demos Simple hot folder
Recommendation – use Content Pump for ingesting files
Hot folder + external service
Recommendation – prefer invoking external services from EAI tool
Complex ingestion
Recommendation – let EAI tool manage large payloads
Recommendation – consider personnel when deciding where to implement
![Page 36: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/36.jpg)
SLIDE: 36
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
EAI and MarkLogic and the Operational Data Hub Understand what MarkLogic can do
Understand what EAI can do
Get and follow recommendations
MarkLogic Consulting Services
marklogic.com/training
stackoverflow.com/questions/tagged/marklogic
MARKETING
SALES
CRM ERP
HR
FINANCE LINE-OF-BUSINESS 1
LINE-OF-BUSINESS 2
![Page 37: Enterprise Application Integration with MarkLogic and Camel...File – watch for files to arrive in a directory HTTP – invoke HTTP endpoints Bean – invoke custom Java code Great](https://reader034.fdocuments.net/reader034/viewer/2022042303/5ece2cd7ee11c142a623dbe4/html5/thumbnails/37.jpg)
SLIDE: 37
© COPYRIGHT 2016 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.
Q&A