I'm in the process of designing a Service Oriented Architecture. At
the moment I based the design on the Web Service Software factory
guidelines - so a services layer, business layer and resource access
layer. The services layer contains WCF services, which use the
business layer, which uses the resource access layer. I'm using data
contracts for data that is passed via the WCF services, and these are
converted to business entitities that pass to business layer and data
layer.
Meanwhile the data layer has become a WCF service. So, the question
arise: how do I pass the data now? Even further: imagine that I would
make everything a service, how would you pass data between tiers?
Can I define internal data contracts once, and use these over all WCF
services for example? Or how would the best approach be - if every
service uses its own data contract then I need to convert everything
in every service and I think that's overkill? 5 2726 lu***********@hotmail.com wrote:
I'm in the process of designing a Service Oriented Architecture. At
the moment I based the design on the Web Service Software factory
guidelines - so a services layer, business layer and resource access
layer. The services layer contains WCF services, which use the
business layer, which uses the resource access layer. I'm using data
contracts for data that is passed via the WCF services, and these are
converted to business entitities that pass to business layer and data
layer.
Sounds very fine.
Meanwhile the data layer has become a WCF service. So, the question
arise: how do I pass the data now? Even further: imagine that I would
make everything a service, how would you pass data between tiers?
Can I define internal data contracts once, and use these over all WCF
services for example? Or how would the best approach be - if every
service uses its own data contract then I need to convert everything
in every service and I think that's overkill?
The approach is: don't !
SOA is about having systems provide a service at the business level
to other systems.
A data layer is not a business service. And a WCF interface to that
is not SOA and with 98% probability a bad idea.
Arne
Even if you want to expose all the Data layer as a WCF service,
access to it should be restricted.
Data Contract seems to be the correct way to communicate between
services.
On 12 apr, 16:53, Arne Vajhøj <a...@vajhoej.dkwrote:
ludwig_stu...@hotmail.com wrote:
I'm in the process of designing a Service Oriented Architecture. At
the moment I based the design on the Web Service Software factory
guidelines - so a services layer, business layer and resource access
layer. The services layer contains WCF services, which use the
business layer, which uses the resource access layer. I'm using data
contracts for data that is passed via the WCF services, and these are
converted to business entitities that pass to business layer and data
layer.
Sounds very fine.
Meanwhile the data layer has become a WCF service. So, the question
arise: how do I pass the data now? Even further: imagine that I would
make everything a service, how would you pass data between tiers?
Can I define internal data contracts once, and use these over all WCF
services for example? Or how would the best approach be - if every
service uses its own data contract then I need to convert everything
in every service and I think that's overkill?
The approach is: don't !
SOA is about having systems provide a service at the business level
to other systems.
A data layer is not a business service. And a WCF interface to that
is not SOA and with 98% probability a bad idea.
Arne
The reason to service enable (part of) the data layer was because I
needed to service enable a single-threaded COM API, and using WCF it
as rather easy to do (single concurrency service and making sure that
everything is executed in the same thread). .
On 13 apr, 05:52, Lav <gupta....@gmail.comwrote:
Even *if you want to expose all the Data layer as a WCF service,
access to it should be restricted.
Data Contract seems to be the correct way to communicate between
services.
Indeed, data contract. But only if I can share that data contract
between the various web services, because I don't want to do
conversion between data in each service! lu***********@hotmail.com wrote:
On 12 apr, 16:53, Arne Vajhøj <a...@vajhoej.dkwrote:
>ludwig_stu...@hotmail.com wrote:
>>I'm in the process of designing a Service Oriented Architecture. At the moment I based the design on the Web Service Software factory guidelines - so a services layer, business layer and resource access layer. The services layer contains WCF services, which use the business layer, which uses the resource access layer. I'm using data contracts for data that is passed via the WCF services, and these are converted to business entitities that pass to business layer and data layer.
Sounds very fine.
>>Meanwhile the data layer has become a WCF service. So, the question arise: how do I pass the data now? Even further: imagine that I would make everything a service, how would you pass data between tiers? Can I define internal data contracts once, and use these over all WCF services for example? Or how would the best approach be - if every service uses its own data contract then I need to convert everything in every service and I think that's overkill?
The approach is: don't !
SOA is about having systems provide a service at the business level to other systems.
A data layer is not a business service. And a WCF interface to that is not SOA and with 98% probability a bad idea.
The reason to service enable (part of) the data layer was because I
needed to service enable a single-threaded COM API, and using WCF it
as rather easy to do (single concurrency service and making sure that
everything is executed in the same thread). .
It can be an OK solution for a specific problem. I am not COM
knowledgeable enough to comment on the specifics.
But I would not call it SOA. Because you are exposing data not
a service.
Arne This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: plato399 |
last post by:
I apologize upfront if this newsgroup isn't the correct place for this
question, but it seems to be the most appropriate place.
My question is surrounding XML-based web services. I'm trying to...
|
by: Blitz Krieg |
last post by:
Oh Great Gurus... The wisdom of DotNet-dom is needed...
We have several applications in our test lab, that do not need peak
performance, but consistent reporting. We have been using C# and VB...
|
by: benmorganpowell |
last post by:
I have a small windows service which connects to a POP3 server at
defined intervals, scans the available messages, extracts the required
information and inserts the data into a SQL database. I am...
|
by: Fredric Ragnar |
last post by:
Hi,
I am making a prototype system with Remoting in the bottom of the system. An
XML Web Service is using the remote object on an IIS to present data.
I am using a TcpChannel for communicating...
|
by: jensen bredal |
last post by:
Hello,
I need to build a new web system. It is required that i use SOA .
Can someone tell me briefly what that means in practise. I have read
some rather abstract documents, describing the idea...
|
by: John A |
last post by:
I have a Web Service that I am reponsible for that we use for data
integration purposes. Recently I have been tasked with sending some of this
data to a third party. Because they need to receive...
|
by: crm-tutorial |
last post by:
Service-Oriented Architecture(SOA) - Principles & Practice (October
2006)
The Principles of SOA,Loosely-Coupled Architecture,The SOA Solution -
How it Works,The iBOLT Flow Editor, Composite...
|
by: dmjpro |
last post by:
plz send me a good link which can clearify me how the J2EE framework works
i want the details information .... plz help
thanx
|
by: =?Utf-8?B?S2F1c2hhbCBNZWh0YQ==?= |
last post by:
Hi,
I was reading about asynchronous transfer of control in Real Time Java
Specification.
I am wondering if there is any way we can do similar thing with Web Services
in Service Oriented...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |