Download presentation
Presentation is loading. Please wait.
Published byPierce Skinner Modified over 9 years ago
1
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)
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
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
13
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
14
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 -- www.hibernate.org –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
15
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
16
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 -- www.springframework.org/ –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
17
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
18
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
19
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
20
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
21
Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Release Data integration Framework was released to Open Source as GroundWork Foundation http://gwfoundation.sf.net 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
22
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
23
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 500-1000 Message/sec –Integration of other Monitor systems such as JMX Project Lifecycle
24
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
25
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
26
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
27
Case Study Distributed Data Integration Framework ICCSA-2006 Roger RuttimannJune 27, 2006 Foundation Project: http://gwfoundation.sf.net GroundWork Monitor Open Source http://www.groundworkopensource.com/downloads Contact: Roger Ruttimann GroundWork Open Source, Inc. 139 Townsend Street, Suite 100 San Francisco, CA 94107 rruttimann@groundworkopensource.com More Info
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.