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
• 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)
• 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
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
• 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!
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?
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!
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
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
• Typical customer interaction
• Looks like their systems
• It is there system• Calls Web Service
to look up value
Business-to-Business
• 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