SlideShare uma empresa Scribd logo
1 de 27
08th July 2023
Calicut MuleSoft Meetup Group
#10 Maven and Mule
Safe Harbour Statement
● Both the speaker and the host are organizing this meet-up in individual capacity only. We are
not representing our companies here.
● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any
responsibility that same solution will work for your business requirements.
● This presentation is not meant for any promotional activities.
2
A recording of this meetup will be uploaded to events page within 24 hours.
Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab.
Make it more Interactive!!!
Give us feedback! Rate this meetup session by filling feedback form at the end of the day.
We Love Feedbacks!!! Its Bread & Butter for Meetup.
Housekeeping
3
Organizers
Fathima Farzana
NJC Labs
MuleSoft / Integration Developer
John Mathew Philip
NJC Labs
MuleSoft / Integration Developer
Anoop Ramachandran
NJC Labs
Technical Instructor / Integration Architect
5
● What is Maven?
● What is POM and different tags in POM.
● Maven as dependency management.
● Maven as build management. - Maven Lifecycles, Maven phase vs goals,
● Mule Maven plugin
● Using settings.xml
● Deploy application to Cloudhub using Mule Maven Plugin.
● Deploy assets to exchange using Mule Maven Plugin and Exchange Mule Maven Plugin.
Agenda
What is Maven?
7
- Maven is a popular build automation and project management tool used primarily in Java-based
projects.
- Provides a framework for managing software builds, dependencies, and project configurations.
- Maven helps simplify the software development process by automating tasks such as compiling
source code, managing libraries and dependencies, running tests, packaging applications, and
generating project documentation.
Maven uses a project object model, defined in an XML file called “pom.xml”, to configure and
manage project settings.
Maven
The POM
9
- Project Object Model File
- Contains important informations related to the project.
- Packaging type
- dependencies and their repository where they reside
- Build configurations and plugin management
- pom.xml implicitly inherits Super POM
The POM
Maven as Dependency
Management
11
- Everything in Maven use coordinates
groupId + artifactId + version
Maven Coordinates
12
- Manages all dependencies and transitive dependencies
- Maven has a workflow to download dependencies.
Dependency Management
Maven as Build Management
14
- Maven is responsible for building the project and providing the deployable
archive (JAR file).
- Maven uses three lifecycle phases in their build management. (the build
lifecycles)
- default, site, clean
- the default lifecycle consists of the phases
- validate, initialize, compile, test, package, verify, install, deploy
- A lifecycle is made up of cascading ordered phases, with each phase
executing all the proceeding phases leading up to it.
Build Management
Mule Maven Plugin
16
- Mule Maven Plugin is built by Mulesoft to bind mule specific functionality to
maven phases.
- For example:
- mvn package will produce a jar file.
- mvn deploy will do a “mvn package” i.e to produce a jar file and deploy that jar to configured
environments like CH, RTF, Standalone etc.,
- https://docs.mulesoft.com/mule-runtime/4.3/mmp-concept
Mule Maven Plugin
Using Settings.xml
18
Settings.xml File
- The settings element in the settings.xml file contains elements used to define
values which configure Maven execution in various ways.
- The repositories for download and deployment are defined by the repositories
and distributionManagement elements of the POM. However, certain settings
such as username and password should not be distributed along with the
pom.xml. This type of information should exist on the build server in the
settings.xml.
Deploy application to Cloudhub using
Mule Maven Plugin
Cloudhub deployment
- You could deploy mule
applications to Cloudhub
via maven by adding
configuration inside
mule-maven-plugin.
> mvn -DmuleDeploy deploy
20
Deploy assets to exchange using
Mule Maven Plugin &
Exchange Mule Maven Plugin
Exchange Mule Maven Plugin
- With the Anypoint Exchange Maven Facade
API, Apache Maven clients can publish and
consume Exchange assets, including these
asset types:
- Connectors
- Mule applications
- Examples
- Templates
- Policies
- Custom assets
- https://docs.mulesoft.com/exchange/
to-publish-assets-maven
22
24
● https://maven.apache.org/what-is-maven.html
● https://maven.apache.org/pom.html
● https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
● https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
● https://maven.apache.org/guides/plugin/guide-java-plugin-development.html
● https://maven.apache.org/settings.html
● https://docs.mulesoft.com/mule-runtime/4.4/deploy-to-cloudhub
● https://docs.mulesoft.com/exchange/to-publish-assets-maven
References
Q&A
Take a stand !
26
●Nominate yourself for the next meetup speaker and suggest a topic as well.
27
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/calicut/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
Thank You

Mais conteúdo relacionado

Semelhante a #10 Calicut Mulesoft Meetup - Maven And Mule.pptx

Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
Holasz Kati
 

Semelhante a #10 Calicut Mulesoft Meetup - Maven And Mule.pptx (20)

Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Maven
MavenMaven
Maven
 
