ca idms™ 19.0 web services for modernization

56
World ® ’1 6 CA IDMS™ 19.0 Web Services for Modernization David Ross, Sr. Principal Product Owner CA Technologies MFX102S MAINFRAME AND WORKLOAD AUTOMATION

Upload: ca-technologies

Post on 10-Jan-2017

56 views

Category:

Technology


7 download

TRANSCRIPT

World®’16

CAIDMS™19.0WebServicesforModernizationDavidRoss,Sr.PrincipalProductOwnerCATechnologies

MFX102S

MAINFRAMEANDWORKLOADAUTOMATION

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

CAIDMS™WebServicesenableuserstoleverageandextendtheirinvestmentinCAIDMSbyprovidingcallableservicesthatCAIDMSapplicationscanusetoconsumeandprovideWebServicesdirectlyfromaCAIDMSsystem.

DavidRoss

CATechnologiesSr.PrincipalProductOwner,CAIDMS

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

LEVERAGINGYOURINVESTMENTWITHWEBSERVICES

CAIDMSWEBSERVICES

XMLGENERATIONANDPARSING

WEBSERVICESEXAMPLEPROGRAMS

1

2

3

4

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSApplicationsThen…

Batch

ENTER NEXT TASK:

CAIDMS/DC

CAIDMS/DB

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AppsEverywhere

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSApplicationsNow…

CAIDMSdataandlogic

Apps

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Howdoyoumaximizebusinessvalue?

Largeinvestmentinlegacyapplications••Costlyandriskyconversion••Hardtofindlegacyskills

LeverageandExtend••Leverageinvestment,reducecost••Preserveapplications,reducerisk••Usecurrentdeveloperskills

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

LeveragingandExtendingCAIDMS

••Keepyourdatabaseinplace••Accessfromwebservices••Usestandardinterfaces

LeverageCAIDMSdatabases

••Reuseyourapplicationbusinesslogic••Invokewebservices••Providewebservices

ExtendCAIDMS

applications

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheCAIDMSApplicationServer

CAIDMS

SQL

ODBCJDBC

WebServices

TCP/IP

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Whatarewebservices?

§ Remoteprocedurecalls

§ Supportbusinessprocesses

§ Invokedbyaprogram

§ Looselycoupledforinteroperability

§ Combinetobuildapplications

§ InvokedusingSOAP,XML,REST,JSON

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesRoles

§ Consumer– Callingprogram– Invokesservice

§ Provider– Calledprogram– Implementsservice

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesTerminology

§ SOAP: SimpleObjectAccessProtocol

§ WSDL: WebServicesDefinitionLanguage

§ XML: eXtensible MarkupLanguage

§ REST: RepresentationalStateTransfer

§ JSON: JavaSimpleObjectNotation

§ HTTP: HyperTextTransferProtocol– AlternativesJMS,MQ…

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSWebServices

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSWebServices

§ WebServiceConsumer

§ WebServiceProvider

§ WebServicesAPI

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSCV

CAIDMSApplicationProgram

CAIDMSWebServices

XMLRequest

XMLReply

WebServiceImplementation

SOAPRequest

SOAPReply

AppServer

DatabaseorApplicationCode

CAIDMSasaWebServiceConsumer

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSasaWebServiceProvider

Application

CAIDMSCV

SOAPRequest

SOAPReply

WebServiceConsumer

CAIDMSApplicationProgram

CAIDMSWebServices

XMLRequest

XMLReply

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheCAIDMSWebServicesAPI

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI

§ Welldefined,extendableinterface– Simplifiesapplicationdevelopment– Isolateusercodefromproductchanges– Provideconsistentbaseforproductenhancement

§ CAIDMSCallableService– COBOL,ADS,PL/1,Assembler

§ WSAPIFunctions– Datatransfer– Sessionmanagement– Optionmanagement

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPIFunctions

FunctionCode Description Consumer Provider

4 INITIALIZE X X

8 SETOPTION X X

12 GETOPTION X X

16 REQUEST X

20 SEND X

24 RECEIVE X

28 RELEASE X X

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesOptions

NumberOptionName Description

1 LOG-SERVICES Enableanddisable logging

2 LOG-PROGRAM Logaspecificprogram

3 REQUIRE-SIGNON Enforcesecurity

4 CHECK-AUTH Requireusertobeamemberoftheservicessecuritygroup

