Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity

Krzysztof Sobkowiak
Krzysztof SobkowiakSenior Solution Architect, The ASF Member at Capgemini
Integrate (Yourself) with the
Apache Software Foundation
Wrocław 30.11.2015
Krzysztof Sobkowiak
@ksobkowiak
The Apache Software Foundation Member, V.P. Apache ServiceMix
Senior Solution Architect at Capgemini
About me
✗ Apache Software Foundation
✗ Member
✗ Apache ServiceMix Committer & PMC Chair (V.P. ServiceMix)
✗ Contributor @ Apache Karaf, Apache CXF, Apache Camel, Apache ActiveMQ
✗ Capgemini
✗ Senior Solution Architect, Trainer
✗ JEE & OSS solutions, system integration
✗ Other Activities
✗ RoboCAP – programming & robot workshops for kids
✗ OASP – Open Application Standard Platform
Views in this presentation are my personal views and do not
necessarily reflect the views of the Apache Software Foundation.
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Outline
✗ What is it? – The Apache Software Foundation
✗ How does it work? – The Apache Way
✗ Who does the work? – Apache Projects
✗ Some sample projects? – Apache ServiceMix & Co
✗ How to start? – Contributing to ASF Projects
1.
What is it?
The Apache Software Foundation
The ASF
✗ ASF == The Apache Software Foundation
✗ Non-profit corporation
✗ 501(c)3 charity
✗ Volunteer organization
✗ Virtual world-wide organization
✗ Exists to provide the organizational, legal and financial support for various OSS
projects
The Apache Group
✗ Before the ASF there was “The Apache Group”
✗ Informal corporate structure
✗ 8 members
✗ Resumed work on NCSA httpd in Feb. 1995
✗ Choose permissive licensing
https://github.com/rbowen/presentations/blob/master/apache_way/slides.md
The ASF
Then
✗ Incorporated in 1999
✗ Started with 21 members
✗ 2 projects
✗ All servers and services donated
Now
✗ 675 members
✗ 168 TLPs
✗ 112 subprojects
✗ 47 Incubator podlings
✗ Tons of committers (literally)
✗ ~ 4500 committers,
✗ ~ 2150 PMC members,
✗ ~ 6900 signed ICLAs
✗ Very large and growing infrastructure
The ASF's Mission
What?
✗ Provide open source software to public
free of charge
✗ Let the coders code – foundation exists
to do the rest
How?
✗ Infrastructure for open source
development
✗ Legal entity for donation purposes
✗ Shelter from law suits
✗ Protection of the Apache brand
ASF – Org Chart
PMC Members
Committers
Contributors
Patchers/Buggers
Users
Development
Members
Officers
Board
Administrative
PMC's
(TLP's)
2.
How does it work?
The Apache Way
The Apache Way
✗ A method of developing software
✗ A method of running communities
✗ A method of governing a Foundation
✗ Although the term is deprecated, The Apache Way relates to how the ASF (and its
projects) work and operate
✗ Basically, the least common denominators on how PMCs operate
Basic Memes
Peer-based
Meritocracy
Consensus
decision
making
Responsible
oversight
Collaborative
development
3.
Who does this work?
Apache Projects
Apache Projects
✗ Responsible for their own code, community and direction
✗ Board provides oversight, but has no say on what code gets written, what direction
projects take, what new projects we should start etc
✗ Foundation provides support (e.g. infra, branding, press) so that projects can focus
just on their code + community
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 40 projects currently in “pipeline”
Apache Projects
✗ 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
Who pays?
✗ 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.
4.
Some sample projects?
Apache ServiceMix & Co
ASF & Integration
✗ Apache Camel – messaging and routing
✗ Apache CXF – web services (SOAP/REST)
✗ Apache ActiveMQ – message broker
✗ Apache ServiceMix – flexible integration container
Not covered here:
✗ Apache ODE – BPEL
✗ Apache Tuscany – SCA
✗ Apache Synapse – ESB
Apache ServiceMix
✗ Flexible, open-source integration container
✗ Powered by OSGi
Main 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 Architecture
ServiceMix Kernel
Apache 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 types
✗ OSGi Blueprint, DS or plain bundles
✗ Spring DM bundles (legacy)
✗ Camel routes
✗ Business rules & processes
ServiceMix Kernel
Features
✗ 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)
✗ ….
ServiceMix Kernel
Administration & monitoring
✗ Extensible Shell Console (local, remote, ssh)
✗ JMX
✗ Web Console
✗ Hawt.io
✗ Apache Karaf Decanter
Messaging & Routing
Apache Camel
✗ Open Source integration framework
✗ Implements EIP paterns (book by Gregor Hohpe)
✗ Provides word definition, grammar and language when designing integration
solutions
✗ Uses Domain Specific Languages – XML, Java, Scala,...
Messaging & Routing
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
✗ ...
Messaging & 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
Messaging & Routing
✗ More than 100 components
http://camel.apache.org/components.html
Messaging & 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
Reliable Messaging
Apache 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
✗ ...
Reliable Messaging
Architecture
✗ 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...
Web Services
Apache CXF
✗ Simplifies the creation and deployment of web services
✗ Java to WSDL
✗ WSDL to Java
✗ WS-Addressing – data exchange in
SOAP header for the routing
✗ WS-RM – message delivery guarantee
✗ DOSGi – reference implementation of
OSGi Remote Services specification
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
Apache ServiceMix
Additional 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
Kernel
✗ Active/Passive mode with file/jdbc lock
✗ Bundles can be installed in Active/Passive mode
Broker
✗ Master/Slave with shared file system, shared database, replicated LevelDB store
✗ Network of brokers
Clustering & Fault Tolerance
Apache 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
ServiceMix Tooling
✗ Integration with InteliJ, Eclipse, Netbeans
✗ JBoss Tools Integration Stack
✗ JBoss Developer Studio
ServiceMix Demo
✗ https://github.com/sobkowiak/smx-order-service-demo/tree/33degree4charity2015
5.
How to start?
Contributing to ASF Projects
Why to Contribute? – Indivuduals
✗ 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
How to Contribute? – Indivuduals
✗ 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!
Start contributing
✗ 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
✗ Filter by your interest area
✗ Filter by language
✗ Something you use
✗ Something you want to learn
✗ Using the project is very
important
✗ English
✗ A programming language
✗ Debugging
✗ Passion
✗ Perseverance
✗ Time
Require-
ments
Choosing
the right
project
How to
start?
Become a Committer
Invitation of commit access
✗ Current PMC member nominates
individual
✗ Discussions on private@ list
✗ Key ?: Do we trust this individual?
✗ PMCs are free to set own bar
Beyond 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.
We are more than a group of projects
sharing a server, we are a community of
developers and users.
“
thanks!
Any questions?
You can find me at
@ksobkowiak
ksobkowiak@apache.org
krzys.sobkowiak@gmail.com
https://github.com/sobkowiak
References
✗ 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
✗ 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
Credits
Special thanks to all the people who made and released these awesome resources for free:
✗ Past Apache Way slides by Jim Jagielski, Shane Curcuru, Justin Erenkrantz, Rich Bowen and
Ross Gardler
✗ Past Apache ServiceMix, Apache Karaf and Apache Camel slides by Jean-Baptiste Onofré,
Gert Vanthienen, Achim Nierbeck, Christian Schneider and Charles Moulliard
This work is licensed under the Apache License, Version 2.0
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.
1 of 51

