cics & soa - share · two models of cics soa ... restful soa 8/9 ... ws-at service description...

28
CICS & SOA What you don’t know might help you Will Yates CICS Test Architect

Upload: ledien

Post on 13-Feb-2019

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

CICS & SOA

What you don’t know might help you

Will Yates – CICS Test Architect

Page 2: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA is not just web services

8/9/2015 3

A service-oriented architecture (SOA) is an

architectural pattern in computer software

design in which application components

provide services to other components via a

communications protocol, typically over a

network. The principles of service-

orientation are independent of any vendor,

product or technology.

Page 3: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

CICS essential design concepts

8/9/2015 4

Presentation

Logic

Business

Logic

Data Access

Logic

• Pseudo – conversational programming

• Communication Area – COMMAREA or Channels & Containers

• Program to program communication

Page 4: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Two models of CICS SOA Integration

8/9/2015 5

CICS TS

Web

service

client

Service

client

Service

end-point

Integration

logicBusiness

Logic

Presentation

Logic

Data

Access

Logic

Terminal

Service end-point

Page 5: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Two models of CICS SOA Integration

8/9/2015 6

CICS TS

Web

service

client

Web

service

client

CICS

Web

service

support

Integration

logic

Business

Logic

Presentation

Logic

Data

Access

Logic

Terminal

CICS

REST

support

Page 6: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA Story: Enterprise SOA

8/9/2015 7

SOA High Ceremony

SOAP

WSDL

WSRRWS-Sec

WS-AT

Service Description

Service Governance

Page 7: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA Story: Restful SOA

8/9/2015 8

SOAP

WSDL

WSRRWS-Sec

WS-AT

Service Description

Service Governance

SOA

High Ceremony

RESTPHP

HTTPATOM

Situational Apps

Mobile Enablement

Resource Orientated

Page 8: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA Story: CICS TS v3 era

8/9/2015 9

SOAP

WSDL

WSRRWS-Sec

WS-AT

Service Description

Service Governance

SOA

High Ceremony

RESTPHP

HTTPATOM

Situational Apps

Mobile Enablement

Resource Orientated

CICS TS v3

Page 9: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA Story: CICS TS v4 era

8/9/2015 10

SOAP

WSDL

WSRRWS-Sec

WS-AT

Service Description

Service Governance

SOA

High Ceremony

RESTPHP

HTTPATOM

Situational Apps

Mobile Enablement

Resource Orientated

CICS TS v4

CICS TS V4.2

Feature Pack for Mobile Extensions

Page 10: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA Story: CICS v5 era

• Language mapping enhancements to WSBIND

• New Base Function

– Mobile Extensions Feature Pack

• New enablement function

– Websphere Liberty Profile embedded into CICS runtime

• Web enabled servlets

• JAX-RS

• JAX-WS

8/9/2015 11

Page 11: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Mobile: Another stage in computing history

8/9/2015 12

Host / Mainframe

Client / Server

Web / Desktop

Mobile / wireless / cloud

Mobile is different:

• Ubiquitous computing

• Mixed models

• A different type of app

• Revolutionary to business

models

Page 12: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Mobile internet usage (UK 2014)

8/9/2015 13

68% of adults used the internet ‘on the go’

58% used a mobile

phone or smartphone

43% used a portable

computer

15% used an Ebook

reader or other

handheld device

Source: UK Office for National Statistics

Page 13: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Worldwide 4G network coverage

8/9/2015 14

64%Of the worlds

population will be

covered by 4G-LTE

networks by the nd of

2020

Source: GSMA Intelligence

Page 14: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

8/9/2015 15

OK I get it mobile is huge!

But how does that affect which SOA technology I pick?

What choices do I have?

Page 15: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA pick and mix

8/10/2015 16

JSON SOAP XML HTML

REST WS - *

HTTP HTTPSMessage

QueueCTG

Language Protocol

Service invocation

Transport

Page 16: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA pick and mix

8/10/2015 17

JSON SOAP XML HTML

REST WS - *

HTTP HTTPSMessage

QueueCTG

Language Protocol

Service invocation

Transport

Page 17: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA pick and mix

8/10/2015 18

JSON SOAP XML HTML

REST WS - *

HTTP HTTPSMessage

QueueCTG

Language Protocol

Service invocation

Transport

Page 18: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA pick and mix

8/10/2015 19

JSON SOAP XML HTML

REST WS - *

HTTP HTTPSMessage

QueueCTG

Language Protocol

Service invocation

Transport

Page 19: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Language formats

