Automation of J2EE Product Certification Process

Similar documents
LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

CLEO VLTrader Made Simple Guide

Getting Started with Cisco UCS Director Open Automation

Release Date March 10, Adeptia Inc. 443 North Clark Ave, Suite 350 Chicago, IL 60610, USA Phone: (312)

Polarion Trial Installation 17.2

Alkan University College Student Information Management System

Release Date September 30, Adeptia Inc. 443 North Clark Ave, Suite 350 Chicago, IL 60654, USA

Rational Software White paper

Forescout. eyeextend for IBM BigFix. Configuration Guide. Version 1.2

ForeScout Extended Module for Carbon Black

Using ZENworks with Novell Service Desk

Kentucky Justice & Public Safety Department. Subgrantee User Guide Version 2.0 Kentucky Justice Grant System

KNOWLEDGE MANAGEMENT (SHAREPOINT ADD-IN)

Middle East Technical University. Department of Computer Engineering

Script.byu.edu SharePoint Instructions

ForeScout Extended Module for IBM BigFix

<Partner Name> <Partner Product> RSA ARCHER GRC Platform Implementation Guide. Swimlane 2.x

SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide

ForeScout Extended Module for IBM BigFix

BOULDER IRB era InfoEd Continuing Review

Architecture & Deployment

ZENworks Service Desk 8.0 Using ZENworks with ZENworks Service Desk. November 2018

Deployment Guide. 3.1 For Windows For Linux Docker image Windows Installation Installation...

CISC 322 Software Architecture

IBM Lotus Quickr STEW Technical Overview

Backup, File Backup copies of individual files made in order to replace the original file(s) in case it is damaged or lost.

SUREedge MIGRATOR INSTALLATION GUIDE FOR HYPERV

SUREedge MIGRATOR INSTALLATION GUIDE FOR NUTANIX ACROPOLIS

SVN_Eclipse_at_home. 1. Download Eclipse. a. Go to: and select Eclipse IDE for Java Developers

Cisco CVP VoiceXML 3.1. Installation Guide

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Ansible Tower Quick Setup Guide

Lotus Learning Management System R1

Release Date April 9, Adeptia Inc. 443 North Clark Ave, Suite 350 Chicago, IL 60654, USA

Copyright

Phire Frequently Asked Questions - FAQs

Workspace Administrator Help File

A. INTRODUCTION... 2 B. SCOPE... 2 C. APPENDIX A... 2 D. CPD EPORTFOLIO LOGIN... 3 E. QUICK LINKS ON PRACTITIONER S HOME PAGE... 6 F. HOME PAGE...

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,

Red Hat Developer Studio 12.9

PCI Compliance Assessment Module

Unified Modelling Language User Guide READ ONLINE

USER MANUAL. MageMob Admin TABLE OF CONTENTS. Version: 1.0.0

Red Hat Development Suite 2.1

Objective of the Postgraduate Online Approval Procedure: Description of the Postgraduate Online Approval Procedure:

Extranet User Guide Version 2

Kroger Supplier Hub QRG September 2017

Red Hat JBoss Fuse 6.1

Developing Android applications in Windows

Client Admin Release Summary

Report Submission User s Manual

Lucid Key Server. Help Documentation.

Integrate Akamai Web Application Firewall EventTracker v8.x and above

TRACKABLE BULK MAIL SOLUTION ADDITIONAL FEATURE

Software Design Description Report

SOA Software Policy Manager Agent v6.1 for tc Server Application Server Installation Guide

User Scripting April 14, 2018

ForeScout Extended Module for ServiceNow

ForeScout Extended Module for Qualys VM

Office 365 Exchange Online Backup & Restore Guide. 11 September CloudBacko Corporation

MageNative Apps User Guide Series

The Andersen Company s Mobile Application User Guide

Virtual Loaner Program

Digital Signature Certificate (DSC) Guide. April 2017, Version 1.0

Introduction to application management

CounterACT Reports Plugin

Artix Orchestration Installation Guide. Version 4.2, March 2007

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Handbook December 2018

Welcome to the Investor Experience

Elixir Repertoire supports any Java SE version 6.x Runtime Environment (JRE) or later compliant platforms such as the following:

Detailed Design. Java Problem Repository & Education Platform JPREP

