1476 managing mobile workload

44
© 2014 IBM Corporation Managing Mobile Workload Being Serviced by CICS Distinguish and Scale Andy Armstrong- CICS System Test Senior Inventor Session 1476

description

Set of IBM Impact 2014 CICS Sessions

Transcript of 1476 managing mobile workload

Page 1: 1476   managing mobile workload

© 2014 IBM Corporation

Managing Mobile Workload Being Serviced by CICSDistinguish and Scale

Andy Armstrong- CICS System Test Senior InventorSession 1476

Page 2: 1476   managing mobile workload

Agenda:

Why would you want to detect mobile workload?

How can you detect mobile workload?

Separating mobile workload?

How can you scale the system?

API Governance – cost of a particular call / added value of mobile and impact that has

Added value? Caching?

HTTP Persistent connections, Inbound IP throttling TCPIPS

Page 3: 1476   managing mobile workload

Why would you want to detect mobile workload?

Lots of reasons:• Business group wants things….

– More success– Cheaper overheads– Distinguishing of new business opportunities

• Technical group wants things….– All of the above – Logical enterprise architecture– An enterprise system that is manageable– Systems which can achieve the requirements from the

business group

Distinguish and Earn

Page 4: 1476   managing mobile workload

4

• Scale IT Investments with the growth & business returns of mobile• Leverage existing System z data and transaction processing for mobile

• No Infrastructure Changes Required…• Applicable to workloads running on zEC12 and zBC12 …• Up to a 60% reduction in reported CPU utilization for Mobile transactions

New System z mobile pricing

Current Workload

Prior Peak Utilization

Growth Due to Mobile

New Peak Utilization

Reduced cost of growth on Mobile workloads

Page 5: 1476   managing mobile workload

Distinguish and earn

• Distinguish– Logical grouping of CICS regions (3 Tier)– Identify Mobile / Web / Terminal– Keep track of SLAs– Extra / Different QoS– Identify problems with Mobile / Web / Terminal interfaces and

prioritize fixes– Extra / Different Security for specific interfaces

• Earn– Measuring the impact of enterprise ‘mobile strategy’– Business Opportunities Driving Business Events– Save through less downtime and a less complicated infrastructure – VUE Pricing– Invoice the business Impact of mobile is not

always what is expected

Page 6: 1476   managing mobile workload

6

Why Separate a Mobile workload?

Not all CICS regions are equal• The resource and storage profiles of COBOL based

applications may be significantly different from those performing predominantly Java / JVM server based work.

• Tailoring the region to match these these, potentially, conflicting profiles can be difficult to achieve

• Separation allows regions to be tailored to meet the requirements of individual application profiles

• Not to identify Mobile workload???

• Could work but creates unnecessary system dependencies

Not all CICS regions are equal

Page 7: 1476   managing mobile workload

How can you detect mobile workload

Mobile workloads can include applications of many sorts• New applications specifically designed for the platform• New application procedures that utilize existing application logic

“under the covers” – RESTful Liberty• Existing applications accessed in a new way

New applications specifically designed for mobile• May be sufficient to simply identify the transactions

For all other mobile originated work• Need to identify all work that originated from mobile, not just the

programs initiated by it

Page 8: 1476   managing mobile workload

8

Detecting the origin of a mobile workload in CICS

Can use CICS monitoring records to tie all work together• DFHCICS Performance class record (SMF 11) Origin Data

– Also returned in Task Association on active tasks – Available in CICS Explorer Tasks transaction tracking “search” with

history on

Use modified Pipeline attach transaction to identify mobile work entering CICS

• Can’t use “origin data” directly – CWXN -> CPIH• Can’t differentiate mobile from other web services• Pipeline Attach Transaction can give a known reference point

– Find the originating task– Track back to find other work sharing the same task– Example:

• Pipeline Attach Transaction: MBL0 in URIMAP• MBL0 is a clone of CPIH

Page 9: 1476   managing mobile workload

9

Detecting the origin of a mobile workload in CICS

On CWXN – 1 – Origin data populated with HTTP request info from Association data

