Case Study Distributed Data Integration Framework Roger Ruttimann Lead Engineer Enterprise Systems, GroundWork Opensource Inc. 4th International Conference.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Spring, Hibernate and Web Services 13 th September 2014.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
September 14th, 2005 NEC 2005 Symposium The Information System of CMS Concepts, Technology and Architecture Zhechka Toteva Sofia University/CERN Dirk Samyn,
Cacti Workshop Tony Roman Agenda What is Cacti? The Origins of Cacti Large Installation Considerations Automation The Current.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Technical Architectures
MIT iCampus iLabs Software Architecture Workshop June , 2006.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Interpret Application Specifications
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
© 2009 GroundWork Open Source, Inc. PROPRIETARY INFORMATION: Information contained herein is not for use or disclosure outside of GroundWork Open Source,
UNIT-V The MVC architecture and Struts Framework.
Why Interchange?. What is Interchange? Interchange Capabilities: Offers complete replacement of CommBridge point-to-point solution with a hub and spoke.
1 Network Statistic and Monitoring System Wayne State University Division of Computing and Information Technology Information Technology.
NetArchive Suite Workshop 2011 Technical Track - Code refactoring with the Spring Framework.
MobeSys Technologies MobeSys – helping you overcome mobile technology challenges.
119th International Unicode ConferenceSan Jose, California, September 2001 An Overview of ICU Helena Shih Chapman Doug Felt
Traditional Web Based Application Structure Frameworks define how the application is designed, organised and deployed across various tiers.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Opus College - overview. OpusCollege - background First project: ICT Capacity Building Mozambican Higher Education Institutions Partners: RUG Groningen,
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Spring Framework. Spring Overview Spring is an open source layered Java/J2EE application framework Created by Rod Johnson Based on book “Expert one-on-one.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Page 1 © 2001, Epicentric - All Rights Reserved Epicentric Modular Web Services Alan Kropp Web Services Architect WSRP Technical Committee – March 18,
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Evaluating Network Monitoring Solutions Nathan Freeman
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Sesame A generic architecture for storing and querying RDF and RDFs Written by Jeen Broekstra, Arjohn Kampman Summarized by Gihyun Gong.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Business Applications– Using Java _____ Presented by Priya Saha.
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
The Holmes Platform and Applications
Chapter 8 Environments, Alternatives, and Decisions.
The Client/Server Database Environment
The Client/Server Database Environment
Introduction to J2EE Architecture
Enterprise Application Architecture
What’s changed in the Shibboleth 1.2 Origin
Inventory of Distributed Computing Concepts
Evaluating Transaction System Performance
ARCH-1: Application Architecture made Simple
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Developing and testing enterprise Java applications
Enterprise Java Beans.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Case Study Distributed Data Integration Framework Roger Ruttimann Lead Engineer Enterprise Systems, GroundWork Opensource Inc. 4th International Conference on Computer Science and its Applications (ICCSA-2006)

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Objective  Overview of integration of Open Source projects into the development process  Design, risk assessment, and implementation of a new product, leveraging OSS as much as possible  Discuss problems with this approach

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Agenda Details  Case study of the development process for a Data Integration Framework for Monitoring  Project requirements overview  Design  Risk assessment  Implementation  Encountered problems / issues  Project life cycle and project maintenance  Lessons learned  Q & A

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Project overview The company offers support and installation assistance for an Open Source Monitoring system. One component is the Open Source Project called Nagios.  Runs on Linux/Unix only  Data storage in text files  UI compiled (C++) classes parsing through text files  Hard to scale and limited possibilities to improve User Interface The limitations to scale out and the User Interface are the two major issues hindering the adaption in larger installations Overview

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Project Requirements The goal was to come up with a framework that:  leverages the core features of Nagios such as the monitor-plugins, scheduler and the notification engine.  Extends the UI and the back end so that it can be deployed into larger data centers.  Has a generic data model so that other monitoring data can be integrated.  Uses an enterprise-type back end, including fail- over, load-balancing and high throughput. Overview

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Mission: The CTO said...  Enable integration with multiple open source and commercial monitoring tools  Provide a platform for a unified enterprise-class solution  Provide real open source flexibility and extensibility  Publish the Monitor Data Integration Framework as an Open Source project so that outside developers can contribute Overview

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Development Constraints We are a startup company with limited development resources and an aggressive schedule - we had to use existing components. As a new company we didn't have legacy libraries for re-use. The best alternative was to leverage Open Source components as much as possible. Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Final Feature set  Cross-platform application written in Java  Data exchange with XML feeder framework  Pluggable data normalization components  Java, Perl and PHP APIs for accessing data  Property-driven data structure for great flexibility Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Architectural overview Extend Nagios 2.0 Integrate open source applications GroundWork- developed software GROUNDWORK FOUNDATION DATABASE 3 rd PARTY SYSTEMS OPEN SOURCE TOOLS AVAILABILITY MONITORING (Nagios 2.0) Application Programming Interfaces (APIs) Adapters Common Data Model NETWORKS SERVERS APPLICATIONS OTHER DEVICES DATABASES PERFORMANCE MONITORING (RRDtool) SNMP TRAPS (SNMP TT) SYSTEM LOGS (Syslog NG) ALARM PROCESSING (Nagios 2.0) Network, Systems & Applications Management Configuration Management Service Desk Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 API Layer Lightweight Object Container Java API Data Access Objects (DAO) PHP APIPerl API Object Relational Bridge Data Model Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Data Feeder / data normalization layer Lightweight Object Container Adapter Normalizer Data Access Objects (DAO) Object Relational Bridge Data Model Adapter Normalizer Adapter Normalizer Adapter Normalizer Listener / Message dispatcher Feeder Perl script Feeder PHPscript Feeder JMS Feeder C/C++ Feeder VB XML Message Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Common Data model Common Data Model Collector Normalizers Application Programming Interfaces Event DataLog Data State Data Properties Design Phase

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 How to choose the components?  Choose point solutions with minimal dependencies –Business layer should be database agnostic –persistence layer should not depend on specific transaction managers or connection pools  Multiple projects with same functionality available –Easier to replace component if problems occur –License compatibility Evaluation / Risk assessment

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Choosing the Business Logic to database bridge  Requirements –Database agnostic. Not using stored procedures –Property based data model requires a lot of cross tables joins to insert and retrieve data. Developers are used to manipulate objects rather than record sets. –For performance reasons a cache is required. –Data consistency requires Transaction support  Hibernate -- –High performance object/relational persistence and query service. –Most popular and stable O/R persistence tool –Online documentation and books available. –Active mailing lists and forums Evaluation / Risk assessment

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Choosing the Database  Requirements –Easy to install –popular and accepted –multi platform support  MySQL -- dev.mysql.com –Most popular Open Source database –Easy to install and to maintain –Download, install and up-and-running in 15 Minutes –Online documentation and books available. –Active mailing lists and forums Evaluation / Risk assessment

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Choosing the Lightweight object container  Requirements –Framework to manage Java Bean objects creation and maintenance –minimal configuration at run time –Flexible to support aspect oriented programming (aop) and transaction management  Spring -- –Lightweight container far smaller footprint than any available J2EE container. –Configuration through XML format assemblies that can be injected at any time. –Seamless integration of Hibernate for transaction management. –Online documentation and books available. –Active mailing lists and forums Evaluation / Risk assessment

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Risk assessment  Choose popular and well documented projects  Monitor forums to observe common user issues –Large traffic alone doesn't indicate successful project  Consider only stable and documented features  Do extensive evaluation of core components but not tool/utilities components Evaluation / Risk assessment Even following these rules doesn't prevent you from surprises. Unstable fast changing projects can negatively affect your overall schedule

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Implementation PHP APIPERL APIJAVA API Listener Nagios Feeder Data Model Adapter Frameworks Spring Hibernate Apache Commons Perl DBI JDBC MySQL More Feeders… Open source components GroundWork open source  Availability of Open Source projects/components  GroundWork development Implementation

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Encountered issues / problems  Java version. Clients were still running Java 1.3 or Java 1.4.x. Java 5 offers improvements that we couldn't leverage.  By design all components are loosely coupled and therefore replaceable. This requires more upfront work to design the communication interfaces.  Documentation needs to be written!  Training of staff installing and supporting the framework.  Overhead of following Open Source projects to be informed about updates/problems that might affect the project Implementation

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Project Lifecycle  Feedback from the field needs to be integrated  Improvements / bugfixes from the various Open Source packages need to be evaluated and integrated.  Constant risk evaluation when integrating third party packages  Evaluate new Feature requests –How do they fit into the framework –Is there an Open Source package available –What's the license? –Can we integrate it easily? How much custom code? Project Lifecycle

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Release  Data integration Framework was released to Open Source as GroundWork Foundation  Used as a part of GroundWork Monitor Professional  Customized by other users to store state and event information not directly related to infrastructure monitoring.  Development goes on Milestone-Releases available  Since the project is public, developers have a responsibility to support users and guarantee stability Project Lifecycle

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Did the chosen approach work out? Can we extend current design based on Open Source components? Is the maintenance manageable since we integrated so many Open Source packages with their own lifecycle? Is the built in flexibility really needed? Project Lifecycle

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 First design challenge: Adding new features  Integration of new features –Remote API (WebService) –Higher throughput. Feed Message/sec –Integration of other Monitor systems such as JMX Project Lifecycle

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Extensible architecture Application Server Web Container Project Lifecycle Nagios Adapter Data Access Objects (DAO) Object Relational Bridge Data Model SNMPTrap Adapter Generic Adapter Listener / Message dispatcher Nagios Log Feeder Nagios Status Feeder SNMPTrap Feeder SysLOG Feeder XML Message Java API Adapter Manager Web Service Interface Admin UI JMS Broker with persistence Feeder Web Service Post JMX Adapter JMX Feeder

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Second design challange: Open Source package upgrades  Upgrade of core components –Hibernate update to version 3.1 (EJB 3.0 compliant) –Springframework update to 2.0 (JMX support/enhanced aop) –Upgrade to Java 5  Open Source packages have dependencies –Log4j, commons, XML parsers,..  Have unit tests in place to catch any differences and incompatibilities early  Even if the upgrade is a “drop-in” update you should leverage any new features and improvements  Once again check the forums and the mailing lists! Project Lifecycle

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Conclusion  Without the usage of available Open Source components we wouldn't have been able to meet the aggressive release schedule.  Open Source Project evaluation and project monitoring needs to be built into development schedule  Mailing lists are a great help  Constant learning; projects change fast  Cleaner code since code is public – developer pride! Lessons learned

Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Foundation Project: GroundWork Monitor Open Source Contact: Roger Ruttimann GroundWork Open Source, Inc. 139 Townsend Street, Suite 100 San Francisco, CA More Info