CON8595_Wunderlichx - ACTIVEevents.com

crookpatedspongySoftware and s/w Development

Dec 2, 2013 (3 years and 4 months ago)

133 views

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

1

How Oracle Enterprise
Repository and Continuous
Integration Drive Your SOA
SDLC

Scott
Nieman

-

Enterprise Architect, Land
O’Lakes

Robert Wunderlich
-

Sr. Principal Product
Manager, Oracle


Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

3

Program Agenda


Continuous Integration


What, Why, How


Experience at Land O’Lakes


Questions and Answers

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

4

What is Continuous Integration?

1

2

3

4

Single
-
source repository

Self
-
testing builds

Frequent builds

Visibility

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

5

Why use Continuous Integration?

Key to agile development

Find and fix issues early

Latest stable build

More frequent testing

More visibility

Better code at less cost

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

6

Development Cycle

Find
Bugs

Build

Develop

Test

Check
Out

Check

In

Yes

No

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

7

Integration Cycle

Integrate

Fix Defects

Regression
Test

Find Defects

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

8

Deployment Pipelines


Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

9


Oracle SOA Suite and Oracle
Enterprise Repository works
well with open source offerings
such as Apache Maven,
Subversion and Hudson


You can use other products for
source control, CI management,
and build if you choose


Example of Software to set up Continuous
Integration

Solutions

How Oracle Enterprise Repository
and Continuous Integration Drive
Your SOA SDLC

Scott Nieman

Enterprise Architect
-

Integration

Sampath Kurra

Fusion Middleware Developer

Copyright ©
2013.
All rights reserved.

Land O’Lakes, Inc. today


~10,000
employees


3,200
direct producer
-
members and
1,000
member
-
cooperatives


Serve +
300,000

agricultural producers


300+
facilities in the U.S
.



3

diversified businesses


Annual revenue
+
$14
billion


Goal to
double revenues and increase
international growth
in the next 10 years

Copyright ©
2013.
All rights reserved.

Animal nutrition and feed

Agriculture services,
crop inputs

Dairy foods

An operating company with
three
diversified businesses

Copyright ©
2013.
All rights reserved.

FMW Evolution at Land O’Lakes


SOA Suite 10g:


Custom
Jython

deploy tool; from
Team Foundation Server to single AIA
domain


M
anaged
deployment requests using
Sharepoint


SOA Suite 11g PS2: same process


FMW PS5: expanded multiple domains and FMW tools


L
everaged Hudson/ Subversion


K
icked the tires on
Oracle Enterprise
Repository with Rapid Start program


PS6: ramping up OER, planning for 12c and beyond

Copyright ©
2013.
All rights reserved.

Fusion Middleware Runtime Environment


AIA/B2B (SOA Suite 11g PS5, plus AIA
fp
) (6 node cluster)


Direct (
SOA Suite 11g
PS5 only)
(6 node cluster
)


Oracle Service
Bus
(4
node cluster)


Oracle Data Integrator (single node


kicking tires)


Business Process Management
(6 node cluster
)


Business
Activity Monitoring
(2
node cluster
)


Business Transaction Management (single node )


Oracle Enterprise Management Cloud Control (OEM12c)



Copyright ©
2013.
All rights reserved.

FMW Physical Architecture (
Env
: DEV, QA, Prod)

AIA/B2B

Direct

BAM

BPM

ODI

OSB

F5

OER

BTM

OEM12c

Exadata

OSR

Hudson SVN

Copyright ©
2013.
All rights reserved.

Continuous Integration
(Build) Server


Hudson


Run Jobs (ANT, Maven/WLST)


Build / Deploy
; varies based on technology;
SVN tag/build number in custom table


Not using SVN triggers


Subversion (SVN)


source of truth for code


Multiple code repositories, per WLS domain


Tag code, branch, merge


Folders match SOA partitions, OER classifications


Oracle Enterprise Repository PS6 (an evolution for LOL)


