company logo by: frank k.w. cheong, dickson k.w. chiu, s.c. cheung, and patrick c. k. hung...

36
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

Post on 20-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

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)

Page 3: 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

Introduction

This paper focuses on:

- Health on Websites/Web services

- Providing protection from harmful attacks

- Using experience based Pragmatic Programming

Page 4: 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

Company

LOGO

Current Technological Problems

PROBLEMS:

• Product Lifecycle

• Monetary Constraints

• Product Synchronization

Page 5: 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

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

Page 6: 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

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.

Page 7: 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

Company

LOGO

Understanding the Dilemma

Causes:1. Simplified Network Model 2. Potential Causes of Problems3. Methods of Reducing Cost4. Simulating the consumer

experience

Page 8: 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

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

Page 9: 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

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)

Page 10: 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

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

Page 11: 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

Company

LOGO

Conceptual Modeling

Concepts:1. Entity Sites and Steps 2. Remote Agent Monitoring 3. The Use of IP Addresses 4. E-Monitoring

Page 12: 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

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.

Page 13: 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

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

Page 14: 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

E-Monitoring

The E-Monitoring system is subject to three main processes: monitoring, statistics updating, and obtaining fresh site-list processes.

Page 15: 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

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

Page 16: 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

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.

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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.

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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)*

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

Company

LOGO

The Backend Server

1. The Backend server• MVC Framework used • Code Generation • Logging

2. Configuration• Front-end System • Back-end System

Page 28: 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

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

Page 29: 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

MVC Framework used

MVC Framework

Platform: Spring* - integrates libraries and counter effects weaknesses

Advantages of MVC Development

Reduces efforts Isolates application logics Improves integration

Page 30: 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

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.

Page 31: 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

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.

Page 32: 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

Company

LOGO

Conclusion/Future Works/Recap

Page 33: 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

Front-end System

Language: Java

Library: Hibernate

IDE: Eclipse with Hibernate Tools

DB: MySQL

DB Modeller: FabFORCE DBDesigner.

Page 34: 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

Back-end System

Language: Java

Container: Tomcat

Library: Hibernate, Spring, Trail

IDE: Eclipse WTP

DB: MySQL

DB Modeller: FabFORCE DBDesigner

Page 35: 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

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.

Page 36: 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

Company

LOGO

Any Questions ~ Thank You