Mavennotes.pdf
Mavennotes.pdfMavennotes.pdf
Mavennotes.pdf
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven – The build paraphernalia
Maven – The build paraphernaliaMaven – The build paraphernalia
Maven – The build paraphernalia
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Your new maven friend – the mule maven
Your new maven friend – the mule mavenYour new maven friend – the mule maven
Your new maven friend – the mule maven
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Maven basics
Maven basicsMaven basics
Maven basics
 
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptxBrisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Maven
MavenMaven
Maven
 

Último

Último (20)

THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 

#10 Calicut Mulesoft Meetup - Maven And Mule.pptx

  • 1. 08th July 2023 Calicut MuleSoft Meetup Group #10 Maven and Mule
  • 2. Safe Harbour Statement ● Both the speaker and the host are organizing this meet-up in individual capacity only. We are not representing our companies here. ● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any responsibility that same solution will work for your business requirements. ● This presentation is not meant for any promotional activities. 2
  • 3. A recording of this meetup will be uploaded to events page within 24 hours. Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab. Make it more Interactive!!! Give us feedback! Rate this meetup session by filling feedback form at the end of the day. We Love Feedbacks!!! Its Bread & Butter for Meetup. Housekeeping 3
  • 4. Organizers Fathima Farzana NJC Labs MuleSoft / Integration Developer John Mathew Philip NJC Labs MuleSoft / Integration Developer Anoop Ramachandran NJC Labs Technical Instructor / Integration Architect
  • 5. 5 ● What is Maven? ● What is POM and different tags in POM. ● Maven as dependency management. ● Maven as build management. - Maven Lifecycles, Maven phase vs goals, ● Mule Maven plugin ● Using settings.xml ● Deploy application to Cloudhub using Mule Maven Plugin. ● Deploy assets to exchange using Mule Maven Plugin and Exchange Mule Maven Plugin. Agenda
  • 7. 7 - Maven is a popular build automation and project management tool used primarily in Java-based projects. - Provides a framework for managing software builds, dependencies, and project configurations. - Maven helps simplify the software development process by automating tasks such as compiling source code, managing libraries and dependencies, running tests, packaging applications, and generating project documentation. Maven uses a project object model, defined in an XML file called “pom.xml”, to configure and manage project settings. Maven
  • 9. 9 - Project Object Model File - Contains important informations related to the project. - Packaging type - dependencies and their repository where they reside - Build configurations and plugin management - pom.xml implicitly inherits Super POM The POM
  • 11. 11 - Everything in Maven use coordinates groupId + artifactId + version Maven Coordinates
  • 12. 12 - Manages all dependencies and transitive dependencies - Maven has a workflow to download dependencies. Dependency Management
  • 13. Maven as Build Management
  • 14. 14 - Maven is responsible for building the project and providing the deployable archive (JAR file). - Maven uses three lifecycle phases in their build management. (the build lifecycles) - default, site, clean - the default lifecycle consists of the phases - validate, initialize, compile, test, package, verify, install, deploy - A lifecycle is made up of cascading ordered phases, with each phase executing all the proceeding phases leading up to it. Build Management
  • 16. 16 - Mule Maven Plugin is built by Mulesoft to bind mule specific functionality to maven phases. - For example: - mvn package will produce a jar file. - mvn deploy will do a “mvn package” i.e to produce a jar file and deploy that jar to configured environments like CH, RTF, Standalone etc., - https://docs.mulesoft.com/mule-runtime/4.3/mmp-concept Mule Maven Plugin
  • 18. 18 Settings.xml File - The settings element in the settings.xml file contains elements used to define values which configure Maven execution in various ways. - The repositories for download and deployment are defined by the repositories and distributionManagement elements of the POM. However, certain settings such as username and password should not be distributed along with the pom.xml. This type of information should exist on the build server in the settings.xml.
  • 19. Deploy application to Cloudhub using Mule Maven Plugin
  • 20. Cloudhub deployment - You could deploy mule applications to Cloudhub via maven by adding configuration inside mule-maven-plugin. > mvn -DmuleDeploy deploy 20
  • 21. Deploy assets to exchange using Mule Maven Plugin & Exchange Mule Maven Plugin
  • 22. Exchange Mule Maven Plugin - With the Anypoint Exchange Maven Facade API, Apache Maven clients can publish and consume Exchange assets, including these asset types: - Connectors - Mule applications - Examples - Templates - Policies - Custom assets - https://docs.mulesoft.com/exchange/ to-publish-assets-maven 22
  • 23. 24 ● https://maven.apache.org/what-is-maven.html ● https://maven.apache.org/pom.html ● https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html ● https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html ● https://maven.apache.org/guides/plugin/guide-java-plugin-development.html ● https://maven.apache.org/settings.html ● https://docs.mulesoft.com/mule-runtime/4.4/deploy-to-cloudhub ● https://docs.mulesoft.com/exchange/to-publish-assets-maven References
  • 24. Q&A
  • 25. Take a stand ! 26 ●Nominate yourself for the next meetup speaker and suggest a topic as well.
  • 26. 27 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/calicut/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?