recession-proof your company with soa bradley d. brown rolta tusc, cto

53
Recession-proof your Company with SOA Bradley D. Brown Rolta TUSC, CTO

Upload: lorena-cross

Post on 17-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Recession-proof your Company with SOA

Bradley D. BrownRolta 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

CustomerInformation

OrderManagement

OrderCompensation

CRM ERPCustomer Data Orders Logistics

Composite Apps

Business Processes

RetrieveData

VerifyDetails

OrderEntry

OrderReview

ApproveOrder

InitiateShipment

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

CustomerInformation

OrderManagement

OrderCompensation

Business Service Orchestration

CustomerInformationCustomer

InformationOrder

ManagementOrder

ManagementOrder

CompensationOrder

Compensation

CRM ERPCustomer Data Orders LogisticsCRM ERPCustomer Data Orders Logistics

Composite Apps

Business Processes

RetrieveData

VerifyDetails

OrderEntry

OrderReview

ApproveOrder

InitiateShipment

Order Management

Composite Apps

Business Processes

RetrieveData

VerifyDetails

OrderEntry

OrderReview

ApproveOrder

InitiateShipment

Order Management

Data Services

Agile SOATeam

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 SOATechnology

SOA Reference ArchitectureHow 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 TechnologiesConsuming Technologies

ServicesServices

Data SourcesData 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 CreationManual 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

iPerspectiveiPerspective

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 ApExpages 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

AnotherReal 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 SolvedKeys to Success

Summary

• Problem Set• Agile, Agile, Agile• SOA• Applying Agile to SOA

– Team– Technology

• Actual Projects– People– Technology

Questions?

More InformationBradley D. Brown – [email protected]

http://www.tuscsoftware.comhttp://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 [email protected].

• 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