IBM Certified Specialist - IBM Case Manager V5.0 Exam.

Administrator. Content Guide 10/28/2016

Building Block Installation - Admins

RSA Identity Governance and Lifecycle

LinkedIn Sales Navigator for MS Dynamics 2016 and 365 Installation Guide

PRogramme Information and Activity Management Operational System (PRIAMOS) Frequently Asked Questions (FAQ)

Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8

Rational Asset Manager V7.5.1 packaging October, IBM Corporation

IBM United States Software Announcement , dated February 17, 2015

Supplier Directory User Guide: Procurement Support Centre

VSP16. Venafi Security Professional 16 Course 04 April 2016

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

SWIFT USER MANUAL CONSULTANT MODULE. March 2013

D6.1. Project website and internal IT communication infrastructure HINT. 36 months FP7/

Introducing Rational ClearQuest

COORDINATOR GUIDE TECHNICAL STANDARDS. Technical Standards Managers

IBM Atlas Policy Distribution Administrators Guide: IER Connector. for IBM Atlas Suite v6

NHBC Extranet user guide. Site management made easy

Red Hat Certified Cloud and Service Provider Certification 1.0

Themis An Automated Online Programming Contest System

McAfee File and Removable Media Protection Installation Guide

MIDDLE EAST TECHNICAL UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING COSS. Computer Oriented System Solutions

ForeScout Extended Module for ServiceNow

A Step-By-Step Guide for Submitting and Accessing Manuscripts Via ejmanager

Missouri First Steps CFO Modifications Overview December 2, Dear Stakeholder,

WHITE PAPER. How AdminStudio Helps IT Migrate to Windows Vista 5x Faster

Administering Workspace ONE in VMware Identity Manager Services with AirWatch. VMware AirWatch 9.1.1

Red Hat CloudForms 4.6

Transcription:

www.ijcsi.org 350 Automation of J2EE Product Certification Process Iddalgave Sandeep, Annapurna P. Patil Department of Computer Science and Engineering, M. S. Ramaiah Institute of Technology Bangalore 540 006, Karnataka, India. Abstract Automation is a process of developing a tool or a product to perform on its own, in order to achieve all the functionalities required of a complex system, without human intervention. The current Certification Process of the J2EE product in IBM is consuming unnecessary time even for the valid products. In order to reduce this processing overhead, the process of automation was proposed by the technologist to save time so as to accomplish the task early. The need for automating the tool of Certification arose due to unwanted utilization of man-hour and man-power. The existing system halts after the tool finishes the comparison of the listings (which contain details of the build, its environment and the list of files present within the build), until the administrator logs-in. Administrator checks each transaction ID individually for intimating the clients about the status of their products. The proposed system aims at sending the intimation to the clients as soon as the comparison is done successfully, without the intervention of administrator i.e., an automated notification will be sent after successful comparison of the listings. The tool will also provide an option to generate chart/graph whenever the managerial team needs it at just one click. The work carried out here is aimed at automating the process of certifying the Java products or assets developed by IBM Software Product Groups. It also aims at generating graphs at real-time for the number of products certified till date. The certification process is for IBM JRE/SDK used by IBM Software Product Groups. It will be done by comparing the listings submitted by the IBM Software Product Groups and the reference listings present in the Certification server. JRE/SDK should adhere to the constraints as per the Oracle license. The IBM product or asset is certified after the Certification Team sends the Java Compatibility Logo. Here Javapath, listpath, build listing, product details for automation and start-and-end dates for graph generation act as inputs in Product Certification Process. After submitting the request, a transaction ID is generated which keeps track of certification status. The process ends with sending a notification about successful submission of the request. The report is generated as bar-graph with x-axis showing the duration in months, quarters or years and y-axis showing the number of products/builds certified. After the implementation and the testing process, it is noticed that the time-consumption and man-power required for Certification Process is reduced. Keywords: JRE/SDK, Java Compatibily Logo, Transaction ID, Javapath, Listpath. 1. Introduction 1.1. Product Certification Product Certification is a process of certifying the products developed based on builds used and verifying them according to the license agreement. It is an internal process to a particular organization, to check whether the development tools adhere to the license agreement with the organization, which is providing the build for developing the product. 1.2. Importance of Certification As per the TLDA any IBM Product or IBM Asset distribution that incorporates this Java Technology must - 1. be bundled with IBM value add which can be an IBM Product, IBM Service or IBM Asset 2. be able to pass the applicable Java Compatibility tests before it can go General Available (GA). 3. display the appropriate Java SE compatibility logo and the Java attribution statement on the IBM product/service/asset packaging. 1.3. Why Automation? The process of Product Certification is time consuming in the present scenario as each product has to be certified by the administrator after successful comparison of listings of customer and reference by the Certification tool. The Certification tool would need 7 working days to certify a product. For report generation, the Certification tool needs 7-8 hours, which has been done manually. To overcome these shortcomings, the Certification tool is been automated to make the request turnaround faster and available at any time. Automating this tool helps the product development teams to have product GA very soon. Automation involves certifying the products by sending the Java logo if the listings are Java compliant without the intervention of the administrator, which will shorten the time required to just few minutes from the time of request submission. This tool will also provide an option to generate graph as and when required by the managerial teams.

