This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes DAO or Service? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "DAO or Service?" Watch "DAO or Service?" New topic

DAO or Service?

John Stone
Ranch Hand

Joined: May 04, 2007
Posts: 332
I'm doing B&S. I see, that some ranchers chose to create a simple interface for clients and gave it a name e.g. ContractorService.

My dilema currently is, whether I should name my interface also in this way, e.g. "ContractorService" or stay with "ContractorDAO".

My reasoning is, that what this interface really does, is providing access to data source (local or remote), where transfer object is Contractor.

I guess, that Service is probably doing something more in real world, but in case of our assignment I don't see difference.

What are the essential differences when I'm calling something Service?

Thank you.
Gunnar Bastkowski

Joined: Jul 22, 2007
Posts: 10
Well, in my B&S assingment there is a DB interface which I have to implement using a class called Data.

DB declares some methods like get(recNo), search(...), delete(recNo), ...
all those tasks a usually the concern of a DAO.

In a 3 tier architecture you should now create a layer (the service or business layer) on top of the DAO (DB, Data, ...) which, in very simple cases just delegates to the DAO.
This service usually combines the primitive methods of DAOs to implement the business needs. Checking if a record is available before booking it could be such a task.
subject: DAO or Service?
It's not a secret anymore!