5. 5
Fewer concepts & steps
Java skills optional
Improved tools & error
reporting
CORE CONNECTOR UPDATES
SIMPLER CONNECTORS EXPERIENCE
DATAWEAVE EXPRESSION LANGUAGE
LARGER THAN MEMORY STREAMS
STRONGER TYPING
TWO-WAY EDITING
DATA SENSE EVERYWHERE
SIMPLER SYNTAX
MULE SDK
JAVA & SPRING USAGE OPTIONAL
IMPROVED LARGE PAYLOAD HANDLING
RETRIES BUILT_IN
BETTER DEFAULTS
Best practices built-in
6. 6
SEAMLESS DATA ACCESS &
TRANSPARENT STREAMING
payload.email
match /([a-z]*)@([a-z]*).com/
DataWeave expression language
Decreased time to learn
Easy access to payloads without
transformation
Larger than memory handled
automatically
Complex routing/filtering rules
Java expertise optional
payload map {
name: $.name,
dob: $.dateOfBirth as :date,
title: lookup($.titleCode),
…
}
7. 7
Updated File, FTP, JMS, VM & more
Operation based experience enables
onramp & advanced features
Java skills optional
Retries built-in
Released independent from runtime
for faster innovation
CONNECTIVITY, SIMPLIFIED
8. 8
SIMPLIFIED ERROR HANDLING
& TRY SCOPE
New try block - catch errors
anywhere flows
See errors at design time
Simplified syntax when you are
using transactions and error
handling
Re-propagate errors
Java Exceptions aren’t needed
(but you can still use them!)
<try
transactionalAction=”ALWAYS_BEGIN”
transactionType=”XA”>
<http:request .. />
<email:send .. />
<error-handler>
<on-error type=”500_STATUS_CODE”>
<notify-admin-of-possible-bug/>
</on-error>
<on-error type=”CONNECTIVITY”>
<notify-admin-critical-error/>
<on-error>
<on-error type=”WRONG_ADDRES”>
<send-email/>
</on-error>
</error-handler>
</try>
9. 9
STUDIO 7
Improved palette
with favorites
Deeper Maven
integration
Quick navigation
between XML and
visual views
Collapsible scopes
Improved
metadata support
16. INTELLIGENT, SELF-TUNING RUNTIME
Reactive, non blocking
engine
Dynamically self-tunes based
on workload
Global thread pool, with
reduced memory footprint
No more exchange patterns
18. MULE API
Core
EXTENSIONS API
MULE API & SDK
Single extensibility layer
Consistent UX for all
connectors
Best practices built in
Easily code more
advanced features such
as transactions
19. 19
MULE SDK
Single way to extend
Mule
Enforces common UX
& best practices
Annotation based
Transaction support
Stateful operations
No code generation
public class FileSystemOperations
{
@Summary("Obtains the file contents.")
public OperationResult read(
@UseConfig FileConnectorConfig config,
@Connection FileSystem fileSystem,
Message message,
@DisplayName("File Path") String path,
@Optional(defaultValue = "false") boolean lock)
{
fileSystem.changeToBaseDir();
return fileSystem.read(config,
message,
path,
lock);
}
}
20. NEW WAYS TO EASILY EXTEND MULE
Java Flows API Specs
24. 24
Migration Tools
Compatibility Modules
Mule expression language
Transports
Deprecated message processors
Application Migration Tool
Devkit Migration Tool
ADOPT EASILY
& AT YOUR
OWN PACE
Continued support
and enhancements3.X