www.ijcsi.org 351 1.4. Definitions Automation is a process of developing a tool or a product to perform on its own, in order to achieve all the functionalities required of a complex system, without human intervention. 1.5. Problem Definition In this work, it is proposed to automate the process of Product Certification, by automating the process of build (JRE/SDK) download, list generation, communicating with different machines, and so on. It also includes generation of an online chart for the count of products as well as JRE/SDKs certified in a particular duration. 2. Literature Survey 2.1. Product Certification Process Certification process is used for certifying the IBM deliverables which are using IBM Java as per the agreement with Oracle. Under the terms of Java Technology License and Distribution Agreement (TLDA), with Oracle, IBM (including IBM subsidiaries) can use, modify and distribute Java Technology with IBM Deliverables[2]. Java Technology is any Java code that implements Java Specifications. An IBM Deliverable is any IBM Products, IBM Service and IBM Assets. 2.2. Issues Related to Certification The purpose of certification is to check for Java Compliance of JRE/SDK used by IBM Deliverables, directly or indirectly. This is confirmed by running JCK compliance test suite as provided by Oracle. Here are few issues that need to be addressed before the product gets certified: Binary or library files should be present within JRE/SDKs. Properties file should not be missing. Copyrights and notices should be present. Otherwise, a warning will be given at the time of certification process. License files must be present. Removal of certain files/directories will not compromise the Java Compliance and will not affect the Certification process, like removal of docs, demo, man and sample folders and removal of *.pdb files[6]. 2.3. Pre-submission Check List Major releases of product on Java 142/Java50 are not allowed without an explicit approval, as both these have passed end-of-take-up-date. From submitting the listing License guidelines have to be followed strictly. Java dependency has to be raised from SWG clearing House, if the product is directly bundling Java. Listings of JRE/SDKs have to be generated on the respective machines/architecture. For example: Linux AMD64 SDK/JRE listing is generated on a Linux OS machine of AMD64 architecture hardware. Only single listing has to be submitted for a particular JRE/SDK, as the product in turn supports different flavors of an OS. 2.4. Steps for Listing Submission The following steps help for submitting the listing for certification of Java Products/ IBM deliverables. 1. First the customer has to generate the listing using either the PERL script or Java class file and has to login into the Certification tool, to submit the request for Certification. 2. After logging in, customer has to provide the details of product in appropriate fields given. Software Groups (SWG) option will be checked by default, if the product doesn t belong to any SWG brand, then it has to be unchecked. 3. Customer has to provide End of Service (EOS), General Availability (GA) of the product and the expected date of certification. 4. Customer has to specify whether the product is of Major Release or not, by checking the box for Major release. 5. Version of the JRE/SDK has to be provided. If version being used is Java142/Java50, then Exception for Shipment button should get enabled. 6. After filling all the details, listings of the JRE/SDK s used are to be uploaded and submitted. 7. Next, the page will display the details of each build. After confirming the details, click on submit button. 8. The last page will display the transaction ID for the request. 9. When the transaction ID is generated, certification process is triggered. 10. As the customer listing is available, Certification tool checks for its respective reference listing in the repository. 11. If the reference listing is available, then both the listings are compared for Java Compliance. If everything is correct as per the License agreement with Oracle, then an automated intimation is sent to the customer with Java Logo. 12. If reference listing is not available for a particular build, then the build is downloaded from the main repository on the respective reference machine, un-