Recommended

Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015 by
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015Krzysztof Sobkowiak
954 views43 slides
CamelOne 2013 Karaf A-MQ Camel CXF Security by
CamelOne 2013 Karaf A-MQ Camel CXF SecurityCamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF SecurityKenneth Peeples
3K views35 slides
Jug Poitou Charentes - Apache, OSGi and Karaf by
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and KarafGuillaume Nodet
2.1K views52 slides
Red Hat Open Day JBoss Fuse by
Red Hat Open Day JBoss FuseRed Hat Open Day JBoss Fuse
Red Hat Open Day JBoss FuseAdrian Gigante
3.3K views64 slides
Apache, osgi and karaf par Guillaume Nodet by
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetNormandy JUG
2.3K views52 slides
OSGi & Blueprint by
OSGi & BlueprintOSGi & Blueprint
OSGi & BlueprintKara Satish Kumar
751 views36 slides

More Related Content

What's hot

WebSockets - Realtime em Mundo Conectado by
WebSockets - Realtime em Mundo ConectadoWebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo ConectadoBruno Borges
1.3K views46 slides
Running open source PHP applications on you IBM i by
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
938 views83 slides
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0) by
開放原始碼 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!
528 views38 slides
PHP Installed on IBM i - the Nickel Tour by
PHP Installed on IBM i - the Nickel TourPHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel TourRod Flohr
3.3K views104 slides
Lecture 7: Server side programming by
Lecture 7: Server side programmingLecture 7: Server side programming
Lecture 7: Server side programmingArtificial Intelligence Institute at UofSC
548 views37 slides
What's next for Java API for WebSocket (JSR 356) by
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
34.1K views31 slides

