Organizing Large Web Service

Organizing Large Web Service

am 18.04.2008 02:39:18 von Spam Catcher

Hi all,

How do you all organize your large web services?

I have a service which needs to cover multiple components. Do you build one
asmx file for all the functions. Multiple ASMX files - grouping by
functionality? Or have do you go the document route - in which the details
are in the XML, and the web service routes it to the appropriate backend?

Some of the components need "high" performance, and I need usability, so
I'm hoping to stay away from the document-centric model.

Any ideas?

Thanks!


--
spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 18.04.2008 11:01:02 von xyz_john

One of the good things about webservices is that you can offset load between
servers easily based on functional requirement. Given the opportunity, its
easy to treat a set of services as a component and dedicate hardware to it,
of course if they need to call other webservices in a chain this can impact
performance. There is though no reason why you can't have lots of asmx file
locally utilising each others services though, nor is there really any
reason why you can't have one asmx file with lots of methods in it.

I tend to have lost of asmx file with related methods encapsulated and
offset these to other servers if the load in any single asmx method might
cause bottlenecks.

--
--
Regards

John Timney (MVP)
http://www.johntimney.com
http://www.johntimney.com/blog


"Spam Catcher" wrote in message
news:Xns9A83D222D526Busenethoneypotrogers@127.0.0.1...
> Hi all,
>
> How do you all organize your large web services?
>
> I have a service which needs to cover multiple components. Do you build
> one
> asmx file for all the functions. Multiple ASMX files - grouping by
> functionality? Or have do you go the document route - in which the details
> are in the XML, and the web service routes it to the appropriate backend?
>
> Some of the components need "high" performance, and I need usability, so
> I'm hoping to stay away from the document-centric model.
>
> Any ideas?
>
> Thanks!
>
>
> --
> spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 18.04.2008 16:55:28 von NoSpamMgbworld

Most often, I would think in terms of functionality, which may or many not
correspond to the actual assemblies. Each service (page) should focus on a
particular set of methods that fit a particular type of functionality. If
you think of each page as a service (it is), then you are fine.

You do not have to line up services with "documents" in another application.
In fact, in most cases, that is a detrimental way to design your services,
as you are thinking UI rather than service.

--
Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

Subscribe to my blog
http://gregorybeamer.spaces.live.com/lists/feed.rss

or just read it:
http://gregorybeamer.spaces.live.com/

*************************************************
| Think outside the box!
|
*************************************************
"Spam Catcher" wrote in message
news:Xns9A83D222D526Busenethoneypotrogers@127.0.0.1...
> Hi all,
>
> How do you all organize your large web services?
>
> I have a service which needs to cover multiple components. Do you build
> one
> asmx file for all the functions. Multiple ASMX files - grouping by
> functionality? Or have do you go the document route - in which the details
> are in the XML, and the web service routes it to the appropriate backend?
>
> Some of the components need "high" performance, and I need usability, so
> I'm hoping to stay away from the document-centric model.
>
> Any ideas?
>
> Thanks!
>
>
> --
> spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 20.04.2008 23:53:28 von Spam Catcher

"Cowboy \(Gregory A. Beamer\)" wrote
in news:Ob0y$QWoIHA.4912@TK2MSFTNGP03.phx.gbl:

> Most often, I would think in terms of functionality, which may or many
> not correspond to the actual assemblies. Each service (page) should
> focus on a particular set of methods that fit a particular type of
> functionality. If you think of each page as a service (it is), then
> you are fine.
>
> You do not have to line up services with "documents" in another
> application. In fact, in most cases, that is a detrimental way to
> design your services, as you are thinking UI rather than service.

Any ideas how I can reduce the number of web references? For example if an
application needs access to multiple ASMX files - it'll become tedious to
add all those references all the time?

--
spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 21.04.2008 16:33:02 von George Ter-Saakov

You can have multiple WebMethods in single asmx file...
That is usually how it's done...

So you need to add only one reference... Like here for example
http://cardone.com/test/service1.asmx


George.


"Spam Catcher" wrote in message
news:Xns9A86B60455175usenethoneypotrogers@127.0.0.1...
> "Cowboy \(Gregory A. Beamer\)" wrote
> in news:Ob0y$QWoIHA.4912@TK2MSFTNGP03.phx.gbl:
>
>> Most often, I would think in terms of functionality, which may or many
>> not correspond to the actual assemblies. Each service (page) should
>> focus on a particular set of methods that fit a particular type of
>> functionality. If you think of each page as a service (it is), then
>> you are fine.
>>
>> You do not have to line up services with "documents" in another
>> application. In fact, in most cases, that is a detrimental way to
>> design your services, as you are thinking UI rather than service.
>
> Any ideas how I can reduce the number of web references? For example if an
> application needs access to multiple ASMX files - it'll become tedious to
> add all those references all the time?
>
> --
> spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 21.04.2008 17:09:28 von Spam Catcher

"George Ter-Saakov" wrote in news:e3#acy7oIHA.2636
@TK2MSFTNGP04.phx.gbl:

> You can have multiple WebMethods in single asmx file...
> That is usually how it's done...

I know that - but what happens when you have 100's of methods?

That's my problem.


--
spamhoneypot@rogers.com (Do not e-mail)

Re: Organizing Large Web Service

am 21.04.2008 17:45:16 von George Ter-Saakov

Nothing happens :)
You just have a 100's methods...

Usually in your asmx file you have only declarations. As soon as method
called you route it to your internal classes... Which can be in different
files.

So your asmx file is not big at all. Like 4 lines per method.

PS: Of course I do not know what kind of web service you doing but usually
it's not suppose to be 100s methods. Rarely you need to expose all your
business to outside world.
May be you can expose one method "DoTheDew" that takes one string (or
generic class ) as a parameter.
That string suppose to be XML which is parsed out and routed to
appropriately. Something like
----IN--------------------

CreateOrders
..........


----OUT---------------

Success

..........


George.


"Spam Catcher" wrote in message
news:Xns9A877184B6F33usenethoneypotrogers@127.0.0.1...
> "George Ter-Saakov" wrote in news:e3#acy7oIHA.2636
> @TK2MSFTNGP04.phx.gbl:
>
>> You can have multiple WebMethods in single asmx file...
>> That is usually how it's done...
>
> I know that - but what happens when you have 100's of methods?
>
> That's my problem.
>
>
> --
> spamhoneypot@rogers.com (Do not e-mail)