SlideShare une entreprise Scribd logo
1  sur  24
(ATS6-DEV09) Deep Dive into REST and
SOAP Integration for Protocol Authors
Jon Hurley
Senior Manager
Platform R&D
Jon.Hurley@accelrys.com
The information on the roadmap and future software development efforts are
intended to outline general product direction and should not be relied on in making
a purchasing decision.
• SOAP Services
– SOAP RPC Connector
– SOAP Connector
• RESTful services
– Reader Components
– HTTP Connector
• Advanced Results handling
– Data from XML, Data from JSON
– Data Tree Manipulators
Content
AEP Integration Points
DBs
Accelrys Enterprise Platform
Protocol Runtime Environment
VB
Script
(On
Client)
Run
Program
Java Perl Python
VB
Script
(On
Server)
Admin Portal Help PortalWeb Apps Web Services API
.NET
SOAP &
HTTP
Telnet /
FTP
SSH /
SCP
ODBC /
JDBC
VB
Script
Cmd
Line
Java
Classes
Perl
Scripts
.NET
Classes
REST
Service
SOAP
Service
Cmd
Line
Server Integration
Extend pipelines with new
components that integrate your
code, data and services.
Professional
Client
Run Protocol
Command Line
Client
Web Browser
Web Port
JavaScript Client SDK
JavaScript Client
.NET Client
SDK
.NET Client
Java Client
SDK
Java Client
SOAP
Client
Client Integration
Build clients that connect to Pipeline Pilot and run
protocol services.
HTTP
Client
“Wrapped”
Component
• Scientific
Pipeline Pilot
User
• Abstracted
Component
• Web Service
underneath
handles
complexity
SOAP Connector
• Expert Pipeline
Pilot User
• Handles
Complex Web
Services based
on WSDL
HTTP Connector
• Expert Pipeline
Pilot User
• Generic HTTP
component
• Great for direct
handling of
HTTP actions
• Swiss Army
Knife for HTTP
Perl/Java/.NET
Server Components
• Software
Developers
• Complex but
flexible
• Leverage
Perl/Java/.NET
libraries and
tools
Web Service Access
Complexity and Flexibility
Ease of Use
SOAP Services
• SOAP Method with WSDL Support
• SOAP Connector
WSDL
Schema
Messages
PortType
Bindings
Service
WS-Policy References
SOAP Envelope
SOAP Headers
•WS-Security
•WS-Addressing
•Request Headers
SOAP Body
•Request Message
WSDL + WS-Policy = SOAP Messages
* - http://www.w3.org/TR/soap12-part0/
Components Uses Status in AEP 9.0 and when to use
SOAP RPC Connector
/ (Queued)
 RPC-Encoded SOAP
 DOC-Literal SOAP w/
Simple Types
 Use only for legacy RPC-encoded SOAP
services
SOAP Connector  DOC-Lit SOAP w/ Complex
Types
 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 portal
