PC Review


Reply
Thread Tools Rate Thread

Advise on protocol

 
 
Lee
Guest
Posts: n/a
 
      26th May 2005

I will be building a pocket pc based app for use with our existing
appliction. The device would see a lot of use and traffic between it
and a server application could be significant at peak times.

I went through the simple webservices walkthrough and that seems like
the most straight forward way to implement this application. It would
be used on a local wireless lan, but distances from access points could
stretch and will obviously effect the bandwidth because of the signal.

I'm wondering if a binary protocol would be best for performance, but I
like the idea of a webservice since its more "open" and companies that
partner with us, like to have interfaces into our data stores. Once I
get more familiar with VS and CF I will have to do some testing. In
the meantime, I was hoping to get some broad feedback.

BTW, its not necessarily that the AMOUNT of data would be significant,
not large dataset or blobs being transferred. The number of requests
would be pretty much constant at peak times, but smaller pieces of data
(xml datasets passed as strings, I think) would be sent back and forth.

Thank you,

--
Warm Regards,

Lee
 
Reply With Quote
 
 
 
 
Dick Grier
Guest
Posts: n/a
 
      26th May 2005
Hi,

As you imagine, this has to be prototyped and evaluated "in person." Even
though XML web services can be chatty, and a little bloated (well, perhaps
very bloated), if they work acceptably, they certainly are the way to go.
The ease of implementation with a standard web service, and its potential
for "openness" speaks volumes.

Without some metrics for the performance that you need, and the amount of
data involved, it is tough to make any concrete statements. My advice is to
give it a try, then make some worst-case assumptions about how it may
degrade in a loaded, production environment.

Dick

--
Richard Grier (Microsoft Visual Basic MVP)

See www.hardandsoftware.net for contact information.

Author of Visual Basic Programmer's Guide to Serial Communications, 4th
Edition ISBN 1-890422-28-2 (391 pages) published July 2004. See
www.mabry.com/vbpgser4 to order.


 
Reply With Quote
 
Lee
Guest
Posts: n/a
 
      26th May 2005
Dick Grier enlightened me by writing:

> Without some metrics for the performance that you need, and the
> amount of data involved, it is tough to make any concrete statements.
> My advice is to give it a try, then make some worst-case assumptions
> about how it may degrade in a loaded, production environment.
>
> Dick


Thanks, Dick. I agree, there will have to be some tests. As I
mentioned, it will be mostly small request/response pairs. Below is an
example of how we have implemented something similar in Delphi 6 using
straight TCP sockets. The substance of the request and response
packets below are similar to what we would like to accomplish through
..net and possibly web services.

Additional question: I assume that since WebServices can work on top
of http, it can also work over top of https (ssl) as well?

Thanks again,

Lee


// Request
<?xml version="1.0" encoding="utf-16"?>
<Request>
<Operations>
<Command>
<OpType>StructuredData</OpType>
<Params>
<FunctionName>sales_single_sale</FunctionName>
<SaleID>4</SaleID>
<SaleDate />
</Params>
</Command>
</Operations>
</Request>

// Ressponse
<?xml version="1.0" encoding="utf-16"?>
<Result>
<ResponseCode>0</ResponseCode>
<ResponseText>OK</ResponseText>
<ResponseItems>
<sales_single_sale>
<SaleID>4</SaleID>
<TableID>0</TableID>
<OrderTime>05/25/2005 15:31:29</OrderTime>
<OrderType>QuickService/OrderType>
<OrderSub>23.45</OrderSub>
<Tax1>1.45</Tax1>
<Tax2>0.00</Tax2>
<AmusementTax>0.00</AmusementTax>
<AlcoholTax>0.00</AlcoholTax>
<AutoGrat>0.00</AutoGrat>
<OrderTotal>24.90</OrderTotal>
<EmployeeID>5</EmployeeID>
<StationID>1</StationID>
<StoreNumber>1</StoreNumber>
<NumberOfGuests>0</NumberOfGuests>
<DriverID>5</DriverID>
<ShiftNumber>2</ShiftNumber>
<CustomerID>0</CustomerID>
<Items>
<SaleItem>
<ProductID>3768</ProductID>
<ItemPrice>8.50</ItemPrice>
<ProductDescription>Fire House Wings 24</ProductDescription>
</SaleItem>
<SaleItem>
<ProductID>3582</ProductID>
<ItemPrice>5.25</ItemPrice>
<ProductDescription>Spinach and Artichoke
Dip</ProductDescription>
</SaleItem>
<SaleItem>
<ProductID>3576</ProductID>
<ItemPrice>5.95</ItemPrice>
<ProductDescription>Shooters Strip Tees 6</ProductDescription>
</SaleItem>
<SaleItem>
<ProductID>3579</ProductID>
<ItemPrice>3.75</ItemPrice>
<ProductDescription>Shooters Frippin
Chips</ProductDescription>
</SaleItem>
</Items>
<Discounts />
<Payments />
</sales_single_sale>
</ResponseItems>
</Result>
--
Warm Regards,

