1 / 7

Packaging & Installation – Increased UX Documentation In-Place - Hardening In-Place - Refactoring

iRODS-E : Differentiation vs. Effort Lower effort with less differentiation vs. more effort and higher levels of differentiation. Packaging & Installation – Increased UX Documentation In-Place - Hardening In-Place - Refactoring Branch & Merge – Hardening / Refactoring

gyula
Download Presentation

Packaging & Installation – Increased UX Documentation In-Place - Hardening In-Place - Refactoring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iRODS-E : Differentiation vs. EffortLower effort with less differentiation vs. more effort and higher levels of differentiation • Packaging & Installation – Increased UX • Documentation • In-Place - Hardening • In-Place - Refactoring • Branch & Merge – Hardening / Refactoring • Branch & Merge - Componentize & Rewrite • Wholesale Rewrite / New Product

  2. Packaging & Install Scripts Address iRODS installation issues • Current iRODS installation is a hands on the keyboard effort and requires building code • Provide binary packages for supported platforms • Ubuntu, CentOS / RHEL, OSX, Solaris for now • Include OS level dependency support for database installation & configuration • Provide more intuitive options for advanced configuration options such as DBR / DBO, remote iCAT • Future GUI front end for configuration & administration

  3. Documentation iRODS knowledge is scattered about the irods.org wiki & irods-chat mailing list. Providing a comprehensive set of documentation would be an important differentiator for RENCI’s iRODS-E, such as: • Installation Guide • Data Grid Administrator Cook Book for various tested data management solutions • Data Grid Administration Manual

  4. In-Place Hardening & Refactoring Work closely with the DICE developers to improve the iRODS code base within the Community Code Repository : iRODS-E then becomes a RENCI tested & certified release of the Community Repository • Requires fewer RENCI resources • No need to work to keep bug fixes & features in sync across iRODS-E & iRODS-C repositories • Testing of iRODS-C increases considerably, provides direct community value • Better practices such as SA & Code Coverage analysis have already been adopted by the DICE developers • Code Hardening & Refactoring moves much more slowly due to required social engineering of DICE developers, sending patches for application to the repository • Value of Enterprise release could be viewed as more minimal, differentiation will need be focused elsewhere

  5. Branch & Merge – Hardening & Refactoring A iRODS-C 3.0 Branch has been created in G-Forge, Current hardening & testing efforts currently focus on this code base. • More freedom in development, no social engineering required to include changes • More claim to differentiation from iRODS-C releases • Code divergence, porting bug fixes or new feature code • Requires more development resources • Less hands-on testing, reliance mostly on automated testing grid

  6. Branch & Merge - Componentize & Rewrite Break iRODS code along interface boundaries, re-writing significant sections while maintaining backward compatibility. Early targets would be: • Refactor toward an Object Oriented Design & Patterns • Network Layer – move to boost::asio, add SSL • Migrate Client/Server API to Apache Thrift for RPC • iCAT Database Component – move to DAO pattern, refactor out cross API call DB Transactions, Provide support for horizontal partitioning

  7. Wholesale Rewrite or a Whole New Product Using existing Open Source libraries and other modern tools, RENCI could reproduce iRODS functionality, targeted other primary use cases, ‘Big Data’, etc. For example: • Apache Thrift for Client / Server RPC • Embed Python/Lua/etc as the Rules Language • Many and Varied Boost Libraries • The RENCI solution could also very well talk to iRODS servers as well.

More Related