What's hot(20)

WebSockets - Realtime em Mundo Conectado by Bruno Borges
WebSockets - Realtime em Mundo ConectadoWebSockets - Realtime em Mundo Conectado
WebSockets - Realtime em Mundo Conectado
Bruno Borges1.3K views
Running open source PHP applications on you IBM i by Proximity Group
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
Proximity Group938 views
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0) by My own sweet home!
開放原始碼 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!528 views
PHP Installed on IBM i - the Nickel Tour by Rod Flohr
PHP Installed on IBM i - the Nickel TourPHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel Tour
Rod Flohr3.3K views
What's next for Java API for WebSocket (JSR 356) by Pavel Bucek
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 Bucek34.1K views
Jahia DX 7.2 : Bye bye felix, hello karaf by Serge Huber
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
Serge Huber1.6K views
Alfresco from an agile framework perspective by Jeff Potts
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspective
Jeff Potts1.8K views
MySQL for Oracle DBAs by Ben Krug
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Ben Krug1.8K views
OSGi ecosystems compared on Apache Karaf - Christian Schneider by mfrancis
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
mfrancis2.4K views
Web protocols for java developers by Pavel Bucek
Web protocols for java developersWeb protocols for java developers
Web protocols for java developers
Pavel Bucek582 views
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! by David Delabassee
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 Delabassee1.1K views
Using Apache Camel as AKKA by Johan Edstrom
Using Apache Camel as AKKAUsing Apache Camel as AKKA
Using Apache Camel as AKKA
Johan Edstrom6.2K views
DrupalCampLA 2014 - Drupal backend performance and scalability by cherryhillco
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalability
cherryhillco1K views
Modular Java applications with OSGi on Apache Karaf by Ioan Eugen Stan
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
Ioan Eugen Stan1.9K views
Asynchronous OSGi – Promises for the Masses - T Ward by mfrancis
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Ward
mfrancis3.7K views
Install MariaDB on IBM i - Tips, troubleshooting, and more by Rod Flohr
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
Rod Flohr1.6K views
Using WordPress as an Application Framework by Tom Willmot
Using WordPress as an Application FrameworkUsing WordPress as an Application Framework
Using WordPress as an Application Framework
Tom Willmot1K views
Cloud Development with Camel and Amazon Web Services by Robin Howlett
Cloud Development with Camel and Amazon Web ServicesCloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web Services
Robin Howlett2K views

Similar to Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity

