Oracle DBaaS OEM WebServices

Published on May 2016 | Categories: Types, Presentations | Downloads: 49 | Comments: 0 | Views: 291
of 29
Download PDF   Embed   Report

Presentation on how to use the Oracle Enterprise Manager 12C API's for creation of a database.

Comments

Content

EM12C Cloud API’s for database creation
DBaaS : Database as a Service
Johan Louwers

EM12C API – Database creation

Calling application

Oracle Enteprise Manager 12C cloud API’s for
database as a service

Oracle EM12C

S
Case(s)

1

A

2
3



Use Oracle EM12C cloud API’s from a portal for creating a new
database



Use Oracle EM12C cloud API’s as part of a bigger external flow
requiring database creation.

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

2

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation

S
Case(s)

1

A

2
3



Within the “calling application” users can request the creation of a
new database as a standalone action.



Within in overall flow in the “calling application” the need arises to
create a new database as part of a larger request flow. For
example creating application server, database server and deploy
an application.

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

3

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(S) Start of sub-flow for database creation.

S

Input required.

1

A

• A number of inputs are needed from a request form in the custom
calling application.
•Inputs are specified in the next slides

2
3

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

4

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

URI :
/em/cloud/dbaas/dbplatformtemplate/CC3BBB665A6BC6FFE040F00AEF252456

1

A

2
3

B

E

Request headers :
Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=
Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json
BODY :
{
"zone": "/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19",
"name": "<Request name>",
"description": "<Request Description>",
"params":
{
"username": "Master Account username for the DB",
"password": "Password for the Master Account on the DB",
"database_sid" : "Database SID" ,
"service_name" : "Name of the additional service to be created"
}
}

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

5

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

Sample response :
{

1

A

2
3

B

"uri" : "/em/cloud/dbaas/dbplatforminstance/byrequest/1171" ,
"name" : "Test_create_intance" ,
"resource_state" :
{
"state" : "INITIATED"
} ,
"media_type" :
"application/oracle.com.cloud.common.DbPlatformInstance+json" ,
"canonicalLink" :
"/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/dbaas/
dbplatforminstance/byrequest/1171" ,
"status" : "SCHEDULED"
}
!! required to request status of creation process in step 3 !!

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

6

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\“TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

7

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Username:password
•Username & password of the self service user (inside OEM) who is
requesting the new database to be created.
• Needs to be provided from a free text fields in the custom request
form within the calling application

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

8

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Zone ID
•Needs to be provided as the value of a dropdown menu in the custom
request form within the calling application where the visible text is a
meaningful text to humans. (when only one zone is available this could be a static hidden
value in the form)

E

Example variable

Can be delivered manually by DBaaS team or can be
queried via API’s
Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

9

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Name
•Name of the request. (possible naming convention 20 chars long & no spaces)
•Needs to be provided from a free text field in the custom request form
within the calling application.

E

•Will require java-script to enforce naming convention.
Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

10

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Description
•Description of the request. (possible naming convention 50 chars long & no special chars)
•Needs to be provided from a free text field in the custom request form
within the calling application.

E

•Will require java-script to enforce naming convention.
Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

11

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Username (DB)
•Master account username for the database. (possible naming convention 10 chars
long & no special chars)

•Needs to be provided from a free text field in the custom request form
within the calling application.

E

•Will require java-script to enforce naming convention.
Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

12

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Password (DB)
•Master account password for the database. (possible naming convention min 8
chars long, should include at least one capital letter and a number)

•Needs to be provided from a free password field in the custom
request form within the calling application.

E

•Will require java-script to enforce naming convention.
Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

13

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Service name
•Service name for the database. (possible naming convention min 10 chars long, should
all be capital letters, no special chars)

•Needs to be provided from a free field in the custom request form
within the calling application.

E

•Will require java-script to enforce naming convention.
Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

14

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

FQDN
•FQDN of the EM12C server

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

15

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(1) Call EM12C API (A) for database creation

S

curl example :

1

A

2
3

B

curl -k -u username:password -X POST -H "Content-Type:
application/oracle.com.cloud.common.DbPlatformInstance+json" -d
"{\"zone\":\"/em/cloud/dbaas/zone/82CF1C28FA20A183C99D138FF8065F19\",\"
name\":\"REQUEST_TESTDB\",\"description\":\ “TEST DATABASE CREATE
\",\"params\":{\"username\":\“TEST_ADMIN\",\"password\":\“TEST_PASSWD\"
,\"service_name\":\"TESTNAME\"}}"
https://example.company.com:7799/em/cloud/dbaas/dbplatformtemplate/CC3B
BB665A6BC6FFE040F00AEF252456

Template ID
•Needs to be provided as the value of a dropdown menu in the custom
request form within the calling application where the visible text is a
meaningful text to humans. (when only one template is available this could be a static
hidden value in the form)

E

Example variable

Can be delivered manually by DBaaS team or can be
queried via API’s
Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

16

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(2) Database creation takes, depending on the platform,
from a couple of seconds to a couple of minutes. Wait timer
for 3 minutes is advised before continuing to the next step.

