473,387 Members | 1,572 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Service Oriented Architecture

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?
Jun 27 '08 #1
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
Jun 27 '08 #2
Lav
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.
Jun 27 '08 #3
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). .
Jun 27 '08 #4
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!
Jun 27 '08 #5
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
Jun 27 '08 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
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...
3
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...
1
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...
3
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...
6
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...
2
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...
0
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...
3
dmjpro
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
4
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...
0
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,...
0
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...
0
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...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
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...
0
marktang
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,...
0
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...
0
Oralloy
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,...
0
jinu1996
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...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.