Sunday, November 23, 2008

2008-11-21 Friday - QCon 2008 Afternoon

Disclaimer: There may be some many mistakes/errors in my blog notes for QCon over the next few days - as I am writing these posts while I'm sitting in sessions - and much of these notes are stream-of-consciousness - as I try to keep up with the presenters.

I'm in San Francisco attending QCon 2008 this week.




Bringing the enterprise to the web with Mule
Dan Diephouse, Architect, MuleSource


Research: SideNote.net (?)

No prescribed message format

zero code intrusion
- mule does not impose an API on service objects
- objects are fully portable

Existing objects can be managed

Easy to test

1) Declare a service
2) Define inbound router
3) Define Outbound router

Used to connect components and external systems together

Endpoints use a URI for addressing

Inbound Routers
- Idempotency
- selective consumers
- re-sequencing
- messag aggreagation

Outbound Routers
- message splitting


Core Concepts: Transformers
- converts data from one format to another
- can be chained together to form transformation pipielines

Building Services
- Annotations to expose your classes as RESTful service
- implements JAX ...?


Jersey - JAX-RS implementation
- simple annotations to create a RESTful web service


Integrating into your Messaging Layer

You can modify messages while filtering

ATOMPUB
- service
- workspace
-

ABDERA (collection adapters)
- ???
- JCR
- JDBC
- FileSystem

jcrAdapter allows instant creation of an Atom store
allows posting to the AtomPub log


Creating Atom Transformers

*** Research RSS Bandit ***

Chris Barry - research Atom Server usage
- used for vacation reservations
- used by Google?

Polling vs. Messaging

HTTP has a polling connector builtin - that supports eTags (*** need to research eTags ***)

Mule Books
--------------------
Mule In Action
Open ESB
???


There is an open debate in the REST community about what might be the best practice for communicating
the schemas for RESTful services.

WADL - Mark Hadley, WSDL for REST

Return the schema if the request is only a Head

Galaxy supports a feature called Netboot - which can facilitate deploying / synchronizing config files / components (?) - and JMX can be used to communicate an event to the servers that need to receive the update.








Ning
Jay Parikh, SVP of Engineering & Operations

AskANinja.com
TwitterMoms
Hoffspace
TheListProject.org
DIY Drones (robotics)
PickensPlan

Constraints:
- each network is different
- applications from scratch
- features built as platform APIs
- deny abuse of APIs
- support backwards compatibility
- scale BOTH individual applications and the platforms as a whole

Original Tools Used
===================================
Nagios
Splunk
Zenoss
Cacti
Keynote
EM
DDFM
InformMC
Cohesion
JMX
Segue
Loads of log files
Network gear (F5, Cisco,

Reboot
----------------------------------
Reduce MTTD and MTTR
more flexible monitoring
higher resolution
consolidate
self-service
unified infrastructure


Real-time Monitoring Overview


Visibility Challenges
---------------------------------
Real-time monitoring overview
- Erosebo (?) - custom built?
- Monitoring agent
- Archive to Hadoop
- Dashboard / Collector, aggregated event stream