Please be nice, I'm all alone out here and am new to many of these concepts.
I'm writing a spring MVC 2.5 application and I've got the thing organized into what I believe is a fairly standard structure. I've got DAOs over here, domain pojos over there, a service layer, and then my controllers and presentation.
Everything is working fine, but I've got these classes and I don't know where they fit....like...where do I put them? What do I call them? What "kind" of classes are they in terms of all this design
pattern madness (DAOs? Services? Wha?).
1) I've got an interface that I'm currently calling CustomerImportService. Its implementation queries a local ERP database and returns Customer objects (part of my domain model) which my application can then save in its own database.
2) I've got an interface called CustomerExportService. The implementation of this thingy exports Customer objects to a remote database.
3) I've got an interface called ContactPortalService. Its implementation takes a Contact from my application and adds / updates / deletes an associated user account on an external portal server via
SOAP.
All three of these classes use services of one form or another that are external to my actual application. I don't know exactly where they fit though in my project structure. They're not part of the DAO layer I wouldn't think, although the import and export classes are sorta like DAOs. They could be considered services, but they are services local to my application, not services in the sense that some higher up client will be using them. Where do they fit into my application / project structure?
(thankfully this thing is working ok...I just want to realize my application in the context of standard practices)