8/10/2015 20

<SOAP><xml/></SOAP>

{“JSON”: “REST”

}

• Lightweight, human readable, text

based format for data

• Simple Structure

• Native JavaScript support

• Widely adopted by the industry

• heavyweight, human readable, text

based format for data

• More complex with custom types

• Requires dedicated parser

Page 20: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Not just JSON or SOAP

• Neither technology demands a particular data format

– Raw XML

– HTML

– Binary Data

• PDF etc

• HTTP media type can inform the client of the response

data

• What can your client consume – who is the customer?

8/10/2015 21

Page 21: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

SOA pick and mix

8/10/2015 22

JSON SOAP XML HTML

REST WS - *

HTTP HTTPSMessage

QueueCTG

Language Protocol

Service invocation

Transport

Page 22: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Service invocation (REST or WS-*)

• The key motivator of a RESTful SOA is simplicity and ubiquity

– Deliver content in the simplest possible way

– HTTP is available everywhere; it’s like the air around us

• With Enterprise SOA (WS-*), it’s not the body (user data) that distinguishes the QoS, it’s the richness of the WS-* headers

– WS-Security is about choice in the decision of encryption, identity tokens and digital signatures

– WS-Addressing is about transport-neutral mechanisms of describing addresses

– Even the WS-I standards are about allowing maximum flexibility within a fully agreed-upon framework of standards

• You might want to choose WS-* where you don’t have overall control of connectivity.• WS-ReliableMessaging and SOAP over JMS are about choice in how you obtain qualities of

service

8/10/2015 23

Page 23: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

REST: Accessibility for Developers

• A RESTful Web service is formed like a sentence – it simplifies how developers

access services

– Verb = HTTP Action (GET, POST, PUT, DELETE)

– Noun = the URI of the Service (the document)

– Adjective = MIME type of the resulting document

8/9/2015 24

http://server.com/users/100210

GET

PUT

POST

DELETE

verb noun adjective

json

Page 24: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

REST: Accessibility for Developers

• A RESTful Web service is formed like a sentence – it simplifies how developers

access services

– Verb = HTTP Action (GET, POST, PUT, DELETE)

– Noun = the URI of the Service (the document)

– Adjective = MIME type of the resulting document

8/10/2015 25

GET http://server.com/

verb noun adjective

soap

<operation>

<function>getCustomerDetails</function>

<customerNumber>100210</customerNumber>

</operation>

Page 25: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

JSON vs SOAP/XML web services

• JSON is lightweight?

– Complexity of message structures

• A complex message in JSON representation will be more costly to

process than a simple message in XML representation

• HTTP(S) connectivity base-line cost is equivalent

JavaScript and JSON work together well by design out of the box

XML is very powerful but needs requires a dedicated parser

• Versioning of a service can be costly with SOAP/XML

– Rolling out changes to back-level clients can be costly

• Regenerate and deploy WSDL

• JSON schemas are more forgiving e.g. default values fields

8/10/2015 26

Page 26: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Merging Enterprise SOA & RESTful SOA

• Developing for both Enterprise SOA and RESTful SOA enables the

exploitation of distinct content pools:

– Services generated inside your enterprise

– Services generated outside the enterprise

• Utilizing the best of both worlds allows you to take advantage of all the

communities served by your business

8/9/2015 27

Internal

services

External

services

New content

& ways to

reach your

communities

Page 27: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Attributes and Advantages of a RESTful SOA

• Simplicity – Many decisions pre-made, constrained choices

• Protocol (HTTP), encryption model (HTTPs)

• Identity token exchange (Basic-Auth, or standard HTTP schemes)

• Ubiquity – Use the HTTP infrastructure and other technologies like JavaScript that already

exist

• Effortless use of services – Single, well-understood programming model (Javascript)

– Lots of examples on the web • Copy-cut-and-paste programming to use services

– Someone should be able to use a RESTful SOA Service without knowing they’re doing it!

• Cacheability, Scalability, Testability, Secureability, Navigability

8/9/2015 28

Page 28: CICS & SOA - SHARE · Two models of CICS SOA ... Restful SOA 8/9 ... WS-AT Service Description Service Governance SOA High Ceremony REST HTTP PHP ATOM Situational Apps Mobile

Summary

• SOA is here to stay

– Exposing services not just functions

– SOAP like JSON and REST is just an enablement technology

• Importance of choosing a technology to expose your

services that can be consumed by the client

• CICS implements key technologies to allow you to ‘take

your pick’ to build your SOA strategy

8/10/2015 29