www.ijcsi.org 352 jarred and the reference listing is generated and the repository is updated by the administrator. After submission of the listings by the clients, the process needs a minimum of 7 working days to certify the product[3]. At the end of each month, quarter and year, the certification team has to prepare the graph of the certified products count and submit it to the higher managerial teams, which used to take a minimum of 4-5 man hours. 2.5. Need for Enhancement Checking each and every request manually for Java compatibility is a very time consuming process and requires more man-power like administrator checking, for Clearing House Dependency manually, for each and every request. Number of families in IBM Software Product Group was restricted to only 5 families. So, there is need for inclusion of other families of IBM. While submitting certification request, there is a need to separate the product details and dependency details into 2 different pages. Whenever the managerial team needs to view the status of certified products, an option should be provided to view the graph on monthly, quarterly and yearly basis. 3. System Requirement Specification 3.1. Introduction The SRS is basically an organization s understanding (in writing) of a customer or potential client s system requirements and dependencies at a particular point in time prior to any actual design or development work. It s a twoway insurance policy that assures that both the client and the administrator understand the other s requirements from their perspective at any point of time. 3.2. Purpose The SRS document states in precise and explicit language the functions and capabilities a system must provide, as well as states any required constraints by which the system abide. This document provides a description of the introductory requirements, objectives, and characteristics of Automation of J2EE Product Certification Process. The expected audience of this document includes the system designers, testers and the system software developers. It will serve as an official reference to start the rest of the development phases. 3.3. Definition, Acronyms and Abbreviation 1) General Available (GA): Release of the product, which is been requested for Certification, to the market by the client is termed as General Available. 2) Build: Either JRE or SDK is referred to as build. 3) Listing: Listings are the.txt files which are generated after Perl script is executed with its valid inputs. These files contain the details of the build, its environment and the list of files present within the build. 4) Clearing House Dependency (CH Dependency): Each version of JRE/SDK will meet the end-of-takeup-date. An approval has to be taken for using such version of JRE/SDK, for developing product, from the higher authority. Such an approval is called as Clearing House Dependency. 5) CH Dependency ID: ID generated for requesting the approval is called as CH Dependency ID. 6) End-of-take-up-date: Maintenance of older version Java packages is frozen after certain period of time, which is referred to as End-of-take-up-date. Currently in IBM, Java3 and Java142 have met end-of-take-update. 7) Product Bundling: Sometimes a product is bundled within another product of the same family. This process is known as Product Bundling. 8) Product Families: The companies acquired by IBM or the different departments of IBM are called as Product Families. Few product families existing in IBM are Lotus, WebSphere, etc. 3.4. Specific Requirements List Generation List to be generated for certifying the build has to be generated on the same system on which the product was developed by the IBM Software Product Group. The build used by the IBM Software Product Group must be downloaded from main repository only. The build should not be nearing end-of-take-up date (i.e., builds should be of Java 5 or higher version.). The build should have NOTICES and copyright files intact. Files in directory structures like demo, sample, man, and docs can be missing. List Comparison Reference listing should be present in the database for the respective Customer listing submitted. Both the listing should be of same version, release and fixpack along with architecture, OS, etc.

