The AssuredCredit Hosted Payment Portal was deployed in 1997 as an In-House Data Intranet Portal and re-launched in 1998 as the NEW Payment Gateway Portal for AssuredCard operations including the integration of ASP CRM and Accounting applications from 1994. It was a testing ground for the Origins of the First Hosted Online Merchant Payment Gateway released Dec 1998 and launched early 1999. The first online payment technology with merchant based processing.
The successor "Hosted" technology used Netscape Crossware and Oracle COBRA technology for the front-end UI. The backend framework and database schema were replicated within the Milinx ASP applications and updated for the new Milinx ASP hosted architecture using SunMicrosystems, Oracle, Cisco and Netscape.
Relational and meta database functionality were added for Milinx miCRM, miCollaboration (sometimes referred to SocialCollab) and the eCommerce application suite using the Oracle Netscape Javabeans architecture and database engine.
The portal was again re-engineered for the Suite of Commerce Applications under Milinx miPortal which included Advanced Search & Merchant Payment Gateway Management within miPay, miBilling and miStore. The new portal also included access to the network, wireless, mobile, and storage applications through the integrated Milinx ASPConnect authorization engine and gateway.
It was developed with the Oracle 8i database engine for hosted services and Javabeans updated layer. The ASP miPortal included 9i updates with a Universal API and toolkit for ASP applications using the Universal Hosted Desktop framework.
The Hosted Data Center Global Architecture enabled 300,000 concurrent connections with 24/7 fail over and 99% uptime guarantee. It also had the highest industry level data and connection security for users and administrators.
Simple online merchant registration and activation with Customer Keys generation portal for real time Hosted miBilling Shopping Cart setup.
A secure interchange of data using PL/SQL and Gateway Services protocol with TLS 2.0 and KeyStore files.
The miBilling Shopping Cart integrated into miCRM for seamless management of customers and marketing.
Payment gateway data secured with PL/SQL SID (Security Identifiers) and SSL TLS browser extensions.
Merchant fees included in the miBilling Shopping Cart for anyone with an ASPConnect Account!
Advanced merchant payment gateway routing ABA-RTN XML Tables to complete purchases using customer profiles or transaction ID's.
The MVC or Model–view–controller (MVC) architecture was core for developing and delivering a secure logical user interface for users and merchants for the hosted online payment gateway. This architecture divide the related program logic components into three interconnected elements as below.
Then reason MVC architecture was used to create the first hosted online payment gateway was straight forward:
MVC used the following three Javabeans classes
Model Layer
The Model Layer in the MVC design pattern acts as a data layer for the application. It represents the business logic for the hosted online payment application and also the state of application. The model object fetch and store the model state in the database. Using the model layer, rules are applied to the data that represents the concepts of application.
The following code snippet creates a first step to implement an AssuredAccount MVC pattern.
Assured.java
// class that represents model
public class Assured {
// declaring the variables
private String AssuredName;
private String AssuredId;
private String AssuredAccount;
// defining getter and setter methods
public String getId() {
return AssuredId;
}
public void setId(String id) {
this.AssuredId = id;
}
public String getName() {
return AssuredName;
}
public void setName(String name) {
this.AssuredName = name;
}
public String getAccount() {
return AssuredAccount;
}
public void setAccount(String Account) {
this.AssuredAccount = Account;
}
}
These are the getter and setter methods to the Assured class.
View Layer
This layer represents the visualization of data received from the model. The view layer consists of output of the hosted online application or user interface including admin. It sends the requested data to the client or user that is fetched from the model layer by controller.
This created a view using the AssuredView class.
AssuredView.java
// class which represents the view
public class AssuredView {
// method to display the Assured details
public void printAssuredDetails (String AssuredName, String AssuredId, String AssuredAccount){
System.out.println("Assured Details: ");
System.out.println("Name: " + AssuredName);
System.out.println("Assured ID: " + AssuredId);
System.out.println("Assured Account: " + AssuredAccount);
}
}
Controller Layer
The controller layer gets the online payment user or admin user requests from the view layer and processes them, with the necessary validations. It acts as an interface between Model and View. The requests are then sent to model for data processing. Once they are processed, the data is sent back to the controller and then displayed on the view.
Let's consider the following code snippet that creates the controller using the AssuredController class.
AssuredController.java
// class which represent the controller
public class AssuredController {
// declaring the variables model and view
private Assured model;
private AssuredView view;
// constructor to initialize
public AssuredController(Assured model, AssuredView view) {
this.model = model;
this.view = view;
}
// getter and setter methods
public void setAssuredName(String name){
model.setName(name);
}
public String getAssuredName(){
return model.getName();
}
public void setAssuredId(String id){
model.setId(id);
}
public String getAssuredId(){
return model.getId();
}
public void setAssuredAccount(String Account){
model.setAccount(Account);
}
public String getAssuredAccount(){
return model.getAccount();
}
// method to update view
public void updateView() {
view.printAssuredDetails(model.getName(), model.getId(), model.getAccount());
}
}
Assured.js Main MVC Class Java file
The following example displays the main file to implement the MVC architecture. Here, we are using the MVCMain class.
MVCMain.js
// main class
public class MVCMain {
public static void main(String[] args) {
// fetching the Assured record based on the Assured_id from the database
Assured model = retriveAssuredFromDatabase();
// creating a view to write Assured details on console
AssuredView view = new AssuredView();
AssuredController controller = new AssuredController(model, view);
controller.updateView();
//updating the model data
controller.setAssuredName("ASPConnect");
System.out.println("\n Assured Details after updating: ");
controller.updateView();
}
private static Assured retriveAssuredFromDatabase(){
Assured Assured = new Assured();
Assured.setName("ASP");
Assured.setId("11");
Assured.setAccount("Milinx");
return Assured;
}
}
MVCMain class fetches the Assured data from the method entered into the values. Then it pushes those values into the model.
After that, it initializes the view (AssuredView.js). When view is initialized, the Controller (AssuredController.js) is invoked and bind it to Assured class and AssuredView class.
At last the updateView() method (method of controller) update the Assured details to be printed to the console.
Integration of JSSE and KeyStore for secure connections, transmission and data integrity.