Governance: Project/ Asset/ Business Application inter
-
dependencies


Incorporate as key part of our software development lifecycle;
system of record


Copyright ©
2013.
All rights reserved.

Build Capabilities


OSB


Jython

=> ANT/ WLST


AIA Composite


ANT => AID


Direct Composite
-

ANT


BPM


ADF


Maven/ANT


Composite
-

ANT


To do:


B2B SelfService.xml (challenging)
-

ANT


Incorporate Harvester during build; in progress

Copyright ©
2013.
All rights reserved.

SOA/ OSB/ BPM deployments

Copyright ©
2013.
All rights reserved.

AIA Deployments

Copyright ©
2013.
All rights reserved.

Demo Hudson

Copyright ©
2013.
All rights reserved.

Hudson Build History

Copyright ©
2013.
All rights reserved.

Console Output

Copyright ©
2013.
All rights reserved.

Build Parameters

Copyright ©
2013.
All rights reserved.

Managing Builds

Copyright ©
2013.
All rights reserved.

Oracle Enterprise Repository

Copyright ©
2013.
All rights reserved.

Governance Goals with OER and BPM


Capture project
-
related information
throughout the SDLC


Manage the SDLC
using BPM from concept to code


Replace RICE spreadsheets (Reports, Integrations, Customizations, Enhancements)


Code visibility; which environment does code exist


Improve ROM
estimates
by leveraging
SDLC metrics
stored/referenced in OER


Manage
inter
-
dependencies

between assets (what
-
if scenarios)


Classification and categorization
of assets


Discovery of reusable assets
during project inception/design phases


Service / Integration
polices

including SLA, access, code compliance


System of Record
(not to be confused with Source of Truth for code)


Copyright ©
2013.
All rights reserved.

OER PS5 Rapid Start Challenges


Project Lifecycle Workbench and OER Project were over lapping


Oracle Business Process Management Suite 10g used not BPM 11g; ‘all
-
nighter’ to get installed and configured


OEM12c metric collection was not compatible with OER 11g PS5


Harvester was not capable using F5 load
balancer; needed to target one
managed server in the cluster


Software File Identifier was
causing duplicating assets
vs.
BPM flow or
updating
Asset Lifecycle Stage
(which
was not available at the time
)


PS5 project added new tools to the tool chest; revamped most of our
integrations to use OSB and separate Direct
soa
-
infra domain


Prompted us to focus on
OER planning to align with Oracle Roadmap

Copyright ©
2013.
All rights reserved.

Long Term Governance Direction

OER; full SDLC

SVN

Hudson/Maven

maven
-
soapui
-
plugin

b
inary repository

BPM

SDLC

ServiceNow
/

CMDB

Change Management

Incident Management

PPM

UML

IDE

Design Documents

Custom Python script generator

Inception

Arch/Desig
n

Code

Deploy / Govern

Execute

Monitor

BTM

OEM12c

Copyright ©
2013.
All rights reserved.

Execution of OER Plan


Clean install of OER PS6


Model FMW SDLC using BPM Studio


Understand what capabilities exist in OER today and leverage what we
can to gain value


Understand OER Event Manager to advance state in BPMN process
representing SDLC


Extend OER using Asset Editor


Harvest as
-
is code in production


Build BPMN process (and sub
-
processes)


Work closely with Oracle

Copyright ©
2013.
All rights reserved.

Software Development Lifecycle


Iterative build out of capabilities using BPM Suite 11g / ADF


Roles: Enterprise Architect/ Solution Architect / Developer

Copyright ©
2013.
All rights reserved.


OER 11g capabilities to date


OER assumes completed code; ‘Abstract Assets’ possible

Current Capabilities from Oracle

OER 11g/ Hudson/
Harvester

Copyright ©
2013.
All rights reserved.

Expanded View


Architect View (
~
PLW)

OER

Art
-
form

Copyright ©
2013.
All rights reserved.

Application Integration Readiness Assessment

