Questions about Web Service applications (Architecture)

Discussion in 'ASP .Net Web Services' started by Toble Rone, Oct 16, 2005.

  1. Toble Rone

    Toble Rone Guest

    Some tome ago, me and my team could carry out our first real distributed
    project. It's a GIS application using a Remoting Host (currently a Windows
    Service), with TCP formatter over HTTPS. There is a bunch of classes
    published in that way, actually exposing methods from an ORM layer. The
    client app (a Winform/C# app) is used by almost 100 users over the internet
    (our customers), and the performance is great.

    Now. I'm actually engaged in a quite big new project. The architecture is
    quite simple now, with planned client apps (Winforms too) used inside a big
    corporate LAN, with external access also, with ASP.NET "extranet" websites.

    The point here is that in this new scenario we will have a lot of external
    communication with other clients, interfaces with government financial
    systems, and so on. and the "Service Oriented" idea came in. I have a lot of
    technical knowledge about web service and SOA (mainly from reading not from
    real experience). but I have some doubts about WHERE and WHEN to really
    apply web services.

    I'll probably have real "services" in this scenario (with all the know
    tenets, isolation, explicit boundaries, etc). No problem with that.

    The problem is with normal behaviors of a distributed application. Imagine a
    complex Winform client app with a lot of CRUD operations on business
    entities. there will be (logically) some BLL functionality to do that crud
    operations. I.E. the normal form to update or insert new customers or
    products in the system.

    But, in a "correct architectural point of view", if I decide to implement
    web services (to interface with other systems and services), I really need
    to expose ALL those BLL functionalities with web services?, or its nice to
    mix the technologies? (may be using COM+, Remoting, etc).

    In real world scenarios using web services. they do ALL with web services?,
    or just the points when interoperability between other systems are needed?.

    Every answer here will be really appreciated.
    Tnx in advance.

    Jack.
     
    Toble Rone, Oct 16, 2005
    #1
    1. Advertising

  2. Hi Toble

    Well, in my opinion, you hit the head on the nail, right there... plonk!

    I have done "Service oriented" systems like you for the commercial
    market on several projects, both in the J2EE and .NET camp.
    My opnion is:
    Look at your WS layer as a way of "interoperablizing" your business
    processes. Just another way to get to your business processes. Same way
    you can expose the same or other business processes for more appropriate
    protocols like remoting, custom TCP/IP channel, whatever. The business
    process remains the same, but how the data gets transported to it differs.

    So, you can build your system without the need for webservices at all,
    but still construct it to be "service oriented". Have POCOs, COM+
    objects, whatever to define the business processes and implement what
    those does. Expose all (or some of it) to "the world" via Webservices.
    That way any exposed interface (being Webservices, remoting) acts just
    as a transport layer.

    To your last question regarding all or some business processes as web
    services, I would say: Implement as appropriate. If it is more suitable
    for the client to use a custom TCP/IP based "protocol" use that, if it
    is suitable to use Webservices, do that. As long as you isolate your
    business processes from the actual transport, you can mix it in any way
    you want.

    That being said. The last project I worked on used Webservices as main
    process entry point for clients, and Biztalk for integrating
    (serverside) with other "services" due to it's outstanding schema
    mapping functinality.

    Is it clear what the point is... or id I misunderstand your question
    totally.

    Regards

    Henrik


    Toble Rone wrote:
    > Some tome ago, me and my team could carry out our first real distributed
    > project. It's a GIS application using a Remoting Host (currently a Windows
    > Service), with TCP formatter over HTTPS. There is a bunch of classes
    > published in that way, actually exposing methods from an ORM layer. The
    > client app (a Winform/C# app) is used by almost 100 users over the internet
    > (our customers), and the performance is great.
    >
    > Now. I'm actually engaged in a quite big new project. The architecture is
    > quite simple now, with planned client apps (Winforms too) used inside a big
    > corporate LAN, with external access also, with ASP.NET "extranet" websites.
    >
    > The point here is that in this new scenario we will have a lot of external
    > communication with other clients, interfaces with government financial
    > systems, and so on. and the "Service Oriented" idea came in. I have a lot of
    > technical knowledge about web service and SOA (mainly from reading not from
    > real experience). but I have some doubts about WHERE and WHEN to really
    > apply web services.
    >
    > I'll probably have real "services" in this scenario (with all the know
    > tenets, isolation, explicit boundaries, etc). No problem with that.
    >
    > The problem is with normal behaviors of a distributed application. Imagine a
    > complex Winform client app with a lot of CRUD operations on business
    > entities. there will be (logically) some BLL functionality to do that crud
    > operations. I.E. the normal form to update or insert new customers or
    > products in the system.
    >
    > But, in a "correct architectural point of view", if I decide to implement
    > web services (to interface with other systems and services), I really need
    > to expose ALL those BLL functionalities with web services?, or its nice to
    > mix the technologies? (may be using COM+, Remoting, etc).
    >
    > In real world scenarios using web services. they do ALL with web services?,
    > or just the points when interoperability between other systems are needed?.
    >
    > Every answer here will be really appreciated.
    > Tnx in advance.
    >
    > Jack.
    >
    >
     
    Henrik Gøttig, Oct 17, 2005
    #2
    1. Advertising

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. Muhammad Khan
    Replies:
    4
    Views:
    1,236
    Mike Treseler
    Jul 10, 2003
  2. John Davis
    Replies:
    0
    Views:
    757
    John Davis
    Aug 21, 2003
  3. Jeff
    Replies:
    4
    Views:
    4,562
  4. Purushottam Khandebharad

    web service boundaries for service oriented architecture

    Purushottam Khandebharad, Dec 14, 2005, in forum: ASP .Net Web Services
    Replies:
    1
    Views:
    145
    Henrik Gøttig
    Dec 20, 2005
  5. John Davis
    Replies:
    0
    Views:
    376
    John Davis
    Aug 21, 2003
Loading...

Share This Page