NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
1
© 2006 Donald Ferguson
04-Jul-2006
Next Generation IT Systems 2006 –An Enterprise Perspective
Dr. Donald F. Ferguson
IBM FellowChief Architect, IBM Software GroupChair, SWG Architecture BoardCo-Chair, IBM Asset Architecture [email protected]
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
2
© 2006 Donald Ferguson
04-Jul-2006
Contents
• This is an enterprise perspective– What are a few trends in our industry?– What are the implications for IT in medium and large enterprises?
• Due to time, the presentation has a limited focus – What will happen next. Not general long-term predictions.– Selective, and will not cover many other trends.
• Two related, major trends that interest me– SOA and Web services evolution– Everyone can program situational applications
• Some additional next generation IT system trends
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
3
© 2006 Donald Ferguson
04-Jul-2006
E01-EDI
Data Warehouse(Interfaces to and from the
Data Warehouse are notdisplayed on this diagram)
G02 - GeneralLedger
A05 - AP
S01 - SalesCorrections
I01 POReceiving
I03 Return toVendor
I06 WarehouseManagement
MainframePC/NT apps Unix apps3rd Party Interface
S06 - Credit App
P15 EES EmployeeChange Notice
OTHER APPS - PCAP - Collections/Credit
TM - Credit Card DB
ACCTS REC APPS - PC990CORBad Debt
Beneficial FeesBeneficial Reconcile
JEAXFJEBFAJEBKAJEDVAJESOAJEVSAJEVSFNSF
TeleCredit Fees
INVENTORY CONTROL APPS - PCCode Alarm
Debit ReceivingsDevo Sales
Display InventoryIn Home
JunkoutsMerchandise Withdrawal
Promo CreditsRTV Accrual
ShrinkAP Research - Inv CntrlAP Research-Addl Rpts
Book to Perpetual InventoryClose Out Reporting
Computer Intelligence DataCount Corrections
Cross Ref for VCB DnldsDamage Write OffDebit Receivings
DFI Vendor DatabaseDisplay Inventory ReconcileDisplay Inventory Reporting
INVENTORY CONTROL APPS - PCDPI/CPI
IC BatchingInventory Adj/Count CorrectInventory Control Reports
Inventory LevelsInventory Roll
Merchandise WithdrawalOpen ReceivingsPI Count Results
PI Time Results from InvPrice Protection
Sales Flash ReportingShrink Reporting
SKU Gross MarginSKU Shrink Level Detail
USMVCB Downloads
Journal Entry Tool Kit
Scorecard - HR
L02-ResourceScheduling(Campbell)
P09 - P17Cyborg
M02 - Millennium
M03 - Millennium 3.0
Banks - ACH and Pos toPay
Cobra
B01 - StockStatus
S03-Polling
P14 On-line NewHire Entry
CTS
Plan Administrators(401K, PCS, Life,
Unicare, SolomonSmith Barney)
D01 Post LoadBilling
I04 HomeDeliveries
I02 -Transfers
Arthur Planning
I07 PurchaseOrder
I12 EntertainmentSoftware
I05Inventory Info
E13E3 Interface
S04 - Sales Posting
V01-Price ManagementSystem
I10 Cycle PhysicalInventory
I55 SKUInformation
K02Customer Repair
Tracking I35 Early WarningSystem
B02 MerchandiseAnalysis
I13- AutoReplenishment
U18 - CTO
Intercept
I09 Cycle Counts
E02-EmployeePurchase
Texlon 3.5
ACH
Stock Options
I17 Customer PerceivedIn-Stock
U16-Texlon
SiteSeer
C02 - CapitalProjects
F06 - FixedAssets
US Bank ReconFile
Star Repair
EDICoordinator
Mesa Data
NEW SoundscanNPD Group
AIG Warranty Guard
Resumix
Optika
Store BudgetReporting
P16 - Tally Sheet
Cash Receipts/Credit
S05 - HouseCharges
Ad Expense
L01-PromoAnalysis
V02-PriceMarketingSupport
BMP - Busperformance Mngt
StoreScorecard
I11 PriceTesting
Valley Media
P09Bonus/HR
I15 Hand ScanApps
Roadshow
POS
S08 - VertexSalesTax
A04 - CustRefund Chks
Equifax
ICMS Credit
CellularRollover
S09 - DigitalSatelliteSystem
NPD,SoundScan
Sterling VANMailbox (Value)
I18SKU Rep
X92-X96Host to AS400
Communication
S02 -Layaways
Washington,RGIS,
Ntl Bus Systems
V04-SignSystem
I14 Count CorrectionsNARM
P01-EmployeeMasterfile
I06 - CustomerOrder
FrickCo
UAR - Universal AccountReconciliation
DepositoryBanks
S07 - CellPhones
S11 - ISPTracking
AAS
Fringe PO
Cash Over/Short
L60 MDFCoop SKU Selection
Tool
SKUPerformance
SupplierCompliance
1
I35 - CEIASIS
Misc Accounting/Finance Apps - PC/NTCOBA (Corp office Budget Assistant)
PCBS(Profit Center Budget System)Merchandising Budget
AIMSMerch Mngr Approval
Batch ForcastingAd Measurement
AIMS Admin
AIMSReportingAd
Launcher
V03- MktReactions
SpecSource
CTO2.Bestbuy.com
RebateTransfer
SignSystem
CopyWriter'sWorkspace
ELTPowerSuite
StoreMonitor
AIS Calendar
Stores & Mrkts
Due Dates
Smart Plus
InsertionsOrders
BudgetAnalysis Tool
Print CostingInvoice App
AIS Reports
BroadcastFilter
Smart PlusLauncher
GeneralMaintenance
Printer PO
PrinterMaintenance
VendorMaintenance
Vendor Setup
Connect 3
Connect 3Reports
Connect 3PDF Transfe
Spec SourceSKU Tracking
S20-SalesPolling
Prodigy
PSP
In-HomeRepair
WarrantyBillingSystem
Process Servers(Imaging)
Prepared by Michelle Mills
Example: Complexity is Forcing Change
Actual Application Architecture for Consumer Electronics Company
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
4
© 2006 Donald Ferguson
04-Jul-2006
… a service?
A repeatable business task – e.g., check customer credit;
open new account
What is …..?
… service orientation?
A way of integrating your business as linked
servicesand the outcomes that
they bring
… service oriented architecture (SOA)?
An IT architectural style that supports service orientation
… a composite application?
A set of related & integrated services that
support a business process built on an SOA
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
5
© 2006 Donald Ferguson
04-Jul-2006
What’s this “Service Thing?”
Message M1, M2, … …Op1, inMsg1, outMsg1, faultMsg1Op2, inMsg2, outMsg2, faultMsg2… … …
“Those lying IMS swine. That’s CICS.”
“Dude, that’s an EJB”
“You whipper snapper, we Invented that in IMS in 1923.”
“.NET. I like it.”
WSDL
Narr! Das ist eine IDOC
“That’s mysimul.
package!”
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
6
© 2006 Donald Ferguson
04-Jul-2006
SOA and Web Services• SOA is an architectural style following some principles
– Input and output messages completely describe behavior No private signaling or shared data.
– Coarse grain interactions, unlike OO.– Self-describing, cataloged, well-defined messages– etc.
• SOA “resonates” because many customers have been doing it for years. SOA codifies a set of best practices for– Message Driven Processing (MQ).– SessionBeans and the Transfer Object Pattern– CICS TP Systems
• Web Services are a set of standards for SOA– Enable interoperability between infrastructure (middleware), and
between different development tools.– Eliminates the need to integrate the infrastructure before integrating
business logic to form new, composite applications.– SOAP/HTTP– WSDL, WS-Policy, specific policy assertions, BPEL4WS– Like “Diplomatic French” or “Esperanto”
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
7
© 2006 Donald Ferguson
04-Jul-2006
Implementing Services –The Next Generation of SOA Standards
• Web services currently says little about how to implement services.– What are the standards? – What is the process guidance?– What are the best practices and patterns?
• There is a next generation of standards– Service Component Architecture– Service Data Obects
• The standards enable flexible IT solutions– Rapid, simple composition of new composite applications.– Configuration/customization of solutions– Portable services, modules and solutions– Role/skill/task/specific services
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
8
© 2006 Donald Ferguson
04-Jul-2006
Simplifying Development
• This is crazy.• Programmers want to build a “part” that implements a
“basic building block” and then aggregate them together
Daddy,Mommy gave me thesedocuments to convert.
What type of EJBdo you want to build?
Um. I do not want to buildan EJB. You see, Mommy gave me these …
Maybe you didn’t understand the question.Your choices are SLSB, SFSB,CMP Entity, BMP Entity, MDB
You’re not very nice.
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
9
© 2006 Donald Ferguson
04-Jul-2006
Process Guidance and Service Impl. Kinds
• Each step in SOA development has an intent– Expose some data through SOA– Write simple new business logic for a simple task– Implement business logic using business rules– Process events using a (state, event, action, state) model– Choreograph a set of services into a new service
• There are “kinds” of service implemention– Support each intent– Concepts and tools specific to
• Role• Skill
– Process guidance for selecting specific kinds
• Answering “How do I …” with “It depends” Complex Guide and simplify choice
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
10
© 2006 Donald Ferguson
04-Jul-2006
A Simple Example and Some Concepts
public class QuoteRequest {String ticker;Date when;
}
Public class quoteResponse {String ticker;float value;float sharesTraded;
}
/* Pragma This;Pragma That;*/SELECT
ticker,value, activityFROM
StockQuotesWHERE
ticker == QuoteRequest.tickerINTO
quoteResponse.tickerquoteResponse.value,quiteResponse.sharesTraded;
Deployment Tools
SDOs
Something a DB duderecognizes
Interface(s)
Generated CodeInterpreted Metadata
Data Svc.
Deployment Package
Author Toolsor
Text Editor
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
11
© 2006 Donald Ferguson
04-Jul-2006
Service Components “Web services describes the outsides. How do you implement a service?
How do you compose services?”• Encapsulate Components for Reuse; All look the same from outside• Components may be wired together and aggregated via flow• Business Objects are the data flowing on wires between Components• Enable type, role and skills specific tools.
Interface:How to call
this component
Interface:How to call
this component
Reference:What this
components calls
Reference:What this
components callsJava
Interface
JavaInterface
WSDLPort Type
WSDLPort Type
JavaInterface
JavaInterface
WSDLPort Type
WSDLPort Type
Component
UniformRepresentation of
EncapsulatedImplementation
BusinessProcess
BusinessProcess Business
State Machine
BusinessState Machine Business
Rule
BusinessRule Human
Task
HumanTask Interface
Map
InterfaceMap SelectorSelector JavaJava SQL
XQuery
SQLXQuery
Policy
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
12
© 2006 Donald Ferguson
04-Jul-2006
Build a moduleor
Subsystem
Assembling Services –Modules and Subsystems
get Approved
Approved/Denied
If Approved thenSend letter offering gold
If NOT ApprovedSend letter offering Credit counseling service
UDDI, Service RegistryProject, SCCS
ad hoc exchange
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
13
© 2006 Donald Ferguson
04-Jul-2006
Some Examples
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
14
© 2006 Donald Ferguson
04-Jul-2006
Some Perspectives • SOA
– SOA is a mature, widely practiced architecture model– Web services are a set of standards for interoperability, tool
federation and portability
• Business Value– Relatively dynamic assembly: Process, Structure– Relatively dynamic customization
• Add new services• Version/content aware binding and routing• Dynamic modification of rules and policies
– Simple model for declarative business events enable business insight
– Virtual enterprise
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
15
© 2006 Donald Ferguson
04-Jul-2006
Some More Perspective
• Haven’t we heard this before? OO, RPC, MDP, … …• There are some differences
– XML is language neutral; previous approaches implied a language model.
– WSDL and XML are more forgiving of changes– Supports RPC and message/document approaches from
beginning– Common type model for application servers, message systems
and DBs– Builds on Internet protocols already deployed for “Web
browsing.”– Uniform model for events/pub-sub, message routing and RPC
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
16
© 2006 Donald Ferguson
04-Jul-2006
Everyone Can Program
• Some anecdotes– I study karate
• I have a black belt• Don’t let the affect your appraisal of my presentation• There are a lot of high school students
– One “kids” wrote• A Microsoft Access application• Tracks students class attendance• Uses a bar code scanner• Prints reports
– Kids in the locker room know I work for IBM• Tell me about their cool PHP, Perl, … …• Tell me about their cool, dynamic Web sites
• Everyone can program the way we learned long division.
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
17
© 2006 Donald Ferguson
04-Jul-2006
What Are the Implications?• Current “IT” Model
– The “data center”• Runs a relatively small number of applications• For a relatively large number of employees or customers• The applications change very slowly, to support QA
– LOB, department or team have “immediate” need for some new functions
• Respond to a complex RFP/RFP collaborating with new partner• Complex trouble ticket that needs a new team• Extend the managers workspace in in a store to integrate with local carpet
installation, electricians, cabinet makers– What to do?
• Submit a plea to the IT department or ISV for a change• Have the priests of programming make the change• Have the data center teams run QA
• Well,– The business need is no longer there– But, I have a 25 year old who can program “mashups” or LAMP– The new “teenagers” have the attention of a ferret on an espresso.– They will not wait for the priests
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
18
© 2006 Donald Ferguson
04-Jul-2006
A Some Simple Scenarios
• Severe weather – Meet Dave, an insurance agent.– He sees a news report of a severe storm. What is the company’s risk?– Dave writes a simple script to retrieve affected zip codes and rainfall.– Uses an Excel control fronting Web services to retrieve insured
properties;Filter and select only properties insured for more than $250,000.
– Pass rainfall predictions to ESRI to compute floods level at properties.– Email a risk summary to executives.
• Emailing documents is frustrating– Changes upon changes upon changes upon comments– Multiple versions– I don’t have the right editor– Dave will make his “reports” a wiki page that refreshes the data
• Sever side “mashup”• LAMP• Have the application refresh when the forecast changes, using feeds.
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
19
© 2006 Donald Ferguson
04-Jul-2006
A Simple Scenario
• This may seem to require complex programming skills,but it does not.– Feeds, URIs and simple REST retrieval of form like data are not
dissimilar to including Access data in a spreadsheet.– Passing information between the various “parts” is similar to
spreadhseets, references and formulas.– Very simple scripting to sequence actions– Use of basic primitives, like print and e-mail the form.
• This is a new composite application – Composes public data– Composes data and behavior in operational, enterprise systems– Sequences steps– Supports user interaction– Derives new results
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
20
© 2006 Donald Ferguson
04-Jul-2006
Application Wiki Example
Micro-formatsREST, Feeds
Exemplars
Several composition models• Wiki + controls• Web Spreadsheet• Merged formed/feeds• Scripts + HTML
Adaptors
New Logic
Feeds
A Web of …
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
21
© 2006 Donald Ferguson
04-Jul-2006
Lines of Business and IT
• LOBs and casual application developers build and test applications, perhaps just in time applications.
• Pressures will drive application redeployment into IT center– Governance and compliance– Server management is a drag– Publication outside the enterprise
NaturalPHP/LAMP/AJAX
DevelopmentExperience
Snarf and Redeploy
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
22
© 2006 Donald Ferguson
04-Jul-2006
The “Data Center of the Future”
Is radically different from today• Applications are like Word or email
– Moving from 100 applications 100,000 applications– 1000 new applications per day– 10,000 modified applications/data– An application is for three of four people
• Defines a completely new “application server model”– 100,000 “VMs”– Many, many programming models with
• Integrated, open source frameworks• Certified for “virus free” and “IP clean”
– Focus on governance tracking {app. Version, data in, data out} “Why did I deny this claim?”
– “Protect the mainframe! Protect SAP! From the Web crazies”
NGITS 2006 --http://mis.hevra.haifa.ac.il/~ngits/
23
© 2006 Donald Ferguson
04-Jul-2006
Some Additional Trends and Ideas• SOA and Event Driven Architectures • Recipes, Patterns and Templates• What happens when
– HW is free (multi-core, multi-HW thread, blades, …)?– Everyone can program?
• Standards evolve– Simple, portable, open source programming model – Domain formats and standards, and common processes
• High performance, distributed, real-time event driven architecture and SOA/Web services converge and run in the network
• Management of Web Services and Management UsingWeb services.– Application governance– IT management is a business process/composite application.
• Business Process Management includes business policy mgmt.