The Implementation of Service-Oriented Online Broker System By Ray L. Zhang Abstract The scope of the project involves building an N-tier online broker application. Using the application, the user can place buy/sell order of any security, get the price quote for a security symbol, and get the balance of the investment portfolios. The broker application also interacts with a backend trader client. The trader client picks up the open orders users placed, executed the orders and send back the executed order information like price, commission. What does the application do? The online broker system is an N-tier application. The front end is a web GUI component implemented using HTML form and/or JSP script. From the web GUI, user can place online trade order, get the price quote for a security, and get the asset allocation. The middle tier is the tomcat servlets, once the servlet’s doPost method gets invoked, it makes a remote invocation using the web service client proxy (axis client), and the data get marshaled into a SOAP message and passed to the back-end server (axis server) over the http transport. Upon receiving the SOAP response, it extracts the data; populate the HTML Form before passing it back to the client. The backend tier is an axis server that implements the broker web service. For persistence, the server saves portfolio information like symbols, number of shares, prices, etc, into external xml files. The axis server also communicates with a trader client (axis client). The trader client invokes the axis web service to get a list of open orders, execute the orders, and send back the executed order information back to axis server. Why this project? This goal of this project is to demonstrate the use of web service. Two key benefits about web service are reusability and platform/language independent. Instead of just doing a point-to-point integration between two applications, we can build a set of services that can be used by other applications running on different platforms. Web service allows the interoperability in a heterogeneous environment as long as they “obey” the same service contract (WSDL). In this case, the trader client could be implemented using .NET C#, we can generate the .NET client proxy objects use the WSDL contract which is published by the axis server. How to implement the project? The project is a 3-tier application. The technologies I plan to use include Tomat, HTTP Servlet, Apache Axis, JAX-RPC, JAXM and SAX. The implementation languages are Java and .NET C#. The topic I am research now is to find a database that is XML friendly and can be used to store the portfolio information. Questions for the staff ADO .NET is very XML friendly, for example, each table is automatically mapped to a XSD. You can bind the XSD to a dataset and perform database operation select, update and insert on the dataset. Do we have something equivalent in the Java World?