Recession-proof your Company with SOA

gabonesedestructionDéveloppement de logiciels

17 févr. 2014 (il y a 3 années et 6 mois)

83 vue(s)

Recession
-
proof your Company


with SOA

Bradley D. Brown

Rolta TUSC, CTO

Agenda


Problem Set


Agile, Agile, Agile


SOA


Applying Agile to SOA


Team


Technology


Actual Projects


People


Technology


TUSC (since 1988)


Chief Technology Officer, Founder


SOA Center of Excellence GM


Start
-
ups


University of Denver


Graduate Class


New Venture Creation


User Groups


OOW, IOUG, ODTUG, LAOUG, RMOUG, etc.


Oracle Fusion Middleware Director/ACE


IOUC Fusion Council


5 books for Oracle Press, 100s of presentations

Bradley D. Brown
-

Background

The Problem Set


Today's Turbulent Economy


Ability to Rapidly Modify Service Offerings


SOA Can Reduce Development Efforts


Easier Integration


Achieves Agility


Historical SOA Big Bang is Bad


Agile SOA is the Key to Your Success


Rapid Results and ROI


Lower TCO


Weeks vs. Months

The Problem Set


Short iterations allow your customer to
see what they are asking for quickly


It does not imply a lack of design, rather
it’s more like stacking the deck


Agile provides a constant backlog of
“ready to develop” tasks


Agile will highlight your weaknesses
(processes, people, planning, etc.)


Team wants to be together more


You’ll see results every day!


Agile Provides QUICK Results


Team empowerment :



Once teams are given work to do, they are responsible for figuring out how to do it.


The team does the best it can during each increment.


While a team works, their only interaction with management is to tell management what is
getting in their way and needs to be removed to improve their productivity.



Adaptability :



Scrum uses "punctuated equilibrium".


The team maintains an equilibrium during each increment, insulated from outside disturbance.


Increments are punctuated at the end of every sprint so that the team and management can
evaluate what should be done during the next increment; this decision is based on what the team
has accomplished and what the environment dictates is the next most important thing to do.



Once Scrum is underway, teams and management find it easy to focus. Every request is
easily evaluated by,

"What's that got to do with delivering the code?"

“Two Pillars” of Scrum

What is Agile?


Welcome to Nascar


Individual Interactions



(over processes and tools)


Working Software


(over comprehensive documentation)


Customer Collaboration


(over contract negotiation)


Responding to Change


(over following a plan)


Agile Operational Overview


Sample Sprint Agenda



Opening, Welcome, Intros, Agenda


Product Vision & Roadmap


Development Status, Architecture,
Previous Sprint


Velocity In Previous Sprints


Team


Availability and Capacity


“Done” Review Definition


Product Backlog: Review and Select


Tasking Out


Estimates


Ownership


Challenges


Dependencies


Risks


Review: Capacity Required


Review: Risks & Mitigations


COMMIT!


Parking Lot, Action Items


Close


Sprinting…

What is SOA?


Telephone Anyone?


Standard way to work with other devices


Standard way to plug in anywhere


My phone works at your house


A phone from overseas can work here with an adapter


Standard way to address other systems (703
-
555
-
1212)


“Architecture” enriches experience with additional services


Caller ID


Voicemail


Call Waiting


Additional features can be added (and ignored)


Vendor Independent


Doesn’t matter what kind of phone I have


Doesn’t matter how old my phone is


Program (Procedure, Function, Method) or
Query


Requires inputs


Provides outputs


Something already in existence


Written in a specific language


Runs on a specific platform

What is a Service?


Open Standard for an API


Application Programmer Interface


Run a program on another server without knowing
the OS, Hardware, Language, etc.


Uses SOAP, XML, WSDL as protocols/standards


Makes it very easy for you to securely expose
data or business logic for others to use (and re
-
use)


SOA


Same Old Architecture


Reuse existing code, data, etc.

What is a Web Service?


Do you have SOA MBOs?


Focus on quality, not quantity


Reuse


More reuse = More ROI


Reuse means people need to be able to find
services too


Performance


Flexibility


Building an open API that provides dynamic
services provides a powerful service architecture


What’s a Powerful / Flexible Service?

SOA Overview

Legacy
Systems
Customer
Data
Customer
Interaction
Order
History
Order
Policy
Shipment
Business
Service
Orchestration
Customer
Information
Order
Management
Order
Compensation
CRM
ERP
Customer Data
Orders
Logistics
Composite
Apps
Business
Processes
Retrieve
Data
Verify
Details
Order
Entry
Order
Review
Approve
Order
Initiate
Shipment
Order Management
Data Services
Legacy
Systems
Customer
Data
Customer
Interaction
Order
History
Order
Policy
Shipment
Legacy
Systems
Customer
Data
Customer
Interaction
Order
History
Order
Policy
Shipment
Business
Service
Orchestration
Customer
Information
Order
Management
Order
Compensation
Business
Service
Orchestration
Customer
Information
Customer
Information
Order
Management
Order
Management
Order
Compensation
Order
Compensation
CRM
ERP
Customer Data
Orders
Logistics
CRM
ERP
Customer Data
Orders
Logistics
Composite
Apps
Business
Processes
Retrieve
Data
Verify
Details
Order
Entry
Order
Review
Approve
Order
Initiate
Shipment
Order Management
Composite
Apps
Business
Processes
Retrieve
Data
Verify
Details
Order
Entry
Order
Review
Approve
Order
Initiate
Shipment
Order Management
Data Services
Agile SOA

Team

Team Composition


Project People


