This talk presented at Devnation 2014 - San Francisco let's you to discover how to develop social media projects with Apache Camel, Fabric8 & Hawtio and more precisely how to handle your data/metrics to inquiry them using Full Text features of Lucene/ElasticSearch with Kibana3, how to design dashboard, monitor your activities and create plugins for your business based on Hawtio Web Console. The code f the 3 demos is available here : https://github.com/cmoulliard/devnation-2014-camel and cover use cases :
- Real Time application (apache camel, twitter and websocket)
- Collect and store metrics to query them (elasticsearch, lucene & kibana3)
- Design dashboard, plugin to measure activities
How to Troubleshoot Apps for the Modern Connected Worker
Development of social media projects with Apache Camel, Fabric8 & Hawtio
1. Powered by Asciidoctor, Hyla & RevealJS
DEVELOPMENT OF SOCIAL MEDIA PROJECTS
WITH CAMEL
DevNation /14th of April-2014
Architect, Engineer &Committer
Charles Moulliard
2. SPEAKER
AgriculturalEngineer &Zoologist
19 years of experience in ITworld development
Projectmanager in Bank, Financial, Telco world
Specialized in new technologies Web &Integration
Architect/Engineer @Red Hat
Committer : Apache ServiceMix, Karaf (PMC), Camel(PMC),
Fabric8, Drools, Hawtio, Asciidoctor
11. SOCIAL MEDIA HYPE
Business - Companies
MarketingStrategy,
ProductPromotion,
Launch or Campaign
annoucement
Seekingcandidates
…
Use Web2.0 butSocial Medias
12. SOCIAL MEDIA HYPE - CON’T
Why To create content thatattracts attention &encourages
readers to shareitwith their socialnetworks
14. USE CASES COVERED - DEMO1
Pattern: RealTime &Broadcasting
Definition: Collectdatain realtime from differentproviders
(twitter, facebook, …) and broadcast/multicastdatato
subscribed channels
Business : Event, conference, meetingroom
15. USE CASES COVERED - DEMO2
Pattern: CollectDataMetrics/Statistics
Definition: Retrieve datafrom SocialMediaand store them in
order to querythe datato analyze the results
Business : Measure performances of acampaign, product
launch, analyze datato design marketingstrategies
16. USE CASES COVERED - DEMO3
Pattern: Business ActivityMonitoring
Definition: Monitor activities, operationaldays using
reporting, dashboard tools.
Business : Measure performances, rentability, return of
investment
29. CAMEL - CON’T
TypeConverter Strategy
Allow to convert the bodypayloads
from one type to another
To and From these types
File
String
byte[] and ByteBuffer
InputStream and OutputStream
Reader and Writer
30. CAMEL - CON’T
Data Transformationfor complex use case
packageorg.devnation.camel;
importjava.io.InputStream;
importjava.io.OutputStream;
importorg.apache.camel.Exchange;
publicinterfaceDataFormat{
voidmarshal(Exchangeexchange,Objectgraph,OutputStreamstream)throwsException;
Objectunmarshal(Exchangeexchange,InputStreamstream)throwsException;
}
Marshalling : Object XML (JAXB)
Unmarshalling : XML Object(JAXB)
51. TECHNOLOGY - REAL TIME
Websocket
Full-duplexsingle
socketconnection
HTTP requestfollowed
byWebSocketdata
Packets exchange
ws:// and wss:// protocol
Partof HTML5 initiative
Specification rfc-6455
(Dec-2011) managed by
IETF
52. TECHNOLOGY - REAL TIME - DEMO1
Integrated within ActiveMQ &Camel
More info :
Develop RealTime HTML5 applications usingWebSocket
with Apache Camel&ActiveMQ -CamelOne 2012
65. TECHNOLOGY - PLUGIN
Create your own hawtio plugin
Web project(war, bundle)
Require to register io.hawt.web.plugin.HawtioPluginwith
parameters
Context
JS Scripts location
Name and domain (used bycontroller)