Lee
 
Reply With Quote
 
Dick Grier
Guest
Posts: n/a
 
      26th May 2005
Hi,

I'm not sure about SSL.

BTW, you might be interested in this article:
http://www.businessanyplace.net/?p=wscompress

Your particular data look fairly small, so unless it grows quite a bit, is
sounds manageable via a web service.

Dick
--
Richard Grier (Microsoft Visual Basic MVP)

See www.hardandsoftware.net for contact information.

Author of Visual Basic Programmer's Guide to Serial Communications, 4th
Edition ISBN 1-890422-28-2 (391 pages) published July 2004. See
www.mabry.com/vbpgser4 to order.


 
Reply With Quote
 
Nino Benvenuti
Guest
Posts: n/a
 
      27th May 2005
You can consume a web service that uses SSL from the .NET Compact
Framework 1.0. You will need to implement your own Certificate Policy
(so that you can manually validate the certificates). Two links:
http://www.opennetcf.org/forums/topi...tificatePolicy

http://www.explosivedog.com/blog/arc...06/21/348.aspx

Also,these posts may be helpful, too:
http://blog.opennetcf.org/ayakhnin/C...3-c249ab2facce
http://groups-beta.google.com/group/...7e615086cbcbd1

FWIW, here's a quick example I did (a form with one button):

using System;
using System.Collections;
using System.Data;
using System.Drawing;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Windows.Forms;

namespace WSSSL_tester
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.MainMenu mainMenu1;

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

System.Net.ServicePointManager.CertificatePolicy = new
TrustAllCertificatePolicy();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.button1 = new System.Windows.Forms.Button();
//
// button1
//
this.button1.Location = new System.Drawing.Point(96, 56);
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.Controls.Add(this.button1);
this.Menu = this.mainMenu1;
this.Text = "Form1";

}
#endregion

/// <summary>
/// The main entry point for the application.
/// </summary>

static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
ngb.HelloService hs = new ngb.HelloService();
hs.Url = @"https://www.mysite.com/wsHello/HelloService.asmx";
MessageBox.Show(hs.HelloWorld());
}
}

public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
{
public TrustAllCertificatePolicy() {}

public bool CheckValidationResult(ServicePoint sp, X509Certificate
cert,WebRequest req, int problem)

{
return true;
}
}
}

HTH,
Nino

Dick Grier wrote:
> Hi,
>
> I'm not sure about SSL.
>
> BTW, you might be interested in this article:
> http://www.businessanyplace.net/?p=wscompress
>
> Your particular data look fairly small, so unless it grows quite a bit, is
> sounds manageable via a web service.
>
> Dick

 
Reply With Quote
 
Lee
Guest
Posts: n/a
 
      27th May 2005
Nino Benvenuti enlightened me by writing:

