SlideShare a Scribd company logo
1 of 19
Download to read offline
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices
AGENDA
Seite 1
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices
► About Webservices
► Why Webservices?
► Webservices in APEX
► Webservice API – WSDL and RESTful Services from the Backend
► RESTful support in APEX 4.2
► RESTful support in APEX 4.2
Seite 2
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices
About Webservices
Seite 3
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – About Webservices
► Web Services belong to the group of API’s (application
programming interface) accessed by HTTP (Hyper Transfer
Protocol) and run on a hosting system.
► There are two groups of Web Services:
► Big Web Services
► RESTful Web Services
Seite 4
Oracle APEX 4.2: Webservices
Denes Kubicek
► RESTful Web Services
APEX 4.2 – About Webservices
► Protocols are XML plus HTTP (less commonly SMTP, FTP, and BEEP
also used as transport)
► Message formats
► SOAP (Simple Object Access Protorcoll)
► XML-RPC
Seite 5
Oracle APEX 4.2: Webservices
Denes Kubicek
► REST (Representational State Transfer)
► List and Search in UDDI (Universal Description, Discovery and
Integration)
► WSDL (Web Services Definition Language) – describes where, what
and how.
APEX 4.2 – Webservices
Why Webservices?
Seite 6
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Why Webservices?
► You will use Webservices there, where you have a central point of
query which serves different consumers.
► Examples:
► Geocoding
► Weather service
► Many more…
► Since there are many differenct consumers running on different
► Since there are many differenct consumers running on different
systems, standard format of communication is required.
► The consumers should be able to understand the language in order to
consume the response of a Web Service.
Seite 7
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices
Webservices in APEX
Seite 8
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices in APEX
► Version 1.5 (2004)
► UDDI Browsing
► WSDL based – offers Forms und Forms with Report created by a
Web-Service Wizard
► Tools for testing of the references.
Seite 9
Oracle APEX 4.2: Webservices
Denes Kubicek
► SOAP 1.1 RPC encryption.
APEX 4.2 – Webservices in APEX
► Version 3.0 (2007)
► SOAP 1.1 document support.
► Support for XML-RPC.
► Simple authentication.
► SSL support.
Seite 10
Oracle APEX 4.2: Webservices
Denes Kubicek
► SSL support.
APEX 4.2 – Webservices in APEX
► Version 4.0 (2010)
► apex_web_service API.
► RESTful Web Service support.
► SOAP 1.2 support.
► Forms und Forms with Report created by Web-Service Wizard can
Seite 11
Oracle APEX 4.2: Webservices
Denes Kubicek
► Forms und Forms with Report created by Web-Service Wizard can
be modified manually.
► Reading and setting Cookies and HTTP Header
► A possibility to provide RESTful Web Service reports in an
application.
APEX 4.2 – Webservices in APEX
► Version 4.2 (2012)
► Support for RESTful Webservices through a sepparate interface
within SQL Workshop.
► Improved support of the Web Service configuration and webservice
consument within Shared Components
Seite 12
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservices
Differences between WSDL and RESTful Webservice
Seite 13
Oracle APEX 4.2: Webservices
Denes Kubicek
APEX 4.2 – Webservice API
► WSDL Webservice is more flexible.
► WSDL is harder to code (Coding).
► RESTful is easier to configure.
► In APEX you can write your own RESTful Services.
► You can consume both – WSDL and RESTful.
Seite 14
Oracle APEX 4.2: Webservices
Denes Kubicek
► You can consume both – WSDL and RESTful.
APEX 4.2 – Webservices
Webservice API – WSDL and RESTful Services from the
Backend
Seite 15
Oracle APEX 4.2: Webservices
Denes Kubicek
Backend
APEX 4.2 – Webservice API
► Webservice API enables usage of Web Services in all areas of APEX –
you can run it in an application or from the back end:
► On Demand Process
► Authentication
► Validation
Seite 16
Oracle APEX 4.2: Webservices
Denes Kubicek
► It has functions for encrypting / decrypting of binary data from to base
64 encryption.
► Functions for responding based on XPath expressions.
► Setting and reading HHTP Header and Cookies.
Requirements
► There are three requirements for using Web Services:
► You need to enable INTERNAL / ADMIN > Manage Instance > Security > Allow
RESTful Access.
► Your Workspace-Schema hast to get a GRANT from the SYS user:
► 11g database and above has to have a networking configured to support access to the
resources. Usually:
ALTER USER dkubicek GRANT CONNECT THROUGH apex_rest_public_user;
Seite 17
Oracle APEX 4.2: Webservices
Denes Kubicek
BEGIN
dbms_network_acl_admin.create_acl (acl => 'www2.xml',
description => 'WWW ACL',
principal => 'APEX_040200',
is_grant => TRUE,
PRIVILEGE => 'connect'
);
dbms_network_acl_admin.add_privilege (acl => 'www2.xml',
principal => 'APEX_040200',
is_grant => TRUE,
PRIVILEGE => 'resolve'
);
dbms_network_acl_admin.assign_acl (acl => 'www2.xml', HOST => '*');
END;
/
COMMIT ;
Requirements
► You can create an ACL this way as well:
DECLARE
acl_path VARCHAR2 (4000);
acl_id RAW (16);
BEGIN
SELECT acl
INTO acl_path
FROM dba_network_acls
WHERE HOST = '*' AND lower_port IS NULL AND upper_port IS NULL;
SELECT sys_op_r2o (EXTRACTVALUE (p.res, '/Resource/XMLRef')) INTO acl_id
FROM xdb.xdb$acl a, path_view p WHERE EXTRACTVALUE (p.res, '/Resource/XMLRef') = REF (a)
AND EQUALS_PATH (p.res, acl_path) = 1;
Seite 18
Oracle APEX 4.2: Webservices
Denes Kubicek
DBMS_XDBZ.validateacl (acl_id);
IF dbms_network_acl_admin.check_privilege (acl_path, 'APEX_040200', 'connect') IS NULL
THEN dbms_network_acl_admin.add_privilege (acl_path, 'APEX_040200', TRUE, 'connect');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
dbms_network_acl_admin.create_acl ('power_users.xml', 'ACL that lets power users to connect
to everywhere', 'APEX_040200', TRUE, 'connect');
dbms_network_acl_admin.assign_acl ('power_users.xml', '*');
END;
/
COMMIT ;

More Related Content

Similar to 301_Kubiček+Webservices (2).pdf

Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsKonveyor Community
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDenny Lee
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfProtect724v2
 
ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)Protect724tk
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)sheriframadan18
 
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays
 
