There may be cases which call for extending Mule components. (we have Developing Components for this)
This can be fairly straightforward, such as implementing your own transport or filter. (see Creating Transports)
How can you write your own transformers, filters, etc.
Basic extending mule (primarily filters and transformers)
Extending Mule components may mean something more advanced, including creating custom routers or even implementing custom exceptions strategies. (we have Creating Custom Routers for this)
Custom components, custom routers, exceptions strategies (rarer)
implementing your own connectors, other advanced topics
(current - impl your own transports)