> You can consume a web service that uses SSL from the .NET Compact
> Framework 1.0. You will need to implement your own Certificate
> Policy (so that you can manually validate the certificates). Two
> links:
> http://www.opennetcf.org/forums/topi...earchTerms=ICe
> rtificatePolicy
> http://www.explosivedog.com/blog/arc...06/21/348.aspx
>
> Also,these posts may be helpful, too:
> http://blog.opennetcf.org/ayakhnin/C...=ae434e4b-12b0
> -4c12-8b43-c249ab2facce
> http://groups-beta.google.com/group/...tnet.framework.
> webservices/browse_thread/thread/e6f382917e83b683/de7e615086cbcbd1?q=W
> eb+Service+SSL+Certificate+Policy+Jan+Tielens&rnum=1&hl=en#de7e615086c
> bcbd1


Thank you Nino and Dick ask as well.

We will be using self-certs generated through http://www.openssl.org/
libraries which we use now for our Delphi apps.

Any links to setting up a webservice using ssl?

Great links, BTW. Thank you.

--
Warm Regards,

Lee
 
Reply With Quote
 
Nino Benvenuti
Guest
Posts: n/a
 
      27th May 2005
Assuming that you are using ASP.NET / IIS this link is a good start on
setting up SSL:
http://msdn.microsoft.com/library/de...SecNetHT16.asp

...and if you want to secure your web services in other means
(authentication and authorization options), check out:
http://msdn.microsoft.com/library/de...ebServices.asp

Of course, any queries in that realm need to be directed to the
microsoft.public.dotnet.framework.webservices and
microsfot.dotnet.framework.aspnet.webservices groups:
http://groups-beta.google.com/group/...services?hl=en
http://groups-beta.google.com/group/...services?hl=en

HTH,
Nino

Lee wrote:
> Nino Benvenuti enlightened me by writing:
>
>
>>You can consume a web service that uses SSL from the .NET Compact
>>Framework 1.0. You will need to implement your own Certificate
>>Policy (so that you can manually validate the certificates). Two
>>links:
>>http://www.opennetcf.org/forums/topi...earchTerms=ICe
>>rtificatePolicy
>>http://www.explosivedog.com/blog/arc...06/21/348.aspx
>>
>>Also,these posts may be helpful, too:
>>http://blog.opennetcf.org/ayakhnin/C...=ae434e4b-12b0
>>-4c12-8b43-c249ab2facce
>>http://groups-beta.google.com/group/...tnet.framework.
>>webservices/browse_thread/thread/e6f382917e83b683/de7e615086cbcbd1?q=W
>>eb+Service+SSL+Certificate+Policy+Jan+Tielens&rnum=1&hl=en#de7e615086c
>>bcbd1

>
>
> Thank you Nino and Dick ask as well.
>
> We will be using self-certs generated through http://www.openssl.org/
> libraries which we use now for our Delphi apps.
>
> Any links to setting up a webservice using ssl?
>
> Great links, BTW. Thank you.
>

 
Reply With Quote
 
Lee
Guest
Posts: n/a
 
      27th May 2005
Nino Benvenuti enlightened me by writing:

> Of course, any queries in that realm need to be directed to the
> microsoft.public.dotnet.framework.webservices and
> microsfot.dotnet.framework.aspnet.webservices groups:
> http://groups-beta.google.com/group/...tnet.framework.
> webservices?hl=en
> http://groups-beta.google.com/group/...tnet.framework.
> aspnet.webservices?hl=en


Thanks, Nino. I will direct further queries of that type to the
appropriate groups.


--
Warm Regards,

Lee
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Is Address Resolution Protocol (ARP) a routing protocol? vickieonthego@gmail.com Windows XP Networking 3 23rd May 2007 08:10 PM
The RDP protocol component X.224 detected an error in the protocol stream and has disconnected the client peter.loerns@westpark.derby.sch.uk Microsoft Windows 2000 Terminal Server Applications 2 5th Jul 2005 01:53 PM
Protocol Chart - Learn how to use a Protocol Analyzer news.comcast.giganews.com Microsoft Windows 2000 Networking 0 21st Aug 2004 05:38 PM
Protocol Chart - Learn how to use a Protocol Analyzer news.comcast.giganews.com Microsoft Windows 2000 Networking 0 21st Aug 2004 05:34 PM
urgent : removed Internet Protocol (TCP/IP) from protocol install menu nikki Microsoft Windows 2000 Networking 3 25th Nov 2003 09:01 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:41 AM.