Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / December 2005

Tip: Looking for answers? Try searching our database.

Service Oriented Architecture Question

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Dave Johnson - 19 Dec 2005 17:37 GMT
I am familiar with 3 Tier Applications Architecture & totally new to
WebServices, Is there an Architecture i Should follow when Designing
WebServices in my Application, or both my DataAccessLayer & WebService will
connect to the Database Directly??
Peter Kelcey - 20 Dec 2005 16:59 GMT
Dave,

You've just jump into highly volatile and complex topic. People have
been having heated debates about SOA for years now and there is still
no great consensus on what exactly it is or how it's best be
implemented. There are a ton of information pieces out there about how
to design services and implement an SOA and the amount of information
they contain is way more than I can reasonably fit in here. What I will
try to suggest is a couple of good starting points for you.

The first thing I'll stress is that "web services" do not equal
services or SOA.  When we talk about SOA, we are talking about a whole
range of things such as contract-first-design, chatty versus chunky
design, services providers, dynamic discovery of services, enterprise
service buses etc.  Also, SOA refers to an architecture involving
multiple applications and really shouldn't be used within the confines
of a single application. With web services, we are really just talking
about a open standards based remoting technology that allows different
systems to easily communicate with one another. Sure, web services are
one of the major building blocks of SOA, but they are only that, a
building block.

If you are looking a good start on how to design a distributed system
that uses web services to connect different layers, I will recommend
the MSDN patterns and practices documents.  A lot of work has been put
into these documents and describe all kinds of best practices for build
and developing distributed systems that use web services. The first
document I'd start with is
http://msdn.microsoft.com/practices/apptype/distapps/default.aspx?pull=/library/
en-us/dnbda/html/distapp.asp

Its a great reference and since you are familiar with 3-tier design,
this document will be fairly easy to understand. It should help answer
your question about database access from different tiers.  I'd also
recommend that your check out the articles in the "application
integration and web services" section.
http://msdn.microsoft.com/practices/apptype/appinteg/default.aspx

If you are looking for documents on SOA, I'll just recommend reading
articles from as many different authors as you can. There are so many
different opions about this beast, that you'll need to rely on more
than just one source in order to develop an informed opion of your own.

As to my personal opinion about your design, I wouldn't have my web
services access the db directly. I'd keep the data access layer as the
single entry point into the database and I'd design web services to sit
on top of business components that access this data access layer. I.e.
Presentation -> Web Services -> business facade -> data access
components -> db.

Good luck

Peter Kelcey
Dave Johnson - 20 Dec 2005 17:24 GMT
i took your Advice and done some research
http://www.15seconds.com/issue/031215.htm this article "Service-Orianted
Architecture with .net" supports your design <Presentation -> Web
Services -> business facade -> data access
components -> db.>

i approve on this desgin, but what about doing

<Presentation OR Web Services -> Business facade -> DataAccess>

do think it looks better this way?

You have been a GREAT help so far, thanks a lot :)
Peter Kelcey - 21 Dec 2005 21:42 GMT
Dave

With regards to your proposed architecture of "<Presentation OR Web
Services -> Business facade -> DataAccess>" it depends on what you are
trying to do.

Web services are not really a suitable technology for humans to
interface directly with. Therefore, if you've got people directly using
this sytem, you would still need somekind of client to site on top of
your web services. It could be a web application, a windows application
etc. But you will need something to nicely collect information from the
user, put it into a validate SOAP message and submit it to your
underlying web service.

If another system is accessing your application, then you can of course
forgo the nice and usuable presentation layer and have that other
application direclty consume your web service.

Of course, I have seen people develop web services and then access them
directly via their browser. The asmx web service will render up a basic
HTML page that will let a user input parameters and run the web
service. However, isn't what web services are intended to do and this
technique is really best suited for testing your service while you
develop it.  

Peter Kelcey

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.