On DPL – 6 –

New task created, New association dataInherits origin data and Passes to mirror task(CSMI)

Page 10: 1476   managing mobile workload

10

Detecting the origin of a pipeline attach transaction

MBL0 pipeline attach transaction, Search->Associated Tasks

Shows all tasks with a common originating task *MBL0*

Page 11: 1476   managing mobile workload

11

Detecting the origin of a mobile workload

Once the pipeline attach transaction is known• Identify all tasks with the same “Origin”

• Use “Origin” data to identify tasks initiated by mobile work regardless of the type or location of the program being run

Picture on the next Slide

Page 12: 1476   managing mobile workload

12

Page 13: 1476   managing mobile workload

13

Detecting a mobile workload in CICS

URIMAP can alter the pipeline attach transaction• Can be used to

– Identify mobile application workload– Provide an identifier to track more complex mobile application work

• Can then DPL or Transaction Route to AORs

See RedBook:• CICS Web Services Workload Management and Availability

– Explain how and why to define a Web Service– Steps through both DPL and transaction routing techniques

Page 14: 1476   managing mobile workload

How can you scale the system part 1

Having detected mobile workload how can this be scaled amongst an existing infrastructure

• Balance work & provide High Availability for host destination– Multiple Web Service Owning Regions (WOR) managed by TCP/IP

Port Sharing (single z/OS LPAR) and Sysplex Distributor(multi LPAR)

• Distribute application work to provide efficient use of resources and High Availability– CICSPlex SM Workload Management (WLM) dynamically manages

the distribution of application work across appropriate Application Owning Regions(AOR)

Page 15: 1476   managing mobile workload

15

How can you scale the system part 2

Scalability and High Availability both based on the use of multiple CICS regions to provide capacity for:

• Fluctuations in workload• Protection against single points of failure

Achieved via CICSPlex SM• Management of multiple regions via CICSPlex SM CICS

System Groups– CICS regions grouped based on business usage e.g. WOR, AOR,

DOR– Workload Management based on association with groups, so

addition or removal of regions from group(s) will dynamically change the routing behavior

Page 16: 1476   managing mobile workload

16

How can you scale the system part 3

CICSPlex SM Workload Management is based on Workloads:• The workload determines

– The “routing regions” to which the workload will apply– The behavior of work entering these regions using “routing rules”

• Which transactions are selected, and under which criteria• Where these transactions can potentially be routed (targets)• The criteria for deciding on the specific target that is chosen for each

individual routing decision

– For every workload, there is a single default routing rule. The default routing rule controls the routing behavior for all transactions not covered by specific rules

– Additional (optional) specific routing rules define the criteria by which specific transactions are selected and routed, or separated in the target regions

Page 17: 1476   managing mobile workload

17

How the workload is constructed

Big image – on next slide

Page 18: 1476   managing mobile workload

18

Page 19: 1476   managing mobile workload

19

Scale the workload

Dynamically change the scale of the Targets or Routers by • Adding new regions to the CICS System Groups• Adding subgroups into groups

Page 20: 1476   managing mobile workload

20

Separating the workload

Page 21: 1476   managing mobile workload

21

Why distinguish a mobile workload?

Improved application performance and availability• Not all CICS regions are equal

– Resource & storage profiles of COBOL based applications against Java / JVM server based applications can vary significantly

– Tailoring the region to match these, potentially conflicting profiles can be difficult

– Separation allows region to be tailored to meet the requirement of individual application profiles

Differentiating work from mobile and other sources• Routing work from mobile to dedicated regions would allow

mobile work to be tracked and quantified without need for techniques described earlier…..– Less flexible– Less robust

Page 22: 1476   managing mobile workload

22

API Governance

The mainframe is becoming more connected….

We are exposing more API than before and more ways to connect to the platform….

This may need management to create, manage and socialize

Page 23: 1476   managing mobile workload

The way we reach and understand customers is evolving

23

Websites

Connected Appliances

Partners Websites

Internet TVs Smartphones

Tablets

Game Consoles

Connected Cars

