473,406 Members | 2,713 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,406 software developers and data experts.

developing an information server

I'd like to find/have a discussion about the various ways an application
server could be implemented. So the upsides and downsides can be discussed.
In case I'm using the term wrong by "app server" I mean a centralized
"business information service" that could be readily accessed by client
software. Initially this would be on a LAN but (like everything) the
requirements would likely grow to permitting general Internet access.

It shouldn't require .Net to exist on the client and ideally it shouldn't
even require .Net to exist on the server. I'd like to use .Net to write it
but it doesn't "have to" hook into everything that .Net offers. I'd just
like the ability to accept requests for information and send it back.

(Don't know if I should go on until I get a response... but I probably
haven't provided enough information yet... so)

Generally speaking the server would return data fetched from a database but
of course where the information came from shouldn't be important to the
client requesting it. So let me provide a few simples examples. Naming the
server "myserver" it should be possible to request the following (but not
necessarily using this syntax):

myserver.WhatTimeIsIt
and the time on the server would be returned

myserver.GetClientsList
and a list of the clients (the details "name, address, etc." of which are
defined by the server) would be returned

myserver.GetClient(12345)
and information related to clientID 12345 would be returned

To be clear the client would not control the format of the returned data.
The server has certain information available, it publishes the format that
it will be in and the client simply requests it.

Additionally the server should accept information (for example):
myserver.UpdateClient(ProperlyFormattedClientData)

I'm probably just describing a "server" (sorry about that but everybody asks
"what do you want to do")

So it could be done with a webserver I suppose, it could be done with DCOM
right? It could be done with services that .Net have introduced I'm sure
but some solutions are hard, some cost a lot, some are very limited, some
are proprietary, etc., etc. I was hoping for cheap, fast, powerful, easy
and non-proprietary :-)

Is this a good place for such discussion? If not anybody have an idea where
a good spot would be? I'm looking for a discussion rather than a heated
argument.

Thanks,
Tom
Jul 21 '05 #1
2 1841
How about a webservice?

..NET includes support for webservices. The easiest way to get started is to
use an ASP.NET webservice. The web service will be accessible via open
protocols, such as http, soap, xml. Any client technology supporting these
protocols will be able to access the "information service".

Using ASP.NET to implement your service, you would use an ASMX file. A
simple service might look like this:

<%@ WebService Language="C#" Class="PhoneInfo" %>

using System;
using System.Web.Services;

