Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014...
Transcript of Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014...
![Page 1: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/1.jpg)
Application Multi-versioning
Chris HodginsIBM
12 March 2014Session 14912
Linkedin: http://uk.linkedin.com/pub/chris-hodgins/1/866/43/
CICSplex and the cloud blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/ChrisHodgins/
![Page 2: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/2.jpg)
Further sessions on Bundles and Cloud
15395 – Managing CICS Resources in a Unix File SystemMonday 1:30pm Salon 2
14902 – Reinventing the CICS Application LifecycleTuesday 9:30am Salon 3
14829 – CICS as a Platform Service ProviderTuesday 11:00am Salon 3
14912 – Managing CICS Resources and Bundles (Application multi-versioning)Wednesday 1:30pm Salon 4
![Page 3: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/3.jpg)
Agenda
• What is a multi-version Application?• SPI enhancements• What happens when an Application becomes available?• Multi-versioning scenarios
3
![Page 4: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/4.jpg)
What is a multi-version Application?
• “You can install and manage multiple versions of an application at the same time on the same platform instance. With multi-versioning, new versions of an application can be deployed to the platform without the need to disable or remove the previous version, and made available to users without service interruption.”
4
![Page 5: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/5.jpg)
What is a private Application resource?
• “When a resource capable of being private is defined in a CICS bundles as part of an application installed on a platform, the resources are private to that version of that application. You can therefore install more than one resource of those types with the same name, at the same time, on the same platform instance.”
• PROGRAM, LIBRARY, POLICY resources currently supported
5
![Page 6: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/6.jpg)
API/SPI Enhancements
![Page 7: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/7.jpg)
SPI enhancementsPrivate resource browsing
• Extension to the SPI for PROGRAM/LIBRARIES to allow browsing of private resources
• Example: Private PROGRAM/LIBRARY browse– EXEC CICS INQUIRE PROGRAM/LIBRARY
STARTPLATFORM('share.example.platform')APPLICATION('share.banking')APPLMAJORVER(1)APPLMINORVER(0)APPLMICROVER(0)
7
![Page 8: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/8.jpg)
SPI enhancementsPrivate resource browsing
• By default the EXEC CICS INQUIRE SPI will– If issued from a public program
● Returns public resources only– If issued from a private program
● Returns private and public resources
8
![Page 9: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/9.jpg)
API enhancementsInvoking specific Application versions
• New EXEC CICS INVOKE APPLICATION API command to route to specific Application version
• Or EXEC CICS LINK to the entry point program– Will always pick the highest version available
9
![Page 10: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/10.jpg)
API enhancementsInvoking specific Application versions
• Example: Invoking the highest version of an Application
• EXEC CICS INVOKE APPLICATIONPLATFORM('share.example.platform')APPLICATION('share.banking')OPERATION(inquireAccountDetails)COMMAREA(<data_area>)LENGTH(<commarea_length)
10
![Page 11: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/11.jpg)
API enhancementsInvoking specific Application versions
• Example: Invoking a specifc version of an Application
• EXEC CICS INVOKE APPLICATIONPLATFORM('share.example.platform')APPLICATION('share.banking')APPLMAJORVER(1)APPLMINORVER(0)EXACTMATCHOPERATION(inquireAccountDetails)CHANNEL('ACCOUNT')
11
![Page 12: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/12.jpg)
API enhancementsInvoking specific Application versions
• Example: Invoking the highest version of an Application with a minimum minor version capability defined
• EXEC CICS INVOKE APPLICATIONPLATFORM('share.example.platform')APPLICATION('share.banking')APPLMAJORVER(1)APPLMINORVER(2)MINIMUMOPERATION(inquireAccountDetails)CHANNEL('ACCOUNT')
12
![Page 13: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/13.jpg)
What happens when an Application becomes available?
![Page 14: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/14.jpg)
Applications with Program Entry PointsThe CICS TS V5.1 story
Enable the HomeLoan application to bring the Application into service
HomeLoan V1.0.0
ADDCSTMR
NEWLOAN
CICSRGN3
HOMELIBDSNAME01=home.loan
HomeLoan V1.0.0
ADDCSTMR
NEWLOAN
HOMELIBDSNAME01=home.loan
Platform M
Enable
![Page 15: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/15.jpg)
Applications with Program Entry PointsThe CICS TS V5.2 open beta story
Make the HomeLoan application available to bring the Application entry point into service
HomeLoan V1.0.0
CICSRGN3
HomeLoan V1.0.0
ADDCSTMR
NEWLOAN
HOMELIBDSNAME01=home.loan
Platform M
Available
NEWLOAN
ADDCSTMR
HOMELIBDSNAME01=home.loan
![Page 16: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/16.jpg)
Applications with URIMAP Entry PointsThe CICS TS V5.2 open beta story
Make the HomeLoan application available to bring the Application entry point into service
HomeLoan V1.0.0
CICSRGN3
HomeLoan V1.0.0
ADDCSTMR
NEWLOAN::URIMAP
HOMELIBDSNAME01=home.loan
Platform M
Available
NEWLOAN::URIMAP
ADDCSTMR
HOMELIBDSNAME01=home.loan
![Page 17: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/17.jpg)
Multi-versioning scenarios
![Page 18: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/18.jpg)
Scenarios
• Server consolidation• Service version selection
– Consumer selection– Developer selection– Service provider selection
• Application integrity
18
![Page 19: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/19.jpg)
Server consolidation
![Page 20: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/20.jpg)
Server consolidationThe CICS TS V5.1 story
ADDCSTMR
NEWLOAN
CICSRGN1
ADDCSTMR
NEWPOLCY
CICSRGN2
DFHRPL DFHRPL
Different implementations of ADDCSTMR must be installed into separate Regions
![Page 21: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/21.jpg)
Server consolidationThe CICS TS V5.2 open beta story
HomeLoan and FireInsurance both with ADDCSTMR installed into the same Region
HomeLoan V1.0.0
ADDCSTMR
NEWLOAN
CICSRGN3
HOMELIBDSNAME01=home.loan
FireInsurance V1.0.0
ADDCSTMR
NEWPOLCY
FIRELIBDSNAME01=fire.insrance
Platform M
![Page 22: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/22.jpg)
Service version selection
![Page 23: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/23.jpg)
Consumer selection
Platform M
Application A 1.0.0
PROGRAM P
Application A 1.1.0
PROGRAM P’
URIMAP U URIMAP V
Region R
Application A 1.2.1
PROGRAM P’’
URIMAP W
“/M/A/1/0/queryBalance” “/M/A/1/1/queryBalance” “/M/A/1/2/queryBalance”
URL should not contain the micro version
![Page 24: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/24.jpg)
Developer selection
Version 1.0.1 “hides” lower micro version 1.0.0
Platform M
Application A 1.0.0
PROGRAM P
Application A 1.0.1
PROGRAM P’
PROGRAM E1 PROGRAM E1
Region R
PROGRAM R
Application A 1.1.0
PROGRAM P’’
PROGRAM E1
queryBalance queryBalance queryBalance
EXEC CICS INVOKE APPLICATION(A) OPERATION(queryBalance) MAJORVERSION(1) MINORVERSION(0)EXACTMATCH
![Page 25: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/25.jpg)
Service provider selection
Version 1.0.1 “hides” lower micro version 1.0.0
Platform M
Application A 1.0.0
PROGRAM P
Application A 1.0.1
PROGRAM P’
PROGRAM E1
PROGRAM E1
Region R
PROGRAM S
EXEC CICS LINK PROGRAM(E1)
![Page 26: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/26.jpg)
Service provider selectionLINK targets PROGRAM entry point in highest AVAILABLE version of application A
Application A 1.0.0
PROGRAM P
PROGRAM E1
Region R
PROGRAM S
EXEC CICS LINK PROGRAM(E1)
Platform M
Application A 1.1.0PROGRAM P’’
PROGRAM E1
Application A 1.0.1PROGRAM P’
PROGRAM E1
![Page 27: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/27.jpg)
Service provider selectionMaking the highest version UNAVAILABLE causes new requests to target the next highest AVAILBLE version
Region R
PROGRAM S
EXEC CICS LINK PROGRAM(E1)
Platform M
Application A 1.0.0
PROGRAM P
Application A 1.0.1
PROGRAM P’
PROGRAM E1
PROGRAM E1
PROGRAM R
Application A 1.1.0
PROGRAM P’’
PROGRAM E1
UNAVAILABLE
![Page 28: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/28.jpg)
Service provider selectionUsing INVOKE APPLICATION allows you to be more precise yet flexible with dependencies
Application A 1.0.0
PROGRAM P
PROGRAM E1
Region R
PROGRAM S
EXEC CICS INVOKE APPLICATION(A) OPERATION(queryBalance) MAJORVERSION(1) MINORVERSION(1)MINIMUM
Platform M
Application A 1.1.0PROGRAM P’’
PROGRAM E1
Application A 1.0.1PROGRAM P’
PROGRAM E1
![Page 29: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/29.jpg)
Application Integrity
![Page 30: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/30.jpg)
Program Q is private to application BCan't LINK program Q
Platform M
Application A
PROGRAM P
Application B
PROGRAM Q
PROGRAM E PROGRAM F PROGRAM G
Region R
![Page 31: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/31.jpg)
Program Q is private to application BMust LINK entry point program F
Platform M
Application A
PROGRAM P
Application B
PROGRAM Q
PROGRAM E PROGRAM F PROGRAM G
Region R
![Page 32: Application Multi-versioning · Application Multi-versioning Chris Hodgins IBM 12 March 2014 Session 14912 ... • Multi-versioning scenarios 3. What is a multi-version Application?](https://reader033.fdocuments.us/reader033/viewer/2022052007/601b118c72a05904a428c831/html5/thumbnails/32.jpg)
Further information
CICS TS V5.2 Open Beta Knowledge centerhttp://www.ibm.com/support/knowledgeenter/SSGMCP_5.2.0_beta/welcome.html
CICSdev bloghttps://www.ibm.com/developerworks/mydeveloperworks/blogs/cicsdev/tags/blog
CICSplex and the cloud blog https://www.ibm.com/developerworks/mydeveloperworks/blogs/ChrisHodgins/