Integrate (Yourself) with the Apache Software Foundation - Full Version by
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
344 views76 slides
Music city data Hail Hydrate! from stream to lake by
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeTimothy Spann
708 views37 slides
Succeding with the Apache SOA stack by
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stackJohan Edstrom
2K views59 slides
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010 by
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010Adrian Trenaman
2.9K views35 slides
Paasta: Application Delivery at Yelp by
Paasta: Application Delivery at YelpPaasta: Application Delivery at Yelp
Paasta: Application Delivery at YelpC4Media
1.2K views75 slides
Java PaaS Apache Stratos by
Java PaaS   Apache StratosJava PaaS   Apache Stratos
Java PaaS Apache StratosChris Haddad
1.8K views33 slides

Similar to Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity(20)

Integrate (Yourself) with the Apache Software Foundation - Full Version by Krzysztof Sobkowiak
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
Music city data Hail Hydrate! from stream to lake by Timothy Spann
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lake
Timothy Spann708 views
Succeding with the Apache SOA stack by Johan Edstrom
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
Johan Edstrom2K views
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010 by Adrian Trenaman
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
Adrian Trenaman2.9K views
Paasta: Application Delivery at Yelp by C4Media
Paasta: Application Delivery at YelpPaasta: Application Delivery at Yelp
Paasta: Application Delivery at Yelp
C4Media1.2K views
Java PaaS Apache Stratos by Chris Haddad
Java PaaS   Apache StratosJava PaaS   Apache Stratos
Java PaaS Apache Stratos
Chris Haddad1.8K views
Apache Stratos - Building a PaaS using OSGi and Equinox by Paul Fremantle
Apache Stratos - Building a PaaS using OSGi and EquinoxApache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and Equinox
Paul Fremantle3.1K views
AWS Summit Auckland - Application Delivery Patterns for Developers by Amazon Web Services
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31 by Timothy Spann
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Timothy Spann736 views
Real time cloud native open source streaming of any data to apache solr by Timothy Spann
Real time cloud native open source streaming of any data to apache solrReal time cloud native open source streaming of any data to apache solr
Real time cloud native open source streaming of any data to apache solr
Timothy Spann758 views
An introduction to Apache Cloudstack and working on Apache projects by ShapeBlue
An introduction  to Apache Cloudstack and working on Apache projectsAn introduction  to Apache Cloudstack and working on Apache projects
An introduction to Apache Cloudstack and working on Apache projects
ShapeBlue343 views
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka by Guido Schmutz
Self-Service Data Ingestion Using NiFi, StreamSets & KafkaSelf-Service Data Ingestion Using NiFi, StreamSets & Kafka
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Guido Schmutz3.4K views
IWSG2014: Developing Science Gateways Using Apache Airavata by marpierc
IWSG2014: Developing Science Gateways Using Apache AiravataIWSG2014: Developing Science Gateways Using Apache Airavata
IWSG2014: Developing Science Gateways Using Apache Airavata
marpierc481 views
Accumulo Summit 2015: Real-Time Distributed and Reactive Systems with Apache ... by Accumulo Summit
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 Summit1.4K views
Real-Time Distributed and Reactive Systems with Apache Kafka and Apache Accumulo by Joe Stein
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
Joe Stein3.1K views
Cloud Foundry: Hands-on Deployment Workshop by Manuel Garcia
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia2.8K views
Cloud lunch and learn real-time streaming in azure by Timothy Spann
Cloud lunch and learn real-time streaming in azureCloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azure
Timothy Spann663 views
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni... by Nicole Szigeti
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti544 views
TDC2018SP | Trilha Cloud - Why Apache CloudStack by tdc-globalcode
TDC2018SP | Trilha Cloud - Why Apache CloudStackTDC2018SP | Trilha Cloud - Why Apache CloudStack
TDC2018SP | Trilha Cloud - Why Apache CloudStack
tdc-globalcode206 views

Recently uploaded

