Service Oriented Architecture Question

Discussion in 'ASP .Net Web Services' started by Dave Johnson, Dec 19, 2005.

  1. Dave Johnson

    Dave Johnson Guest

    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??
    Dave Johnson, Dec 19, 2005
    1. Advertisements

  2. Peter Kelcey

    Peter Kelcey Guest


    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
    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.

    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
    Peter Kelcey, Dec 20, 2005
    1. Advertisements

  3. Dave Johnson

    Dave Johnson Guest

    i took your Advice and done some research 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 :)

    *** Sent via Developersdex ***
    Dave Johnson, Dec 20, 2005
  4. Peter Kelcey

    Peter Kelcey Guest


    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
    Peter Kelcey, Dec 21, 2005
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Lian Liming
    Patrick May
    Oct 26, 2005
  2. crm-tutorial
    Oct 5, 2006
  3. crm-tutorial
    Oct 5, 2006
  4. bpm
  5. Purushottam Khandebharad

    web service boundaries for service oriented architecture

    Purushottam Khandebharad, Dec 14, 2005, in forum: ASP .Net Web Services
    Henrik G√łttig
    Dec 20, 2005

Share This Page