Welcome to Web Services
Welcome to Web ServicesWelcome to Web Services
Welcome to Web ServicesShivinder Kaur
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and FrameworkJaime Cid
 
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays
 
Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Clint Edmonson
 
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLHTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLUlf Wendel
 
configuring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+serverconfiguring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+serverhunghtc83
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & DevelopmentGlobalLogic Ukraine
 
TA6944 PowerCLI is for Administrators!
TA6944 PowerCLI is for Administrators!TA6944 PowerCLI is for Administrators!
TA6944 PowerCLI is for Administrators!Alan Renouf
 

Similar to 301_Kubiček+Webservices (2).pdf (20)

Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
 
ASP.NET WEB API Training
ASP.NET WEB API TrainingASP.NET WEB API Training
ASP.NET WEB API Training
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePoint
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdf
 
ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
 
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
 
Welcome to Web Services
Welcome to Web ServicesWelcome to Web Services
Welcome to Web Services
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and Framework
 
GuideIT Delivery Design - Netscaler
GuideIT Delivery Design - NetscalerGuideIT Delivery Design - Netscaler
GuideIT Delivery Design - Netscaler
 
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
 
Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03
 
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQLHTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
HTTP, JSON, JavaScript, Map&Reduce built-in to MySQL
 
configuring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+serverconfiguring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+server
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 
TA6944 PowerCLI is for Administrators!
TA6944 PowerCLI is for Administrators!TA6944 PowerCLI is for Administrators!
TA6944 PowerCLI is for Administrators!
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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 FresherRemote DBA Services
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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 WorkerThousandEyes
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

