Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors


Published on

Pipeline Pilot has always had a strong focus on integration to external resources. In AEP 9.0 we continue this tradition with a major overhaul of our SOAP Connector component as well as improved …

Pipeline Pilot has always had a strong focus on integration to external resources. In AEP 9.0 we continue this tradition with a major overhaul of our SOAP Connector component as well as improved support for RESTful services. In this talk we will look at how to build protocols that access SOAP services especially secured services and review the approach to accessing RESTful services.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. (ATS6-DEV09) Deep Dive into REST andSOAP Integration for Protocol AuthorsJon HurleySenior ManagerPlatform R&
  • 2. The information on the roadmap and future software development efforts areintended to outline general product direction and should not be relied on in makinga purchasing decision.
  • 3. • SOAP Services– SOAP RPC Connector– SOAP Connector• RESTful services– Reader Components– HTTP Connector• Advanced Results handling– Data from XML, Data from JSON– Data Tree ManipulatorsContent
  • 4. AEP Integration PointsDBsAccelrys Enterprise PlatformProtocol Runtime EnvironmentVBScript(OnClient)RunProgramJava Perl PythonVBScript(OnServer)Admin Portal Help PortalWeb Apps Web Services API.NETSOAP &HTTPTelnet /FTPSSH /SCPODBC /JDBCVBScriptCmdLineJavaClassesPerlScripts.NETClassesRESTServiceSOAPServiceCmdLineServer IntegrationExtend pipelines with newcomponents that integrate yourcode, data and services.ProfessionalClientRun ProtocolCommand LineClientWeb BrowserWeb PortJavaScript Client SDKJavaScript Client.NET ClientSDK.NET ClientJava ClientSDKJava ClientSOAPClientClient IntegrationBuild clients that connect to Pipeline Pilot and runprotocol services.HTTPClient
  • 5. “Wrapped”Component• ScientificPipeline PilotUser• AbstractedComponent• Web ServiceunderneathhandlescomplexitySOAP Connector• Expert PipelinePilot User• HandlesComplex WebServices basedon WSDLHTTP Connector• Expert PipelinePilot User• Generic HTTPcomponent• Great for directhandling ofHTTP actions• Swiss ArmyKnife for HTTPPerl/Java/.NETServer Components• SoftwareDevelopers• Complex butflexible• LeveragePerl/Java/.NETlibraries andtoolsWeb Service AccessComplexity and FlexibilityEase of Use
  • 6. SOAP Services• SOAP Method with WSDL Support• SOAP Connector
  • 7. WSDLSchemaMessagesPortTypeBindingsServiceWS-Policy ReferencesSOAP EnvelopeSOAP Headers•WS-Security•WS-Addressing•Request HeadersSOAP Body•Request MessageWSDL + WS-Policy = SOAP Messages* -
  • 8. Components Uses Status in AEP 9.0 and when to useSOAP RPC Connector/ (Queued) RPC-Encoded SOAP DOC-Literal SOAP w/Simple Types Use only for legacy RPC-encoded SOAPservicesSOAP Connector  DOC-Lit SOAP w/ ComplexTypes Use for most modern SOAP services w/ WSDL Added WS-Policy recognition Added WS-SecurityPolicy recognition Added SAML 2.0 Sender Vouches support w/admin portalAccessing SOAP Services
  • 9. • AEP Protocol securely calling a SAML protected webservice– Need to create our SAML Certificate used to self-sign ouroutbound SAML Sender Vouches messages– We use the AEP server’s SSL Certificate– Use the Security > SAML Certificate admin portal page– Click the Import SSL Key Pair button to store the SSL Certificateas the SAML Certficate• AEP 9.0 self-signs all outbound Sender Vouches messages (does notuse an external IdP for message signing)SAML Sender Vouches - Outbound
  • 10. • Web Services securely calling AEP– Need to import a certificate from the outside webservice agent so that we trust it• Use the Security > SAML Certificate admin portal page• Click the Import button on the Trusted Certificates grid andpaste in the server’s SAML Certificate– Optionally specify one or more SAML Issuer Ids to restrict thiscertificate to certain services– If * specified, any service using this certificate will be supportedSAML Sender Vouches - Inbound
  • 11. DemoSOAP Service Demos• SOAP Connector– Complex Messages with Amazon S3 Simulation– Message Customization with Parameter Metadata• SOAP Connector– WS-Policy and WS-SecurityPolicy Features– SAML 2.0 Sender Vouches Configuration
  • 12. • Useful tools:– Capture SOAP Packets– TCPTrace.exe (– SOAP UI (• Socket debugging is available on the server– Contact support for details– Use sparingly since it very quickly creates huge log files– Turn it off as soon as you are finishedDebugging SOAP Problems
  • 13. RESTful Services• Reader Components• HTTP Connector
  • 14. • Resources identified by URLs– http://localhost:9014/zoology/animals/– http://localhost:9014/zoology/animals/13– http://localhost:9014/chem/img/C1CCCCC1C(CCN)OH• Operations on resourced identified by VERBS:– GET = get a representation of the resource– PUT = replace the resource given this data– PATCH = update the resource given this data– POST = create a new resource of this type with this data– DELETE = delete the resource– HEAD = get some meta-data about the resource• Representation Format– Accept: application/xml– Content-Type: application/xmlRESTful Web Services
  • 15. Components Use When Don’t Use When / CaveatsXML Reader (Generic)JSON ReaderText ReaderBinary Reader• You want to GET a representationof a HTTP-based resource• You want something other thanGET• You want another formatHTTP Connector • You need to perform any operationbut GET• You need to customize settings liketimeout, headers or authorization• You have HTTP requirements notmet by this componentJava (On Server).NET (On Server)• You have special HTTPrequirements• You have a pre-built client library• All else fails• Simpler methods will workAccessing RESTful Web Services
  • 16. • Swiss army knife for all HTTP needs• Sends one request per Data Record• Can be used for any type of HTTP Verb– GET, POST, PUT, PATCH, DELETE, HEAD, TRACE, OPTIONS, etc.– specialized verbs as well, such as PROPFIND and MKCOLHTTP Connector
  • 17. • Sample package (testpkg-svc1)– Implements the zoology RESTful API– A set of rest services over a cache that contains{root}/generic/dataroot/data/Tables/zoo.txtExample
  • 18. DemoRESTful Service Demo• JSON Reader– List of animals• XML Reader– Individual animal• HTTP Connector– Creating a new animal
  • 19. DemoRESTful Service Demo• HTTP Connector– Specifying authentication– Providing request parameters
  • 20. Clever•• “Student Information Systems integration forEducational Applications”• Provides an API to store and retrieve data about:– Schools– Teachers– Students
  • 21. DemoRESTful Service Demo• Access to ‘Clever’ service– Dealing with hierarchical data
  • 22. ExampleMashing up data
  • 23. • Improved support for REST and SOAP in AEP 9• SOAP Connector more robust and support for SAML• (ATS6-PLAT05) Security enhancements in AEP 9• (ATS6-DEV03) Building an Enterprise Web Solution withAEPSummary
  • 24. Appendix• Will provide access to the example package that definesthe /zoology/ RESTful endpoints