company logo by: frank k.w. cheong, dickson k.w. chiu, s.c. cheung, and patrick c. k. hung...
Post on 20-Dec-2015
212 views
TRANSCRIPT
Company
LOGO
By: Frank K.W. Cheong, Dickson K.W. Chiu, S.C. Cheung, and Patrick C. K. Hung
Developing a Distributed e-
Monitoring System for Enterprise
Website and Web Services:
An Experience Report with Free Libraries and Tools
Abstract
Introduction Current Technological Problems Understanding the Dilemma Conceptual Modeling System Design and Implementation Front and Back End Monitoring Communication Questions and Answers (Q&A)
Introduction
This paper focuses on:
- Health on Websites/Web services
- Providing protection from harmful attacks
- Using experience based Pragmatic Programming
Company
LOGO
Current Technological Problems
PROBLEMS:
• Product Lifecycle
• Monetary Constraints
• Product Synchronization
The product lifecycle
CURRENT TRENDS- Quick moving Technology - Very short product live cycle
RESULTS IN- Quicker development - Lower testing levels before implementation - Weaker testing phases
Monetary Barriers
There are many good products and libraries available on the market for a fee
In order to provide a quality and affordable system there needs to be a reference source that meets the needs while maintaining economic accessibility.
Company
LOGO
Understanding the Dilemma
Causes:1. Simplified Network Model 2. Potential Causes of Problems3. Methods of Reducing Cost4. Simulating the consumer
experience
Simplified network diagram
CompanyFirewall
Network Switch
Switch
Border Router
BorderRouter
BorderFirewall
BorderFirewall
BorderFirewall
Switch
BorderFirewall
BorderRouter
BorderRouterBorder
Firewall
BorderFirewall
BorderFirewall
ReverseProxy
Reverse Proxy
Web Server Web ServerWeb Server
Database ServerFile Server
Company Own Network
Co-location Network
Overseas Upstream Provider Network
BorderRouter
BorderFirewall
Switch
Overseas ISP Network BroadbandUser
Broadband User
BroadbandUser
PABX/Braodband Trunking Concentrator
Link to OverseasNetwork Exchange Simplified view
of Users and target e-service
servers.
Gives greater insight into the functionality of
various locations
Potential Causes of Problems
PROBLEMS CAUSES INCLUDE:
Networking with local exchanges Networking with upstream providers Networking with multi-location service
providers Reverse proxy servers Firewalls and network switches (ie.
Software conversion)
Simulating the Consumer Experience
Simulated consumer experience includes:
Encountering purchase process Going through product selection Going through checkout Completing transaction
Purpose:
Designed to recognize security breeches improve consumer experience
Company
LOGO
Conceptual Modeling
Concepts:1. Entity Sites and Steps 2. Remote Agent Monitoring 3. The Use of IP Addresses 4. E-Monitoring
Entity Sites and Steps
It is important to clearly identify and the steps that are to be followed by the Entity site in order for the tasks to be executed correctly. This is also vital to ideal communication.
Remote Monitoring Agents and IP addresses
How is performance calculated?
Round trip time, how long does it take the message to transmit forwards and backwards
Checking for:
Reverse proxy between sites Monitoring and eliminating third parties Messages tracked through IP address tags
E-Monitoring
The E-Monitoring system is subject to three main processes: monitoring, statistics updating, and obtaining fresh site-list processes.
Company
LOGO
System Design and Implementation
Implementation:1. Deployment Diagram
2. Front End Monitoring Agent• Language chosen • Multi-threaded design • HTTP Request layer • User interface (UI) layer • Checking the targets • Database Persistence Layer
Deployment Diagram
eMonitoring Node
Websites to be monitored
Websites to be monitored
Administration Website
eMonitoring Node
eMonitoring Node
HTTP/HTTPS Request/Response
List of Sites to be Monitored and How/Statistical Information Collected
.
.
.
.
.
.
.
.
.
.
This is a deployment diagram depicting the distribution requirement of this system. This system attempts to select as many free components as possible and if able avoid coding.
Language and Design
Language chosen
Platform: Java Reason: gains as many platforms as possible
minimizing need to rewrite coding.
Multi-threaded design
More efficient than signal thread design due to the ability to channel larger quantities of data
Uses HTTP requests to gather factors
Monitoring Agents Cont.
HTTP Request layer:
HTTPPURLConnection by Java – Lacks key features
Oakland Software – not often updated
Still attempting to find adequate library to supply request layer
Monitoring Agent Cont.
User interface (UI) layer Options:
Platform: Swing* Goal – Boost performance of the Java GUI
while keeping the platform consistent
Checking the targets
In order to check the health status of remote monitoring the agent should have a variety of capabilities. The system uses various manipulations of HTTP to determine variables.
Monitoring Agents Cont.
Database Persistence Layer
“Container Managed Persistence” This application is designed to reduce needed labor and run as a stand alone model .
Less Programming Means: Reduced Learning curve Easily and more widely accessible Lower maintenance and troubleshooting More cost efficient
Company
LOGO
Communication
Communication:1. Evaluating Web Services 2. Choosing the right protocol 3. Registry options 4. Accelerating Java Web service
development 5. Accelerating Hibernate development 6. Logging
Evaluating Web Services
WHAT DO WEB SERVICES DO?
Web services will act as the communication layer to relay messages to central Admin server.
FACTS: Light weight and based on SOAP Can go through firewall ports like HTTP Difficult for hackers to penetrate Scalability can be achieved by using a cluster solution Language dependent and interoperability is default
Choosing the right protocol
Web services protocols was choose due to the fact it was directly available under the JDK to reduce the cost of ownership. There are three options:
Soap with Attachment API for Java (SAAJ) Java API for XML Messaging (JAXM) API for XML-based RPC (JAX-RPC)*
Registry options
Public Access Eventually the definitions have the
potential of becoming public access. Since the application is rights private
registry is not the best choice
Recommendation Reduce efforts in providing communication Accessing WSDL URL is enough to
minimize complications
Accelerating Hibernate development
Accelerating Hibernate development
Many hibernate files need to be programmed and hand-coded into Java and XML files
eclipse IDE with hibernate tools generated files based on created tables.
Allows for work to be completed much easier reducing the overall need for resources
Logging
What is a log/ what does it do? Helps to defrayment large portions of tangled code. Often not introduced until emanate disaster.
What are the benefits? Can be turned off without affecting code Can be rolled over according to date Format can be easily changed Can be sent over a central host
Company
LOGO
The Backend Server
1. The Backend server• MVC Framework used • Code Generation • Logging
2. Configuration• Front-end System • Back-end System
The Backend server
Requirements of a back end server:
Consolidate remote agents Dispatch changes of targets to be monitored Analyze fire alarms in case system goes
down or is being hacked Present findings in a simple format Facilitate easy performance tuning
MVC Framework used
MVC Framework
Platform: Spring* - integrates libraries and counter effects weaknesses
Advantages of MVC Development
Reduces efforts Isolates application logics Improves integration
Code Generation
Code Generation
Platform: Trail – based on domain driven framework, the main objective to boost speed of development.
Trail was chosen choose because it also solves some of the common problems like the inability to design the HTML layout conveniently using UML.
Logging
Although most web containers provide a central place for storing application log, findings have shown that the functionality provided is inadequate and thus the decision was made to use the same library “log4j” in both back-end and front-end system models.
Company
LOGO
Conclusion/Future Works/Recap
Front-end System
Language: Java
Library: Hibernate
IDE: Eclipse with Hibernate Tools
DB: MySQL
DB Modeller: FabFORCE DBDesigner.
Back-end System
Language: Java
Container: Tomcat
Library: Hibernate, Spring, Trail
IDE: Eclipse WTP
DB: MySQL
DB Modeller: FabFORCE DBDesigner
Future Works
1. Studying the use of a script language for the monitoring of complex sites is a concept being investigated.
2. There is also interest in the reliability of the e-monitoring system itself.
3. In addition interested has been invested into adapting this approach for another project for monitoring of stock trading systems.
Company
LOGO
Any Questions ~ Thank You