Continuous Integration For Fusion Middleware Mark Nelson, Architect Robert Wunderlich, Product Management Fusion Middleware September 30, 2014 CON7627
Safe Harbor Statement 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.
Two sessions on Continuous Integration this year This session will focus on talking about what we have today, what we are thinking/planning for tomorrow, and hearing your feedback. CON7578 (Moscone South 302, 10/2/14, 14:30-15:15) will focus on showing you what we can do today with Maven, Hudson, etc., with a focus on SOA
Program Agenda 1 2 3 4 5 Why Continuous Integration What you can do today (12.1.2, 12.1.3) Announcement Roadmap (your chance to give feedback) Other sessions you might want to attend
Why Continuous Integration
Why continuous integration Why we are investing in CI support We are seeing more interest from customers every year We want it to be easy to create, test, deploy and manage FMW applications We want to make FMW application development consistent We want to enable you to use modern, common, popular tools and practices for FMW application development
What you can do today
Maven Support in FMW 12c Build Automation and Dependency Management We introduced Maven support in 12c, including: Maven plugins to build applications Maven archetypes to create new projects Maven POMs for libraries needed to compile, package, test and deploy applications Maven POMs for libraries needed by client applications Maven synchronization plugin to populate Maven repositories Enhanced Maven support in JDeveloper Dedicated documentation
Maven Support in 12c Product Coverage WebLogic Server ADF Coherence SOA Suite (and BPM) Service Bus Capabilities Create project Compile Package Test Deploy
WebLogic Maven plugin enhancements WebLogic Maven plugin provides extra capabilities today: Web Services (WSDL Java) appc WLST Manage applications (start/stop/list/distribute/update/etc.) Manage servers (start/stop/etc.) Create and remove domains Install WebLogic Server Future enhancements to WLST to allow you to run online WLST commands without a local Oracle Home Allows you to run WLST on a build server without WLS/SOA/etc. installed on it Custom WLST commands packaged in JARs so they can be consumed directly from a Maven repository
Announcement
Announcing the OTN Maven Repository Will allow developers to create, compile, test, package and deploy FMW applications without needing to first install a FMW server Oracle Home to obtain the dependencies
Our roadmap Your feedback
Roadmap Please provide feedback what do you want us to deliver? Maven Support Add more product coverage, e.g. WebCenter Portal, MAF Remove dependency on IDE or server Oracle Homes on the build server Add more detailed cross-product examples to the documentation OTN Maven Repository Gradle Support The current Maven support works with Gradle, except for the plugins Do you want us to deliver Gradle plugins?
Roadmap Please provide feedback what do you want us to deliver? Shift focus from continuous integration to continuous delivery Support/demonstrate how to use build pipelines (Hudson/Jenkins/Go/etc.) Add quality inspection capabilities (Sonar/etc.) Add acceptance testing capabilities (Robot/etc.) Add provisioning capabilities (Chef/Puppet/etc.)
Roadmap Please provide feedback what do you want us to deliver? Acceptance testing Provide a consistent test framework (Robot) with extensive integration into: CI servers (Hudson/Jenkins/Go/etc.) Test runners (JUnit, Selenium, SOAPUI, etc.) Provide Robot plugins for FMW products Provide better test harness capabilities To generate test cases automatically (edge cases, etc.) To drive test execution (process Human Tasks, invoke processes, enqueue messages, etc.) To get detailed (audit) information about what happened during execution (composite audit trail, etc.) and allow assertions about this information (e.g. notification activity x was executed at least once)
Roadmap Please provide feedback what do you want us to deliver? Quality inspection Provide consistent tools for static code analysis across FMW projects Currently we have some capability in things like ojaudit, code compliance inspector, etc. Support build once precept Provide mechanisms to target a binary to a particular environment Externalize environment specific configuration Move to standard JEE packaging (e.g. ADF)
Roadmap Please provide feedback what do you want us to deliver? Provisioning Make it easier (and more consistent) to create FMW environments automatically Using common tools like Chef and Puppet Document how to create domains using WLST for all products (e.g. SOA) Do you want us to support things like Docker, etc?
Other sessions you might like
Other sessions you might like CON7578 How Continuous Integration Helps You Get Your SOA Under Control Moscone South - 302 10/2/14, 14:30-15:15 More detailed that this session with demos, focus on SOA CON7629 Provisioning Oracle Fusion Middleware Environments with Chef and Puppet Moscone South - 236 10/2/14, 10:45-11:30 With Edwin Biemond