There are many money management softwares which are prevalent in the software industry.
These software accept the username & password from the user of any of his banking accounts and makes a readonly connection to the banking website and fetches the transaction from the account.
My question is
How do they do that?
1) Do they write plain java code, make a connection to the website, login into it using username/password and then parse the HTML response recieved and fetch the transaction from there. (Disadvantage here would be any change in the banking website would destroy the whole programming....and would not be easy to fix)..
2) Does bank provides any webservice using which they can read the transaction of any particular account?
I am very much curious to know how things work..
Few examples of money management softwares are
It would depend on the bank. I'd like to think they have a more secure way of dealing with this. However, I think they don't. The fact that you are giving a password to a third party site is incredibly insecure. That gives the site the ability to do anything that you could do.
By contrast look at how sites use your google account. They have you log into google (not their site.) Then Google asks you if it is ok for the site to perform certain operations.