5 CONNECT-TIMEOUT Specifywaittimeforexternalservices

6 READ-WRITE-TIMEOUT Specifysocket waittime

7 XML-CODE-PAGE SetXMLcodepage

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UsingtheWebServicesAPIConsumer Provider

Operation API Function Operation APIFunctionInitializeEnvironment

WSINITIALIZE InitializeEnvironment

WSINITIALIZE

ManageOptions WSGETOPTIONWSSETOPTION

ManageOptions WSGETOPTIONWSSETOPTION

SendRequest

and…

WSREQUEST ReceiveRequest WSRECEIVE

ReceiveResponse SendXMLResponse WSSEND

Free Resources WSRELEASE Free Resources WSRELEASE

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ApplicationProgram(Consumer)

ApplicationProgram(Provider)

IDMSWSSC(ServiceConsumer)

IDMSWSI(WebServicesStub)

IDMSWSRM(RequestManager)

IDMSWSSP(ServiceProvider)

IDMSTCP/IPDriver

IDMSWSSS(SOAPServer)

WebServicesAPI

CAIDMSWebServicesInternalArchitecture

WSRequest()WSInitialize()

WSGetOption()WSSetOption()

WSRelease()

WSReceive()WSSend()

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CallingtheWebServicesAPI

CALL 'IDMSWSI' USING function, return-code, error-info, function-dependent-parameters, . . .

COBOL

LINK TO PROGRAM ‘IDMSWSI' USING function, return-code, error-info, function-dependent-parameter1, . . .

ADS

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPIReturnCodes

ReturnCode Severity Description

0 Success Request processedsuccessfully

4 Warning Requestprocessed,warningmessagereturned

8 Error Requestfailed,errormessagereturned

12 Terminated Requestfailed,serviceterminated

16 SystemError Request failed,allservicesterminated

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPIErrorInformation

Error Type Error Text

A API FailuretoadheretoWebServicesAPIprotocol

X XML GeneratedifXMLParsingorGenerationfails

H HTTP APIreceivesanunexpectedHTTPstatuscode

T TCPIP AnunexpectedTCPIPcodereceived

S SOAP AnunexpectedSOAPfaultcodereceived

I INTERNAL FailuresinCAIDMS/DCoperations

O OTHER Anunclassifiederroroccurred

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– INITIALIZE(4)

§ Allocateandinitializeservicesresources§ Usedwhenconsuminganexternalwebservice§ Parameters

– WS-INITIALIZE– return-code– error-info– request-handle– interface-version.

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– SETOPTION(8)

§ Setanoption§ Overridesdefaultvalue§ Parameters

– WS-GETOPTION,– return-code,– error-info,– request-handle,– option-number,– option-value.

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– GETOPTION(12)

§ Getsthecurrentvalueforanoption§ Parameters

– WS-GETOPTION,– return-code,– error-info,– request-handle,– option-number,– option-value.

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– REQUEST(16)

§ Sendservicerequesttotheprovider§ Parameters

– WS-REQUEST– return-code– error-info– request-handle– request-info– request-message-data– response-message-data

31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– SEND(20)

§ Sendserviceresponsetotheconsumer§ Parameters

– WS-SEND– return-code– error-info– request-handle– response-message-data

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– RECEIVE(24)

§ Receiveservicerequestfromconsumer§ Parameters

– WS-RECEIVE– return-code– error-info– request-handle– request-message-data

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPI– RELEASE(28)

§ FreesallresourcesallocatedtoservicetheWebServicesrequest§ Parameters

– WS-RELEASE– return-code– error-info– request-handle

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

XMLGenerationandParsing

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

XMLMessageContents<?xml version="1.0" encoding="utf-8"?><soap:Envelope

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"<soap:Body>

<IDMSWSPIOperation xmlns=“http://www.IDMSWSPI.Request.com"> <InputFields>

<EmplID>0472</EmplID><dbname>EMPDEMO</dbname>

</InputFields></IDMSWSPIOperation>

</soap:Body></soap:Envelope>

36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

XMLGenerationandParsing§ XMLGeneration

– UsesinputvariablestocreateanXMLMessage

– Finalmessageincludesyourdataasthepayload

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><IDMSWSPIOperation xmlns="http://www.IDMSWSPI.Request.com">

<InputFields><EmplID>0472</EmplID><dbname>EMPDEMO</dbname>

</InputFields></IDMSWSPIOperation></soap:Body>