Cencora Executive Symposium by
Cencora Executive SymposiumCencora Executive Symposium
Cencora Executive Symposiummarketingcommunicati21
106 views14 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
218 views53 slides
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
191 views23 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
130 views29 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
373 views86 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
443 views92 slides

Recently uploaded(20)

State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue218 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software373 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash103 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue149 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue105 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue52 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely76 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue128 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li74 views

Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity

  • 1. Integrate (Yourself) with the Apache Software Foundation Wrocław 30.11.2015 Krzysztof Sobkowiak @ksobkowiak The Apache Software Foundation Member, V.P. Apache ServiceMix Senior Solution Architect at Capgemini
  • 2. About me ✗ Apache Software Foundation ✗ Member ✗ Apache ServiceMix Committer & PMC Chair (V.P. ServiceMix) ✗ Contributor @ Apache Karaf, Apache CXF, Apache Camel, Apache ActiveMQ ✗ Capgemini ✗ Senior Solution Architect, Trainer ✗ JEE & OSS solutions, system integration ✗ Other Activities ✗ RoboCAP – programming & robot workshops for kids ✗ OASP – Open Application Standard Platform
  • 3. Views in this presentation are my personal views and do not necessarily reflect the views of the Apache Software Foundation.
  • 7. Outline ✗ What is it? – The Apache Software Foundation ✗ How does it work? – The Apache Way ✗ Who does the work? – Apache Projects ✗ Some sample projects? – Apache ServiceMix & Co ✗ How to start? – Contributing to ASF Projects
  • 8. 1. What is it? The Apache Software Foundation
  • 9. The ASF ✗ ASF == The Apache Software Foundation ✗ Non-profit corporation ✗ 501(c)3 charity ✗ Volunteer organization ✗ Virtual world-wide organization ✗ Exists to provide the organizational, legal and financial support for various OSS projects
  • 10. The Apache Group ✗ Before the ASF there was “The Apache Group” ✗ Informal corporate structure ✗ 8 members ✗ Resumed work on NCSA httpd in Feb. 1995 ✗ Choose permissive licensing https://github.com/rbowen/presentations/blob/master/apache_way/slides.md
  • 11. The ASF Then ✗ Incorporated in 1999 ✗ Started with 21 members ✗ 2 projects ✗ All servers and services donated Now ✗ 675 members ✗ 168 TLPs ✗ 112 subprojects ✗ 47 Incubator podlings ✗ Tons of committers (literally) ✗ ~ 4500 committers, ✗ ~ 2150 PMC members, ✗ ~ 6900 signed ICLAs ✗ Very large and growing infrastructure
  • 12. The ASF's Mission What? ✗ Provide open source software to public free of charge ✗ Let the coders code – foundation exists to do the rest How? ✗ Infrastructure for open source development ✗ Legal entity for donation purposes ✗ Shelter from law suits ✗ Protection of the Apache brand
  • 13. ASF – Org Chart PMC Members Committers Contributors Patchers/Buggers Users Development Members Officers Board Administrative PMC's (TLP's)
  • 14. 2. How does it work? The Apache Way
  • 15. The Apache Way ✗ A method of developing software ✗ A method of running communities ✗ A method of governing a Foundation ✗ Although the term is deprecated, The Apache Way relates to how the ASF (and its projects) work and operate ✗ Basically, the least common denominators on how PMCs operate
  • 17. 3. Who does this work? Apache Projects
  • 18. Apache Projects ✗ Responsible for their own code, community and direction ✗ Board provides oversight, but has no say on what code gets written, what direction projects take, what new projects we should start etc ✗ Foundation provides support (e.g. infra, branding, press) so that projects can focus just on their code + community
  • 19. 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 40 projects currently in “pipeline”
  • 20. Apache Projects ✗ 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!
  • 22. Who pays? ✗ 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.
  • 24. ASF & Integration ✗ Apache Camel – messaging and routing ✗ Apache CXF – web services (SOAP/REST) ✗ Apache ActiveMQ – message broker ✗ Apache ServiceMix – flexible integration container Not covered here: ✗ Apache ODE – BPEL ✗ Apache Tuscany – SCA ✗ Apache Synapse – ESB
  • 25. Apache ServiceMix ✗ Flexible, open-source integration container ✗ Powered by OSGi Main 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
  • 27. ServiceMix Kernel Apache 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 types ✗ OSGi Blueprint, DS or plain bundles ✗ Spring DM bundles (legacy) ✗ Camel routes ✗ Business rules & processes
  • 28. ServiceMix Kernel Features ✗ 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) ✗ ….
  • 29. ServiceMix Kernel Administration & monitoring ✗ Extensible Shell Console (local, remote, ssh) ✗ JMX ✗ Web Console ✗ Hawt.io ✗ Apache Karaf Decanter
  • 30. Messaging & Routing Apache Camel ✗ Open Source integration framework ✗ Implements EIP paterns (book by Gregor Hohpe) ✗ Provides word definition, grammar and language when designing integration solutions ✗ Uses Domain Specific Languages – XML, Java, Scala,...
  • 31. Messaging & Routing 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 ✗ ...
  • 32. Messaging & 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
  • 33. Messaging & Routing ✗ More than 100 components http://camel.apache.org/components.html
  • 34. Messaging & 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
  • 35. Reliable Messaging Apache 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 ✗ ...
  • 36. Reliable Messaging Architecture ✗ 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...
  • 37. Web Services Apache CXF ✗ Simplifies the creation and deployment of web services ✗ Java to WSDL ✗ WSDL to Java ✗ WS-Addressing – data exchange in SOAP header for the routing ✗ WS-RM – message delivery guarantee ✗ DOSGi – reference implementation of OSGi Remote Services specification 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
  • 38. Apache ServiceMix Additional 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
  • 39. Clustering & Fault Tolerance Kernel ✗ Active/Passive mode with file/jdbc lock ✗ Bundles can be installed in Active/Passive mode Broker ✗ Master/Slave with shared file system, shared database, replicated LevelDB store ✗ Network of brokers
  • 40. Clustering & Fault Tolerance Apache 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
  • 41. ServiceMix Tooling ✗ Integration with InteliJ, Eclipse, Netbeans ✗ JBoss Tools Integration Stack ✗ JBoss Developer Studio
  • 43. 5. How to start? Contributing to ASF Projects
  • 44. Why to Contribute? – Indivuduals ✗ 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
  • 45. How to Contribute? – Indivuduals ✗ 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!
  • 46. Start contributing ✗ 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 ✗ Filter by your interest area ✗ Filter by language ✗ Something you use ✗ Something you want to learn ✗ Using the project is very important ✗ English ✗ A programming language ✗ Debugging ✗ Passion ✗ Perseverance ✗ Time Require- ments Choosing the right project How to start?
  • 47. Become a Committer Invitation of commit access ✗ Current PMC member nominates individual ✗ Discussions on private@ list ✗ Key ?: Do we trust this individual? ✗ PMCs are free to set own bar Beyond 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.
  • 48. We are more than a group of projects sharing a server, we are a community of developers and users. “
  • 49. thanks! Any questions? You can find me at @ksobkowiak ksobkowiak@apache.org krzys.sobkowiak@gmail.com https://github.com/sobkowiak
  • 50. References ✗ 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 ✗ 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
  • 51. Credits Special thanks to all the people who made and released these awesome resources for free: ✗ Past Apache Way slides by Jim Jagielski, Shane Curcuru, Justin Erenkrantz, Rich Bowen and Ross Gardler ✗ Past Apache ServiceMix, Apache Karaf and Apache Camel slides by Jean-Baptiste Onofré, Gert Vanthienen, Achim Nierbeck, Christian Schneider and Charles Moulliard This work is licensed under the Apache License, Version 2.0 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.