I joined the Alcatel Payments Solutions group in 1998, at which time they had an impressive track record in the telecom payments niche. However, they felt that their technological base and working practices were becoming outdated. Hence, I was put in charge of both a technological overhaul and a process improvement program. These were inseparable from the new market demands and opportunities. The group had focused on payphones, but recharging prepaid mobile phone subscriptions became the issue in demand at telecom operators. This was the application domain chosen for piloting the new technology and working practices. On the supply-side, the emergence of reliable off the shelf transaction monitors was seen as an opportunity to reduce development effort, increase reliability and externalize risk.
In order to provide a scalable and flexible solution, the architecture of the product is three-tier, with Apache at the front-end, WebLogic Enterprise application server for the middle tier and an Oracle database at the back-end.
Since the group was used to programming in C, the task of mentoring team members in object-oriented design and implementation was key. Object oriented architecture and design was documented using UML.
The first release of the payment server used CORBA for location transparancy; in early 1999 EJBs were studied as an alternative, but implementations were not deemed sufficiently mature. Starting in 2000, the payment server was migrated to EJBs. Other J2EE features such as JDBC, JNDI, JTA and servlets were used from the outset. A web-based administrative console could be used from both desktops and mobile phone; its implementation used Struts to serve content as XML pages which were subsequently transformed with XSLT for presentation on the clients to respectively HTML and WML.