Scrum Master


Project Owner


Sponsor


Technical People


Architect/Designer


User Interface


Application


Data


Developers


User Interface


Application


DBA/Database


Team Highlights


Project Owner


Block Scope Creep!


Maintain Vision!


Know when done done!

Team Highlights


Data Architect/Developer


Integral part of the team!


Not part
-
time resource!


Most important resource!


Sponsor


Work closely with team!


Available for feedback daily!


Committed to project
completion!

Agile SOA

Technology

SOA Reference Architecture

How does this fit into Agile?

Hmmm… Good Question

What to Remember…


You don’t have to do it all at
once!


Start small!


Initial projects


few web
services


Application server


Security


Think Agile…


Grow larger!


More Web services


Application server


Security


Testing tools


Activity monitoring and
management


Load Balancing/High
Availability


Life Cycle Management


SOA metadata management


Policy Management and
Enforcement


What else you have to Remember…


SOA is not ONLY about middleware!


Data is just as important… Maybe more!



Keys


Data Translation


Data Transformation


Data Aggregation

Consuming Technologies

Services

Data Sources

Story 1

Story 2

Story 3

Why is Data Important?

Example:

Business KPI Dashboard

Background


CEO, CIO, VPs looking for real
-
time visibility
into identified business KPIs


Current: Semi
-
Monthly reports run and compiled
into Excel Spread Sheets and distributed via Email
manually


New: Web application available 24/7 with current
and historical data, user configurable, single
source for important business information

Technologies


Data Sources


3 Oracle systems


EBS R12, 2 proprietary systems


Excel Spread Sheets


SalesForce.com


Application Layer


Oracle Application Server


Application Express


iPerspective

Manual Web Service Creation


SDO


Service Data
Object


CRUD for
Tables/Views


Technical Service


Package


Limited Functionality


Doesn’t work for


Overloaded


In
-
out


Inline records



Choose an IDE


JDeveloper


Eclipse


NetBeans


Etc.


Write Your Services


Wizards


By Hand


Good “Step
-
by
-
Step”
presentation on this
topic


entire
presentation alone

iPerspective

Create a Complex Service


Name Your Service


Type (or paste) Your SQL
Statement, Test


Choose the Release(s) to
include the object into


Deploy the Release


You’re Done!

Architecture

Initial Design

Team Organization


Scrum Master


Technical Lead


Architects/Developers


Apex Developers


Web Services/iPerspective Experts


Part
-
time Data Architect


Sponsor

Delivery Strategy


Deliverable became entire pages


Delivered an entire set of pages per iteration


1 application page per developer


Data architect to deliver needed data per
page each iteration


Technical lead to configure shared
components and combine webservices for
dashboard page


Page Architecture


Data translation,
transformation, and
aggregation all left in
the DB


Limited amount of data
transferred via web
services


Split application into
pages and delivered
specific pages in an
Iteration

Sample Page

Iterations

Translate

to exact data

needed for a page

Engage Data Architect for Cache Tables and views

UI Design

Develop Web Services

Develop ApEx

pages using

data delivered

via Web Service

Validate Presentation with Sponsor

Make changes necessary

Start

Finish

Important Points


Time Consuming Steps


UI Design


Web Services Design


Database Development


Reuse components where possible


Use dynamic information wherever possible


Leave as much data processing to the data
sources



Another

Real World Example

Real Estate Intelligence


Typical customer
interaction


Looks like their
systems


It is there system


Calls Web Service
to look up value

Business
-
to
-
Business


Results are
returned and used
accordingly


Fit into business
flow however they
wish

The Results…


c

Send a Text to HOUSE


Complete Application via Services


Write the logic once


Use it everywhere


Drank My Own Champaign…


Hosted elsewhere…



Google App Engine


Google Mashup


Yahoo Pipes


Power of WOA


Ability to Rapidly Modify Service Offerings


SOA Can Reduce Development Efforts


Easier Integration


Achieves Agility


Interchangeable (abstraction, loose coupling)


Agile SOA


Rapid Results and ROI


Lower TCO


Weeks vs. Months

The Problem Solved

Keys to Success

Summary


Problem Set


Agile, Agile, Agile


SOA


Applying Agile to SOA


Team


Technology


Actual Projects


People


Technology

Questions?

More Information

Bradley D. Brown


brownb@tusc.com

http://www.tuscsoftware.com

http://bradleydbrown.blogspot.com



Java
-
based Oracle Web
Development


Java Server Pages


JavaMail


Java for the PL/SQL Developer


Web Cache


achieving 150 the
performance


9iAS Installation, Configuration,
and Tuning


Wireless


Brad’s Papers and Presentations


Practical Portal Practices


Implementing JSP in Portal


UltraSearch


Search Engines


Utl_smtp and Utl_http


iFS


JavaScript


Top DBA scripts for Web
Developers


Security



Tuning


Database


SQL


Applications


Security


Migrations


Discoverer & BI


Built
-
in Packages


Other TUSC Presentations and Papers


PL/SQL


New Features


Forms, Reports


Designer


Team Management


Uncommon Leaders


Workflow


DBA topics


TUSC On
-
Demand Presentations can be found at
www.tusc.com/briefing


Neither Rolta TUSC nor the author guarantee
this document to be error
-
free. Please provide
comments/questions to
bradley_d_brown@tusc.com.


Rolta TUSC © 2010. This document cannot be
reproduced without expressed written consent
from an officer of Rolta TUSC.


Thanks to Laura Sprowls and Chris Klein for
many of the slides in here!


Copyright Information