Quantcast

NDC +

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

NDC +

Haytham Mohtasseb Billah
Hello guys,
I am using now jPOS in financial transactions, and I need now NDC+
interface, I searched in the internet, nothing useful exist. So I am
starting to develop NDC+ interface. Any one can help me guiding me in
ths process.

Haytham.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: NDC +

Mark Salter
Haytham Mohtasseb Billah wrote:
> I am using now jPOS in financial transactions, and I need now NDC+
> interface, I searched in the internet, nothing useful exist.
NDC stands for "NCR Direct Connection" and is an application for
controlling ATMs. I assume NDC+ is an improved version of the same.

But you probably already knew that!


> So I am starting to develop NDC+ interface. Any one can help me guiding me in
> ths process.

You will need to acquire the message and network specification for this
interface.  This is likely to be carefully controlled and protected, so
I expect will will have to pay to gain access to it?

With this documentation, you can discover:-

1. The network handling which will allow you to build the correct
network structures in your new NDCChannel, although perhaps the
RawChannel will suffice.

2. The NDC message structure, so you can build your NDCPackager class or
perhaps better define a NDCPackager.xml file for use under the existing
GenericPackager.  If the structure is ISO8583 then you are good to
start.  If not then perhaps using FSDMsg will be a place to start.

I don't have an NDC manual to hand, so cannot give you anything more
specific.

What do you know about NDC+ already?

--
Mark
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: NDC +

