How to Troubleshoot Apps for the Modern Connected Worker
EAI - Enterprise Application Integration - Use Case
1. Sherif Rasmy – EAI Use Case
0
Enterprise Application Integration - EAI
A Use Case
Sherif Rasmy - March 13, 2014
2. Sherif Rasmy – EAI Use Case
1
Introduction
Next is a private university that offers graduate degrees and professional studies in business,
engineering and technology. The revenues of the school of profession studies (NPS) grew by 35% over
the period from 2007 to 2010. Over the past two years, the school's growth stalled, enrollments
plummeted and operational expenses surged. The school was unable to retain their students as well as
their faculty members. Pressure mounted to cut costs, improve level of service and bring the school
back to profitability. During the school's growth period, NPS acquired two schools which doubled the
number of operational systems. NPS made no effort to consolidate redundant systems, integrate data
and re-engineer business processes. The purpose of this paper is to analyze NPS systems, identify
core architectural problems and suggest cost effective solutions to bring the school back to
profitability.
NPS and NEXT Systems
There are over 20 operational systems at NPS. However, the paper will focus on 4 systems.
AY – Apply Yourself
Financial Courses Student
Admission
Database
PS – PeopleSoft
Database
SOAP
Recruiting &
Admission
Student
Financial
Academic
Advisement
Student
Records
Grades
Management
Human
Resources
Data mart ExtractsWeb UI
Web UI SOAP Extracts
PWEB – NPS Website
Enrollment
Event
Management
Courses
Offerings
Content
Management
Enrollment
Database
ExtractsWeb UI HTTP WS
PAFMS – Appointment Management
Appointment
Scheduling
Faculty
Management
Regulatory
Database
ExtractsWeb UIContent
Database
Figure 1 - NPS & NEXT System Architecture
PS – PeopleSoft
Vendor Oracle Since 2009 Owner NEXT Deployment Internal
Functionality Enterprise Resource Planning System (ERP). Recruiting and Admission, Student Financials, Academic
Advisement, Student and Faculty Records, Grades Management and Human Resources Management.
Interfaces Web User Interface. Basic set of SOAP services. Shared Data mart. File Extracts
Miscellaneous Unresponsive support. Costly customization. Limited internal subject matter experts.
3. Sherif Rasmy – EAI Use Case
2
AY – Apply Your Self
Vendor Hobsons Since 2008 Owner NEXT Deployment SaaS
Functionality Online Student Admission for graduate and professional business studies
Interfaces Web User Interface. Rich set of SOAP services. Shared Data mart. File Extracts
Miscellaneous Costly customization. Inherited from an acquisition in 2008.
PWEB - NPS Website
Vendor Home Grown Since 2002 Owner NPS Deployment Internal
Functionality Main website. Content management, online course search and registration
Interfaces Web User Interface. Sufficient set of HTTP based services that are neither SOAP nor REST compliant. 2 Shared
Databases. File Extracts
Technology CQ5, Servlets, JSPs, Spring-Web, Hibernate, Mule, Lucene Oracle DB. Runs on two load balanced Tomcat Linux
servers. Over engineered.
Miscellaneous Original authors left the school. Sufficient functionality. Acceptable architectural quality attributes
PAFMS – NPS Appointments and Faculty Management System
Vendor Home Grown Since 2001 Owner NPS Deployment Internal
Functionality Main website. Content management, online course search and registration
Interfaces Web User Interface. Shared Database. File Extracts
Technology Servlets, JSPs, EJB 2.0 and Oracle. Runs as single instance on Resin 2.0 application server. It has neither
development nor a QA environment. The Resin application server is no longer supported by the vendor.
Miscellaneous Internal NPS support. Original authors left the school. Average maintainability, complex in the data tier because
of the old version of EJB used. Sufficient functionality
The Problem
Class Enrollment
When a new student requests to enroll in a class, PWEB initiates a process comprised of 2 activities in
PeopleSoft: Student Creation & Class Enrollment. However, it takes 2-3 days for new students
requesting to enroll in classes offered by a school acquired by NPS in 2008. These students must
register in AY first, and then an operator is required to manually create the student in PeopleSoft
(Figure 2). Only then can the student enroll in the class using PWEB.
Payment ServicesClass Enrollment
AY
PeopleSoft
Web UI
PWEB
Operator
Student Creation Call
Web UI
Student
Registration
Class Payment Service
Call
Class Enrollment Service
Figure 2 – Payment Services and Class Enrollment
4. Sherif Rasmy – EAI Use Case
3
Payment Services
University regulations require that all payments be processed in PeopleSoft. PeopleSoft payment web
service frequently times out and/or fails (Figure 2). 40% of the students who experienced this issue
neither call student services to complete the transaction.
Unmanaged Batch Processing
File extracts and batch processing is the dominant integration mechanism at the school. The number
of extracts and batch processes grew exponentially (Figure 3). The management, scheduling and error
handling of batch processes became a nightmare and negatively impacted the availability of all
systems.
PeopleSoft
AY PAFMS
PWEB
Extract Extract Extract
Extract Extract Extract
Extract
Extract
Extract
Extract
Figure 3 – Unmanaged Batch Processing
Lack of Agility
Business intelligence supporting marketing and sales activities is very weak. Currently, the process of
extracting, cleansing and enriching data from desperate data sources for reporting is inefficient. The
school requires timely access to information to support decision making. The required analytics are not
known upfront and systems need to be agile to fulfill requirements fast.
The Solution
The school is in need of multiple levels of integration. The solution proposed relies on an ESB to
integrate applications and processes. The ESB acts as a proxy, mediator and orchestrator to the web
services currently available. On the other hand, a data warehouse will be built to integrate the
desperate data sources across the school and those of interest across the university.
Class Enrollment
New and existing students will use PWEB to enroll in any course. PeopleSoft’s class enrollment service
is mediated by the ESB proxy service which creates students in AY for classes offered by the acquired
school before calling PeopleSoft (Figure 4). Although adding a proxy increases latency, but it promotes
minimally invasive integration. The integration between PWEB and AY affected neither system; except
for the PeopleSoft web services address location rerouting.
5. Sherif Rasmy – EAI Use Case
4
Payment Services
The ESB payment service proxy will provide an asynchronous interface to the underlying synchronous
PeopleSoft service. The solution eliminates web user timeouts and decouples PWEB from PeopleSoft.
The ESB will be flexible to throttle, queue and retry student creation requests (Figure 4).
Payment ServicesClass Enrollment
Student Creation Service
Class Enrollment Service
Call
Class Payment Service
Call
PS Class Enrollment
Service Proxy
PS Class Payment
Service Proxy
AY Student Creation
Service Proxy
Call
Call Call
Call QueuePut
ESB
PeopleSoft
AY PWEB
Figure 4 – ESB Payment Services and Class Enrollment
Unmanaged Batch Processing
The ESB infrastructure can be used to manage and monitor the execution of the batch processes and
the created files. This can include standard exception handling, logging and failure notifications.
Lack of Agility
Building the school's data ware/data mart is a necessity to provide agile analytical reporting. In order
to provide a quick impact on the business an ELT approach can be used. In ELT, the focus is on
extracting and loading the data first to make it accessible from a centralized location to users. Multiple
iterations of transformation processes can then be implemented.
Conclusion
NPS is going through typical problems associated with a growing enterprise. The cases presented in
this paper are few examples of how integration neglect ion will cause soaring of revenues, surging of
operating expenses, increasing operational risk and inability to expand and grow.
The integration solutions proposed are primarily driven by the fact that existing systems are less likely
to change or even enhance. This could be for political reasons or because they are vendor products
and out of your control or too costly to change. Thus, every effort should be made to implement a
minimally intrusive approach as demonstrated.