Your idea to use the same back-end for both apps is a good one. Whether to
use a Web Service or not is the problem. First, there are performance
considerations. A Web Service is definitely slow. If you use a Web Service,
you're basically exposing your web service to the Internet, so security must
be considered as well. While using authentication and HTTPS, this can be
overcome. But, let's back up a bit. If you're using a Web Service to access
a database, which I assume is a database server, why not access it directly,
since you're going over the network anyway, and you can have secure database
server access, with less performance issues. Second, putting your BLL into
the Service is unnecessary. Put it into a class library which can be used by
both applications. That will yield the best performance. Remember that the
UI is the only difference here.
--
HTH,
Kevin Spencer
Microsoft MVP
Printing Components, Email Components,
FTP Client Classes, Enhanced Data Controls, much more.
DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
"Rowan" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi there,
>
> I am just starting in .net 2.0 with a background in VB6. I have two
> projects to complete. The first being a website and the second is a
> client application. For now the majority of the website functionality
> will be report access however there will be some insert/update
> functionality. In the future the website will perform the same
> functions as the client app though the interfaces will need to be
> different.
>
> I've constructed the architecture with a Data Access Layer, a Business
> Logic Layer, and the Presentation Layer. But as I am thinking about
> future use I think it makes sense to put the DAL and BLL in a web
> service and then simply create my two projects each as a Presentation
> Layer that consume this service. If I do this would I also need
> another Data Layer in my website for ad hoc queries that may come up
> or for work that is web function specific?
>
> I am uncertain if this truly is the best approach since I have no
> experience to base judgement. Is there a better way to do this?
> Would a web service slow user processing down at all? Would I put the
> two layers in the same web service or should I keep the BLL in the
> website and build another for the client app or some other variation?
> I have read many articles on this and have stepped through tutorials
> but would really like an experienced take on it before I move
> forward. Help is greatly appreciated.
>
> Rowan
>