Agile SOA: Is it possible?

advertisement
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
Bradley D. Brown - Background
• 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
The Problem Set
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
Agile Provides QUICK Results
• 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!
“Two Pillars” of Scrum
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?"
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
Sprinting…
• 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
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
What is a Service?
• 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 Web 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 reuse)
• SOA – Same Old Architecture
– Reuse existing code, data, etc.
What’s a Powerful / Flexible 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
SOA Overview
Composite
Apps
Business
Processes
Retrieve
Data
Verify
Details
Order
Entry
Order
Review
Approve
Order
Initiate
Shipment
Order Management
Business
Service
Orchestration
Customer
Information
Order
Management
Order
Compensation
Data Services
Legacy
Systems
Customer
Data
Customer
Interaction
Customer Data
CRM
Order
History
ERP
Order
Policy
Orders
Shipment
Logistics
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
Why is Data Important?
Story 1
Story 2
Story 3
Consuming Technologies
Services
Data Sources
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
Start
UI Design
Translate
to exact data
needed for a page
Engage Data Architect for Cache Tables and views
Make changes necessary
Finish
Validate Presentation with Sponsor
Develop ApEx
pages using
data delivered
via Web Service
Develop Web Services
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
Business-to-Business
• Typical customer
interaction
• Looks like their
systems
• It is there system
• Calls Web Service
to look up value
The Results…
• Results are
returned and used
accordingly
• Fit into business
flow however they
wish
Send a Text to HOUSE
• c
Complete Application via Services
Drank My Own Champaign…
• Write the logic once
• Use it everywhere
Power of WOA
• Hosted elsewhere…
• Google App Engine
• Google Mashup
• Yahoo Pipes
The Problem Solved
Keys to Success
• 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
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
Brad’s Papers and Presentations
• 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
•
•
•
•
•
•
•
•
Practical Portal Practices
Implementing JSP in Portal
UltraSearch
Search Engines
Utl_smtp and Utl_http
iFS
JavaScript
Top DBA scripts for Web
Developers
• Security
Other TUSC Presentations and Papers
TUSC On-Demand Presentations can be found at
www.tusc.com/briefing
• Tuning
– Database
– SQL
– Applications
•
•
•
•
Security
Migrations
Discoverer & BI
Built-in Packages
•
•
•
•
•
•
•
•
PL/SQL
New Features
Forms, Reports
Designer
Team Management
Uncommon Leaders
Workflow
DBA topics
Copyright Information
• 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!
Download