This document provides an overview of Mule, an open source lightweight messaging framework and object broker. It discusses that Mule can be deployed as an ESB but is not limited to that topology. The document then covers Mule's origins, architecture based on Enterprise Integration Patterns and Staged Event-Driven Architecture, and its dual nature as both a messaging framework and distributed object broker.
The objective of this tutorial is to demonstrate the implementation of Mule caching strategy with REDIS cache using Spring Data Redis module. Mule caching strategy is associated with Mule Cache scope and it is used to define the actions a cache scope takes when a message enters its subflow. In this tutorial, we will be using a simple use case to show the steps require to cache the query results of an Oracle database table into Redis cache using Spring Data Redis module.
The objective of this tutorial is to demonstrate the workaround needed to invoke an Oracle Stored Procedure
from Mule ESB flow by passing Java arrays as parameters.
The use case for this tutorial is a simple one such as inserting student records from a CSV file into an Oracle
database table through a stored procedure where one of the parameters is an array holding the student’s marks.
Paul's presentation at SOA Workshop,Colombo,Sri Lanka identifies how ESBs fit into a Service Oriented Architecture, discusses when to use an ESB and when not to, looks at ESB patterns and anti-patterns, covers some simple ESB approaches and investigates how ESBs can fit into EDA.
SOA Summer School: Best of SOA Summer School – Encore Session WSO2
This wrap-up session of WSO2's SOA Summer School brings you the best of all sessions conducted over the past 8 weeks. Enterprise architects, developers, consultants and business analysts can now gain an overall understanding of SOA concepts and implementations of end-to-end SOA solutions.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
2. The speaker
Mule in Action, coauthor
Project despot of Mule JCR Transport
Common Retry Policies
HTML Dashboard
Mule Community Committee Member
Lead of NxBRE
Judge for the Jolt Awards
And a few other stuff...
3. Nonagenda
eMule
Mule pre 2.2.0, EE
Tutorial
Works on my machine
Alternative configurations
4. Agenda
Introduction
Exploration
Construction
In Action
7. What? No ESB? No SOA?
ESB is a deployment topology
Mule can be deployed as ESB
But also: ESN, Hub and spoke...
SOA can leverage an ESB
Just an extra tool in a tool box
Mule has no dogma nor methodology
More on this later...
8. And what about Java?
Written in Java
Leverages zillions of Java open source
libraries
Can do a lot without Java though
XML and Groovy can go a long way
9. Genesis
Founded by Ross Mason
SourceForge project created in April 2003
Version 1.0 in April 2005
Moved to CodeHaus
Architecture based on:
EIP
SEDA
10. EIP
Enterprise Integration Patterns
Hohpe & Woolf (2004)
Gave Mule its lingo
Endpoints, Transformers...
Routers, Bridge...
Gives us patterns & iconography
http://www.enterpriseintegrationpatterns.com
11. SEDA
Staged EventDriven Architecture
Welsh (2001)
Disciplined approach to overload management
Eventdriven application
Stages connected by queues
Graceful degradation under load
By default Mule is asynchronous and SEDA
12. What's in a name?
”After working on a couple of bespoke ESB
systems, I found that there was a lot of
infrastructure work to be done before you can
really start thinking about implementing any logic.
I regard this infrastructure work as 'donkey work'
as it needs doing for every project. I preferred
Mule over Donkey and Ass just didn't seem right.
A Mule is also commonly referred to as a carrier
of load, moving it form one place to another. The
load we specialise in moving is your enterprise
information.”
Ross Mason
19. Dual competition
Integration
frameworks
Camel ✔ Strictly EIP
Spring Integration ✔ DI oriented
ESBs
Apache, WSO2, ✔ Web service
OW, JBoss oriented
Big vendors ✔ Tooling
✔ Doodleware
20. Dual offer
Community Edition
Stable “enough”
Upgrades can be rocky
Enterprise Edition
Supported, stabler
Enterprise features
MQSeries connectors, retry policies
Monitoring tool (MuleHQ)
21. Key benefits I
Proven product
Used in many worldclass applications
Sound architecture
Drastically refined in Mule 2
Numerous protocols and extensions
From MuleSource and MuleForge
Spring & Maven oriented
22. Key benefits II
Good tooling
Mule IDE
Galaxy
Active community
Support, MuleForge
Shared code base CE / EE
Professional support available
23. Main drawbacks
Unified messaging abstraction
Acts as a potential keyhole on the real deal
Brings its own idiosyncrasies
Like any framework...
Standards based but not standards compliant
But what standards? JBI? SCA?
Not fully EIP but uses much of its lingo
25. ”A messaging framework”
Mule is about abstraction and adaptation
Message
Protocol
As a framework
You can code to it
Wisely
You can extend almost every aspect of it
Wisely
36. Mule service
Wider definition than strict SOA
Both inbound and outbound are considered
Service can have business logic or not
Message routing is done by services
Role defined by messaging style
Four main styles
46. Endpoints
Communication ”touch points”
Configured
Locally in services
Inbound and outbound
Globally
Named
“Unbound”
Used locally in or out
51. Transformers
Message payload
Generic
Bytes to string, compression, XSLT...
Transport
JMS to object, String to email...
Message properties
CRUD
Round trip alter egos
52. Transformers
Configured
Locally on endpoints
In / response and out
Globally
Named
Used locally in or response
Sometimes invisible (transport)
Can be composed
Rolling your own is rare
54. Components
Messaging behavior
Bridge, Log
Reflection message builder
Remote service proxy
Business behavior
Instantiation by Mule or Spring
Pure POJO or Mule aware
Can be pooled
59. Anything else?
Connectors
Transport specific configuration
Model
Shared configuration & behavior for services
Interceptors
To add crosscutting concerns around
components
61. The mysterious Mule client
Why a client?
Inmemory access to an instance
Message generation
Functional testing
Remote access to an instance
Proprietary remote invoker
Raw transport usage
64. What do we build?
Standalone Embedded
Project structure Java application
NetBoot Web application
Repository artifacts EJB application
JCA resource
65. Just ship it!
A Mule project is just a bunch of XML files
Tinker with them a little
Ship them to production
And you are good to go!
Right?
66.
67. No escape from SD laws!
Practices
Middleware development
TDD
Repeatable builds
Repeatable deployments
Tools
SCM
Continuous integration
68. Middleware development
practices
Do not get coupled with the middleware
Contain Mule related code to Mule aware
classes
Transformers, interceptors
Caching
Timeouts
Efficient logging and manageability
69. Unit Testing
For components, transformers...
Outside of Mule
xUnit
79. Maven
Mule is available as a set of artifacts
Core, transports, modules
With petazillions of dependencies
Distribution packs them all
Specific archetypes
New project
New transport
Galaxy publication
80. Spring
Code is independent from Spring
Configuration is fully Spring XML
With specific schemas
Use Spring configuration practices
DI, properties, multiple files...
Use Spring goodness
Specific elements, MBean exporter...
Mule's context can use a Spring parent
Bean reuse
81. Unleashing Mule II
Specific knowledge
VM Transport
Transport configuration
Expressions
Scripting
Entry point resolvers
Notifications
82. VM Transport
Inmemory named pipe
Direct or queuing
Can be disk persistent
What you can not solve with one service
You solve it with two services
And a VM Queue in between!
83. Transport configuration
Know the underlying transport
Understand what Mule hides & controls
Learn the configuration options
Including alternative adapters, transformers
Leverage the transportspecific properties
Inbound and outbound
Read the source code
84. Expressions
Dynamic properties in configuration
#[evaluator:expression]
Filters, transformers, endpoint URIs
Usually evaluated on the current message
Standalone and Mulewide evaluators exist
Many evaluators available
Groovy, XPath, Map Payload, OGNL...
Can also be invoked from code
86. Scripting
Any JSR223 engine
Groovy bundled with the scripting module
Rhino bundled with JDK 1.6
Transformers, components, expressions
Good for nongeneric ones
Concise syntax (i.e. nonJava)
Inlined or standalone scripts
Spring Scripted Beans are also an option
88. Entry point resolvers
Secret behind Mulefree components
Locate the method to call
Several resolvers available
Reflection, array, no argument, method name
By default, Mule uses a set of resolvers
Add a transformation in front to better resolve
By type or directly by name
92. The tough questions
SOAP or REST? Monitoring
Transactions Auditing
Exception handling High availability
Security Hot reload
Scheduling Governance
Orchestration Performance
93. SOAP or REST?
SOAP transports REST transports
CXF Abdera
Axis Jersey
Restlet
94. Transactions
Supported by a handful of transports
VM, JDBC, JMS
Mostly useful for bridging
Like Queue to Topic
Consider eventual consistency
Conversation based
Idempotent services
Compensation
95. Exception handling
Exceptions are handled at several levels
Connector and service
Retry policies
Different strategies
Logging, dispatch to endpoint
Transaction rollback
Exception based outbound router
Localized error handling via fallback
96. Security
Secure endpoints
Authentication and authorization
Secure payload
Encryption
Security manager
Can delegate to Spring Security
Can use JAAS
Transport security handled at connector level
97. Scheduling
Based on Quartz
In inbound router
To regularly send a fix payload
To request an endpoint (polling)
In outbound router
To schedule a delayed dispatch
98. Orchestration
Trivial, short lived
Message flow is the orchestration
Component binding, chaining router
Complex, long lived
Messages trigger worflow steps
jBPM (native)
Orchestrator triggers services
ActiveBPEL (via WS)
100. Monitoring
Standard Java middleware
Monitor JVM with SNMP or JMX
Monitor Mule with JMX
Monitor external channels
Queues filling up, DB not refreshed...
EE relies on MuleHQ
Based on Hyperic
101. Auditing
Hard with distributed heterogeneous systems
Watermark messages with correlation ID
Standard with JMS
Ad hoc with other transports
Always log correlation ID with all messages
Mule takes great care of correlation ID
102. High availability
Easily achieved with stateless instances
Redundancy & network load balancer
Clustering needed with stateful instances
EE will offer GigaSpaces
Terracotta
DB, in some cases
ID store for idempotent receiver
103. Mythical hot reload
Everybody wants it
Really?
Mule configuration can be hot reloaded
Since 2.2.2
Mule libraries are OSGi bundles
But Mule is not (yet) running on OSGi
104. Governance
Publicly exposed services are commitments
Required by compliance rules
Galaxy
Repository and registry
Versioning
Backwards compatibility check
Galaxy EE is HA
107. Performance I
Beware benchmarks
SEDA is tricky to tune
Many thread pools
Some not directly handled by Mule
Threading
Configured with profiles
Affected by transactions, synchrony
Follow MuleSource's methodology
108. Performance II
Consider streaming
Smooks for efficient processing
Tune the transports
HTTP chunking, JMS acking...
Profile first!
YourKit Profiler Pack
111. To ESB or not? I
ESB in the middle of all service calls
Looks good on slides
But a big mess inside
Remember Jim Webber
“Guerilla SOA”
ESB == “Egregious Spaghetti Boxes”
http://bit.ly/gsoa
112. To ESB or not? II
“A good ESB is a dead ESB”?
Decision points: http://bit.ly/toesbornot
“MuleSource is Open for Integration.”
Don't get confused on branding/naming
ESB is a topology not a tool
There are others...
113. Topology
ESB
JMS backbone
ESN
Direct service to service
Hub & Spoke
Centralized broker
Client / Server
...
114. Methodology
None officially preached by MuleSource
But lots of experience with many clients
Fits with the one inhouse
Nespresso Open Architecture (NesOA)
Read MuleSource's articles
To get the gist of their approach
Pragmatism first!
115. Bottomup SOA
” I’ve seen firsthand that the more successful
enterprises that have adopted SOA have done so
at the grassroots level.
(...) Certainly many of our customers choose Mule
not on a strategic initiative, but because they have
pockets of successful implementations and decide
to work with us to help pull the pieces together.”
http://bit.ly/bupsoa
Ross Mason
117. Getting started
www.mulesource.org
Download CE, browser user guide
www.mulesource.com
Professional support
http://code.google.com/p/muleinaction/
Mule in Action source code
118. Going further
Submit bug reports
Improve the online documentation
Contribute transports, modules, examples
MuleForge
Blog about your Mule adventure
Let MuleSource know