S

1

A

2
3

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

17

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

!! If the request is NOT completed return to step 2 !!

1

A

2
3

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

18

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

URI :
/em/cloud/dbaas/dbplatforminstance/byrequest/1171

1

A

Request headers :
Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

BODY :

2
3

B

E

!! ID from response message (A) !!

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

19

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

curl example :

1

A

curl -k -u username:password
https://example.company.com.nl:7799/em/cloud/dbaas/dbplatforminstance/b
yrequest/1171

2
3

B

Username:password
•Username & password of the self service user (inside OEM) who is
requesting the new database to be created.
• Is already provided as part of input for step 1 Needs to be provided
from a free text fields in the custom request form within the calling
application

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

20

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

curl example :

1

A

curl -k -u username:password
https://example.company.com.nl:7799/em/cloud/dbaas/dbplatforminstance/b
yrequest/1171

2
3

B

FQDN
•FQDN of the EM12C server

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

21

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

Sample response :
{

1

A

2
3

B

E

"uri" : "/em/cloud/dbaas/dbplatforminstance/byrequest/1171" ,
"name" : "REQUEST_TESTDB_CREATE_31_41" ,
"description" : "Create Database for \"REQUEST_TESTDB\"." ,
"resource_state" :
{
"state" : "CREATING"
} ,
"context_id" : "1171" ,
"media_type" :
"application/oracle.com.cloud.common.DbPlatformInstance+json" ,
"canonicalLink" :
"/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/dbaas/
dbplatforminstance/byrequest/1171" ,
"status" : "IN_PROGRESS" ,
"created" : "2014-11-24 18:31:43.0"
}
!! Indicating creation is not ready, return to step 2 !!

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

22

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

Sample response :
{

1

A

2
3

B

E

"uri" : "/em/cloud/dbaas/dbplatforminstance/byrequest/1171" ,
"name" : "DBNAME.example.company.com" ,
"resource_state" :
{
"state" : "READY"
} ,
"context_id" : "1171" ,
"media_type" :
"application/oracle.com.cloud.common.DbPlatformInstance+json" ,
"canonicalLink" :
"/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/dbaas/
dbplatforminstance/byrequest/1171" ,
"status" : "RUNNING" ,
"created" : "2014-11-24 18:40:41.0" ,
"based_on" :
"/em/cloud/dbaas/dbplatformtemplate/CC3BBB665A6BC6FFE040F00AEF252456" ,
"connect_string" :
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=somehost.examp
le.company.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TESTNAME.exampl
<SNIP>

Example variable

!! Indicating creation is done !!

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

23

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

Additional information.

1

A

2
3

B

•Some examples of additional information in the response which can
be used in the calling application for next steps or to inform the
requesting user.
• Name
: full database name
• Created
: creation date of database
• connect_string
: connection string for connecting to the database
• master_username
: username of the database master account
• db_version
: version of the database
• standby_database_configured : standby database created (Boolean)

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

24

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(3) Call EM12C API (B) for database creation process status

S

Additional information.

1

A

•Some examples of additional information in the response which can
be used in the calling application for next steps or to inform the
requesting user.

2
3

B

E

"measurable_attributes" :
[
{"name”:"up_time”,"value”:"0”,"units”:"Hours”} ,
{"name”:"total_sga”,"value”:"4077.703”,"units”:"MB”} ,
{"name”:"available_space”,"value”:"1056.813”,"units”:"MB”} ,
{"name”:"cpu_utilization”,"value”:"0.071”,"units”:"%”} ,
{"name”:"total_memory”,"value”:"4253.839”,"units”:"MB”} ,
{"name”:"db_time”,"value”:".117”,"units”:"CentiSeconds Per Second”},
{"name":"cpu_count","value":"2","units":"Cores”}
]

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

25

EM12C API – Database creation

Calling application

Oracle EM12C

Sub-flow from calling application to request databases creation
(E) End of sub-flow for database creation.

S

Next step.

1

A

• The full end-to-end flow in the calling application can continue.

•User could/should be informed on the details of the created database.

2
3

B

E

Example variable

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

26

More information

EM12C API – Database creation
 https://docs.oracle.com/cd/E24628_01/doc.121/e28814/dbaas_ssa_user_
api.htm#EMCLO1148

Capgemini : Database as a Service – Johan Louwers. | 2014
Copyright © 2014 Capgemini. All rights reserved.

28

About Capgemini
With almost 140,000 people in over 40 countries, Capgemini is
one of the world's foremost providers of consulting, technology
and outsourcing services. The Group reported 2013 global
revenues of EUR 10.1 billion.
Together with its clients, Capgemini creates and delivers
business and technology solutions that fit their needs and drive
the results they want. A deeply multicultural organization,
Capgemini has developed its own way of working, the
Collaborative Business Experience™, and draws on
Rightshore®, its worldwide delivery model.
Learn more about us at www.capgemini.com.

www.capgemini.com
The information contained in this presentation is proprietary.
© 2014 Capgemini. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close