Andres Alcarraz
In reply to this post by Haytham Mohtasseb Billah
Hi Haytham I would like to have the time to answer more deeply.
Problem with NDC+ as well as Diebold 912 (i don't remember the name Diebold gives to its protocol right now) is that they use a totally different approach that ISO8583 does.
Basically what that protocol defines are commands, send by or to the ATM when events occur.
You have commands to send to the ATM like go out of service and go in service that have nothing to do with financial transactions, so i tell you what I would do:
first read the part of the manual (yes I think you have to buy it) that applies, the manual is too large I think, it makes near impossible to implement all the messages at once.
So you'll have to concentrate on that part that you need.
Once you did that I would suggest to make an Abstraction Layer for the messages, it means create classes that represents the different commands, for example that would be useful if later you connect a
Diebold atm to your network.
You then program your parser something like the packager of jPOS, but instead of returning ISOMsg's you should return instances of the abstraction classes.
Then I would use an event driven model where some listeners process some events, for example you can have a listener that process messages related to the atm status, and other to process (I think they
call them) Action Commands, that are sent bye the atm when the user has chosen the transaction, so you can have the authorization logic independent of the monitoring one for example.
Once a listener determines that the customer wanted to make a financial transaction you map that transaction and you can use jPOS to route that transaction to the authorizer.
The FSDMsg class could be of help in the parser part.

It seems the need for an open source framework for managing ATMs or any protocol of that sort is raising ,  it seems there are lots of people reinventing the wheel over there, because this questions
are being asked again and again.

Best regards

Andrés

Haytham Mohtasseb Billah escribió:

>
>
> Hello guys,
> I am using now jPOS in financial transactions, and I need now NDC+
> interface, I searched in the internet, nothing useful exist. So I am
> starting to develop NDC+ interface. Any one can help me guiding me in
> ths process.
>
> Haytham.
>
>



[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: NDC +

sp00k3d
Hi Haytham,
andres is right. you need to buy manuals on both NDC+ and Diebold 912 manuals. they are not found on the web. unless you know someone working with ncr atms. they probably have the message format for NDC+. that's a long way to go if you want to support all of the NDC+ commands.

Cheers,
fermin

Andres Ricardo Alcarraz Farall <[hidden email]> wrote:                                  Hi Haytham I would like to have the time to answer more deeply.
 Problem with NDC+ as well as Diebold 912 (i don't remember the name Diebold gives to its protocol right now) is that they use a totally different approach that ISO8583 does.
 Basically what that protocol defines are commands, send by or to the ATM when events occur.
 You have commands to send to the ATM like go out of service and go in service that have nothing to do with financial transactions, so i tell you what I would do:
 first read the part of the manual (yes I think you have to buy it) that applies, the manual is too large I think, it makes near impossible to implement all the messages at once.
 So you'll have to concentrate on that part that you need.
 Once you did that I would suggest to make an Abstraction Layer for the messages, it means create classes that represents the different commands, for example that would be useful if later you connect a
 Diebold atm to your network.
 You then program your parser something like the packager of jPOS, but instead of returning ISOMsg's you should return instances of the abstraction classes.
 Then I would use an event driven model where some listeners process some events, for example you can have a listener that process messages related to the atm status, and other to process (I think they
 call them) Action Commands, that are sent bye the atm when the user has chosen the transaction, so you can have the authorization logic independent of the monitoring one for example.
 Once a listener determines that the customer wanted to make a financial transaction you map that transaction and you can use jPOS to route that transaction to the authorizer.
 The FSDMsg class could be of help in the parser part.
 
 It seems the need for an open source framework for managing ATMs or any protocol of that sort is raising ,  it seems there are lots of people reinventing the wheel over there, because this questions
 are being asked again and again.
 
 Best regards
 
 Andrés
 
 Haytham Mohtasseb Billah escribió:
 >
 >
 > Hello guys,
 > I am using now jPOS in financial transactions, and I need now NDC+
 > interface, I searched in the internet, nothing useful exist. So I am
 > starting to develop NDC+ interface. Any one can help me guiding me in
 > ths process.
 >
 > Haytham.
 >
 >
 
 [Non-text portions of this message have been removed]
 
 
     
                       

 
---------------------------------
 Get your own web address.
 Have a HUGE year through Yahoo! Small Business.

[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: NDC +

chhil
If you are implementing a solution for a customer that owns these brand of
atms then
you should be able to acquire these from the customer who has a relationship
with the atm vendors.
I have worked with a few newer Diebold atm models (that run windows) has
pdfs  of these on the atm itself.

A lot of messages are identical (though their message names are
different)between the vendors and if you abstract it out well you should not
have difficulty talking to the atms.

The problem with NDC and 91x is that they are proprietary protocols and the
vendor has full control of their distribution, but both of them are
implementing IFX and that should be a lot easier to implement with hopefully
another jPOS like implementation for it :-)

-chhil

On 18 Mar 2007 12:19:04 -0700, don² de los angeles <[hidden email]>
wrote:

>
>   Hi Haytham,
> andres is right. you need to buy manuals on both NDC+ and Diebold 912
> manuals. they are not found on the web. unless you know someone working with
> ncr atms. they probably have the message format for NDC+. that's a long way
> to go if you want to support all of the NDC+ commands.
>
> Cheers,
> fermin
>
> Andres Ricardo Alcarraz Farall <[hidden email] <alcarraz%40cs.com.uy>>
> wrote: Hi Haytham I would like to have the time to answer more deeply.
> Problem with NDC+ as well as Diebold 912 (i don't remember the name
> Diebold gives to its protocol right now) is that they use a totally
> different approach that ISO8583 does.
> Basically what that protocol defines are commands, send by or to the ATM
> when events occur.
> You have commands to send to the ATM like go out of service and go in
> service that have nothing to do with financial transactions, so i tell you
> what I would do:
> first read the part of the manual (yes I think you have to buy it) that
> applies, the manual is too large I think, it makes near impossible to
> implement all the messages at once.
> So you'll have to concentrate on that part that you need.
> Once you did that I would suggest to make an Abstraction Layer for the
> messages, it means create classes that represents the different commands,
> for example that would be useful if later you connect a
> Diebold atm to your network.
> You then program your parser something like the packager of jPOS, but
> instead of returning ISOMsg's you should return instances of the abstraction
> classes.
> Then I would use an event driven model where some listeners process some
> events, for example you can have a listener that process messages related to
> the atm status, and other to process (I think they
> call them) Action Commands, that are sent bye the atm when the user has
> chosen the transaction, so you can have the authorization logic independent
> of the monitoring one for example.
> Once a listener determines that the customer wanted to make a financial
> transaction you map that transaction and you can use jPOS to route that
> transaction to the authorizer.
> The FSDMsg class could be of help in the parser part.
>
> It seems the need for an open source framework for managing ATMs or any
> protocol of that sort is raising , it seems there are lots of people
> reinventing the wheel over there, because this questions
> are being asked again and again.
>
> Best regards
>
> Andrés
>
> Haytham Mohtasseb Billah escribió:
> >
> >
> > Hello guys,
> > I am using now jPOS in financial transactions, and I need now NDC+
> > interface, I searched in the internet, nothing useful exist. So I am
> > starting to develop NDC+ interface. Any one can help me guiding me in
> > ths process.
> >
> > Haytham.
> >
> >
>
> [Non-text portions of this message have been removed]
>
>
>
>
>
> ---------------------------------
> Get your own web address.
> Have a HUGE year through Yahoo! Small Business.
>
> [Non-text portions of this message have been removed]
>
>  
>


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Stale sockets / idle timer

petergroarke
In reply to this post by Mark Salter
 Hi Guys,

         I'm looking at a requirement to clean up stale socket
connections proactively.

Basically the requirement is 2-fold:

-          if my channel hasn't sent any traffic in n seconds, it should
send a probe message. (Allows the other side to clean up the connection
as it will expect some sort of traffic within n seconds)

-          If my channel hasn't received any messages within m seconds,
it should disconnect. (Allows me to clean up a stale connection as the
other side will send either a probe or auth traffic within m seconds)

I had a quick look in the Programmers guide and some of the archives.

 

Is there some sort of idle timer built into any of the channels or if
you guys have any suggestions that would also be appreciated.

Thanks
Peter



[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Stale sockets / idle timer

Alejandro Revilla

>
> - if my channel hasn't sent any traffic in n seconds, it should
> send a probe message. (Allows the other side to clean up the connection
> as it will expect some sort of traffic within n seconds)
>
You can regularly send 0800 messages using a simple service (QBean/TaskAdaptor/YourThread)

> - If my channel hasn't received any messages within m seconds,
> it should disconnect. (Allows me to clean up a stale connection as the
> other side will send either a probe or auth traffic within m seconds)
>
You can specifify a timeout (it basically sets the socket SO_TIMEOUT).

If you are using Q2 and its ChannelAdaptor, you can simply add a timeout="yourtimeoutinmillis"
attribute in your channel definition, i.e:

<channel class="xxx" timeout="300000" ...>
</channel>

for a 5 minutes timeout.

Hope that helps.

__._,_.___
Recent Activity
Visit Your Group
SPONSORED LINKS

Film it. Change the world.

Cool Websites

Know a good site?

Share and vote

on Bix.com!

Y! Toolbar

Get it Free!

easy 1-click access

to your groups.

Yahoo! Groups

Start a group

in 3 easy steps.

Connect with others.

.

__,_._,___
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Stale sockets / idle timer

Andy Orrock
For example, we have an AMEX Logon Manager that looks like this:

 

<amex1-logon-mgr class="org.jpos.amex.LogonManager" logger="Q2">

 <property name="persistent-space" value="jdbm:amexlogon:log/amexlogon" />

 <property name="mux"            value="amex-mux" />

 <property name="channel-ready"  value="amex.ready" />

 <property name="timeout"        value="900000" />

 <property name="echo-interval"  value="600000" />

 <property name="logon-interval" value="43200000" />

</amex1-logon-mgr>

 

That sends a Network Message to AMEX every 10 minutes (see echo-interval) to
keep things alive.  We disconnect if no traffic in 15 minutes.

Andy Orrock

  _____  

From: [hidden email] [mailto:[hidden email]] On Behalf
Of Alejandro Revilla
Sent: Thursday, March 22, 2007 9:35 AM
To: [hidden email]
Subject: Re: [jpos-dev] Stale sockets / idle timer

 

>
> - if my channel hasn't sent any traffic in n seconds, it should
> send a probe message. (Allows the other side to clean up the connection
> as it will expect some sort of traffic within n seconds)
>
You can regularly send 0800 messages using a simple service
(QBean/TaskAdaptor/YourThread)

> - If my channel hasn't received any messages within m seconds,
> it should disconnect. (Allows me to clean up a stale connection as the
> other side will send either a probe or auth traffic within m seconds)
>
You can specifify a timeout (it basically sets the socket SO_TIMEOUT).

If you are using Q2 and its ChannelAdaptor, you can simply add a
timeout="yourtimeoutinmillis"
attribute in your channel definition, i.e:

<channel class="xxx" timeout="300000" ...>
</channel>

for a 5 minutes timeout.

Hope that helps.

 



[Non-text portions of this message have been removed]

Loading...