</soap:Envelope>

§ XMLParsing– ExtractsthepayloadfromagivenXMLmessage

– PayloadisinterpretedasindividualvariablesforuseWebservices

§ Twomainapproaches:useofIBM’sCOBOLfunctionsoruseofbuilt-inSQL/XMLfunctions

EmplID:0472dbname:EMPDEMO

EmplID:0472dbname:EMPDEMO

Input

Output

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UseofSQL/XMLFunctionsforXMLGeneration0000-MAINLINE-BEG.

EXEC SQLset :DOC=xmlserialize(contentxmlelement(name "soapenv:Envelope“, xmlnamespaces(

'http://schemas.xmlsoap.org/soap/envelope/‘as "soapenv“

, default 'HTTP://CA.COM/HR/GLOBALXML'),, xmlelement(name "soapenv:Header"), xmlelement(name "soapenv:Body“, xmlelement(name “IDMSWSPIOperation“

, xmlnamespaces(‘http://www.IDMSWSPI.Request.com’, xmlconcat(xmlelement(name “InputFields”, xmlconcat(xmlelement(name “EmplID”, :EMPLID)

xmlelement(name “dbname”, :DBNAME))))))) as char(1000))

END-EXEC.

01 DOC PIC X(1000) VALUE SPACES.

COBOLparagraphname ExampleofgenerationofanXMLmessage

01 EMPLID PIC X(4).01 DBNAME PIC X(8).

38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

XMLGENERATE

§ GeneratesXMLdocumentfromCOBOLdatastructure

§ UsetoreturnCAIDMSdatainXMLformat

§ XMLGENERATEintroducedinCOBOLforz/OSV3R3– AlsosupportedforPL/1

§ CompilewithXMLSStousez/OSXMLsystemservicesparser

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

COBOLXMLGenerateExample

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

COBOLXMLParseXMLstring

COBOLPARSEXMLstring

EvaluatethedatatagsandpopulatedataintoCOBOLdatastructure

Resultsin:WS-EMP-ID=0472

41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesExamplePrograms

42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesSamplePrograms

43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

InvokingtheConsumerSampleTaskCode‘IDMSWSDM’

44 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ProviderSampleResponse

45 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RequestAPIExample§ TosendaServiceRequestfortheConsumer,theADSdialogusesthe

WebServiceRequestAPI

46 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesDocumentationandTraining

47 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

https://docops.ca.com/idms

48 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UsingWebServices

49 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WebServicesAPIReference

50 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSWebServicesEducationandTraining

§ CAIDMSWebServices19.0Introduction

§ Webbasedtraining(WBT)

§ education.ca.com

51 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SamplesandDocSampleprograms,documentation,andwebbasedtraininghelpyougetstartedwithCAIDMSWebServices.

LeverageCAIDMSCAIDMSWebServicesenableyoutoleverageandextendyourinvestmentinCAIDMS.

WebServicesAPICAIDMSWebServicesprovidesanAPIforCAIDMSapplicationstoconsumeandprovidewebservices.

SummaryCAIDMSWebServices

52 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessionsSESSION# TITLE DATE/TIME

MFX100S StrategyandVisionforCAIDMS 11/16/2016at12:45pm

MFX101S LegacyisnotaDirtyWord 11/16/2016at1:45pm

MFX102S CAIDMS19.0WebServicesforModernization 11/16/2016at3:00pm

MFX103S CAIDMS19.0SQLEnhancementsforModernization 11/16/2016at3:30pm

MFX104S JavaAccesstoCA-IDMSDataatBT(BritishTelecom) 11/16/2016at4:45pm

MFX105SImplementationandUseofGenericVTAMResourceswithParallelSYSPLEXFeatures(CA andCAXIA)

11/17/2016at12:45pm

MFX106S CAIDMSBufferTuning 11/17/2016at1:45pm

MFX107S M3AServicesMonitor,Measure,ManageandAlert 11/17/2016at3:00pm

MFX108S BirdsofaFeather/StumptheTechie! 11/17/2016at3:45pm

53 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

DemoNameProductXTheater#location

DemoNameServicesYTheater#location

DemoNameSolutionYTheater#location

DemoNameProductXTheater#location

54 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

55 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.56 @CAWORLD#CAWORLD

MainframeandWorkloadAutomation

FormoreinformationonMainframeandWorkloadAutomation,pleasevisit:http://cainc.to/9GQ2JI