SlideShare a Scribd company logo
1 of 43
Download to read offline
Integrate (Yourself) with the Apache Software Foundation
Krzysztof Sobkowiak
V.P. Apache ServiceMix & ASF Member
Who am I?
➢ Member
➢ Apache ServiceMix Committer & PMC Chair (V.P. ServiceMix)
➢ Contributor @ Apache Karaf, Apache CXF, Apache ActiveMQ,
Apache Camel
Apache Software
Foundation
Apache Software
Foundation
➢ Senior Solution Architect, Trainer
➢ Java enterprise solutions, system integration
CapgeminiCapgemini
➢ RoboCAP – programming & robot workshops for kids
➢ OASP – Open Application Standard Patform
Other activitiesOther activities
Who am I?
DisclaimerDisclaimer
Views in this presentation are my personal views and does not
necessarily reflect the views of Apache Software Foundation
Outline
➢ What is it: Apache Software Foundation
➢ How does it work: Apache Way
➢ Who does the work: Apache Projects
➢ Apache ServiceMix
➢ How to start: Contributing
The ASF – What is it?
➢ Informal corporate structure
➢ 8 members
➢ Resumed work on NCSA httpd in Feb. 1995
➢ Chose permissive licensing
The Apache GroupThe Apache Group
➢ ASF = The Apache Software Foundation
➢ Non-profit corporation founded in 1999
➢ Initially 21 members
➢ Volunteer organization
➢ Virtual world-wide organization
The Apache Software
Foundation
The Apache Software
Foundation
Structure of the ASF
FoundationFoundation Top Level Projects (TLPs)Top Level Projects (TLPs)
➢ ASF Members
➢ Cross-project community
➢ Board
➢ Elected by ASF members annually
➢ Manage and oversee the corporation, its
assets and resources
➢ Technical authority assigned to PMCs
➢ Officers
➢ Oversee the day-to-day affairs
➢ Elected by the board
➢ ASF Members
➢ Cross-project community
➢ Board
➢ Elected by ASF members annually
➢ Manage and oversee the corporation, its
assets and resources
➢ Technical authority assigned to PMCs
➢ Officers
➢ Oversee the day-to-day affairs
➢ Elected by the board
➢ Users
➢ Contributors
➢ Committers
➢ Project Management Committee (PMC)
➢ Technical management
➢ Establish rules, report to board
➢ has a Chair appointed by the board (VP) -
eyes and ears of the board (oversight only)
➢ Oversee legal aspects and community
health
➢ Users
➢ Contributors
➢ Committers
➢ Project Management Committee (PMC)
➢ Technical management
➢ Establish rules, report to board
➢ has a Chair appointed by the board (VP) -
eyes and ears of the board (oversight only)
➢ Oversee legal aspects and community
health
The ASF by Numbers
9 Board
Members
ASF
The ASF's Mission
➢ Provide open source software to public free of charge
➢ Let the coders code – foundation exists to do the rest
What?What?
➢ Infrastructure for open source development
➢ Legal entity for donation purposes
➢ Shelter from law suits
➢ Protection of the Apache brand
How?How?
Apache's Tagline
We are more than a group of projects sharing a server, we are a community of developers and users.
http://people.apache.org/map.html
Challenges and advantages arise
from this !!
Outline
➢ What is it: Apache Software Foundation
➢ How does it work: Apache Way
➢ Who does the work: Apache Projects
➢ Apache ServiceMix
➢ How to start: Contributing
The Apache Way
Meritocracy
Those who do,
decide
Peer-based
Participate as
individuals
Oversight
Responsible and
independent
Collaboration
Public and
asynchronous
Decisions
Made by
consensus
Outline
➢ What is it: Apache Software Foundation
➢ How does it work: Apache Way
➢ Who does the work: Apache Projects
➢ Apache ServiceMix
➢ How to start: Contributing
Apache Projects
➢ Over 160 top-level projects (TLPs)
➢ Diversity
➢ Java, C, C++, Perl, …
➢ Leading technology
➢ Web servers, Java tools & stacks, search, cloud, big
data, build tools, CMS/web framework, databases,
OSGi containers, integration frameworks, graphics, …
➢ And end user Office suites!
➢ Over thirty projects currently in “pipeline”
https://projects-new.apache.org/
➢ It’s okay for projects to be in “same” space
➢ Ant/Maven, Pig/Hive, Axis/CXF...
➢ “Competing” project technology is OK
➢ If an active community following the Apache
Way wants to join, great!
Apache Projects
➢ Apache does not pay for development
➢ Voluntary contributions only!
➢ Many (not all!) developers are paid by a third-party to work on the
project
➢ Foundation bears indirect support costs
➢ Infrastructure, publicity, etc.
Who pays?Who pays?
Apache Projects
Outline
➢ What is it: Apache Software Foundation
➢ How does it work: Apache Way
➢ Who does the work: Apache Projects
➢ Apache ServiceMix
➢ How to start: Contributing
ServiceMix
What is it?What is it?
➢ Flexible, open-source integration container
➢ Powered by OSGi
Main featuresMain features
➢ OSGi-based runtime powered by Apache Karaf
➢ Reliable messaging with Apache ActiveMQ
➢ Messaging, routing and EIP with Apache Camel
➢ SOAP/REST web services with Apache CXF
ServiceMix
The beginningThe beginning
➢ Started in 2005 to implement the Java Business Integration specification
➢ Decoupling of the components (business, technical) by using XML messages
➢ Define a model to package/deploy applications (SU/SA)
➢ Transport layer → Normalized Message Router
https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.1/html-single/JBI_Development_Guide/images/jbi_architecture.jpg
ServiceMix Architecture
SMX
ServiceMix Kernel
Apache KarafApache Karaf
➢ Small OSGi based server
➢ Lightweight container where applications, components, routes, etc.
can be deployed
➢ Modular system – install features you need
➢ Supported runtimes
➢ Apache Felix
➢ Eclipse Equinox
Application typesApplication types
➢ OSGi Blueprint, DS or plain bundles
➢ Spring DM bundles (legacy)
➢ Camel routes
➢ Business rules & processes
ServiceMix Kernel
FeaturesFeatures
➢ Hot deployment
➢ Dynamic configuration
➢ Logging system
➢ Provisioning system (features, OBR, KAR, EBA, ESA)
➢ Native OS integration
➢ Security integration (JAAS → ldap, jdbc, file, …)
➢ Managed instances
➢ Versioning
➢ Service Registry
➢ Clustering (Master/Slave with jdbc or file lock)
➢ ….
http://karaf.apache.org/images/karaf2.png
ServiceMix Kernel
AdministrationAdministration
➢ Extensible Shell Console (local, remote, ssh)
➢ JMX
➢ Web Console
➢ Hawt.io
Messging and Routing
Apache CamelApache Camel
➢ Open Source integration framework
➢ Implements EIP paterns (book by Gregor Hohpe)
➢ Provides word definition, grammar and language when when
designing integration solutions
➢ Uses Domain Specific Languages – XML, Java, Scala,...
➢ Features:
➢ In memory bus ←→ Alternative to JBI using NMR
➢ Route objects → can be XML, File, Stream, Bytes, …
➢ Transactional architecture
➢ Sync/Async exchanges
➢ Error and exception handling
➢ ...
Messging and Routing
➢ More than 50 EIPs implemented
Aggregator Channel
Adapter
Channel Channel
Purger
Command
Message
Competing
Consumers
Content
Based
Content
Filter
Control Bus Correlation
ID
Content
Enricher
Datatype
Channel
Dead Letter
Channel
Detour
Composed
Message
Document
Message
Durable
Subscriber
Envelope
Wrapper
Event-Driven
Consumer
Event Message Message
Filter
Guaranteed
Delivery
Message
Bus
Message
Dispatcher
Message
Endpoint
Message Message BranchInvalid
Message
C
A B
D
!
E
http://camel.apache.org/enterprise-integration-patterns.html
Messging and Routing
➢ More than 100 components
http://camel.apache.org/components.html
Messging and Routing
➢ Many data formatters
➢ Simplify data exchange between
layers and applications
➢ Example: JAXB, Bindy,...
➢ Use marshaller (xml → object) and
unmarshaller (object → xml)
http://camel.apache.org/data-format.html
Messging and Routing
Web Services
Apache CXFApache CXF
➢ Simplifies the creation and deployment of web services
➢ Java to WSDL
➢ WSDL to Java
➢ Supported standards
➢ JAX-WS → SOAP Services (SOAP/XML)
➢ JAX-RS → RESTfull Services (JSON)
➢ SOAP 1.1, 1.2, WSDL 1.1
➢ WS-Security – secures the client/server connection
➢ WS-Addressing – data exchange in SOAP header for the routing
➢ WS-RM – message delivery guarantee
➢ DOSGi – reference implementation of OSGi Remote Services
specification
Reliable Messaging
Apache ActiveMQApache ActiveMQ
➢ A high performance, reliable message broker
➢ Persistence for messages
➢ Bridge between broker instances
➢ Languages for client – Java, C, C++, C#, Ruby, …
➢ Protocols – OpenWire, Stomp, AMQP, MQTT
➢ Publish/subscribe, point to point, request and reply
➢ Clustering and Fault Tolerance
➢ ...
https://access.redhat.com/documentation/en-US/Fuse_Message_Broker/5.4/html/Getting_Started/files/FuseMBStartedKeyJMS.html
Reliable Messaging
ArchitectureArchitecture
➢ Clients connect to the broker using connectors
➢ Topics and queues created dynamically
➢ File and jdbc message stores supported
➢ Network connectors control how the broker interacts with other brokers for
discovery, replication, failover, clustering...
http://activemq.apache.org/images/BrokerDiagram.png
ServiceMix
Additional featuresAdditional features
➢ Business rule engine with Drools
➢ BPM engine with Activiti
➢ JPA support and XA transactions via Apache Aries
➢ JPA implementations – Apache OpenJPA, Hibernate
➢ Web support via Jetty and Pax Web
➢ IoC support via Apache Aries and Spring
➢ CDI support via Pax CDI
Clustering & Fault Tolerance
KernelKernel
➢ Active/Passive mode with file/jdbc lock
➢ Bundles can be installed in Active/Passive mode
BrokerBroker
➢ Master/Slave with shared file system, shared database, replicated LevelDB
store
➢ Network of brokers
Apache Karaf CellarApache Karaf Cellar
➢ Allows powerful synchronisation of multiple ServiceMix instances
➢ Leverage Hazelcast data distribution
➢ Easy to install and use: just a feature to install on each node
➢ No point of failure (each node embeds Hazelcast instance)
➢ Provides DOSGi implementation
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQD7T4OSzA_2Vv-qJIEtiXp4PzIXki7Pq0W396k5z2Asfksh5sV
Federated SOA with Apache ServiceMix
Java Magazin 7.2014
ServiceMix Tooling
➢ Integration with InteliJ, Eclipse, Netbeans
➢ JBoss Tools Integration Stack
➢ JBoss Developer Studio
Outline
➢ What is it: Apache Software Foundation
➢ How does it work: Apache Way
➢ Who does the work: Apache Projects
➢ Apache ServiceMix
➢ How to start: Contributing
Contributing to ASF – Individuals
Why?Why? How?How?
➢ Better end easy recognition of work
➢ Publicly verifiable resume
➢ Work with best programmers, with the best
programming practices
➢ No managers, no boss
➢ Work on what you like when you like
➢ Discuss technical designs and issues in writing
➢ Networking opportunities
➢ Build software used by millions around the world
➢ ApacheCon
➢ Better end easy recognition of work
➢ Publicly verifiable resume
➢ Work with best programmers, with the best
programming practices
➢ No managers, no boss
➢ Work on what you like when you like
➢ Discuss technical designs and issues in writing
➢ Networking opportunities
➢ Build software used by millions around the world
➢ ApacheCon
➢ Apache wants voluntary contributions
➢ Documentation, Tutorials and Examples
➢ Helping others with queries and questions
➢ Issue / bug tracker triage
➢ Testing new fixes, helping reproduce problems
➢ Bug Fixes and New Features
➢ Writing add-ons and extensions
➢ Mentoring, volunteering for the Foundation
➢ Many different ways to get involved, all are
important!
➢ Apache wants voluntary contributions
➢ Documentation, Tutorials and Examples
➢ Helping others with queries and questions
➢ Issue / bug tracker triage
➢ Testing new fixes, helping reproduce problems
➢ Bug Fixes and New Features
➢ Writing add-ons and extensions
➢ Mentoring, volunteering for the Foundation
➢ Many different ways to get involved, all are
important!
Contributing to ASF – Companies
Why?Why? How?How?
➢ Recognition as company contributing to open
source
➢ Attract better people to come and join
➢ Make sure the technologies you use sustain
➢ Contributing developers
➢ Having in-house expertise
➢ Making sure you can influence the directions
➢ Free training for your developers in all aspects of
development, management, QA and maintenance
➢ Pooling the developers to work on a project
important to the company
➢ Recognition as company contributing to open
source
➢ Attract better people to come and join
➢ Make sure the technologies you use sustain
➢ Contributing developers
➢ Having in-house expertise
➢ Making sure you can influence the directions
➢ Free training for your developers in all aspects of
development, management, QA and maintenance
➢ Pooling the developers to work on a project
important to the company
➢ Provide testimonials about the OSS your
enterprise uses
➢ Allow staff members to work on OSS
libraries/applications used by your company
➢ Push changes to OSS back
➢ Host ASF club meetings on your premises
➢ Extract out and make open source the
libraries/applications developed in-house
➢ Free up the paid software/services for OSS
communities
➢ Contributing is easier than you think!
➢ Provide testimonials about the OSS your
enterprise uses
➢ Allow staff members to work on OSS
libraries/applications used by your company
➢ Push changes to OSS back
➢ Host ASF club meetings on your premises
➢ Extract out and make open source the
libraries/applications developed in-house
➢ Free up the paid software/services for OSS
communities
➢ Contributing is easier than you think!
My Journey
➢ First PR to Apache Karaf – PR#8 17.01.2013
➢ First discussion in Apache Karaf – 11.11.2013
➢ First patch in Apache ServiceMix – SM-2219 30.12.2013
➢ First discussion in Apache ServiceMix – 07.01.2014
➢ Involvement in designs discussions, implementations, dev/user
mailing lists, fixing bugs
➢ In the meantime getting elected as a committer – 04.2014
➢ First commit in Apache ServiceMix – 11.04.2014
http://svn.apache.org/r1585169
https://git1-us-west.apache.org/repos/asf?p=servicemix.git;a=commit;h=f7f0a603
http://git-wip-us.apache.org/repos/asf/servicemix/commit/f9dd4365
➢ Being a release manager and getting elected into PMC – 07.2014
➢ Nominated to be a PMC chair – 02.2015
➢ Electing to be a member of ASF – 04.2015
Start contributing
Choosing the right projectChoosing the right project How do I start?How do I start?
➢ English
➢ A programming language
➢ Debugging
➢ Passion
➢ Perseverance
➢ Time
➢ Filter by your interest area
➢ Filter by language
➢ Something you use
➢ Something you want to learn
➢ Using the project is very
important
➢ Choose your project
➢ Join the mailing list or forum
➢ Check out the code
➢ Download the binary and play with it
➢ Find open issues and feature requests
➢ Ask the developers on what you can
work on
➢ Sign ICLA
RequirementsRequirements
Become a committer (and not only)
Invitation of commit
access
Invitation of commit
access
➢ Current PMC member nominates individual
➢ Discussions on private@ list
➢ Key ?: Do we trust this individual?
➢ PMCs free to set own bar
Beyond a committerBeyond a committer
➢ Once you are committer, you can then become a
➢ PMC member
➢ foundation member
➢ Director...
➢ even President!
➢ You can nominate other foundation (or PMC) members; can serve as
mentor for Incubating projects; vote for Board.
➢ Thank you!
➢ Any questions?
➢ @Ksobkowiak
➢ ksobkowiak(at)apache.org
➢ krzys.sobkowiak(at)gmail.com
That's it
Apache, the Apache feather logo, Apache ServiceMix, Apache Karaf, Apache Camel, Apache CXF, Apache ActiveMQ and
other Apache project names mentioned in this presentation and their logos are trademarks of
The Apache Software Foundation in the United States and/or other countries.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.
➢ The Apache Software Foundation
➢ http://apache.org
➢ http://community.apache.org
➢ Apache ServiceMix
➢ http://servicemix.apache.org
➢ users@servicemix.apache.org
➢ #apache-servicemix @ irc.freenode.net
References
➢ Apache Karaf
➢ http://karaf.apache.org
➢ Apache Camel
➢ http://camel.apache.org
➢ Apache CXF
➢ http://cxf.apache.org
➢ Apache ActiveMQ
➢ http://activemq.apache.org
➢ Apache Aries
➢ http://aries.apache.org
➢ Apache Felix
➢ http://felix.apache.org
➢ Past Apache Way slides by Jim Jagielski, Shane Curcuru, Justin Erenkrantz and Ross Gardler
➢ Past Apache ServiceMix and Apache Karaf slides by Jean-Baptiste Onofré, Gert Vanthienen and
Charles Moulliard
Credits
This work is licensed under the Apache License, Version 2.0