Accessing SOAP Services
• AEP Protocol securely calling a SAML protected web
service
– Need to create our SAML Certificate used to self-sign our
outbound 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 Certificate
as the SAML Certficate
• AEP 9.0 self-signs all outbound Sender Vouches messages (does not
use an external IdP for message signing)
SAML Sender Vouches - Outbound
• Web Services securely calling AEP
– Need to import a certificate from the outside web
service agent so that we trust it
• Use the Security > SAML Certificate admin portal page
• Click the Import button on the Trusted Certificates grid and
paste in the server’s SAML Certificate
– Optionally specify one or more SAML Issuer Ids to restrict this
certificate to certain services
– If * specified, any service using this certificate will be supported
SAML Sender Vouches - Inbound
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
• Useful tools:
– Capture SOAP Packets
– TCPTrace.exe (http://www.pocketsoap.com/tcpTrace/)
– SOAP UI (http://www.soapui.org/)
• 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 finished
Debugging SOAP Problems
RESTful Services
• Reader Components
• HTTP Connector
• 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/xml
RESTful Web Services
Components Use When Don’t Use When / Caveats
XML Reader (Generic)
JSON Reader
Text Reader
Binary Reader
• You want to GET a representation
of a HTTP-based resource
• You want something other than
GET
• You want another format
HTTP Connector • You need to perform any operation
but GET
• You need to customize settings like
timeout, headers or authorization
• You have HTTP requirements not
met by this component
Java (On Server)
.NET (On Server)
• You have special HTTP
requirements
• You have a pre-built client library
• All else fails
• Simpler methods will work
Accessing RESTful Web Services
• 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 MKCOL
HTTP Connector
• 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.txt
Example
DemoRESTful Service Demo
• JSON Reader
– List of animals
• XML Reader
– Individual animal
• HTTP Connector
– Creating a new animal
DemoRESTful Service Demo
• HTTP Connector
– Specifying authentication
– Providing request parameters
Clever
• https://getclever.com
• “Student Information Systems integration for
Educational Applications”
• Provides an API to store and retrieve data about:
– Schools
– Teachers
– Students
DemoRESTful Service Demo
• Access to ‘Clever’ service
– Dealing with hierarchical data
Example
Mashing up data
• 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 with
AEP
Summary
Appendix
• Will provide access to the example package that defines
the /zoology/ RESTful endpoints

Contenu connexe

Tendances

Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web Architecture
Roman Agaev
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
Akana
 

Tendances (20)

Features of Mule SAP Connector
Features of Mule SAP ConnectorFeatures of Mule SAP Connector
Features of Mule SAP Connector
 
Servlets api overview
Servlets api overviewServlets api overview
Servlets api overview
 
Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web Architecture
 
SOAP-UI The Web service Testing
SOAP-UI The Web service TestingSOAP-UI The Web service Testing
SOAP-UI The Web service Testing
 
Implementing Office Online Server
Implementing Office Online ServerImplementing Office Online Server
Implementing Office Online Server
 
E script
E scriptE script
E script
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
Design Pattern Logical Model
Design Pattern Logical ModelDesign Pattern Logical Model
Design Pattern Logical Model
 
Asp dot net final (2)
Asp dot net   final (2)Asp dot net   final (2)
Asp dot net final (2)
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
Brightcove presentation on Automated Testing
Brightcove presentation on Automated TestingBrightcove presentation on Automated Testing
Brightcove presentation on Automated Testing
 
Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)
 
Time to REST: testing web services
Time to REST: testing web servicesTime to REST: testing web services
Time to REST: testing web services
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.net
 
Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
Demystify Salesforce Bulk API
Demystify Salesforce Bulk APIDemystify Salesforce Bulk API
Demystify Salesforce Bulk API
 

En vedette (8)

Perfectlytimed 121211023330-phpapp02
Perfectlytimed 121211023330-phpapp02Perfectlytimed 121211023330-phpapp02
Perfectlytimed 121211023330-phpapp02
 
4th Grade Cultural Transportation
4th Grade Cultural Transportation4th Grade Cultural Transportation
4th Grade Cultural Transportation
 
Sharepoint Unlock Hidden Potential
Sharepoint Unlock Hidden PotentialSharepoint Unlock Hidden Potential
Sharepoint Unlock Hidden Potential
 
Perkofashion
PerkofashionPerkofashion
Perkofashion
 
Apresentação rede brasil 2011
Apresentação rede brasil 2011Apresentação rede brasil 2011
Apresentação rede brasil 2011
 
trabalho de informática
trabalho de informáticatrabalho de informática
trabalho de informática
 
Trabalho De Hardware
Trabalho De HardwareTrabalho De Hardware
Trabalho De Hardware
 
Trabalho de informatica
Trabalho de informaticaTrabalho de informatica
Trabalho de informatica
 

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

REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptx
amarnathdeo
 

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

Oracle API Gateway
Oracle API GatewayOracle API Gateway
Oracle API Gateway
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testing
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
 
SOAP Monitoring
SOAP MonitoringSOAP Monitoring
SOAP Monitoring
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Servlet1.ppt
Servlet1.pptServlet1.ppt
Servlet1.ppt
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
06 web api
06 web api06 web api
06 web api
 
JAX-RS.next
JAX-RS.nextJAX-RS.next
JAX-RS.next
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptx
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
 

Plus de BIOVIA

(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
BIOVIA
 
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
BIOVIA
 

Plus de BIOVIA (20)

ScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&DScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&D
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance
 
(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9
 
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
 
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
 
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
 
(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS
 
(ATS6-GS01) Welcome
(ATS6-GS01) Welcome (ATS6-GS01) Welcome
(ATS6-GS01) Welcome
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
 
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
 
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
 
(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM(ATS6-APP09) ELN configuration management with ADM
(ATS6-APP09) ELN configuration management with ADM
 
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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

  • 1. (ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors Jon Hurley Senior Manager Platform R&D Jon.Hurley@accelrys.com
  • 2. The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a 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 Manipulators Content
  • 4. AEP Integration Points DBs Accelrys Enterprise Platform Protocol Runtime Environment VB Script (On Client) Run Program Java Perl Python VB Script (On Server) Admin Portal Help PortalWeb Apps Web Services API .NET SOAP & HTTP Telnet / FTP SSH / SCP ODBC / JDBC VB Script Cmd Line Java Classes Perl Scripts .NET Classes REST Service SOAP Service Cmd Line Server Integration Extend pipelines with new components that integrate your code, data and services. Professional Client Run Protocol Command Line Client Web Browser Web Port JavaScript Client SDK JavaScript Client .NET Client SDK .NET Client Java Client SDK Java Client SOAP Client Client Integration Build clients that connect to Pipeline Pilot and run protocol services. HTTP Client
  • 5. “Wrapped” Component • Scientific Pipeline Pilot User • Abstracted Component • Web Service underneath handles complexity SOAP Connector • Expert Pipeline Pilot User • Handles Complex Web Services based on WSDL HTTP Connector • Expert Pipeline Pilot User • Generic HTTP component • Great for direct handling of HTTP actions • Swiss Army Knife for HTTP Perl/Java/.NET Server Components • Software Developers • Complex but flexible • Leverage Perl/Java/.NET libraries and tools Web Service Access Complexity and Flexibility Ease of Use
  • 6. SOAP Services • SOAP Method with WSDL Support • SOAP Connector
  • 7. WSDL Schema Messages PortType Bindings Service WS-Policy References SOAP Envelope SOAP Headers •WS-Security •WS-Addressing •Request Headers SOAP Body •Request Message WSDL + WS-Policy = SOAP Messages * - http://www.w3.org/TR/soap12-part0/
  • 8. Components Uses Status in AEP 9.0 and when to use SOAP RPC Connector / (Queued)  RPC-Encoded SOAP  DOC-Literal SOAP w/ Simple Types  Use only for legacy RPC-encoded SOAP services SOAP Connector  DOC-Lit SOAP w/ Complex Types  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 portal Accessing SOAP Services
  • 9. • AEP Protocol securely calling a SAML protected web service – Need to create our SAML Certificate used to self-sign our outbound 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 Certificate as the SAML Certficate • AEP 9.0 self-signs all outbound Sender Vouches messages (does not use an external IdP for message signing) SAML Sender Vouches - Outbound
  • 10. • Web Services securely calling AEP – Need to import a certificate from the outside web service agent so that we trust it • Use the Security > SAML Certificate admin portal page • Click the Import button on the Trusted Certificates grid and paste in the server’s SAML Certificate – Optionally specify one or more SAML Issuer Ids to restrict this certificate to certain services – If * specified, any service using this certificate will be supported SAML 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 (http://www.pocketsoap.com/tcpTrace/) – SOAP UI (http://www.soapui.org/) • 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 finished Debugging 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/xml RESTful Web Services
  • 15. Components Use When Don’t Use When / Caveats XML Reader (Generic) JSON Reader Text Reader Binary Reader • You want to GET a representation of a HTTP-based resource • You want something other than GET • You want another format HTTP Connector • You need to perform any operation but GET • You need to customize settings like timeout, headers or authorization • You have HTTP requirements not met by this component Java (On Server) .NET (On Server) • You have special HTTP requirements • You have a pre-built client library • All else fails • Simpler methods will work Accessing 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 MKCOL HTTP 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.txt Example
  • 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 • https://getclever.com • “Student Information Systems integration for Educational 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
  • 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 with AEP Summary
  • 24. Appendix • Will provide access to the example package that defines the /zoology/ RESTful endpoints