1. A method for harvesting metadata into a service metadata repository, comprising: receiving a request from an automatic introspection tool; identifying source artifacts to introspect; building entity objects based on a model; beginning a transaction; transforming each artifact entity into a canonical form; creating non-artifact entities; creating a fingerprint for each artifact entity; and committing the transaction.