More Related Content

What's hot

WebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo ConectadoWebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo ConectadoBruno Borges
 
Running open source PHP applications on you IBM i
Running open source PHP applications on you IBM iRunning open source PHP applications on you IBM i
Running open source PHP applications on you IBM iProximity Group
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)My own sweet home!
 
PHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel TourPHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel TourRod Flohr
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)Pavel Bucek
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafSerge Huber
 
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! David Delabassee
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Wardmfrancis
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspectiveJeff Potts
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsBen Krug
 
Using Apache Camel as AKKA
Using Apache Camel as AKKAUsing Apache Camel as AKKA
Using Apache Camel as AKKAJohan Edstrom
 
Install MariaDB on IBM i - Tips, troubleshooting, and more
Install MariaDB on IBM i - Tips, troubleshooting, and moreInstall MariaDB on IBM i - Tips, troubleshooting, and more
Install MariaDB on IBM i - Tips, troubleshooting, and moreRod Flohr
 
Web protocols for java developers
Web protocols for java developersWeb protocols for java developers
Web protocols for java developersPavel Bucek
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilitycherryhillco
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheColdFusionConference
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend frameworkAlan Seiden
 

What's hot (20)

WebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo ConectadoWebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo Conectado
 
Running open source PHP applications on you IBM i
Running open source PHP applications on you IBM iRunning open source PHP applications on you IBM i
Running open source PHP applications on you IBM i
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
 
PHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel TourPHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel Tour
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
 
Lecture 7: Server side programming
Lecture 7: Server side programmingLecture 7: Server side programming
Lecture 7: Server side programming
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karaf
 
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
 
10 common cf server challenges
10 common cf server challenges10 common cf server challenges
10 common cf server challenges
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Ward
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspective
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Using Apache Camel as AKKA
Using Apache Camel as AKKAUsing Apache Camel as AKKA
Using Apache Camel as AKKA
 
Install MariaDB on IBM i - Tips, troubleshooting, and more
Install MariaDB on IBM i - Tips, troubleshooting, and moreInstall MariaDB on IBM i - Tips, troubleshooting, and more
Install MariaDB on IBM i - Tips, troubleshooting, and more
 
Web protocols for java developers
Web protocols for java developersWeb protocols for java developers
Web protocols for java developers
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalability
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend framework
 

Similar to Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015

Integrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionIntegrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionKrzysztof Sobkowiak
 
Opensource development and apache software foundation
Opensource development and apache software foundationOpensource development and apache software foundation
Opensource development and apache software foundationEran Chinthaka Withana
 
Maven university-course
Maven university-courseMaven university-course
Maven university-courseOlivier Lamy
 
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache AccumuloReal-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache AccumuloJoe Stein
 
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...Accumulo Summit
 
Oracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódOracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódMarketingArrowECS_CZ
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solutionNguyen Hai
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat OverviewMandi Walls
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topicsrahulbot
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stackJohan Edstrom
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...OpenShift Origin
 
Open Audit
Open AuditOpen Audit
Open Auditncspa
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerCiNPA Security SIG
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Introduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceIntroduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceJen Wei Lee
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experienceIgor Anishchenko
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experienceAlex Tumanoff
 

Similar to Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015 (20)

Integrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionIntegrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full Version
 
Opensource development and apache software foundation
Opensource development and apache software foundationOpensource development and apache software foundation
Opensource development and apache software foundation
 
Maven university-course
Maven university-courseMaven university-course
Maven university-course
 
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache AccumuloReal-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo
 
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ...
 
Oracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódOracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kód
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solution
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topics
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
 
Open Audit
Open AuditOpen Audit
Open Audit
 
Apache
Apache Apache
Apache
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec Primer
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Introduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceIntroduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital Workplace
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015

  • 1. Integrate (Yourself) with the Apache Software Foundation Krzysztof Sobkowiak V.P. Apache ServiceMix & ASF Member
  • 2. Who am I? ➢ Member ➢ Apache ServiceMix Committer & PMC Chair (V.P. ServiceMix) ➢ Contributor @ Apache Karaf, Apache CXF, Apache ActiveMQ, Apache Camel Apache Software Foundation Apache Software Foundation ➢ Senior Solution Architect, Trainer ➢ Java enterprise solutions, system integration CapgeminiCapgemini ➢ RoboCAP – programming & robot workshops for kids ➢ OASP – Open Application Standard Patform Other activitiesOther activities
  • 3. Who am I? DisclaimerDisclaimer Views in this presentation are my personal views and does not necessarily reflect the views of Apache Software Foundation
  • 4. Outline ➢ What is it: Apache Software Foundation ➢ How does it work: Apache Way ➢ Who does the work: Apache Projects ➢ Apache ServiceMix ➢ How to start: Contributing
  • 5. The ASF – What is it? ➢ Informal corporate structure ➢ 8 members ➢ Resumed work on NCSA httpd in Feb. 1995 ➢ Chose permissive licensing The Apache GroupThe Apache Group ➢ ASF = The Apache Software Foundation ➢ Non-profit corporation founded in 1999 ➢ Initially 21 members ➢ Volunteer organization ➢ Virtual world-wide organization The Apache Software Foundation The Apache Software Foundation
  • 6. Structure of the ASF FoundationFoundation Top Level Projects (TLPs)Top Level Projects (TLPs) ➢ ASF Members ➢ Cross-project community ➢ Board ➢ Elected by ASF members annually ➢ Manage and oversee the corporation, its assets and resources ➢ Technical authority assigned to PMCs ➢ Officers ➢ Oversee the day-to-day affairs ➢ Elected by the board ➢ ASF Members ➢ Cross-project community ➢ Board ➢ Elected by ASF members annually ➢ Manage and oversee the corporation, its assets and resources ➢ Technical authority assigned to PMCs ➢ Officers ➢ Oversee the day-to-day affairs ➢ Elected by the board ➢ Users ➢ Contributors ➢ Committers ➢ Project Management Committee (PMC) ➢ Technical management ➢ Establish rules, report to board ➢ has a Chair appointed by the board (VP) - eyes and ears of the board (oversight only) ➢ Oversee legal aspects and community health ➢ Users ➢ Contributors ➢ Committers ➢ Project Management Committee (PMC) ➢ Technical management ➢ Establish rules, report to board ➢ has a Chair appointed by the board (VP) - eyes and ears of the board (oversight only) ➢ Oversee legal aspects and community health
  • 7. The ASF by Numbers 9 Board Members ASF
  • 8. The ASF's Mission ➢ Provide open source software to public free of charge ➢ Let the coders code – foundation exists to do the rest What?What? ➢ Infrastructure for open source development ➢ Legal entity for donation purposes ➢ Shelter from law suits ➢ Protection of the Apache brand How?How?
  • 9. Apache's Tagline We are more than a group of projects sharing a server, we are a community of developers and users. http://people.apache.org/map.html Challenges and advantages arise from this !!
  • 10. Outline ➢ What is it: Apache Software Foundation ➢ How does it work: Apache Way ➢ Who does the work: Apache Projects ➢ Apache ServiceMix ➢ How to start: Contributing
  • 11. The Apache Way Meritocracy Those who do, decide Peer-based Participate as individuals Oversight Responsible and independent Collaboration Public and asynchronous Decisions Made by consensus
  • 12. Outline ➢ What is it: Apache Software Foundation ➢ How does it work: Apache Way ➢ Who does the work: Apache Projects ➢ Apache ServiceMix ➢ How to start: Contributing
  • 13. Apache Projects ➢ Over 160 top-level projects (TLPs) ➢ Diversity ➢ Java, C, C++, Perl, … ➢ Leading technology ➢ Web servers, Java tools & stacks, search, cloud, big data, build tools, CMS/web framework, databases, OSGi containers, integration frameworks, graphics, … ➢ And end user Office suites! ➢ Over thirty projects currently in “pipeline” https://projects-new.apache.org/ ➢ It’s okay for projects to be in “same” space ➢ Ant/Maven, Pig/Hive, Axis/CXF... ➢ “Competing” project technology is OK ➢ If an active community following the Apache Way wants to join, great!
  • 14. Apache Projects ➢ Apache does not pay for development ➢ Voluntary contributions only! ➢ Many (not all!) developers are paid by a third-party to work on the project ➢ Foundation bears indirect support costs ➢ Infrastructure, publicity, etc. Who pays?Who pays?
  • 16. Outline ➢ What is it: Apache Software Foundation ➢ How does it work: Apache Way ➢ Who does the work: Apache Projects ➢ Apache ServiceMix ➢ How to start: Contributing
  • 17. ServiceMix What is it?What is it? ➢ Flexible, open-source integration container ➢ Powered by OSGi Main featuresMain features ➢ OSGi-based runtime powered by Apache Karaf ➢ Reliable messaging with Apache ActiveMQ ➢ Messaging, routing and EIP with Apache Camel ➢ SOAP/REST web services with Apache CXF
  • 18. ServiceMix The beginningThe beginning ➢ Started in 2005 to implement the Java Business Integration specification ➢ Decoupling of the components (business, technical) by using XML messages ➢ Define a model to package/deploy applications (SU/SA) ➢ Transport layer → Normalized Message Router https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.1/html-single/JBI_Development_Guide/images/jbi_architecture.jpg
  • 20. ServiceMix Kernel Apache KarafApache Karaf ➢ Small OSGi based server ➢ Lightweight container where applications, components, routes, etc. can be deployed ➢ Modular system – install features you need ➢ Supported runtimes ➢ Apache Felix ➢ Eclipse Equinox Application typesApplication types ➢ OSGi Blueprint, DS or plain bundles ➢ Spring DM bundles (legacy) ➢ Camel routes ➢ Business rules & processes
  • 21. ServiceMix Kernel FeaturesFeatures ➢ Hot deployment ➢ Dynamic configuration ➢ Logging system ➢ Provisioning system (features, OBR, KAR, EBA, ESA) ➢ Native OS integration ➢ Security integration (JAAS → ldap, jdbc, file, …) ➢ Managed instances ➢ Versioning ➢ Service Registry ➢ Clustering (Master/Slave with jdbc or file lock) ➢ …. http://karaf.apache.org/images/karaf2.png
  • 22. ServiceMix Kernel AdministrationAdministration ➢ Extensible Shell Console (local, remote, ssh) ➢ JMX ➢ Web Console ➢ Hawt.io
  • 23. Messging and Routing Apache CamelApache Camel ➢ Open Source integration framework ➢ Implements EIP paterns (book by Gregor Hohpe) ➢ Provides word definition, grammar and language when when designing integration solutions ➢ Uses Domain Specific Languages – XML, Java, Scala,... ➢ Features: ➢ In memory bus ←→ Alternative to JBI using NMR ➢ Route objects → can be XML, File, Stream, Bytes, … ➢ Transactional architecture ➢ Sync/Async exchanges ➢ Error and exception handling ➢ ...
  • 24. Messging and Routing ➢ More than 50 EIPs implemented Aggregator Channel Adapter Channel Channel Purger Command Message Competing Consumers Content Based Content Filter Control Bus Correlation ID Content Enricher Datatype Channel Dead Letter Channel Detour Composed Message Document Message Durable Subscriber Envelope Wrapper Event-Driven Consumer Event Message Message Filter Guaranteed Delivery Message Bus Message Dispatcher Message Endpoint Message Message BranchInvalid Message C A B D ! E http://camel.apache.org/enterprise-integration-patterns.html
  • 25. Messging and Routing ➢ More than 100 components http://camel.apache.org/components.html
  • 26. Messging and Routing ➢ Many data formatters ➢ Simplify data exchange between layers and applications ➢ Example: JAXB, Bindy,... ➢ Use marshaller (xml → object) and unmarshaller (object → xml) http://camel.apache.org/data-format.html
  • 28. Web Services Apache CXFApache CXF ➢ Simplifies the creation and deployment of web services ➢ Java to WSDL ➢ WSDL to Java ➢ Supported standards ➢ JAX-WS → SOAP Services (SOAP/XML) ➢ JAX-RS → RESTfull Services (JSON) ➢ SOAP 1.1, 1.2, WSDL 1.1 ➢ WS-Security – secures the client/server connection ➢ WS-Addressing – data exchange in SOAP header for the routing ➢ WS-RM – message delivery guarantee ➢ DOSGi – reference implementation of OSGi Remote Services specification
  • 29. Reliable Messaging Apache ActiveMQApache ActiveMQ ➢ A high performance, reliable message broker ➢ Persistence for messages ➢ Bridge between broker instances ➢ Languages for client – Java, C, C++, C#, Ruby, … ➢ Protocols – OpenWire, Stomp, AMQP, MQTT ➢ Publish/subscribe, point to point, request and reply ➢ Clustering and Fault Tolerance ➢ ... https://access.redhat.com/documentation/en-US/Fuse_Message_Broker/5.4/html/Getting_Started/files/FuseMBStartedKeyJMS.html
  • 30. Reliable Messaging ArchitectureArchitecture ➢ Clients connect to the broker using connectors ➢ Topics and queues created dynamically ➢ File and jdbc message stores supported ➢ Network connectors control how the broker interacts with other brokers for discovery, replication, failover, clustering... http://activemq.apache.org/images/BrokerDiagram.png
  • 31. ServiceMix Additional featuresAdditional features ➢ Business rule engine with Drools ➢ BPM engine with Activiti ➢ JPA support and XA transactions via Apache Aries ➢ JPA implementations – Apache OpenJPA, Hibernate ➢ Web support via Jetty and Pax Web ➢ IoC support via Apache Aries and Spring ➢ CDI support via Pax CDI
  • 32. Clustering & Fault Tolerance KernelKernel ➢ Active/Passive mode with file/jdbc lock ➢ Bundles can be installed in Active/Passive mode BrokerBroker ➢ Master/Slave with shared file system, shared database, replicated LevelDB store ➢ Network of brokers Apache Karaf CellarApache Karaf Cellar ➢ Allows powerful synchronisation of multiple ServiceMix instances ➢ Leverage Hazelcast data distribution ➢ Easy to install and use: just a feature to install on each node ➢ No point of failure (each node embeds Hazelcast instance) ➢ Provides DOSGi implementation https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQD7T4OSzA_2Vv-qJIEtiXp4PzIXki7Pq0W396k5z2Asfksh5sV
  • 33. Federated SOA with Apache ServiceMix Java Magazin 7.2014
  • 34. ServiceMix Tooling ➢ Integration with InteliJ, Eclipse, Netbeans ➢ JBoss Tools Integration Stack ➢ JBoss Developer Studio
  • 35. Outline ➢ What is it: Apache Software Foundation ➢ How does it work: Apache Way ➢ Who does the work: Apache Projects ➢ Apache ServiceMix ➢ How to start: Contributing
  • 36. Contributing to ASF – Individuals Why?Why? How?How? ➢ Better end easy recognition of work ➢ Publicly verifiable resume ➢ Work with best programmers, with the best programming practices ➢ No managers, no boss ➢ Work on what you like when you like ➢ Discuss technical designs and issues in writing ➢ Networking opportunities ➢ Build software used by millions around the world ➢ ApacheCon ➢ Better end easy recognition of work ➢ Publicly verifiable resume ➢ Work with best programmers, with the best programming practices ➢ No managers, no boss ➢ Work on what you like when you like ➢ Discuss technical designs and issues in writing ➢ Networking opportunities ➢ Build software used by millions around the world ➢ ApacheCon ➢ Apache wants voluntary contributions ➢ Documentation, Tutorials and Examples ➢ Helping others with queries and questions ➢ Issue / bug tracker triage ➢ Testing new fixes, helping reproduce problems ➢ Bug Fixes and New Features ➢ Writing add-ons and extensions ➢ Mentoring, volunteering for the Foundation ➢ Many different ways to get involved, all are important! ➢ Apache wants voluntary contributions ➢ Documentation, Tutorials and Examples ➢ Helping others with queries and questions ➢ Issue / bug tracker triage ➢ Testing new fixes, helping reproduce problems ➢ Bug Fixes and New Features ➢ Writing add-ons and extensions ➢ Mentoring, volunteering for the Foundation ➢ Many different ways to get involved, all are important!
  • 37. Contributing to ASF – Companies Why?Why? How?How? ➢ Recognition as company contributing to open source ➢ Attract better people to come and join ➢ Make sure the technologies you use sustain ➢ Contributing developers ➢ Having in-house expertise ➢ Making sure you can influence the directions ➢ Free training for your developers in all aspects of development, management, QA and maintenance ➢ Pooling the developers to work on a project important to the company ➢ Recognition as company contributing to open source ➢ Attract better people to come and join ➢ Make sure the technologies you use sustain ➢ Contributing developers ➢ Having in-house expertise ➢ Making sure you can influence the directions ➢ Free training for your developers in all aspects of development, management, QA and maintenance ➢ Pooling the developers to work on a project important to the company ➢ Provide testimonials about the OSS your enterprise uses ➢ Allow staff members to work on OSS libraries/applications used by your company ➢ Push changes to OSS back ➢ Host ASF club meetings on your premises ➢ Extract out and make open source the libraries/applications developed in-house ➢ Free up the paid software/services for OSS communities ➢ Contributing is easier than you think! ➢ Provide testimonials about the OSS your enterprise uses ➢ Allow staff members to work on OSS libraries/applications used by your company ➢ Push changes to OSS back ➢ Host ASF club meetings on your premises ➢ Extract out and make open source the libraries/applications developed in-house ➢ Free up the paid software/services for OSS communities ➢ Contributing is easier than you think!
  • 38. My Journey ➢ First PR to Apache Karaf – PR#8 17.01.2013 ➢ First discussion in Apache Karaf – 11.11.2013 ➢ First patch in Apache ServiceMix – SM-2219 30.12.2013 ➢ First discussion in Apache ServiceMix – 07.01.2014 ➢ Involvement in designs discussions, implementations, dev/user mailing lists, fixing bugs ➢ In the meantime getting elected as a committer – 04.2014 ➢ First commit in Apache ServiceMix – 11.04.2014 http://svn.apache.org/r1585169 https://git1-us-west.apache.org/repos/asf?p=servicemix.git;a=commit;h=f7f0a603 http://git-wip-us.apache.org/repos/asf/servicemix/commit/f9dd4365 ➢ Being a release manager and getting elected into PMC – 07.2014 ➢ Nominated to be a PMC chair – 02.2015 ➢ Electing to be a member of ASF – 04.2015
  • 39. Start contributing Choosing the right projectChoosing the right project How do I start?How do I start? ➢ English ➢ A programming language ➢ Debugging ➢ Passion ➢ Perseverance ➢ Time ➢ Filter by your interest area ➢ Filter by language ➢ Something you use ➢ Something you want to learn ➢ Using the project is very important ➢ Choose your project ➢ Join the mailing list or forum ➢ Check out the code ➢ Download the binary and play with it ➢ Find open issues and feature requests ➢ Ask the developers on what you can work on ➢ Sign ICLA RequirementsRequirements
  • 40. Become a committer (and not only) Invitation of commit access Invitation of commit access ➢ Current PMC member nominates individual ➢ Discussions on private@ list ➢ Key ?: Do we trust this individual? ➢ PMCs free to set own bar Beyond a committerBeyond a committer ➢ Once you are committer, you can then become a ➢ PMC member ➢ foundation member ➢ Director... ➢ even President! ➢ You can nominate other foundation (or PMC) members; can serve as mentor for Incubating projects; vote for Board.
  • 41. ➢ Thank you! ➢ Any questions? ➢ @Ksobkowiak ➢ ksobkowiak(at)apache.org ➢ krzys.sobkowiak(at)gmail.com That's it Apache, the Apache feather logo, Apache ServiceMix, Apache Karaf, Apache Camel, Apache CXF, Apache ActiveMQ and other Apache project names mentioned in this presentation and their logos are trademarks of The Apache Software Foundation in the United States and/or other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
  • 42. ➢ The Apache Software Foundation ➢ http://apache.org ➢ http://community.apache.org ➢ Apache ServiceMix ➢ http://servicemix.apache.org ➢ users@servicemix.apache.org ➢ #apache-servicemix @ irc.freenode.net References ➢ Apache Karaf ➢ http://karaf.apache.org ➢ Apache Camel ➢ http://camel.apache.org ➢ Apache CXF ➢ http://cxf.apache.org ➢ Apache ActiveMQ ➢ http://activemq.apache.org ➢ Apache Aries ➢ http://aries.apache.org ➢ Apache Felix ➢ http://felix.apache.org
  • 43. ➢ Past Apache Way slides by Jim Jagielski, Shane Curcuru, Justin Erenkrantz and Ross Gardler ➢ Past Apache ServiceMix and Apache Karaf slides by Jean-Baptiste Onofré, Gert Vanthienen and Charles Moulliard Credits This work is licensed under the Apache License, Version 2.0