Jan 12, 2016
Develop, Deploy and Manage Web services with OracleAS 10g
Venky Ravipati
Principal Product Manager
Oracle Corporation
Session id: 40053
Eric Rajkovic
Principal Member Technical staff
Oracle Corporation
Agenda
Introduction to Web Services OracleAS 10g Web Services Web services Interoperability OracleAS 10g Roadmap
Overview
J2EE Overview EJB Overview Entity Bean Lifecycle for the DBAs Persistence Options and related concerns Optimizing CMP Entity beans for Oracle database JMS and Oracle database Other DBA Considerations Additional Resources and Next Steps
Complete Your Survey (Session Id#40019)
Web Services Versus Web Applications
HTML User-to-program
interaction Static integration of
components Single use service
XML/SOAP Program-to-program
interaction Static or dynamic
integration Re-usable service
Web ApplicationWeb Services
Web Services In Context
Java, C++, Forms, VB, …
CORBA ORBWindows MTS
Mid-1990’sCorba/COM
e.g. IIOP/DCOM
(Forms, PB VB …
DatabaseStored Procedure
Early 1990’sClient/Server
e.g. OCI
1980’sTP Monitor
Cobol, Forms,
CICs, Tuxedo
e.g ATMI
Java, VB, FormsC++, Python
J2EE ContainerWindows
CORBA ORB …
XML/SOAPEarly 2000’sWeb Services
JavaJ2EE Container
(EJB)
RMILate-1990’sJ2EE
Client ServerMessage Protocol
Web Services Conceptually
ServiceRequestor
PublishFind
Invoke ServiceProvider
Service Registry
WSDL
Web Service(J2EE, PL/SQL,
.NET,C/C++,Legacy …)
Web Service(J2EE, PL/SQL,
.NET,C/C++,Legacy …)
Web ServiceClient
(J2EE, .NET,PL/SQL …)
Web ServiceClient
(J2EE, .NET,PL/SQL …)
Points to description
DescribesService
FindsService
Invokes withXML Messages
Web Services Technologies
SOAP
UDDI Registry
Points to service
D E M O N S T R A T I O N
Calling a Web ServiceCalling a Web Service
Information Channels - Today
Data/Services Providers
InternalSystems
Partners
Services Integrationand Consolidation
Services Delivery Channels
Mainframe
Packages
ServicesConsumers
B2BB2B
B2CB2B
B2BB2B
Frequent users
B2CB2B
Public
Partners
PrvtUDDI
Web ServicesGateway
BusinessServices
Hub
Business Orchestration
Business Objects
Transaction Management
Businesses
Businesses
PublicUDDI
Browser/Device Users
Future DeliveryPlatforms
Smart ClientDelivery
Web and Mobile Client
Delivery
Database
HT
TP
Net
8,et
cS
OA
PJX
TA
,etc
Information Channels – With Web Services
Data/Services Providers
InternalSystems
Partners
Services Integrationand Consolidation
Services Delivery Channels
Mainframe
Packages
ServicesConsumers
B2BB2B
B2CB2B
B2BB2B
Frequent users
B2CB2B
Public
Partners
PrvtUDDI
Web ServicesGateway
BusinessServices
Hub
Business Orchestration
Business Objects
Transaction Management
Inte
rnal
Web
Ser
vice
s
Businesses
Businesses
PublicUDDI
Browser/Device Users
Future DeliveryPlatforms
Smart ClientDelivery
Web and Mobile Client
Delivery
Database
Web Services Standardize Integration
Web Services
ModernIntegration
EAI and B2Bi
Traditional Integration
One-Off
Custom Integration
• Costly
• High resource requirements
• Proprietary focus
• Point to point approach
• Reduced cost
• Enabled line of business
• Standards focus
• High reusability and adoption
• Costly
• High resource requirements
• Slow time to market
• Little reusability
Agenda
Introduction to Web Services OracleAS 10g Web Services Web services Interoperability OracleAS 10g Roadmap
Oracle’s Web Services Strategy
Make Web services pervasive– Embed Web services across the infrastructure– Interoperate based on industry standards
Build Web services on J2EE and XML– Maximize productivity, minimize retraining– Inherit performance, reliability, security of OC4J
Deliver simple and business Web services– Enable business process based Web Services
Oracle Application Server 10g
J2EE & J2EE & Web ServicesWeb Services
Portals andForms
Mobile &Wireless
BusinessIntelligence
e-Business Integration
Management &Security
Performance &Reliability
OracleAS 10g Web Services Architecture
MessagingTransactions PoolingNamingSecurity
SO
AP
Ser
vlet
Ap
ach
e H
TT
P
StatefulJava Class
StatelessSession EJB
JMS Queue
PL/SQLStored Proc.
HTML/XML Stream
Stateless Java Class
WSDLWSDL
Web ServiceWeb ServiceClientClient
(J2EE, .NET,(J2EE, .NET,Portal, Mobile,Portal, Mobile,
PL/SQL …)PL/SQL …)
Bin
din
gB
ind
ing
Sta
tic/
Dyn
amic
Sta
tic/
Dyn
amic Request/Response
Message Oriented
Oracle9iAS
SOAP
Publish
Find
UDDI
Jav
a X
ML
Bin
din
g
Oracle 10g XML Infrastructure
Oracle 10g XML DBOracleDB 10g Web Services
Oracle9i XDK XSLT Processing
XML Query ProcessingXML Caching
OracleAS 10g Web ServicesXSLT Processing
XML Query ProcessingXML Schema/DTD Validation
XML Caching w/ JAAS securityXML J2EE Components
XML Messaging & Queuing XML Data Integration
OracleAS 10g Oracle Database 10g Web Cache
XSLT ProcessingXML Query Processing
XML Caching w/HTTP security
XSLT ProcessingXML Query Processing
XML Caching
Client
XML XML XML
Oracle9i JDeveloper
Award winning IDE with full development lifecycle
UML modeling for J2EE Embedded J2EE
container Integration of Java, XML,
and SQL Built in performance
tuning … integrated support
for Web Services
D E M O N S T R A T I O N
Publish an EJB Application as a Publish an EJB Application as a Web ServiceWeb Service
Web Services and Portals
Any Data Source
Packaged Apps
Page Assembly
Engine
PersonalizationPortal
PortletEngine
Runtime(User, Session,
Management
Wireless &Mobile
Internet / intranetUsers
– Reduce web sites, simplify searches & navigation – Single sign-on security framework, enterprise search– Assemble personalized portal from pre-built “portlets”– Connect Web services declaratively with the OmniPortlet
Any Web Service
Oracle9i Application Server Portal
Web Services and Business Intelligence
Discoverer
Reports
Personalization
BI Beans
Oracle9iAS Business Intelligence
Portal
Oracle9iDB
Data Warehousing
ETL
OLAP
Data Mining
Web Services
Web Services and Oracle9i Forms
Forms Servlet
Oracle9iAS J2EE
Any Data Source
Any Java Application
Any Web Service
Forms FMXApplicationsForms FMX
ApplicationsForms FMXApplications
PJCPJCJavaImporter
Ap
ach
e H
TT
P
– Run Oracle Forms applications on the Web – Reduce management with middle tier deployment– Integrate J2EE and Web services with Java Importer
SOAP
RMI
JDBC
HTTP
HTTP
Mobile Access to Web Services
– Deploy your existing content to wireless devices– Reduce costs by developing content only ONCE– Provide personalized and localized access for all users– Access Web services through J2ME proxy
SMS
J2ME
CHTML
HTML
XHTML
Any Database
Enterprise Apps
Any Web Site
WAP
HTTP
SMTP
SMS
2G
GPRS
Voice
3G/UMTS
WapNokiaMotorolaVoice IBMTellmeOtherPalm.net
Protocol Network Gateways
Oracle9Oracle9iiAS AS WirelessWireless
XML
HTTP
Web Services
Web ServicesWeb ServicesProxyProxy
Oracle and Web Services
PlatformPlatform
ToolsTools
ApplicationsApplications
Oracle11Oracle11i i E-Business SuiteE-Business Suite
OracleOracle Collaboration SuiteCollaboration Suite
Oracle Jdeveloper Oracle Jdeveloper 10g
Oracle Application Server Oracle Application Server 10g
Oracle Database Oracle Database 10g
Agenda
Introduction to Web Services OracleAS 10g Web Services Web services Interoperability OracleAS 10g Roadmap
What About Interoperability?
J2EE .NetBEA
Oracle
Sun
IBM
Microsoft
XMLSOAPWSDLUDDILDAP,SMTP,
…
Others
Web Services Interoperability Issues Type Encoding
– explicit typing of parameters (eg., "xsd:integer" vs "xsd:int" )
SOAPAction Header – Some implementations support both SOAPAction values of "" and null,
while others do not
Message Parameters– Some toolkits have the ability to set multiple out params, while most
toolkits can process one and only one out param
– Order of parameters for return types on the client side.
SOAP Envelope– Encoding style, envelope level or body level?
– Namespace qualification
– IDs and Href
Web Services Interoperability
SOAPBuilders – Grassroots organization – Canonical set of tests, testing interoperability on live
implementations– [email protected]
WS-I.org– Industry initiative for Web services interoperability– Open to any organization committed to Web services– Promote and accelerate adoption, deployment of Web
services
WS-I Profiles
Names groups of Web services specifications for interoperability purposes
Defines how best to use combinations of specifications together
Enables industry to define interoperability levels
Today
Phase II“Security
andReliability”
XML DigitalSignature
XML EncryptionWS-Security
HTTP-RSAML
XACML…
WS-I Basic Profile
Phase 1“Connection”
XML SchemaSOAPWSDLUDDI
Phase III“Enterprise”
ProvisioningTransactions
WorkflowSystems
management
…
Agenda
Introduction to Web Services OracleAS 10g Web Services Web services Interoperability OracleAS 10g Roadmap
Web Services Standards/Tech Stack
HTTPHTTP, BEEP, IIOP, JMS, SMTP, BEEP, IIOP, JMS, SMTP
XMLXML
SOAPSOAP
WSDLWSDL
UDDIUDDI
TransportTransport
MessagingMessaging
DescriptionDescription
DiscoveryDiscovery
Reliable Reliable MessagingMessaging SecuritySecurity
Grid Grid ServicesServices
Transactions Transactions &Coordination&Coordination
QualityQualityof Serviceof Service
Choreography:Choreography: BPEL4WSBPEL4WS,WSCI,BPSS..,WSCI,BPSS..
Orches-tration
Integration Integration A2AA2Ai, i, B2BB2Bi :i : ebXML, RosettaNet ebXML, RosettaNet
Complex WSComplex WS
Web
Ser
vice
s M
anag
emen
tW
eb S
ervi
ces
Man
agem
ent
J2EE APIs for Web Services
DescriptionJava APIsfor XML
Java API for XML Registries
Java API for XML Remote Procedure CallJAX-RPC
SAAJ
Java API for XML Data Binding
SOAP with Attachments API for Java
JAXP
JAXB
JAXR
Java API for XML Parsing
Stateless Session EJB Endpoint ModelEJB 2.1
Web Services Deployment ModelJSR 109
Web Services Security Groups
SAML XACML
XrML
XKMS
XML
Encryption
XML Digital
Signature
BiometricsWS-Security
Provisioning
W3C
Architecture
OASIS
Joint Security
AQ&Q U E S T I O N SQ U E S T I O N S
A N S W E R SA N S W E R S