# The Evolution of Finger: pluggable backends

## Introduction

This is the fifth part of the Twisted tutorial Twisted from Scratch, or The Evolution of Finger.

In this part we will add new several new backends to our finger service using the component-based architecture developed in The Evolution of Finger: moving to a component based architecture. This will show just how convenient it is to implement new back-ends when we move to a component based architecture. Note that here we also use an interface we previously wrote, FingerSetterFactory, by supporting one single method. We manage to preserve the service's ignorance of the network.

## Another Back-end

finger19b_changes.py

Full source code here: finger19b.py

We've already written this, but now we get more for less work: the network code is completely separate from the back-end.

## Yet Another Back-end: Doing the Standard Thing

finger19c_changes.py

Full source code here: finger19c.py

Not much to say except that now we can be churn out backends like crazy. Feel like doing a back-end for Advogato, for example? Dig out the XML-RPC client support Twisted has, and get to work!