Millions 1993 - 2000 Trillions 2013+

APIs

Page 24: 1476   managing mobile workload

APIs are giving rise to a new app “value chain”

24

Big Data Assets

Big data sources provide insights that are shared and monetized through APIs

Social Users

Social APIs fuel personalized experiences for users and new business models

Cloud Web Apps

Cloud services are exposed through Web APIs enabling rapid composition environments

Mobile Apps

Mobile applications make calls to back end services through Web APIs

Externalization Consumption

Integrated and enabled by an API Economy

Page 25: 1476   managing mobile workload

APIs are a path to new business opportunities

25

and growth is accelerating dramatically

APIs represent a new, fast-growing channel opportunity

Business models are evolving stores (800) ###s web sites web APIs

By 2014, 75% of the Fortune 1000 will offer public Web APIs.

By 2016, 50% of B2B collaboration will take place through Web APIs.

Sources: Gartner, Predicts 2012: Application Development, 4Q, 2011; Gartner, Govern Your Services and Manage Your APIs with Application Services Governance, 4Q 2012; Gartner, Open for Business: Learn to Profit by Open Data, 1Q 2012

Page 26: 1476   managing mobile workload

26

APIs

Apps

Social Feedback and Communities

Marketplaces

Self-Service Portal: Registration • Documentation • Sandbox

Security, Metering and Control

API Design and Integration

Analytics and Monetization

API Lifecycle Management

Composition

Infrastructure Services

DevOps and App Management

Mobile Services

Internal Developers

Partner Developers

External Developers

Channels: Smartphones • Tablets • Desktops • Cars • TVs • Others

Services: Data • Processes • Applications

AP

I S

tra

teg

y C

on

sulti

ng

AP

I Tech

nica

l Co

nsu

lting

Cloud

A successful API initiative requires end-to-end capabilities

Page 27: 1476   managing mobile workload

27

Share with developers

3

Create, assemble and define an API

1

Manage growth & analyze results

4

Secure & scale the API

2

Introducing IBM API Management 2.0 “A Complete API Management Solution”

Page 28: 1476   managing mobile workload

z/OS Connect: Systems of Engagement to Systems of Record

Discover/Reuse services

Enhance customer experience by exposing

mainframe services

Audit and chargeback

Integration with mainframe accounting to determine usage & traffic patterns

Integrates with standard z/OS middleware

Simplifyconnection

Standard open API technology for securely connecting mobile and cloud applications to System z

Mobile-Optimized APIs

Cloud enabled

JSON/REST

JSON/REST

z/OS Connect

Page 29: 1476   managing mobile workload

API Management API Management

DataPower DataPower

Systems of Engagement Meet Systems of Record

Cloud and API Economy

CICS TG

CICS on Multi-platforms

zLinuxzLinux

Worklight Worklight

WebSphere Application Server WebSphere Application Server

z/OSz/OS

DB2 DB2

MQ MQ

CICS TS CICS TS

Available as Value Unit Editions

z/O

S

Con

nect

z/O

S

Con

nect IMS IMS

Page 30: 1476   managing mobile workload

z/OS Connect – How it works … reaching business assets

Styles for calling z/OS-based assets using REST :

Style 1 : Calling applications by z/OS Connect service nameUsing this style, exploiters provide a single name parameter with the name of the z/OS Connect service followed by the payload in JSON format.

Calling Batch Customer Inquire application COBOL/DB2 - send/return JSONhttp://<hostname>:<port>/zosConnect/services/CUSTOMER_INQ?action=invoke<JSON payload>

With this style, z/OS Connect will do a lookup of the passed in name CUSTOMER_INQ and locate a set of parameters that will enable the forwarding of the request to the target application. Multiple different transports could be plugged in here to resolve the request. Our initial support will use WOLA to forward the request to the target application (here it’s a batch program).

Style 2 : Calling applications by z/OS Connect service name and using data in the URIUsing this style, exploiters provide a service name and a set of associated parameters that are specific to that transport handler followed by the payload in JSON format.