Architectural Principle: SOA
-
based capabilities with Events

Copyright ©
2013.
All rights reserved.

Expanded View


Development View


Integration Process (‘flow’) comprised of multiple Integration
Components, often times different FMW technologies


Likely implemented as a BPMN sub
-
process / component

OER

CCI

Copyright ©
2013.
All rights reserved.

Expanded View

Test View

OER

OER

Copyright ©
2013.
All rights reserved.

Expanded View

Production View

OER

Copyright ©
2013.
All rights reserved.

OER Event Manager with OOTB HTTP
Notifier

How to advance ‘state’ in BPM process

OER

BPM 11g

Copyright ©
2013.
All rights reserved.

OER Event Manager with JMS
Notifier

OER

BPM 11g

Hudson

Swap

ActiveMQ

With

WLS JMS

Copyright ©
2013.
All rights reserved.

Model Asset Lifecycle

Stages


OER provides a starting point


Map to existing OER
capabilities


OER wants completed code


Looking at Project
-
based stages:
Inception, Estimated, Specified


GOAL: Replace ‘RICE’
spreadsheet


Date Started, Completed


Unit Test, SIT, UAT stats

DEV

QA

Prod

Copyright ©
2013.
All rights reserved.

Lifecycle Stages

Copyright ©
2013.
All rights reserved.

OER Asset Editor


Our usages


Asset Types


Used those defined by Solution Packs


Import ONLY AIA, else duplicates


Categorizations


‘Asset function’; extended to match UML Stereotypes


Changed ‘Domains’ to ‘Business Process Areas’; extended


Lifecycle Stages; match to our
SDLC


Added ‘Lines of Business’; match our organization structure


Relationships: one of the strongest features of OER


out
-
of
-
box OK



so far

Copyright ©
2013.
All rights reserved.

Examples

Copyright ©
2013.
All rights reserved.

More

Copyright ©
2013.
All rights reserved.

Categories set in ANT
repository.submit

Task

<
repository.submit

repositoryurl
="http://server.example.com:8080/
oer
"

repositoryusername
="
myuser
"
registrypassword
="*****"
settingsFile
="../LOLHarvesterSettings.xml">

<
remoteProjects

uri
="http://mywlsserver:7001" username="admin" password="*****"
serverType
="
SOASuite
"
soaPartition
="${
partiton
}">

<
projectName
>ShipmentEBS_rev1.0</
projectName
>

<
projectName
>RequestShipmentOTM627ReleaseProvABCS_rev2.0</
projectName
>

</
remoteProjects
>

<
applyCategorization

type='
LineOfBusiness
' value='Enterprise'
applyToExistingAssets
='true'
/>

<
applyCategorization

type='
BusinessProcessArea
' value='Transportation'
applyToExistingAssets
='true' />

</
repository.submit
>

Copyright ©
2013.
All rights reserved.

Line of Business Categorization:

AIA Canonical Pattern

Enterprise

Purina

Dairy

Winfield

Copyright ©
2013.
All rights reserved.

Business Application metadata in OER


Application Integration Readiness Assessment captures:


Service Interfaces


Interface tables


Internal Queues and Type (AQ, JMS)


File formats; older applications


Event
Model


XSDs


Methods: Workflow
-
based, Aspect
-
Oriented, Trigger
-
based


Weblogic

JNDI references; Configuration Items


Data Sources


JMS Queues/ SAF


JCA Adapter Outbound Connection Pools


Copyright ©
2013.
All rights reserved.

Troux Integration for EA Governance

Functional Capabilities related to Services/ Integrations in OER

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

48

Graphic
Section Divider

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

49

Session ID

Session

Title

Date/Location

HOL10048

Continuous Integration Techniques to Support your
SOA Software Development Lifecycle

Thursday 9/26 12:30PM


1:30PM Marriott
Marquis


Salon 12/13

Related Sessions

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

50

Copyright

©

2013, Oracle and/or its affiliates. All rights reserved.

51