[WebService(Namespace="http://ionic.dyndns.org/webservices/")]
public class CustInfo: System.Web.Services.WebService {

[WebMethod(Description="retrieves customer Id for the given telephone
number. ")]
public int GetCustomerId(String phone)
{
int Id = DbLookupPhone(phone); // insert your db query logic here
return Id;
}
}

Using ASP.NET means you do need .NET installed on the server, but you do not
need .NET to be installed on client machines. (In general, if you are using
..NET to write an app, then you will need to have the .NET runtime installed
where you run the app.) The server app doesn't have to hook into everything
that .NET offers - just use what you want. If you use ASP.NET then you will
probably also use IIS to host the app. "Clients" can run on true desktop
machines (running Windows, or something else), and "clients" can run on
other server machines, so you can have server apps calling other server
apps, via the open web services protocols.

Your service can return custom types. The example above returns a plain
integer, but you could modify it to return any type you specify, eg
CustomerInfo, which might look like:

public class CustomerInfo {
public string FirstName;
public string LastName;
public string Address1;
public int CustomerId;
// etc
public int[] AccountNumbers;
public CustomerProfile Profile; // another (nested) custom type
}
The development of web services with .NET is fairly simple. The cost to run
them is not more than the cost of running a Windows Server.

For more information on web services,
http://msdn.microsoft.com/webservice...s/default.aspx
--
Dino Chiesa
Microsoft Developer Division
d i n o c h @ o n l i n e . m i c r o s o f t . c o m

"Tom Leylan" <ge*@iamtiredofspam.com> wrote in message
news:Ru*****************@twister.nyc.rr.com...
I'd like to find/have a discussion about the various ways an application
server could be implemented. So the upsides and downsides can be discussed. In case I'm using the term wrong by "app server" I mean a centralized
"business information service" that could be readily accessed by client
software. Initially this would be on a LAN but (like everything) the
requirements would likely grow to permitting general Internet access.

It shouldn't require .Net to exist on the client and ideally it shouldn't
even require .Net to exist on the server. I'd like to use .Net to write it but it doesn't "have to" hook into everything that .Net offers. I'd just
like the ability to accept requests for information and send it back.

(Don't know if I should go on until I get a response... but I probably
haven't provided enough information yet... so)

Generally speaking the server would return data fetched from a database but of course where the information came from shouldn't be important to the
client requesting it. So let me provide a few simples examples. Naming the server "myserver" it should be possible to request the following (but not
necessarily using this syntax):

myserver.WhatTimeIsIt
and the time on the server would be returned

myserver.GetClientsList
and a list of the clients (the details "name, address, etc." of which are
defined by the server) would be returned

myserver.GetClient(12345)
and information related to clientID 12345 would be returned

To be clear the client would not control the format of the returned data.
The server has certain information available, it publishes the format that
it will be in and the client simply requests it.

Additionally the server should accept information (for example):
myserver.UpdateClient(ProperlyFormattedClientData)

I'm probably just describing a "server" (sorry about that but everybody asks "what do you want to do")

So it could be done with a webserver I suppose, it could be done with DCOM
right? It could be done with services that .Net have introduced I'm sure
but some solutions are hard, some cost a lot, some are very limited, some
are proprietary, etc., etc. I was hoping for cheap, fast, powerful, easy
and non-proprietary :-)

Is this a good place for such discussion? If not anybody have an idea where a good spot would be? I'm looking for a discussion rather than a heated
argument.

Thanks,
Tom

Jul 21 '05 #2
"Dino Chiesa [Microsoft]" <di****@online.microsoft.com> wrote...
How about a webservice?
Dino: Thanks for your reply. I spent the weekend searching the Internet
and concluded this is probably what I was describing. I'm going to run out
and get books on XML-RPC and SOAP.
Using ASP.NET to implement your service, you would use an ASMX file. A
simple service might look like this:

<%@ WebService Language="C#" Class="PhoneInfo" %>
Even an example, thanks again. I'm going to read all about it, I'll get
something running in order to experiment but one concern is that if it
requires a separate ASMX file for every service then maintenance can become
bothersome. Considering all the information a typical business wants to
process (clients, orders, products, invoices, payments, etc.)

It seems to me that there has to be a single way in to the server such that
it can handle whatever request is sent to it. Maybe it will make more sense
when I read about it more.
The development of web services with .NET is fairly simple. The cost to run them is not more than the cost of running a Windows Server.


Thanks again for all the info, I've bookmarked the link you provided and I'm
on my way to the bookstore.

Tom
Jul 21 '05 #3

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

Similar topics

1
by: Troy Erickson | last post by:
I am very new to web developing. What is the best way to create a web project. I will be using asp with vs.net. What do most people do for computers more specifically. Do I remote debug to a...
3
by: Alastair | last post by:
Hello guys, I've been building a search facility for an intranet site I'm part of developing and we've been building a search engine using Index Server. It mostly works, however there have been...
3
by: Todd | last post by:
Hello, I'm looking for a book with in-depth coverage of developing server controls, particularly custom controls. Ideally, the book would have a good amount of how-to's and best practices, but...
2
by: Earthlink | last post by:
Hi, I've taken an interest in developing ASP .NET web applications and I want to use Visual Studio .NET which I already have for my development. My problem is that I do not have a server on my...
11
by: Simon | last post by:
Hi all As I'm sure is common knowledge the version of IIS included in XP Pro is limited in that you can only create 1 website in the IIS snap in. As an ASP.net developer this is a pain in the...
2
by: gemel | last post by:
Up until now I have been developing my ASP .NET web applications on the same machine as the client and then using 'Copy Project' or Web Setup to transfer the application.. This also included the...
2
by: Ben Kim \(Vertical Dimensions, Inc.\) | last post by:
Hello all, I am trying to develop a web application using VB.NET 2003 on WinXP Pro (with latest patches) and .NET Framework (SDK) latest. I have IIS 5.1 up and running. Here is the problem I...
6
by: Jason L James | last post by:
Does anyone know of any resources for pocketpc application development using vb.Net?
2
by: Tom Leylan | last post by:
I'd like to find/have a discussion about the various ways an application server could be implemented. So the upsides and downsides can be discussed. In case I'm using the term wrong by "app...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
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
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...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.