|
I was recently asked to comment on a design where the architect has proposed that the entire business layer be exposed as a WCF[^] service to the presentation layer (a web app). The motivation apparently, is to make the business layer accessible to 3rd party applications. The idea is to expose a TCP/IP binary end point from the service that will be accessed from the web app and a SOAP end point meant to be used by 3rd party apps.
What do you folks think about this approach? Certainly, the WCF service would need to be load balanced[^] as otherwise its just going to be a bottle-neck as the app scales. Secondly, does it make sense to shield the WCF stuff from the web app via a facade layer? Maybe provide a proxy implementation for the business layer interfaces that simply forwards the call to the WCF service and hook it up to the web app using an IoC[^] framework?
Thanks!
--
gleat
http://blogorama.nerdworks.in[ ^]
-- Once we figured out that taking our shoes and socks off would double our counting ability the technical glitch was quickly rectified. -- Chris Maunder, from the CP newsletter
|
|
|
|
|
A large reason for using WCF is to enforce and enable your applications to offer services via SOA. If it makes sense for the whole of your application to be exposed as a service, then this is a good idea. I find that people typically go OTT with WCF (and Web Services), by exposing absolutely everything or by needlessly making their code run as a service where it makes more sense to run the code in-process.
|
|
|
|
|
gleat wrote: does it make sense to shield the WCF stuff from the web app via a facade layer?
Absolutely, imho.
The web app (or any client) shouldn't need to use WCF semantics or any other service implementation dependencies. This allows (1) easier construction of mock objects for client side testing and (2) replacement of the backend API (if needed) without having your clients retool their code.
/ravi
|
|
|
|
|
Hi,
1. What is a basic skills a person need to become a technical architect ?
2. How much Minimum experience in development need ?
3. And my big question is from where to start ?
Grazie,
Regards,
Vythees
Miles to go before sleep...
modified on Thursday, March 27, 2008 6:57 AM
|
|
|
|
|
Here's the problem.
I have a project being re-written. It is using web services and a smart-client.
The document for the screen should include the data format of the web service being called.
The web service should include the data format for all of the methods that are available.
The client only needs one or two methods, while the service contains many.
I'd like to have the document for the client updated automatically when the web service is updated, but not include the entire web service doc.
As an "extra", I'd like to know where each method of the web service is called. (Which screens etc).
I'm hoping such a product exists. Otherwise, I might just have write the stinker.
Thanks
Brad Bruce
|
|
|
|
|
Are there any existing mechanisms to achieve this, or do I need to roll my own?
I have a small subset of text fields that cause problems when I assign an empty string from the UI to a field, which should be null if not specified.
|
|
|
|
|
Well I agree that this is a design question but since it is so specific we probably need to know the platform and language you are working with, yes?
Abandon hope all ye who answer here.
Pete O'Hanlon - the General Discussions forum
|
|
|
|
|
Sorry, that was quite an oversight. ASP.NET, in C#. I'm not specifically asking how to do this, just if it is done already by others, and how they do it. Input regarding other areas I would also appreciate.
|
|
|
|
|
Brady Kelly wrote: when I assign an empty string from the UI to a field
So this field is a Database column I guess? I imagine many people today are using Object Relation Mapping on the .NET platform and the tools and/or libraries/frameworks handle that stuff for them. Have you looked at the Castle project, specifically ActiveRecord which is built on NHibernate? Also if you are using 3.5 I have seen lots of positive noise about Linq.
|
|
|
|
|
Thanks Mike, I have planned to look at Linq, as I'm giving the other devs an intro to it next month.
|
|
|
|
|
I've just found one way of doing this with standard ASP.NET. The SqlDataSource Parameter elements all support a ConvertEmptyStringToNull attribute.
|
|
|
|
|
Brady - If you are reading things in with a datareader, then one way would be to use some code to convert your DB null string to a null string. A simple function would cope with this:
public string GetString(IDataReader item, string column)
{
int ordinal = item.GetOrdinal(column);
if (item.IsDBNull(ordinal))
return null;
return item.GetString(ordinal);
}
|
|
|
|
|
Hi All,
I want to develop ludo board game application with following feature.
It will be a multi user application where user can play from his desktop.
One server multiple user architecture
User can play from his home,cafe or under proxy server(college campus)
whenever user do his part it should be reflected to every user desktop.
Game rules and procedure must be exists on server for security.
Wht is it?
Smart client application
Dot Net Remoting
Web Services
Pl give your comments/suggestions /example
Thanks for everything.
|
|
|
|
|
Please don't cross post. It's considered rude and won't help you get an answer any faster. The original post is here[^].
Scott.
—In just two days, tomorrow will be yesterday.
—Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai
[ Forum Guidelines] [ Articles] [ Blog]
|
|
|
|
|
Dear group,
I have to load all the dependent libraries of an ELF output file while it is loading.
SO for this i decided to write ELF parser to load the dependent libraries.
Please suggest me with a sample.
Thanks in advance,
Ravinder Are
Are
|
|
|
|
|
I'm looking at implementing document storage and versioning for our ASP.NET application, and I would appreciate some input on various methods used, designs etc. Google seems to just yield adverts for document archiving systems, but I would like to investigate implementing our own as well.
|
|
|
|
|
Brady - effectively there are two mechanisms for achieving this. The first is to store the file in a database and use triggers to help you achieve versioning. The second is to store the file on a disk, and then store the path to the file (probably in a database). If you choose to store the path, you need to rename the file to something unique (e.g. a GUID), and map this back to the original filename in the database - fortunately this is incredibly easy to do. I'm unsure as to what you ultimately need to know, so if you want to refine your question or ask for more information, let me know.
|
|
|
|
|
Thanks Pete. We already use the stored path approach, but I've just met with my team lead, and the requirement wasn't described very well. All I need to do is move older documents 'off-site', i.e. remove them from the operational folder, on demand. The versioning actually refers to database based documents such as cost estimates, invoices etc.
|
|
|
|
|
Brady Kelly wrote: the requirement wasn't described very well.
Isn't that always the case. Not only do the lunatics end up running the asylum, they get to decide who gets committed there as well.
|
|
|
|
|
I'm quite lucky. Nearly all issues are logged internally, and only require a ten minute, in office, chat to sort out. At least we don't work off specs for this, the paperwork would be enormous.
|
|
|
|
|
Hey
This may not be the correct forum for this question but it is the closest I could find.
I have a considerable amount of class diagrams (rough sketches on paper) that I would like
to enter into MS Visio 2003. This is fine as long as I am dealing with types such as
C# int, C# bool etc. However I would like to be able to represent .NET and XNA types.
I have read that this is possible (to add in extra libraries) but am unsure how?
Can any one explain how to do this?
Thanks
At university studying Software Engineering - if i say this line to girls i find they won't talk to me
Dan
|
|
|
|
|
Hi Everyone,
I would like to know under which scenario, in a web application we can use Web service to make database call. Means, what is the benefit of using web service to return data from database and to use that data in application. In this case, web service to be built for internal purpose only and not a public web service.
Can any one please suggest me why web service can be used to make a database call instead of simple DAL? What this extra layer of web service can give benefit to the architecture?
Thanks & Regards
Lokesh Gupta
|
|
|
|
|
Its a layer of abstraction, which gives the usual things - benefits of being able to replace the database+webservice end and have your application still working fine, easier implementation of security, and the usual downsides of more complexity, maintenance and worse performance.
Of course if you never intend to change the architecture, then you are just burning money to add complexity for no real reason.
|
|
|
|
|
Hi,
Principally that of abstraction. The chances are that whatever it is that calls your webservice should not know about the database at the other end- ideally if there is even one. It should think in terms of calling something to get the data it needs.
The webservice will form part of your middle tier, so should you change databases or decide to implement some caching etc, the client remain unaffected.
Of course, if you want your application to work other the internet as well, then you need to do something like this or you'll have to open up firewalls to the database port which exposes a nightmare scenario of security risks.
Regards,
Rob Philpott.
|
|
|
|
|
Hi everyone,
I have a question with Visual Studio 2008 and SQL Server Reporting 2005. My client already has a Sql Server 2005 license
which has SQL Server Reporting. The development team is developing a website using Visual Studio 2008. When we launch SQL
Server Business Intelligence Studio to create a new SQL Server report, it opens Visual Studio 2005, not 2008? Why is that?
Does this mean we have to scrap developing the site with 2008 and use 2005? Is there a way to continue using 2008 and
associate Business Intelligence Studio with VS2008?
Thanks!
John
|
|
|
|