Snaplogic Advanced Training
Snaplogic Advanced Training
INTEGRATION
<Instructor Name>, <Team Name>
Customer A Customer B
Client Client
Customer A Cloudplex
SnapLogic Control Plane
Node 1 Node2
Groundplexes
● Runs outside Snaplogic cloud, either in customer data
center or on cloud instances managed by customer
● Installed and managed by customer (usually with Snaplogic
support)
● Only outbound access available, not accessible directly from
control plane (assumed to be behind firewall)
● Can access on-premise service endpoints and cloud
endpoints
Data Plane
Components
Monitor
– Starts the JCC process
– Monitors JCC health, restarts if required
Groundplex
• Requires only Outbound access, no inbound access
• Creates Outbound Websocket connections to the Cloud Proxy
over HTTPS (wss://)
• The control plane uses websocket connections to send inbound
requests to Groundplex
• Makes regular HTTPS requests to control plane
• Can be configured to go through HTTP proxy
Install GroundPlex
Steps:
• Get the groundplex properties from Snaplogic Support
• Download the respective RPM from
http://doc.snaplogic.com/snaplex-downloads
• Extract the RPM to a folder (ex: c:/opt/snaplogic)
• Update keys.properties and global.properties
• Start JCC (ex: “./bin/jcc.bat start”)
Other commands:
./bin/jcc.bat stop (stop JCC)
./bin/jcc.bat status (JCC status)
EnhancedUltra
Account Encryption
Tasks
Features
•Features
▪Provides access to pipeline runtime info and ability to
manage users/groups programmatically
•Pipeline Monitoring API
▪Ability to retrieve all pipeline runtime for organization
▪Query for specific executed pipeline for organization
▪Retrieve pipeline log for organization
▪User and Groups API
▪Programmatically access user/group info. Any user can
access their own info, but only admins can modify
SnapLogic Public API (Pipeline Monitoring)
23
JSONPath Syntax
• $ — The root of the document.
• .(dot) — Select a field in the parent
object.
Example, $.parent.child
• ?(<expr>) — Filters records based on the
specified expression.
Example, $.children[?(value.age > 18)]
• [] — Child operator or array index.
Examples, $.parent.[<child with spaces>]
$.children.[1]
$.children.[-1]
24
JSONPath Extended Syntax
• .sort_asc(<expr>) — Sorts an array in
ascending order based on the specified
expression.
Example, $.children.sort_asc(value.age)
• .group_by(<expr>) — Groups values
based on the result of the specified
expression and returns an object with
fields for each expression result and a
list of the objects that matched the
value.
Example,
$.children.group_by(value.gender)
25
Using JSONPath
Link to tool that can come handy:
http://www.jsonquerytool.com/#/JS
ONPath
26
Enhanced Account
Modularizing PipelinesEncryption
and Patterns
Modularizing Pipelines
• You can make Pipelines modular by
distributing Pipeline functionality
across multiple Pipelines.
• Modularizing Pipelines helps in load
balancing.
• There are four ways of modularizing
Pipelines:
– The Task Execute Snap
– The REST Get or REST Post Snaps
– The ForEach Snap
– Pipeline Execute Snap
28
The Task Execute Snap
• It enables you to execute a
triggered task.
• Features:
– Enables you to pass parameters
– Enables you to use batching
– Enables load balancing
29
Using the Task Execute Snap
30
The REST Get and REST Post Snaps
• REST Get enables you to execute
the HTTP Get Method.
• REST Post enables you to execute
the HTTP Post Method.
• Features:
– Enables you to pass parameters
– Enables load balancing
• REST Post also enables you to use
batching.
31
Using the REST Get Snap
32
The ForEach Snap
• It invokes a Pipeline for each of
the incoming documents
• Features:
– Enables you to pass parameters
– Enables batching
– Enables load balancing
– Supports two execution modes—SYNCHRONOUS and
FIRE_AND_FORGET
– Enables you to restrict maximum instances
– Enables automatic retries
33
Using the ForEach Snap
34
Reusing Pipelines
• You can make the Pipeline
development process more
efficient by reusing Pipelines.
• There are two ways of reusing
Pipelines:
– Creating Nested Pipelines
– Creating Patterns
35
Nested Pipelines
• You can add a Pipeline as a part of
another Pipeline. These Pipelines
are also known as Nested Pipeline.
• Advantages:
– Low overhead
– Pass data directly using input views
• Features:
– Guaranteed and Best effort delivery
modes
– Enables automatic retries
36
Creating Nested Pipelines (1 of 2)
37
Creating Nested Pipelines (2 of 2)
38
Viewing Child Pipelines
39
Patterns
• A pattern is a reusable Pipeline.
• To create a Pattern:
– Ensure you have access to the
Pattern project where you want to
create a pattern.
– Click the Add a Pipeline button.
– Add Snaps to it. (Do not configure
properties which change across
Pipelines)
– Save the Pipeline.
40
Using Patterns
• If you do not have full access to a
Pattern. Pipelines can be created using
Patterns through a step-by-step wizard.
In most cases, you will need to supply
account information for the specified
platform and the data or files to use in
the process.
• If you have full access to a Pattern, the
Pattern opens in the editor, you can
create a copy of the patterns and use the
copy. If you make any changes you make
to a Pattern, they will be saved in the
Pattern.
41
Example: Using Patterns without Full
Access (1 of 2)
42
Example: Using Patterns without Full
Access (2 of 2)
43
Best Practices
• Modularize your Pipelines.
• Ensure that Snaps are supported
for the Subscription Features.
• Organize Pipelines using Projects.
44
Knowledge Check – True Or False
The number of input and output
views in a child Pipelines can be
modified from the Views tab of the
“Child Pipeline Snap”.
• True
• False
45
Knowledge Check – True Or False
You must configure all Properties of
Snaps in a Pattern before you save it
as a Pattern project.
• True
• False
46
Enhanced
ChangeAccount Encryption
Data Capture
Change Data Capture
DELIVER DELIVER
Store & Process
HANA
INGEST INGEST
Source
z z z z
On Prem Relational Cloud Web NoSQL Internet of
Applications Databases Applications Logs Databases Things
54
Frictionless ingest
• Loose schema coupling - Schema on Read
• Avoid high price of processing data that’s not needed
• Store data in raw/original format
• Standard File types
• Text
• Structured Text – CSV, JSON(container format Avro)
• Binary(container format Sequence)
• Hadoop File Types(Splittable and Agnostic compression)
• Sequence(File based data structure)
• Avro (Serialization format)
• RC/ORC/Parquet (Columnar format)
55
SnapLogic Elastic Integration for Big
Data
Develop and Manage Runs in the cloud, stores only metadata
56
Hadoop Architecture – Elastic Scalability of Hadooplex
5 2 5
YA Application Master
R
N
3
Name Node
YARN 4
Node Manager Node Manager
✓ Saves time
✓ Makes Spark accessible to non-experts
✓ Takes the data engineering off the plate
of your data scientists
58
▪Thank You
▪For More Information visit
▪www.snaplogic.com
▪Follow Us on
▪Twitter: snaplogic Facebook: Snaplogic