|
Yes thanks, I know how, so should anyone who dares to call themseleves a programmer.
If you don't then hire someone who does - and if they haven't got a proven track record, don't hire them, otherwise we will see THEM asking the same question on here.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Hi,
I have an executable application in C# that contains multiple .Net DLLs.
I should provide a SOA interface.
How do I start?
All I could find are articale about the SOA as an idea, but no samples,
nothing from the real thing
Cheers,
Gil
May the source be with you
|
|
|
|
|
Don't exactly understand what you mean by providing a SOA interface.
SOA is an architecture (Service Oriented Architecture) that can be used to separate logic based on the service provided to caller. So in other words, it's nothing technical only a 'guideline'.
The need to optimize rises from a bad design
|
|
|
|
|
Actually I didn’t understand as well
The customer asked a SOA interface for my product, quite a general statement.
From what I read about SOA, a SOA service should support any language, right?
So I wonder how technically to provide such as interface, any ideas?
Cheers
May the source be with you
|
|
|
|
|
This is a very large issue, so I'll be able to point out only few bullets. These are in random order so don't take this list as it would be prioritized:
- SOA is designed to separate different systems so that they can work independently and have only common interface (for example CRM vs ERP)
- it is mainly targeted for middle tier (this is not quite accurate, but gives the idea)
- client can be anything: UI, another system, service etc.
- client technology can be Microsoft based, Java or anything that is able to call web methods (again not literally accurate)
- it can be implemented in small scale (within a system) or large scale (between systems)
Based on the list above, you should create one or more systems that are working independently (depending how the customer sees this). However it is not efficient to use separate service approach in a small system since this could lead to repeated logic. The difference between systems should be 'natural'... Badly said What I mean for example is that it makes no sense to create a different, independent service for creating a customer and for updating the customer (of course the problem in the real world is not so obvious).
So what you should do, could be something like:
- discuss with the customer, how many systems should be created and what they are
- define services (web services if heterogenous or old MS clients) or WCF
- when defining a service, use interfaces for signature of a web method
- implement or move the logic on either side (middle-tier or client)
Also beware that if the application is currently running under one executable, breaking the logic to two separate layers may be a very large work (depending if the application is already designed for separation or not).
I hope that this helps you forward,
Mika
The need to optimize rises from a bad design
|
|
|
|
|
Thanks for the detailed answer
You sure cleared some issues
I think WCF will be the winner
As for separated logic & executable - no prob
May the source be with you
|
|
|
|
|
You're welcome
The need to optimize rises from a bad design
|
|
|
|
|
Hi Gil,
I assume you are wanting to apply WCF to an existing application? Michele Bustamante has a good example here:
Hello Indigo[^]
This is taken from Chapter 1 of her book, Learning WCF. I do not own this book but it has had very good reviews.
The whole of Chapter 1 is available in PDF (and also at the link provided) and you can also download the source code for the book. The book was for VS 2005 .NET 3.0. However, she has also provided source for running in VS 2008/.NET 3.5.
Chapter 1 is actually an excellent step-by-step introduction to WCF where she uses one simple API ("Hello Indigo") and works through all of the different scenarios for using WCF with it. I've worked though a number of the examples, though I haven't yet tried the one described.
Kevin
|
|
|
|
|
Hi Kevin,
As I wrote to Mika, I'm not quite sure what my client ment by SOA interface
I need to ask my contact guy to ask the client for more info
I assume WCF is one way to provide the SOA concept, right?
Cheers
May the source be with you
|
|
|
|
|
Gil Shimer wrote: I assume WCF is one way to provide the SOA concept, right?
Yes. And if you're in the Microsoft world (which you most likely are if you're using C#) then this is the way to go. Once you've provided a WCF contract you're service will be accessible from any platform and any language.
However, if you're confined to .NET 1.x or 2.0 then web services is the way to go.
Kevin
|
|
|
|
|
Thanks
It looks like a solution
I'm back on the track
Cheers
May the source be with you
|
|
|
|
|
Hello everyone,
I have read a few WSDL documents and toturials, but find nothing covers how to add SOAP header for some web services port operations in WSDL file.
Does anyone have such referral documents or books?
thanks in advance,
George
|
|
|
|
|
Don't have any books in mind, but technically adding a SOAP header is described for example here.
SoapHeader Class[^]
I don't believe that you can add a header to a port (unless you write custom logic to handlers), but you can add header to web service and divide different services to different ports.
Hope this helps,
Mika
The need to optimize rises from a bad design
|
|
|
|
|
Hi Mika,
My question is how to add SOAP header to some web methods in raw WSDL file, not modify the web services code to generate SOAP header as the link you referred shows.
Any comments or ideas?
regards,
George
|
|
|
|
|
Never done that before, but I would create a web service without header attributes and a copy of that web service with another name and with soap headers. Then, I would get the wsdl-files and compare them to see what has to be modified and how.
This isn't elegant aproach, but perhaps it would help ,
Mika
The need to optimize rises from a bad design
|
|
|
|
|
Hi Mika,
I have already done what you described. But I think a more comprehensive document about how to add SOAP header and a sample would be greater! Any referral documents or forums/maillist to ask the question?
regards,
George
|
|
|
|
|
|
Thanks Mika!
I like the document you referred.
Any more comprehensive tutorials or documents describing the SOAP header related fields in WSDL?
regards,
George
|
|
|
|
|
You're welcome.
Sorry to say but I've got nothing else in mind since I usually let VS generate the necessary definitions for WSDL. Hopefully google will help you. Especially W3C related sites...
Mika
The need to optimize rises from a bad design
|
|
|
|
|
Thanks Mika,
Let me know when you have any more readable materials on this topic in the future. I am reaing w3 sites now, but not quite readable and boring.
regards,
George
|
|
|
|
|
hi,
this is exactly my first program, i will be using C#. The device i am using is a usb connected PC digital TV receiver this receiver software actually have a function which measure the signal strength, BER and these data are save into an log file (thus it real time measurement data) once i start the device (start watch TV).
I am suppose to use C# to get the real time measurement and convert it into graphic (line chart).
I have try to get the data for the log file and display it in the textbox using the following code
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Testing_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
StreamReader objstream = new StreamReader("c:\\measurement.log");
textBox1.Text = objstream.ReadToEnd();
}
but this is the error i got : IOExpection was unhandled the file been use by another program.
I also try another method which is directly from the usb port which the device is connected to but i am unable to start working on it coding. i had been looking into example of usb_hib and ICSHARPUSBlib but i was unable to get anything out.
Thus please help me, if i am in the right direction (get the data from usb directly?) or do you have any better item on how i should get this done, any code to refer to.
thank so much
|
|
|
|
|
Re-posting your question is considered rude!
Harvey Saayman - South Africa
Junior Developer
.Net, C#, SQL
you.suck = (you.Passion != Programming & you.Occupation == jobTitles.Programmer)
1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111
|
|
|
|
|
hi Harvey Saayman
i repost my question after listening to your advice on reading the following forum (How to use the code project forums[^]), thus i repost my question with the title other could understand more, i am sorry i didnt know this action consider rude. I am just hoping I could be able to get help.
yefeng_law
|
|
|
|
|
yes the subject is better this time, but you can edit the original post, you dont have to make a new one
yefeng_law wrote: I am just hoping I could be able to get help.
and will get help if someone here is able to help you, your new so its fine... but dont repost a question just to get it back on the first page etc.
Harvey Saayman - South Africa
Junior Developer
.Net, C#, SQL
you.suck = (you.Passion != Programming & you.Occupation == jobTitles.Programmer)
1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111
|
|
|
|
|
Thank i understand what you mean.
Regard
yefeng_law
|
|
|
|