www.ijcsi.org 353 While comparing, *.pdb files and files in docs, demo, sample, and man folders have to be ignored. Build Download The input to this module should be a String in the form of a URL. The URL should contain the build ID, OS, machine architecture, Java Version along with service, release and fixpack details. The build must be downloaded from main repository only. Different machines of different architecture should have a secure communication channel established using ssh. Reference machines should not prompt for username and password, each time the Certification tool tries to communicate with them. Sending Mail All the listings of a particular transaction ID should be clarified from the concerned authority, if needed. All the listing of a particular transaction ID can be of any Java build versions. All the listings of a particular transaction ID should have status set to OK. None of the listings of a particular transaction ID should have been rejected. Report Generation Database tables should be updated after each and every listing is updated. Tables should be updated in terms of month, quarter and year. Graph generation has to be requested for a particular duration, not form the starting of the Certification till date. Graph should be generated in JPEG or PNG format only. The report should be available to managerial teams as and when required. 3.5. Functional Requirements Functional requirements describe the list of functional inputs and outputs to a program, the behavior, of the functions. As defined in requirements engineering, functional requirements specify particular results of a system. Inputs to the program: Product details Build details CH dependency Build listing upload. Output for the above points: Transaction ID generation Reference listing generation Sending Java Logo through automated mail. 3.6. Non-Functional Requirements Security: The system is very secure as both client and server are configured during the time of installation. The product works only in intranet so will be inaccessible outside the network. Scalability: This automated tool can be accessed through any platform and compatible on any machine. It is a machine independent architecture. This tool is connected to 23 different machines of different architectures. Maintainability: Maintainability is one of the important phases of any software. Isolating defects, solving them, meeting new requirements, making the future maintenance easier and many more tasks sum up to maintainability. 4. System Design 4.1. Architectural Design Product Team JIM Database Database Admin Certification Server Reference Machines Figure 4.1: System Architecture of Certification Process The below Figure 4.1 shows the overall System Architecture of the Certification Process, showing interaction of administrator and product team with various servers. In the figure 4.1, Administrator is referred to the Certification team and Product team is the IBM Software Development Teams. Certification server is the main server which will manage the whole process of Certification. Database used in this work is MySql, which is used for storing data of the Certification Process. JIM (Java Information Manager) is the main server of IBM, wherein all the Java builds are stored and maintained. In this project JIM acts as the main repository of Java builds. Reference machines are different machines of different platforms used for downloading builds in the automated

www.ijcsi.org 354 process of the Certification process. There 23 different machines have been identified for this propose within the JTC (Java Technology Center). 5. Results The enhancements discussed previously have reduced the burden of certifying the product which satisfies the constraints as per TLDA. It has reduced the work from 7 person-days to just 15 minutes from the time of submission. Now the administrator will have lesser number of transaction IDs to be verified. Graph generation is now just a matter of button click. Time required to generate the graph has been reduced from 7 man-hours to just a click of button. It also reduced the workload on Certification team, who were involved in creating graph at the end of every month, quarter or year. [7] Grady Booch, Ivar Jacobson, and James Rumbaugh, The Unified Modeling Language User Guide, 2 nd Edition, Addison-Wesley,2005 [8] Javascript: http://www.roseindia.net/javascript/ [9] Roger.S.Pressman, Software Engineering-A Practitioners Approach, 7 th Edition, McGraw-Hill, 2007. [10] Paul C. Jorgensen, Software Testing: A Craftsman s Approach, 3 rd Edition, Auerbach Publications, 2008. [11] Robert W. Sebesta, Programming the World Wide Web, 4 th Edition, Pearson Education. [12] Chris Bates, Web Pogramming Building Internet Applications, 3 rd edition, Wiley India, 2006. [13] Grady Booch et al, Object Oriented Analysis and Design with Applications, 3 rd Edition, Pearson, 2007. [14] Michael Blaha, James Rumbaugh, Object Oriented Modelling and Desing with UML, 2 nd edition, Pearson Education, 2005. [15] Jim Keogh, J2EE : The Complete Reference, Tata McGraw-Hill, 2002. 6. Conclusion and Future Work Java Product certification process is a step at certifying the java based IBM products or assets. A certified product has to pass the java compliance test as per the agreement with Oracle. It speeds-up the number of products to certify and helps IBM Software development teams to make their product or asset for GA. Graphs are generated in real-time for managerial team on one click. The above mentioned enhancements have been implemented in the product and is been deployed for use in main repository. In the implemented system, if there is a difference between the listings (which is supposed to be the unsuccessful comparison), manual intervention of the administrator is needed for process to continue. This manual intervention of administrator can be overcome in future by automating the system so as to respond by sending a mail to the client, which contains the list of differences. By implementing the above proposed enhancement, it can be seen that the delay in sending the notification by the administrator to the client is been reduced contributing towards better performance of the system. References [1] Certification Team Profile: http://w3.ibm.com/ibm/ [2] Java License Agreement: http://www- 07.ibm.com/in/isl/index.html [3] Certification Help Page: http://w3.hursley.ibm.com/java/tech/certify/ [4] Patrick Naughton, The Java Handbook, Mc Graw Hill Osborne Media, March 22 1996 [5] James Lee & Brent Ware, Open Source Web Development with LAMP, Pearson Addison Wesley Professional, 2003 [6] Vishal Prabhu, CertificationGuide_draft3.odt