This page presents architecture diagram, and explained code modifications planned as part of the Software Center PackageKit and AppStream proposal.
Please see the Google Summer of Code proposal for more details.
Simplified, and extracted from Michael Vogt pk-abstraction branch:

Rating and reviews, software channels, history are intentionally ignored for this point.
How should the abstraction work:

Code needs to be written for:
BaseInstallBackend class, PackageKitBackend will wrap install/remove/etc calls around PackageKit;PkgInfo class, PackageKitCache will provide the same functionality as AptCache;SUSE class extending Distro providing links to the PackageKit install backend and PackageKit application cache.PkgInfo, i.e. /var/lib/pkit-xapian-index/Clarification is needed:
TransactionFinishedResult, TransactionProgress classes wrapping around AptDaemon dbus Transaction objects; this should be abstractized, and implemented as PackageKit transactions?AptdaemonBackend;AptHistory which parses apt logs (/var/log/apt/); this should be also abstractized, and implemented over PackageKit logs?