Advice on new project - Mixing with existing application

L

Lee

Hello all,

I posted a few times a couple of weeks ago about a project that I am
tasked with completing.

Essentially, the project is a pocket pc based ordering system that will
integrate with our existing point of sale system written entirely in
Delphi.

At first, I thought that using .net webservices would be ideal, but we
already have an xml based TCP/IP server that already contains most of
the functionality (and a good bit of tried and proven code) so I think
it would be best to just create the client application (for ppc) with
..net and use the middleware services that we already have in place.
Its all about intercommunication through xml anyway, right?

90% of the processing (inserting sales data, printing to remote
printers, etc) would be performed on the server, with the .net ppc
client doing mostly display and I/O from the user.

Our existing application was originally written in VB6 and then later
ported over to Delphi 6 so I'm fairly familiar with vb syntax so I will
probably go with vb.net since I'd like to get this out the door before
end of summer if can.

The main functionality I can see I will need at this point is:

1) The ability to communicate with a TCP/IP server sending and
receiving text (xml).

2) The ability to compress and encrypt the data using compatible
protocols.

3) Transform data from the server into a memory dataset for simple
navigation and manipulation on the client.

At this point, I have little experience with .net/vs other than a few
simple hello worlds. If anyone could provide advice on the objects
that I will need to use/study to get started, it would be greatly
appreciated.
 
G

Guest

Hi Lee,
I've a question .
1. Why do you want to change your existing system...? Are you moving towards
Mobility based Enterprise solutions or its merely an mobile extension of your
existing system ?
The answer of the above question would decide the scope of your system. If
you are merely extending your existing soln, then probably u don't have to
think a lot into it. Otherwise you have to think towards providing a true
mobile solution.

Secondly, You have to think about some basic feature such as:
1. what sort of client would you support in ppc ie. thin client, fat client
or smart client?
2. Provision for Data handling in ppc
3. Providing Online - Offline mode of operations
4. Some other feature such as security, Data recovery on account of flat
battery, etc

Probably this might help you.

rgds,
Rahul
 
L

Lee

Rahul Sur enlightened me by writing:
Hi Lee,
I've a question .
1. Why do you want to change your existing system...? Are you moving
towards Mobility based Enterprise solutions or its merely an mobile
extension of your existing system ?
The answer of the above question would decide the scope of your
system. If you are merely extending your existing soln, then probably
u don't have to think a lot into it. Otherwise you have to think
towards providing a true mobile solution.

Secondly, You have to think about some basic feature such as:
1. what sort of client would you support in ppc ie. thin client, fat
client or smart client?
2. Provision for Data handling in ppc
3. Providing Online - Offline mode of operations
4. Some other feature such as security, Data recovery on account of
flat battery, etc

Probably this might help you.

rgds,
Rahul

Rahul,

Thanks for responding. The system is an existing pos system written in
Delphi. We are not replacing the existing system which works very well
and will continue to be developed with delphi (especially if borland
releases a 64 bit native compiler), but instead, adding table side
ordering to our existing solutions as an optional add-on.

As it stands now, we have an XML based TCP/IP server that handles
requests on behalf of a client and interacts with the database. A
middleware server is what it is. Since the protocol is already created
and working, it seems that creating the client (ppc) software in .net
is the best road to go down since the xml server is already in place
and working quite nicely. For instance a .net (or any other) client
may send a request such as this:

<Request>
<Operations>
<Command>
<OpType>StructuredData</OpType>
<Params>
<FunctionName>sales_single_sale</FunctionName>
<SaleID>4</SaleID>
<SaleDate></SaleDate>
</Params>
</Command>
</Operations>
</Request>

The server queries the (firebird) database and returns the following
xml packet to the client:

<?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>06/13/2005 18:07:52</OrderTime>
<OrderType>Counter</OrderType>
<OrderSub>13.75</OrderSub>
<Tax1>0.85</Tax1>
<Tax2>0.00</Tax2>
<AmusementTax>0.00</AmusementTax>
<AlcoholTax>0.00</AlcoholTax>
<AutoGrat>0.00</AutoGrat>
<OrderTotal>14.60</OrderTotal>
<EmployeeID>55</EmployeeID>
<StationID>1</StationID>
<StoreNumber>1</StoreNumber>
<NumberOfGuests>0</NumberOfGuests>
<DriverID>55</DriverID>
<ShiftNumber>3</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>
</Items>
<Discounts />
<Payments>
<PaymentItem>
<PaymentMethod>Cash</PaymentMethod>
<PaymentType>Order Payment</PaymentType>
<PaymentAmount>14.60</PaymentAmount>
</PaymentItem>
</Payments>
</sales_single_sale>
</ResponseItems>
</Result>


In answer to your questions above:
Secondly, You have to think about some basic feature such as:
1. what sort of client would you support in ppc ie. thin client, fat
client or smart client?
2. Provision for Data handling in ppc
3. Providing Online - Offline mode of operations
4. Some other feature such as security, Data recovery on account of
flat battery, etc

1. I would consider it to be thin client since 90% of the processing is
happening in the database and middleware tiers.

2. Simple routines would probably just parse the retulting XML from the
server, but for more complex routines, my idea was to transform some
result packets into Datasets for easier manipulation.

3. It would be online mode only. No briefcase model used. On the
other hand, some of the data would be stored locally on the PPC such as
more static data like products, categories, etc. As with our Delphi
terminal application, when the PPC app starts it will check if that
static data has changed and iniate a download/refresh of the static
data.

4a: I was thinking of using something standard such as 3DES or RSA
encyption. Something that could be encrypted/decrypted easily with
both Delphi and vb.net.

4b: The middleware is solid and uses transactional layer supplied to
the client and translated into database transactions on the db side.


Thanks again for responding,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top