WSO2 Insights: iJET builds an end-to-end microservice architecture with WSO2 middleware

For the past 10 years, iJET International has delivered intelligence-driven integrated risk management solutions by assessing an organization’s exposure to risk and threat. To empower these multinational organizations, iJET collects intelligence on a global scale, about health, natural disasters, geopolitical and civil unrest, capturing data in a manner that is machine processable to deliver response solutions.

During his session at WSO2Con USA 2015, David Clark, director of IT architecture at iJET labs, the innovation center at iJET International,  explained how the organization moved from a rigid legacy system to a microservice architecture, with an identity management solution powered by WSO2 middleware.

Satiating the demand for sensitive data security

The biggest challenge Clark was faced with when he joined iJET in 2015 was identity management. With many of iJET’s customers already having identity management solutions in place, Clark recalled the increased demand for federated Single Sign-on (SSO) across the board. Customers had a need for more security protocol options, specifically SAML 2.0 and OAuth 2.0. There was also a need to provide them with user self-provisioning through the secure use of third party systems, as well as multifactor authentication, he noted.

An additional challenge was iJET’s legacy architecture. It was not agile, not scalable, and had limited revenue opportunities. What possibly began as a clean three-tier application had over the years snowballed into a mammoth, rigid system that could not pivot with the business anymore. “What this means is we really couldn’t monetize our main asset, which is our intelligence”, Clark said. It was time to move on to a more Service Oriented approach.

Open source, open standards

WSO2 middleware was the best fit for iJET’s Service Oriented Architecture (SOA). “Being open source aligns with iJET’s values”, Clark noted. “We wanted to take ownership of the products and deploy it the way we wanted to, and WSO2 allows us to do that. Being open source, it’s extensible.”

iJET also utilized WSO2’s Quick Start Program (QSP) from the initial stages of the project. DavidClark01 “The QSP ensures that you get off on the right foot,” Clark observed. “Their engineers come in, understand what your business problem is, and ensure that you get the right architecture, and start in the right direction.”

Clark explained the implementation of the WSO2 products to the audience, starting off with federated SSO using WSO2 Identity Server. The product supported configurable authenticators for federation, and just-in-time user provisioning was added, where the incoming claims could be mapped to local schema. This worked in conjunction with the iJET customer user store manager, Clark explained, which was implemented as an OSGI bundle.

Integration of the legacy applications followed. With the iJET applications already configured to use another SSO, Clark explained the use of Apache Mellon to bridge the SAML negotiation and provide a façade between the old and new systems, generating session cookies with the same key value peers the old system was using.

Optimizing iJET’s microservices

The integration of WSO2 API Manager with WSO2 Identity Aerver, Clark continued, was carried out via an OAuth key manager and Java Web token. The core focus then shifted to optimizing iJET’s microservices. WSO2 API Manager is used to prototype, version and publish APIs provided by microservices. But most importantly, Clark observed, API Manager was used to govern the access and provide security to APIs.

A hexagonal architecture was used for the microservices, with business logic at the core.   Inbound controllers and adapters surrounding the core helped expose the REST API that the user applications would access through the API Manager. The outbound repositories helped the service to communicate with the database.

IJet-MS-Arch

Clark also explained that iJET follows a template driven development process to create microservices. Not yet at the point of using Docker containers, Clark stated that each microservice gets deployed on an Amazon EC2 instance.

Six months to successful deployment

“Six months later, we have our federated SSO working”, Clark noted. “We were able to deploy a new application built entirely on REST APIs and these are now available for our customers to consume as well.” The legacy applications too are able to authenticate with third party identity providers, with extremely satisfied iJET customers using their own solutions.

For more information on iJET’s microservice architecture use case, view Clark’s WSO2Con USA 2015 presentation.

It’s football season and we kick off with WSO2 BigDataGame

Few other professional sports generate more data than American Football – especially when the Big Game beckons. Things heat up. Tables are drawn, graphs are computed and analysts take to the predictions game like moths to a flame.

WSO2 Machine Learner is the latest addition to our products portfolio, and while it was build as a high performance, open source predictive analytics platform that takes enterprise data, uses machine learning to analyze patterns and generates models that can be accurately used to make business predictions, there’s no reason why you can’t use it for sports analysis too.

This is exactly what our team set out to do a few weeks ago. In a fit of experimentation, we connected WSO2 Machine Learner with the data it needs to try and predict the Big Game.

Setting up for the Big Game

American football basically has three seasons. Preseason, regular season and playoffs. After a bit of searching, we came across pro-football-reference.com, which had the data on all the teams for many years, and collected the historical data for 2012, 2013 and 2014.

A few rules were established:

  1. Pre-season data should not be considered because some of the best players don’t play in them.
  2. Injuries, are very common and really skew the data, especially if it’s a quarterback who gets hurt.
  3. Teams that have won the Big Game have usually had a great defense.
  4. Some teams start off the season slow and then begin playing better to make the playoffs.

Taking all this into consideration, we paired Random Forest regression with stacked autoencoders.

And it works! We did a little bit more calculation and arrived at a mathematical 76.5% accuracy rate, which was confirmed by our first set of predictions for the four games held the weekend that the Bengals played the Steelers.

We quickly built out a site so that anyone can test it out for themselves.

WSO2-Big-Data-Game-1

You’re free to run any two teams you want against each other and see which one stands the best chance of winning.

Do note that we’re still in the process of tweaking it. Right now, we’re basically predicting probabilities of success – and while we have faith in our product, there’s a whole lot of things that are impossible to account for, injuries in particular. There’s also no predicting the effects of morale on a team; that stuff is sorcery.

However (while it will take more data to confirm this) we’re confident that, as of the time of writing, BigDataGame is one of the most accurate solutions on the web.

For more on how we did it and to pair out your own favourite teams head on out to  http://wso2.com/landing/big-data-game/