4388e088573a83e90748b8a88d87ddf7.ppt
- Количество слайдов: 22
Using Web. FOCUS Web Services to Automate Migration of Reporting Objects from Web. FOCUS 7. 7 to Web. FOCUS 8 Johan Hallgren Ingram Micro Mobility North America Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 1
1405002 Ingram Micro Mobility delivers supply chain and distribution solutions across the full spectrum of the mobility device lifecycle, through innovation, insight, and focused execution. Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 2
1405002 What We Do Provide a Full Suite of Mobile Supply Chain and Distribution Services Level 2 Services • Supply • Predict • Monitor • Report • Procure • Launch • Promote • Sell • Finance • Program • Assemble • Brand • Activate • Warehouse • Fulfill • Transport • Support • Return • Triage • Repair • Recycle • Remarket Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 3
1405002 Pre migration landscape (Web. FOCUS 7. 7) ● All files maintained in version control system (Subversion) ● All file commits and deployments scripted ● ● * Report client files * Report server files * Scripts * Commits from local environment to VCS * Deployments from VCS to test environment * Deployments from VCS to production environment Dashboards, schedules and libraries not maintained in VCS User authentication through LDAP, authorization through Web. FOCUS groups Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 4
1405002 Pre migration landscape cont'd WF test 2. VCS commit 1. Dev Studio development 3. Test deployment VCS 4. VCS merge WF pro d 5. Prod deployment Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 5
1405002 WF 8 Migration challenges and goals ● ● Report files no longer stored in the file system Desire to still keep all files in version control system Desire to keep automation of commits and deployments Desire to use LDAP for user authorization, in addition to authentication Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 6
1405002 Options considered ● ● Use of built in migration tools + Straight-forward process - No auto-updates of paths etc. Use of Web. Focus Web Services + Read and write access to any client report object, or object content + Scriptable access through use of curl or similar utility - No access to schedules or libraries Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 7
1405002 Option selected: Hybrid approach ● ● ● Export from WF 7. 7 using built in migration scripts Import into WF 8 using built in migration scripts, which will define the directory structure for report files in WF 8. Develop custom process to reconfigure VCS tree using web services Make requisite updates to exported artifacts using custom scripts Redeploy to WF 8 using VCS, web services and custom scripts Migrate libraries on the database level Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 8
1405002 Updates required when migrating ● All paths are changed * Import tool retains the old path as an attribute * Path changes affect both INCLUDE clauses, and file tree structure ● ● All variables need DEFAULT assigned Schedules also need to have their paths updated Dashboards need to be manually created LDAP groups need to be mapped to appropriate WF groups Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 9
1405002 Migrating report objects ● ● No difference on the report server All paths change on the report client: Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 10
1405002 Migrating report objects, cont'd ● All WF 7. 7 directory names are set in the Handle property in the corresponding WF 8 object, and can be retrieved from it by using a web service call: curl -s -X GET -d "" -b "wf. cookie" -c "wf. cookie" -k "https: //<server>/ibi_apps/rs/ibfs/WFC/Repository <path/to/report. fex? IBIRS_action=get" | xmllint --xpath "//ibfsrpc/root. Object/@handle" - | sed 's/handle="//g' | sed 's////g' | sed 's/|///g'` Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 11
1405002 Migrating report objects, cont'd ● ● All WF 8 directory names are available separate from the directory label: You can thus programmatically convert one to the other Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 12
1405002 Migrating report objects, cont'd DIRTYPE=`curl -s -X GET -d "" -b "wf. cookie" -c "wf. cookie" -k "https: //<server>/ibi_apps/rs/ibfs/WFC/Repository</path/to/wf 8/file>? IBIRS_action=get" | xmllint -xpath "//ibfsrpc/root. Object/@type" - | sed 's/type="//g' | sed 's/"//g'` if [[ -z `echo "$DIRTYPE" | grep "MRFolder"` ]] then FILENAME=`curl -s -X GET -d "" -b "wf. cookie" -c "wf. cookie" -k "https: //<server>/ibi_apps/rs/ibfs/WFC/Repository</path/to/wf 8/file>? IBIRS_action=get" | xmllint -xpath "//ibfsrpc/root. Object/@handle" - | sed 's/handle="//g' | sed 's////g' | sed 's/|///g'` FILENAME_OLD=`echo </old/VCS/tree/root>$FILENAME | sed 's/ ///g'` FILENAME=`echo </old/VCS/tree/root></path/to/wf 8/file>` svn -q copy "$FILENAME_OLD" "$FILENAME" fi Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 13
1405002 Migrating report objects, cont'd ● We now have a VCS tree conforming to the directory structure on the report client (really in the WF database): = Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 14
1405002 Updating include paths ● With everything now in files in VCS, we can update any INCLUDE paths in fex files using file based tools: find. -type f -print 0 | xargs -0 sed -i 's/utilitie/template/header. fex/ _ IBFS: /WFC/Repository/utilitie/std_reports/templatesdr 9/ _ header. fex/g' Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 15
1405002 Add DEFAULT assignments ● ● ● Version 8 is stricter than version 7. 7 regarding requiring DEFAULT value be set for variables We found that while we could automate most cases where these needed to be added, some manual work was needed. Automated process looped through all variables in a file, and added an assignment if required: for VARIABLE in `grep "&" $file | grep -v "^-*" | grep -v "-SET" | grep -v "-TYPE" | sed 's/(. *)&([A-Za-z_0 -9]*)(. *)/2/g'` Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 16
1405002 Redeploy from VCS ● After updating all objects, the old ones can be deleted from the WF 8 report client, and redeployed from VCS: NEW_CONTENT_DATA=`base 64 -w 0 </vcs/file>` DEPLOY_DATA="<root. Object _jt='IBFSMRObject'> <content _jt='IBFSByte. Content' char_set='UTF 8'>" ${NEW_CONTENT_DATA} "</content></root. Object>" curl -s -X POST -d "IBIRS_action=put" --data-urlencode "IBIRS_object=${DEPLOY_DATA}" -d "IBIRS_replace=true" -k "https: //<server>/ibi_apps/rs/ibfs/<path/to/file>" Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 17
1405002 Update schedules ● ● All schedules must have their report file paths updated to what they are in WF 8 Exported schedules have this information in the domain. HREF and folder. HREF elements: * Loop through each exported schedule * Retrieve file and directory names from procedure. Name, domain. HREF and folder. HREF elements, using grep and sed * Construct new report paths using them * Use sed to update the schedules * Import the schedules using regular import tool Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 18
1405002 Commit any regular changes to VCS ● As regular development takes place, changes are committed to VCS: SOURCE_FILE_DATA=`curl -s -X GET -d "" -k "https: //<server>/ibi_apps/rs/ibfs/<path/to/file>? IBIRS_path=<path/to/file>&IBIRS_action=get. Content"` echo "${SOURCE_FILE_DATA}" > ${DESTINATION_FILE} Commit ${DESTINATION_FILE} using VCS tools Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 19
1405002 Post migration landscape (Web. FOCUS 8) ● ● All files maintained in version control system (Subversion) * Report client files * Report server files * Scripts All file commits and deployments scripted using web services * Commits from local environment to VCS * Deployments from VCS to test environment * Deployments from VCS to production environment ● ● Schedules and libraries not maintained in VCS User authentication and authorization through LDAP Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 20
1405002 Post migration landscape cont'd WF test 2. VCS commit (WS) 1. App Studio development 3. Test deployment (WS) VCS 4. VCS merge WF pro 5. Prod deployment (WS) d Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 21
1405002 Web. FOCUS 8 web services benefits ● ● ● Help automate the migration process: * Automated conversion of objects that now reside in the database * Without this, we would still be converting paths Continue to support VCS use: * Retain full history of objects, across Web. FOCUS versions * That history is liked by our auditors Continued use of established deployment process: * No need for developer retraining * Proven track record of deployment success Confidential and proprietary information of Ingram Micro Inc. — Do not distribute or duplicate without Ingram Micro's express written permission. 22
4388e088573a83e90748b8a88d87ddf7.ppt