Calling CICS KIXFILEA program - COBOL/VSAM – send/return JSONhttp://<hostname>:<port>/zosConnect/services/WOLA_Service?action=invoke&wolaRegister Name= ZOSCICS&wolaServiceName=KIXFILEA<JSON payload>

With this style, z/OS Connect will examine the transport type for WOLA_Service and find WOLA. The parameters after this are used for this request, calling the target application. In this example we’re using WOLA to forward the request to the target application running with a register name of ‘ZOSCICS’ and with a service name of ‘KIXFILEA’.

Page 31: 1476   managing mobile workload

z/OS Connect – How it works … reaching business assets

Styles for calling z/OS-based assets :

Style 3 : Calling applications using invokeURI in z/OS Connect service definition

Using this style, exploiters use the invokeURI in the z/OS Connect service definition and z/OS Connect locates the service and forwards the request to the service provider’s invoke() method.

Calling Batch Customer Inquire application COBOL/DB2 - send/return JSONhttp://<hostname>:<port>/CustomerApp/getCustomer?customerNumber=1000<JSON payload>

With this style, z/OS Connect will do a lookup of the passed in URI (excluding the query parameters) in the service definitions and upon finding a match will identify the service provider’s implementation and drive it’s invoke method, forwarding the URI and payload. When using invokeURI, z/OS Connect supports all the HTTP methods (POST, GET, PUT, DELETE) and will forward this information to the service provider as well.

Page 32: 1476   managing mobile workload

z/OS Connect – How it works … sample requests

Request a list of all services known in a server – HTTP GET (returns JSON response)http://<hostname>:<port>/zosConnect/services/<JSON Out>

Request information about a single service – HTTP GET (returns JSON response)http://<hostname>:<port>/zosConnect/services/<name><JSON Out>

Request z/OS Connect service invoke – HTTP POST or PUT (received JSON requests / returns JSON response)

http://<hostname>:<port>/zosConnect/services/<name>?action=invoke<JSON In><JSON Out>

Request service invoke with parameters – HTTP POST or PUT (received JSON requests / returns JSON response)

http://<hostname>:<port>/zosConnect/services/<name>?action=invoke&<PARMS><JSON In><JSON Out>

Call service using invokeURI – HTTP GET (returns JSON response)http://<hostname>:<port>/customerApp/getCustomer?customerNumber=1000<JSON Out>

Page 33: 1476   managing mobile workload

z/OS Connect – How it works … sample requests

Request a list of all services known in a server – HTTP GET (returns JSON response)http://<hostname>:<port>/zosConnect/services/<JSON Out>

{ "zosConnectServices": [ { "ServiceURL": "http://host:port/zosConnect/services/HelloWorld", "ServiceName": "HelloWorld " }, { "ServiceURL": "http://host:port/zosConnect/services/GoodbyeWorld", "ServiceName": "GoodbyeWorld" } ]}

Page 34: 1476   managing mobile workload

z/OS Connect – How it works … sample requests

Request information about a single service – HTTP GET (returns JSON response)http://<hostname>:<port>/zosConnect/services/HelloWorld<JSON Out>

{ "zosConnectServiceName": "HelloWorld", "zosConnectServiceURL": "http://host:port/zosConnect/services/HellowWorld ", "zosConnectServiceInvokeURL": "http://host:port/zosConnect/services/HellowWorld?action=invoke", "zosConnectProvider": "WOLA-1.0", "registerName":"BATCH01", "serviceName":"COBLPGM1", "DataXformProvider":"jsonByte-1.0"}}

Page 35: 1476   managing mobile workload

z/OS Connect - How it works … Interceptors

zosConnectJSON to/from byte[] (Cobol

copybook)

WAS Liberty z/OS

RESTfulWeb/

Cloud/Mobile client

Batch

CICS

IMS

DB2 SP

WAS HTTP

z/OSMF

MQ / JMS

Other

z/OS Connect Interceptors

• com.ibm.wsspi.zos.connect.Authorization() – z/OS Connect interceptor that provides SAF-based authorization checks for z/OS Connect services (must be added to config to activate)