301_Kubiček+Webservices (2).pdf

  • 1. Oracle APEX 4.2: Webservices Denes Kubicek
  • 2. APEX 4.2 – Webservices AGENDA Seite 1 Oracle APEX 4.2: Webservices Denes Kubicek
  • 3. APEX 4.2 – Webservices ► About Webservices ► Why Webservices? ► Webservices in APEX ► Webservice API – WSDL and RESTful Services from the Backend ► RESTful support in APEX 4.2 ► RESTful support in APEX 4.2 Seite 2 Oracle APEX 4.2: Webservices Denes Kubicek
  • 4. APEX 4.2 – Webservices About Webservices Seite 3 Oracle APEX 4.2: Webservices Denes Kubicek
  • 5. APEX 4.2 – About Webservices ► Web Services belong to the group of API’s (application programming interface) accessed by HTTP (Hyper Transfer Protocol) and run on a hosting system. ► There are two groups of Web Services: ► Big Web Services ► RESTful Web Services Seite 4 Oracle APEX 4.2: Webservices Denes Kubicek ► RESTful Web Services
  • 6. APEX 4.2 – About Webservices ► Protocols are XML plus HTTP (less commonly SMTP, FTP, and BEEP also used as transport) ► Message formats ► SOAP (Simple Object Access Protorcoll) ► XML-RPC Seite 5 Oracle APEX 4.2: Webservices Denes Kubicek ► REST (Representational State Transfer) ► List and Search in UDDI (Universal Description, Discovery and Integration) ► WSDL (Web Services Definition Language) – describes where, what and how.
  • 7. APEX 4.2 – Webservices Why Webservices? Seite 6 Oracle APEX 4.2: Webservices Denes Kubicek
  • 8. APEX 4.2 – Why Webservices? ► You will use Webservices there, where you have a central point of query which serves different consumers. ► Examples: ► Geocoding ► Weather service ► Many more… ► Since there are many differenct consumers running on different ► Since there are many differenct consumers running on different systems, standard format of communication is required. ► The consumers should be able to understand the language in order to consume the response of a Web Service. Seite 7 Oracle APEX 4.2: Webservices Denes Kubicek
  • 9. APEX 4.2 – Webservices Webservices in APEX Seite 8 Oracle APEX 4.2: Webservices Denes Kubicek
  • 10. APEX 4.2 – Webservices in APEX ► Version 1.5 (2004) ► UDDI Browsing ► WSDL based – offers Forms und Forms with Report created by a Web-Service Wizard ► Tools for testing of the references. Seite 9 Oracle APEX 4.2: Webservices Denes Kubicek ► SOAP 1.1 RPC encryption.
  • 11. APEX 4.2 – Webservices in APEX ► Version 3.0 (2007) ► SOAP 1.1 document support. ► Support for XML-RPC. ► Simple authentication. ► SSL support. Seite 10 Oracle APEX 4.2: Webservices Denes Kubicek ► SSL support.
  • 12. APEX 4.2 – Webservices in APEX ► Version 4.0 (2010) ► apex_web_service API. ► RESTful Web Service support. ► SOAP 1.2 support. ► Forms und Forms with Report created by Web-Service Wizard can Seite 11 Oracle APEX 4.2: Webservices Denes Kubicek ► Forms und Forms with Report created by Web-Service Wizard can be modified manually. ► Reading and setting Cookies and HTTP Header ► A possibility to provide RESTful Web Service reports in an application.
  • 13. APEX 4.2 – Webservices in APEX ► Version 4.2 (2012) ► Support for RESTful Webservices through a sepparate interface within SQL Workshop. ► Improved support of the Web Service configuration and webservice consument within Shared Components Seite 12 Oracle APEX 4.2: Webservices Denes Kubicek
  • 14. APEX 4.2 – Webservices Differences between WSDL and RESTful Webservice Seite 13 Oracle APEX 4.2: Webservices Denes Kubicek
  • 15. APEX 4.2 – Webservice API ► WSDL Webservice is more flexible. ► WSDL is harder to code (Coding). ► RESTful is easier to configure. ► In APEX you can write your own RESTful Services. ► You can consume both – WSDL and RESTful. Seite 14 Oracle APEX 4.2: Webservices Denes Kubicek ► You can consume both – WSDL and RESTful.
  • 16. APEX 4.2 – Webservices Webservice API – WSDL and RESTful Services from the Backend Seite 15 Oracle APEX 4.2: Webservices Denes Kubicek Backend
  • 17. APEX 4.2 – Webservice API ► Webservice API enables usage of Web Services in all areas of APEX – you can run it in an application or from the back end: ► On Demand Process ► Authentication ► Validation Seite 16 Oracle APEX 4.2: Webservices Denes Kubicek ► It has functions for encrypting / decrypting of binary data from to base 64 encryption. ► Functions for responding based on XPath expressions. ► Setting and reading HHTP Header and Cookies.
  • 18. Requirements ► There are three requirements for using Web Services: ► You need to enable INTERNAL / ADMIN > Manage Instance > Security > Allow RESTful Access. ► Your Workspace-Schema hast to get a GRANT from the SYS user: ► 11g database and above has to have a networking configured to support access to the resources. Usually: ALTER USER dkubicek GRANT CONNECT THROUGH apex_rest_public_user; Seite 17 Oracle APEX 4.2: Webservices Denes Kubicek BEGIN dbms_network_acl_admin.create_acl (acl => 'www2.xml', description => 'WWW ACL', principal => 'APEX_040200', is_grant => TRUE, PRIVILEGE => 'connect' ); dbms_network_acl_admin.add_privilege (acl => 'www2.xml', principal => 'APEX_040200', is_grant => TRUE, PRIVILEGE => 'resolve' ); dbms_network_acl_admin.assign_acl (acl => 'www2.xml', HOST => '*'); END; / COMMIT ;
  • 19. Requirements ► You can create an ACL this way as well: DECLARE acl_path VARCHAR2 (4000); acl_id RAW (16); BEGIN SELECT acl INTO acl_path FROM dba_network_acls WHERE HOST = '*' AND lower_port IS NULL AND upper_port IS NULL; SELECT sys_op_r2o (EXTRACTVALUE (p.res, '/Resource/XMLRef')) INTO acl_id FROM xdb.xdb$acl a, path_view p WHERE EXTRACTVALUE (p.res, '/Resource/XMLRef') = REF (a) AND EQUALS_PATH (p.res, acl_path) = 1; Seite 18 Oracle APEX 4.2: Webservices Denes Kubicek DBMS_XDBZ.validateacl (acl_id); IF dbms_network_acl_admin.check_privilege (acl_path, 'APEX_040200', 'connect') IS NULL THEN dbms_network_acl_admin.add_privilege (acl_path, 'APEX_040200', TRUE, 'connect'); END IF; EXCEPTION WHEN NO_DATA_FOUND THEN dbms_network_acl_admin.create_acl ('power_users.xml', 'ACL that lets power users to connect to everywhere', 'APEX_040200', TRUE, 'connect'); dbms_network_acl_admin.assign_acl ('power_users.xml', '*'); END; / COMMIT ;