Download presentation
Presentation is loading. Please wait.
Published byAntony McDonald Modified over 8 years ago
1
UGF1450 Robert van Mölken - AMIS Services, 18-09-2016 Top tips for mastering the SOA Cloud Service
2
Presenter Profile Robert van Mölken Oracle Integration Specialist since ‘07 Oracle Beta tester, frequent blogger & presenter and SIG Lead for the Dutch User Group. Author of upcoming book: Implementing Oracle Integration Cloud Service Linkedin: linkedin.com/in/rvmolkenlinkedin.com/in/rvmolken Blog: technology.amis.nltechnology.amis.nl Twitter: @robertvanmolken@robertvanmolken Middleware Partner of the Year 2011, 2013, 2014 & 2015 EMEA Partner of the Year 2014
3
3 Tips we will be discussing When and how to get the most out of SOA CS –Tip #1: When to choice SOA CS? –Tip #2: What components to use? Lift and Shift workload to the cloud –Tip #3: Deploy artifacts using Maven & HTTPS Tunneling –Tip #4: Alternatively use Developer Cloud Improve productivity and re-usability –Tip #5: Kickstart projects using SOA templates –Tip #6: Re-use of code using Sub-processes Managing your environment –Tip #7: Suspend upstream services –Tip #8: RESTful management APIs Ask Robert –Tip #9 --- #n
4
When and how to get the most out of SOA Cloud Service
5
Two choices for integrations Oracle Applications, SAP, customer, legacy… ON-PREMISES 3 rd Party ORACLE CLOUD Salesforce Oracle Integration Cloud Service Oracle SaaS Applications Connectivity Agent Two choices in Oracle’ Integration space Oracle Applications, SAP, customer, legacy… ON-PREMISES 3 rd Party ORACLE CLOUD Oracle SOA Cloud Service Oracle DBaaS & Compute Cloud Oracle SOA Suite VPN
6
TIP #1
7
Tip #1: When to choice SOA CS? ICSSOA Integrates with technology adapter based application and max two cloud applications Unlimited incoming and outgoing connections, amount of messages and message payload size Uses VPN to connect to on-premises Platform for application integration, orchestration, API management, streaming analytics, B2B, MFT, Business monitoring Lift and shift from/to on-premise Access to WL Console, EM & filesystem Integrates with 40+ cloud applications and services a few technology adapters Depends on subscription. Minimal 2 connections metered or 6 when un-metered. 100.000 msgs / conn, 512kb payload size Uses on-premise agent that connects to cloud Platform for application integration (cloud and on-premise), orchestration, file transfer Created in the cloud, can be ex-/imported Access to ICS console and log files
8
TIP #2
9
9 Tip #2: What components to use? What If I want to lift and shift on-prem SOA Suite? I also need to control access on APIs? It depends… do you use both SB and SOA?
10
10 Tip #2: What components to use? I also need to control access on APIs? And if I want to securely send documents? B2B?or large files? What If I want to lift and shift on-prem SOA Suite? It depends… do you use both SB and SOA?
11
11 Tip #2: What components to use? What If I want to be able to track my orders?
12
Lift and Shift workload to the cloud
13
Few ways of deploying artifacts to the SOA Cloud Deploy SOA artifacts using the Fusion Middleware Control
14
Lift and Shift workload to the cloud Few ways of deploying artifacts to the SOA Cloud Deploy SOA artifacts using the Fusion Middleware Control Deploy Application artifact using the Weblogic
15
Lift and Shift workload to the cloud Few ways of deploying artifacts to the SOA Cloud Deploy SOA artifacts using the Fusion Middleware Control Deploy Application artifact using the Weblogic Server Console TIP: Deploy artifact using Maven and HTTPS Tunneling
16
TIP #3
17
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen
18
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen –Create new session in Putty to cloud
19
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen –Create new session in Putty to cloud –Configure auto-login with OPC user
20
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen –Create new session in Putty to cloud –Configure auto-login with OPC user –Configure SSL shell setting (Do not start)
21
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen –Create new session in Putty to cloud –Configure auto-login with OPC user –Configure SSL shell setting (Do not start) –Configure authentication based on private key
22
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Able through HTTPS tunneling –WLST can’t connect directly to remote SSL targets –Setup can be done using Putty or command line Steps to realize tunnel with Putty –Create putty private key using Puttygen –Create new session in Putty to cloud –Configure auto-login with OPC user –Configure SSL shell setting (Do not start) –Configure authentication based on private key –Configure SSL Tunneling
23
Tip #3: Deploy artifact using Maven and HTTPS Tunneling Use your existing Maven build scripts and even your build server > mvn pre-integration-test -DoracleServerUrl=http://localhost:8001 -DsarLocation=deploy/sca_TestService_rev1.0.sar -Doverwrite=true -DforceDefault=true -Dcomposite.partition=default -Duser=weblogic -Dpassword=welcomeOOW > cd \Development\Sources\Projecten\Openworld\MavenApp [INFO] ------------------------------------------------------------------------ [INFO] ORACLE SOA MAVEN PLUGIN - DEPLOY COMPOSITE [INFO] ------------------------------------------------------------------------ [INFO] [INFO] setting user/password..., user=weblogic INFO: Creating HTTP connection to host:localhost, port:8001 INFO: Received HTTP response from the server, response code=200 ---->Deploying composite success. [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building MavenApp 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] TestService........................................ SUCCESS [ 16.552 s] [INFO] MavenApp........................................... SUCCESS [ 0.016 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.587 s [INFO] Finished at: 2016-09-12T20:43:58+02:00 [INFO] Final Memory: 12M/245M [INFO] ------------------------------------------------------------------------
24
Tip #3: Deploy artifact using Maven and HTTPS Tunneling
25
TIP #4
26
26 Tip #4: Build and deploy with Developer Cloud Developer Cloud provides code revision control, issue tracker, agile board, wiki and build and deploy tools. It’s part of SOA Cloud Service subscription Currently Developer Cloud can run SOA maven builds Use it to deploy JEE applications
27
27 Tip #4: Build and deploy with Developer Cloud Developer Cloud provides code revision control, issue tracker, agile board, wiki and build and deploy tools. It’s part of SOA Cloud Service subscription. Currently Developer Cloud can run SOA maven builds Use it to deploy JEE applications SOA artifacts are not yet supported
28
Improve productivity and re-usability
29
Not to miss features in SOA CS Kickstart projects –Using SCA Composite & Servicebus template instead for building it twice the same Promote re-use of code –Create sub-processes inline of standalone without a needed service interface. Support mobile applications –Expose REST services that connect to existing business processes –End-to-end JSON and Javascript when calling external REST APIs
30
TIP #5
31
Tip #5: Kickstart projects using SOA templates Build-in template support to kick-start composite There are three types of templates –SOA Project, Component and Custom Activity template. Templates are fully editable –Once you apply them to composite or component it will be part of that All dependencies (e.g. partnerlinks) are part of the template Templates are visible if available in the template path –But there is also an import wizard available
32
32 Tip #5: Kickstart projects using SOA templates Project Templates –Create/load an entire project. –Accessible at creation of new project –Example: skeleton project with default adapters and mediators Component Templates –Create/load a component with all his dependencies. –Automatically discovered in the Components window (Composite editor) –Example: BPEL process with default invocations to common services. Custom Activity Templates –Contain variables and activities –Automatically discovered in the Components windows (BPEL Process editor) –Example: Default Fault handling scope
33
33 Tip #5: Kickstart projects using SOA templates Create Templates Consume Templates
34
TIP #6
35
35 Tip #6: Re-use of BPEL code using Sub-processes Sub-processes allow certain business logic to be made reusable There are two types; standalone and inline –Inline Sub-processes permits access to data (variables) of the parent process –With a standalone Sub-process the data needs to be assigned Improve performance (faster rendering of only entity in question) and Manageability (modular approach) of BPEL processes
36
36 Tip #6: Re-use of BPEL code using Sub-processes Inline sub-process VS Re-usable in the same BPEL process Part of the parent and not visible in composite view Visible under Activities view (component palette) Define parameters or use the parent parameters Activities should be part of scope to be converted New ‘call’ activity in BPEL to call a sub-process Reusable at run-time and can be parallel used. Only one copy is stored in the memory. Standalone sub-process Reusable by other BPEL processes. Visible in composite view, the wire to a sub- process is shown as a dotted line No interface, define parameters Created as separate component Only callable by another BPEL process using ‘call’ activity, but can have partnerlinks. Can’t be called from outside its own Composite. Recommendation: Always use standalone sub-processes because they are visible
37
Managing your environment
38
Not to miss features in SOA CS Resiliency –Circuit Breaker: resiliency when downstream services go down by suspending inbound services –Auto Purge: Old data past the retention point are scheduled to automatically be purged Performance –In-Memory SOA: Optimize performance and scalability by reducing database growth –Integration Workload Statistics: Diagnostic tool for analysing performance similar to DB AWR. Availability –Centered Error Hospital: EM is centered around exceptions instead of business as usual –REST APIs: Manage and monitor environment with large set of APIs
39
TIP #7
40
Tip #7: Suspend upstream services with Circuit Breaker Common problem: downstream service gets unavailable and cause instances to fail Fill up the error hospital Manual recovery can be difficult and time consuming Instances consume unnecessary resources Operational costs to recover are greater Potential instability of the system Tip: use circuit breaker to automatically suspend upstream inbound service
41
41 Tip #7: Suspend upstream services with Circuit Breaker
42
42 Tip #7: Suspend upstream services with Circuit Breaker
43
43 Tip #7: Suspend upstream services with Circuit Breaker
44
44 Tip #7: Suspend upstream services with Circuit Breaker 5 times
45
TIP #8
46
Tip #8: RESTful management APIs SOA Cloud include RESTful APIs for environment management (default enabled) Tip: use APIs for monitoring and deployment from outside public cloud console What Can You Monitor? Servers Clusters Applications Data sources What Can You Deploy? Applications –EAR, WAR, EJB-JAR The format resource URL: https://host:port/management/tenant-monitoring/path
47
47 Tip #8: RESTful management APIs Examples Get (all) server instance(s) data –/management/tenant-monitoring/servers –/management/tenant-monitoring/servers/{servername} Get (all) cluster(s) data –/management/tenant-monitoring/clusters –/management/tenant-monitoring/clusters/{clustername} Get (all) application(s) data –/management/tenant-monitoring/applications –/management/tenant-monitoring/applications/{appname} Get (all) datasource(s) data –/management/tenant-monitoring/datasources –/management/tenant-monitoring/datasources/{dsname}
48
48 Tip #8: RESTful management APIs Get server instance data –/management/tenant-monitoring/servers/oowsoa-j_server_1 { "name": "oowsoa-j_server_1“ "state": "RUNNING" "health": "HEALTH_OK" "clusterName": "oowsoa-j_cluster" "currentMachine": "oowsoa-j_machine_1" "weblogicVersion": "WebLogic Server 12.2.1.0.0 Tue Oct 6 10:05:47 PDT 2015 1721936" "openSocketsCurrentCount": 4 "heapSizeMax": 9544663040 "oSVersion": "3.8.13-68.2.2.3.el6uek.x86_64" "oSName": "Linux" "javaVersion": "1.8.0_91" "heapSizeCurrent": 5989466112 "heapFreeCurrent": 2289891480 }
49
49 Tip #8: RESTful management APIs Get application data –/management/tenant-monitoring/applications/soa-infra { "name": "soa-infra" "type": "ear" "state": "STATE_ACTIVE" "health": "HEALTH_OK" "targetStates": { "target": "oowsoa-j_cluster" "state": "STATE_ACTIVE" } "dataSources": [] "workManagers": [ { "pendingRequests": 0 "completedRequests": 0 "name": "SBDefaultResponseWorkManager" "server": "oowsoa-j_server_1" } {... } ] "minThreadsConstraints": [] "maxThreadsConstraints": [] "requestClasses": [] }
50
50 Tip #8: RESTful management APIs Get datasource data –/management/tenant-monitoring/datasources/mds-soa... { "server": "oowsoa-j_server_1" "state": "Running" "prepStmtCacheAccessCount": 4 "connectionsTotalCount": 652 "highestNumAvailable": 3 "waitSecondsHighCount": 0 "waitingForConnectionHighCount": 0 "VersionJDBCDriver": "oracle.jdbc.OracleDriver" "waitingForConnectionTotal": 0 "currCapacityHighCount": 3 "numUnavailable": 0 "prepStmtCacheHitCount": 3 "failedReserveRequestCount": 0 "waitingForConnectionCurrentCount": 0 "connectionDelayTime": 433 "waitingForConnectionFailureTotal": 0 "numAvailable": 1 "prepStmtCacheAddCount": 1 "activeConnectionsAverageCount": 0 "leakedConnectionCount": 0... }
51
Ask Robert
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.