• com.ibm.wsspi.zos.connect.Audit() – z/OS Connect interceptor that provides z/OS SMF-based auditing and tracking for z/OS Connect services (must be added to config to activate)

• com.ibm.wsspi.zos.connect.WorkloadContext() – z/OS Connect interceptor that provides z/OS WLM-based workload context assertion for z/OS Connect services (must be added to config to activate)

• Any component may extend this and provide their own interceptors that will be driven pre- and post-service invoke

• z/OS Connect provides a hashmap to allow interceptors to communicate with the service provider implementation and other interceptors

Pre-invoke

Pre-invoke

Pre-invoke

Pre-invoke

Pre-invoke

Pre-invoke

Pre-invoke

Pre-invoke

Interceptorscom.ibm.wsspi.zos.connect.Authorization

com.ibm.wsspi.zos.connect.Audit

Interceptorscom.ibm.wsspi.zos.connect.Audit

com.ibm.wsspi.zos.zconnect.Authorization

Post-invoke

Post-invoke

Post-invoke

Post-invoke

Post-invoke

Post-invoke

Post-invoke

Post-invoke

WOLA / JCICS / CTG / HTTP

JDBC

Local Comm / HTTP

JMS

?

WOLA / IMSConn / HTTP

Local Comm / HTTP

WOLA

Page 36: 1476   managing mobile workload

Added value

Now we have an organized system…we can get to the added value

Mobile drives workload

Mobile needs to drive new opportunities for the business

A user inquiring / doing read only transactions does not directly cause new business….how can this be solved:

• View the read as an opportunity• Event processing• Caching?• Push instead of pull….

Page 37: 1476   managing mobile workload

Real users speaking about CICS…

3072 CPSM Optimized Workload RoutingWeds: 14.15, Delfino 4005

2880: Tales from the trenchesWeds: 15.45, Delfino 4005

3073: z/OS & CICS Consolidation projectWeds: 13.00, Delfino 4005

2436: Modernizing the mainframeThurs: 10.30, Delfino 4005

1966: Best practices for CICS SOA Connectivity Weds: 13.00, Delfino 4102

Page 38: 1476   managing mobile workload

Follow us…

CICSbuzzibm.com/cics/news

CICS Hursleyibmcics@ibm_cicsibmcics CICS Hursley

Visit us at…

Lost?

System z Software Solutions SuiteToscana 3609Monday 11:00 – 18:00Tuesday & Wednesday 8:00 – 18:00Thursday 8:00 – 16:00Book your appointment at ibm.biz/zsolsuitePlus Lunch & Learns 12:00 – 13:00 daily – book a slot!

System z PedsInfrastructure Matters zone of the EXPOMonday 10:00 – 19:30Tuesday 10:00 – 19:30Wednesday 10:00 – 14:30Pop by for a chat about CICS!

Dazed and confused about CICS or z at Impact?Visit the zConcierge - System z Software Solutions Suite - Toscana 3609

Page 39: 1476   managing mobile workload

Generation z

No sales pitches, no marketing, just drinks with other Generation z’s19:30 Wednesday April 30 Public House, The Venetian

[noun] those with under 10 years experience on the mainframe

Follow us:

Join us:

Meet us:

@ibmgenz

System zStack Exchange

Build a community of like-minded people

Get the lowdown on what’s going on

Page 40: 1476   managing mobile workload

Win a CICS Workshop!

Collecting CICS session stickers for your entry?

Don’t forget to

pick one up

before you go!

Page 41: 1476   managing mobile workload

© 2014 IBM Corporation

Questions?

Page 42: 1476   managing mobile workload

© 2014 IBM Corporation

Thank you

Page 43: 1476   managing mobile workload

Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us – we use it to continually improve the conference.

Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey• Navigate to “Surveys” to see a view of surveys for sessions you’ve attended

43

We Value Your Feedback

This was Session 1476

Page 44: 1476   managing mobile workload

Legal Disclaimer

• © IBM Corporation 2013. All Rights Reserved.• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained

in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.

• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.

• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.