handling service orchestration in the cloud for glassfish - javaone, san francisco, 2011
Post on 18-Oct-2014
2.412 views
DESCRIPTION
Handling Service Orchestration in the Cloud for GlassFish Presentation in JavaOne, San Francisco, 2011 Speakers: Jagadish Ramu and Sivakumar Thyagarajan, Oracle Corporation. --- Session details ---- Title: Handling Service Orchestration in the Cloud for GlassFish Time: Thursday, 02:00 PM, Hilton San Francisco - Imperial Ballroom B Length: 1 Hour Abstract: A PaaS offering typically facilitates application deployment without the cost and complexity of managing infrastructure, by providing all of the facilities required to build and deliver services. Current Java EE deployment models assume that the deployer provisions the various dependent services of an application. To support PaaS deployment scenarios, GlassFish is working to provide a simplified application provisioning and deployment interface to users, with the runtime handling the discovery of service dependencies, provisioning services, and associating service references with these services. This session details how Java EE containers such as GlassFish can provide such service orchestration capabilities to PaaS application deployers. Track: Enterprise Service Architectures and the Cloud Optional Track: Java EE Web Profile and Platform Technologies Experience Level: Advanced --- Session details ----TRANSCRIPT
![Page 1: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/1.jpg)
1 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
![Page 2: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/2.jpg)
2 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
LOGO
Handling Service Orchestration in the Cloud
for GlassFish
Conference Session - 25360
![Page 3: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/3.jpg)
3 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Latin America 2011 December 6–8, 2011
Tokyo 2012 April 4–6, 2012
![Page 4: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/4.jpg)
4 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Oracle OpenWorld Bookstore
• Visit the Oracle OpenWorld Bookstore for a fabulous
selection of books on many of the conference topics
and more!
• Bookstore located at Moscone West, Level 2
• All Books at 20% Discount
![Page 5: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/5.jpg)
5 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
5 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Insert Information Protection Policy Classification from Slide 8
The following is intended to outline our general product direction.
It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and
timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
![Page 6: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/6.jpg)
6 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 7: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/7.jpg)
7 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Cloud Computing
• Illusion of infinite computing resources available on
demand
• Elimination of an up-front commitment by cloud users
• Ability to pay for use of computing resources on a short-
term basis
What’s new?
(+) Above the Clouds, Armbrust et al, UC Berkeley, 2009
![Page 8: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/8.jpg)
8 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Cloud Computing
• On-demand Self-Service
• Broad network access
• Resource Pooling
• Rapid Elasticity
• Measured Service
Essential Characteristics
(*) NIST Definition of Cloud Computing – 800-145 (Draft)
![Page 9: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/9.jpg)
9 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Cloud Computing
• Private Cloud
– Operated solely for an organization
– On-premise or off-premise
• Community Cloud
• Public Cloud
– Access to general public
• Hybrid Cloud
– 2 or more clouds, Cloud Bursting
Deployment Models
(*) NIST Definition of Cloud Computing – 800-145 (Draft)
![Page 10: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/10.jpg)
10 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Cloud Computing
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
– Deploy customer-created applications
– Using languages and tools supported by PaaS Provider
– No control of underlying cloud infrastructure
– Control over deployed applications, hosting env. Configurations
• Infrastructure as a Service (IaaS)
Service Models
(*) NIST Definition of Cloud Computing – 800-145 (Draft)
![Page 11: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/11.jpg)
11 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 12: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/12.jpg)
12 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS and Java EE
• Common programming model for enterprise developers
• Runtime handles application’s infrastructure concerns
• Declarative resource references
• Scalable (scale-out) component models
Java EE design principles and capabilities
![Page 13: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/13.jpg)
13 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS and Java EE
• Enhancements
– New Roles for PaaS
– Services as first class citizens
– Multitenancy
• Evolution, not a revolution!
Java EE 7: “Making Java EE ready for the cloud”
![Page 14: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/14.jpg)
14 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
New PaaS Roles in Java EE 7
• PaaS Product Vendor
• PaaS Provider
• PaaS Account Manager
• PaaS Customer
• Application Submitter
• Application Administrator
• End-User
![Page 15: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/15.jpg)
15 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Java EE 7 Roles in a PaaS scenario
![Page 16: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/16.jpg)
16 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 17: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/17.jpg)
17 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Implications on Deployment • Simplified PaaS Application Deployment
– Single-click, self-service, “push to cloud”
![Page 18: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/18.jpg)
18 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Implications on Deployment
• Automatic Service Provisioning and Management
– Service Orchestration
• Automatic Service Dependency discovery
• Service Provisioning and Association
– Handle operational infrastructure concerns automatically
• Network configuration, HA, Clustering, Load Balancing …
– Application and Service deployment versioning
Services Management
![Page 19: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/19.jpg)
19 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Implications on Deployment
• Scalable virtualized on-demand environment
– Support multiple cloud deployment models
• Public, Private, Hybrid
– PaaS Provider decoupled from IaaS infrastructure
– Multi-tenancy
Virtualized runtimes
![Page 20: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/20.jpg)
20 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Implications on Deployment
• Automatic Scaling of Services
– Scale to application’s needs
– User-defined alerts and actions
• Control over application hosting environment
– Flexibility in choice of application services, framework
– Rich service configuration
– Shared services
– Extensible runtime to allow new Services
Scaling and Operations
![Page 21: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/21.jpg)
21 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
A sample application stack
![Page 22: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/22.jpg)
22 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Traditional Java EE Application Deployment
![Page 23: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/23.jpg)
23 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Demo Classic Deployment
![Page 24: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/24.jpg)
24 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Java EE PaaS Application Deployment
![Page 25: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/25.jpg)
25 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Demo PaaS Deployment
![Page 26: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/26.jpg)
26 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 27: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/27.jpg)
27 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Orchestration
Enable single-click deployment of a PaaS application
through automatic service dependency discovery,
service provisioning and service association
One-liner
![Page 28: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/28.jpg)
28 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Terminology
• Service
• ServiceType
– Java EE, RDBMS, HTTP Load Balancer etc.
• Services – scope and lifecycle
– Provisioned Services
• Application scoped
• Shared
– External (a priori ) services
![Page 29: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/29.jpg)
29 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Specification of Service Metadata
• Optional!
– When not specified (vanilla EE app archives)
• Orchestration Engine automatically handles discovery of service deps
• Automatic wiring to default Service Templates
– Metadata may be specified when:
• Finer grain control of application environment desired
• Application-specific Service configuration
![Page 30: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/30.jpg)
30 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Design Model
![Page 31: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/31.jpg)
31 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Specification of Service Metadata
• Service Definition
– Metadata used to provision and configure a Service
• What : Service characteristics (functional and non-functional) →
Template matching
• How : Explicit Template specification → Template wiring
• Service Reference
– An application component’s dependency on a Service
• Explicit : User-specified through deployment descriptors
• Implicit and Discovered: Information contained within the archive
![Page 32: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/32.jpg)
32 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Dependency Specification
![Page 33: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/33.jpg)
33 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Sample Service Definition
![Page 34: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/34.jpg)
34 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Sample Service Reference
![Page 35: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/35.jpg)
35 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 36: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/36.jpg)
36 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
GlassFish PaaS Runtime Architecture
![Page 37: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/37.jpg)
37 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Orchestration Flow
![Page 38: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/38.jpg)
38 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Dependency Discovery
![Page 39: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/39.jpg)
39 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Orchestration Flow
![Page 40: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/40.jpg)
40 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Provisioning
![Page 41: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/41.jpg)
41 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Orchestration Flow
![Page 42: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/42.jpg)
42 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Service Association
![Page 43: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/43.jpg)
43 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Deployment Usecases
• GlassFish 4.0 latest builds
– PaaS Deployment/Undeployment
– Application enable/disable
– Elastic scaling of GlassFish Services
Available now in GlassFish 4.0
![Page 44: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/44.jpg)
44 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
PaaS Deployment Usecases
• Redeployment support with retain services
• PaaS Application Versioning
• Shared and External Services
• Support for other ServiceTypes – MQ …
Candidate Features
![Page 45: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/45.jpg)
45 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Program Agenda
• Cloud Computing
• PaaS and Java EE
• PaaS implications on application deployment
• Design Model
• Service Orchestration
• Resources
![Page 46: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/46.jpg)
46 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Resources
• GlassFish 4.0 http://download.java.net/glassfish/4.0/promoted/
– Service Orchestration Onepager http://bit.ly/pXOzFP
– Java EE 7 keynote demo http://bit.ly/q9T7Z2
• Java EE 7 http://jcp.org//en/jsr/detail?id=342
– PaaS Model http://bit.ly/o3XZIP
• Above the Clouds: A Berkeley View of Cloud Computing
http://bit.ly/15MEL0
• The NIST Definition of Cloud Computing -- Special Publication 800-
145(Draft) http://1.usa.gov/eZ8PSn
For more information
![Page 47: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/47.jpg)
47 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Key Features
• Simplified Deployment in PaaS runtimes
• Standards based application development
• Support multiple Deployment Models and make
transition seamless
Service Orchestration
![Page 48: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/48.jpg)
48 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Q&A
![Page 49: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/49.jpg)
49 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
![Page 50: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/50.jpg)
50 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.
Classic Duke Future Tech Duke
![Page 51: Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Francisco, 2011](https://reader034.vdocuments.net/reader034/viewer/2022051816/5443104bb1af9f350a8b485c/html5/thumbnails/51.jpg)
51 Copyright © 2011, Oracle and/or its affiliates. All rights
reserved.