Copyright Solidsoft 2008 Forward Looking..... "Two years from now, spam will be solved." – Bill...
-
Upload
sydney-lowry -
Category
Documents
-
view
216 -
download
2
Transcript of Copyright Solidsoft 2008 Forward Looking..... "Two years from now, spam will be solved." – Bill...
Copyright Solidsoft 2008
Forward Looking.....
"Two years from now, spam will be solved."– Bill Gates, 2004 "I don't know what the language
of the year 2000 will look like, but I know it will be called Fortran."– CA Hoare, 1982
"In the future, computers may weigh no more than 1.5 tonnes."– Popular mechanics, 1949
"I see little commercial potential for the Internet for at least ten years."– Bill Gates, 1994
"Computer viruses are an urban legend."– Peter Norton, 1988
"640K ought to be enough for anybody."(Bill Gates, 1981)
"Windows NT addresses 2 Gigabytes of RAM, which is more than any application will ever need." (Microsoft, on the development of Windows NT, 1992)
© Solidsoft Limited 2005
Copyright Solidsoft 2008
People
Processe
s
Systems
2
Andy JamesCTO
Fast forward to the future of the composite application in the
coming years
Copyright Solidsoft 2008
Introduction
Software Construction Today Service Orientation and the Composite Application Fast forward to the future Work through a real ‘future’ Enterprise level
composite application Review and Summary Questions
Copyright Solidsoft 2008
150 Years Ago
Copyright Solidsoft 2008
100 Years Later
Copyright Solidsoft 2008
In The 80’s
Copyright Solidsoft 2008
In The 90’s
Copyright Solidsoft 2008
Towards Today
Hall & Son
Copyright Solidsoft 2008
Software Construction Today
Copyright Solidsoft 2008
CompositeServices
RequirementsState-of-the-Art
ApplicationArchitecture
Technologies
UserActivities
BusinessProcesses
BusinessObjects
Events
Services
RDBMS
Data Access Layer
Domain OrientedBusiness Logic
Action OrientedBusiness Logic
Controller OrientedBusiness Logic
Presentation OrientedBusiness
Logic
DomainOrientedBusiness
Logic
JavaScript, HTMLAppletsGadgets
Identity Mapping
Stored proceduresSQL
ASPXC#VB.NetJavaBeans BizTalk
ESBMSMQ
ConceptsAbstractions
ModelView
Controller
ObjectOrientation
EntityRelationship
Serv
ice
Ori
enta
tion
XMLXSDWSDLSOAPWS-*BEPL
Software Construction Today
Copyright Solidsoft 2008
The Gap Between Business Needs and Functionality
Busi
ness
Needs
Time
Phase 1
Phase 2
Phase 3
Misalignment
Misalignment
Misalignment
Copyright Solidsoft 2008
Cost Of adding New Systems
12
Number ofSystems10 100 1000
Cost
Value
11
Integration Cost
Unrealized innovation
CostValue
© Jean-Jaques Dubray
Copyright Solidsoft 2008
We Need SOA and SOA Applications
13
Number ofSystems10 100 1000
Cost
Value
11
Increasing value ofexisting systems through reuse andFlexible changes
CostValue
© Jean-Jaques Dubray
Copyright Solidsoft 2008
Being able to reuse assets change the ROI of projects significantly
14
Services
Services
Process
Project 1 Project 2
Process
Tasks
ROI
ROI Project 2ROIProject 1 ROI
Shared Assets
ROI
ROI of bothProjects
combined
Benefit
Cost
Cost
Benefit
Shar
ed A
sset
sTasks
Decision
Decision
Copyright Solidsoft 2008
Where Does That Leave Us Maybe it is true to say the method of the
construction of software today is broken• If so it won’t be fixed by one more framework,
one more scripting language, some refactoring, methodology, model driven development or whatever…
• Today there is a huge unrealized value in IT• This is not new!• We know that creating reusable assets can
unlock this value Reduces development, integration, operations… costs Project deliver more value at constant cost
15
Copyright Solidsoft 2008
Re-use – we’ve heard this one before!
I know this is old ground I know we go through the same discussion over
and over again But maybe, just maybe this time we are actually
building and designing with re-use in mind In fact we delivering architecture for re-use rather
than asking the developer to do it
Maybe This Time
Copyright Solidsoft 2008
The Solution....
Service Orientation Service Orientated Architecture The Composite Application Platform And of course... Composite Applications
Copyright Solidsoft 2008
Service Orientation and the Composite Application
Copyright Solidsoft 2008
A Designing in Service Orientation World Crash Course (Greatly Simplified) Imagine I wish to build a clock application, or as
it’s a SO world, a clock service. Now the important thing here is to establish what
the clock does or provides now and even maybe in the future...
Consider:• Providing the time!• A timer (the good old stop watch)• A alarm or alarms• Some sort of record keeping or log• And lets go to town and say a reminder or scheduler
Copyright Solidsoft 2008
In The New World
Time Service
ClockService
getTime()
Timer Service
Start()
Stop()
getElapsedTime()
getTime()
AlarmService
alarm()
setAlarm()
SchedulerService
getTime()
setAlarm()
Alarm()
schedule(event)
event()LoggingService
Start(Activity)
Stop(Activity)
getActivitiyReport()
Start()
Stop()
LocalTime
Service
Copyright Solidsoft 2008
The term composite application expresses a perspective of software engineering that defines an application built by combining multiple existing functions into a new application
The whole is greater than the sum of the parts
What We Have Is A Composite Application
Copyright Solidsoft 2008
How Have We Constructed It
In this case we have used Services And effectively we have produced a
Service Oriented design – it would be a little grand to call it an architecture
Remember that when say Services we don’t have to mean Web Services
To that end...
Copyright Solidsoft 2008
Services are: Autonomous units of the business function Typically connected over distributed networks Contracted with respect to interface Coupled loosely, rather than tightly Or maybe, independent of platform, toolset, methodology or
geography Discoverable via some form of registry or directory Ideally standards-based
Services are not: Simply Web services Necessarily synchronous Most likely stateless
What are Services?
Copyright Solidsoft 2008
Services
Services
Message ExchangePattern
describe
OperationalRequirements
enforce
State
manage
Applications
composed of
Messages
exchange
is a set ofContracts
bound by
contain Schemas define structure of
governed byPolicies
have
Copyright Solidsoft 2008
What Is A Composite Application?
Contrary to popular belief this doesn’t mean a composite application has to be part of a Service Orientated Architecture
IntegrationServices
PresentationServices
ApplicationServices
TUO User Interface
TUO Application
Relationship Authority
Event Verifier
Data Custodian Profile Service
Service Provider Endpoint(s)
DepartmentEndpoint
TUO Service
Data Custodians
Service Providers
Trusted Identity Providers
Government Profile Service
Government Identity Provider
Event Sources
Event Verifier
Message BusPublish / Subscribe and Message Broker Capabilities
Service Directory
Citizen(Channel Access)
Public Network
DepartmentEndpoint
Service Provider(Browser Access)
TUO Service Provider User Interface
Low Cost of Entry
Private Network
Rules
Rules
3rd Party Identity Provider
3rd Party Identity Provider
Data Custodian Profile Service
Identity Correlation ServiceAuthentication
Broker
Process Manager
Rules
Rules
Copyright Solidsoft 2008
What Is A Composite Application?
Or that composite applications are merely ‘Mashups’
Copyright Solidsoft 2008
Information gathering and data collection
Replacing traditional application design and delivery
Where do I see composite applications?
Copyright Solidsoft 2008
Information presentation providing context
Providing both high level view and drill down views
Where do I see composite applications?
Copyright Solidsoft 2008
For The Enterprise
Composite Applications Offer the Solution to the problems demonstrated earlier...
Copyright Solidsoft 2008
Fast Forward To The Future
Copyright Solidsoft 2008
Future Gazing With Feet Still In Today
It is very clear that today our methodologies and development toolkits are about building “new solutions”
Yes we can use libraries, import projects and even re-use code and services
But it’s not the norm For the development of Composite Applications
the norm is ‘Re-use not build, it’s use what’s already here and add something to it.
For me the future needs to be tooling, models and methodology that is “Re-use is the norm!”
Copyright Solidsoft 2008
Pointers To The Future... I said earlier that ‘Mashups’ weren’t Composite
Applications. Whilst true that is true, Mashups and the associated tools do give us a pointer to the future
Re-useableBuildingBlocks
GraphicalComposition
Tooling
Copyright Solidsoft 2008
Reuse Is The Norm, Not Always Build New This means a number of points need to be
considered:
• Governance not just Project management • Strategy and Goals not just Requirements• Selection not just Specification• Resources not just Data • Composition not just Implementation• Federation not just Monolithic• Certification as well as Test• Provisioning not just Deploying• Software as a Service / Software + Services
Copyright Solidsoft 2008
What is Changing Governance not just Project management
• We must consider not only the delivery of the whole but all the parts as well
• We must ensure the quality of all parts• Change control becomes critical as change impact will
ripple through out many applications Strategy and Goals not just Requirements
• We must consider an overall strategy and goal rather than just ‘this projects’ requirements
• Clear Vision and Road mapping is needed Selection not just Specification
• Selection will become as major an activity as specification and design
Copyright Solidsoft 2008
What is Changing
Resources not just data• CRUD thinking is dead or
merely sidelined to the data service
• The programming model is not just Service Orientated but Resource Orientated and Event Orientated
• We need information more than just data
Created
Government
Private
Data
Data
Actions
Store Profile
Query
Events
DataCustodianAvailable
Get Profile By ID
Transfer Profile
ProfileVerifierService
Verify ProfileVerified
CustodianSelected
StoredNot
Stored
Update
Update
Update
Create
Create
Delete
Delete
Query
Query
Copyright Solidsoft 2008
Information: Data in context
Consider:
¨A sausage a day increases the risk of bowel cancer by a fifth¨
Copyright Solidsoft 2008
Now as information A fifth is 20% Does this mean 100% means guaranteed
cancer? In context now: Research shows in every 100 people 5 will
get bowel cancer and eating 7 sausages a week increases that from 5 to 6 IE a 20% increase!
With context we see it is a fraction of a smaller percent and not quite as worrying!
Copyright Solidsoft 2008
Composition Not Just Implementation
CandidateService
Application Service
EmployeeService
CalendarService
CreateApplication
SubmitApplication
Hire
InterviewerRole
RecruiterRole
ScheduleInterview
SubmitReview
SubmitOffer
OfferAcceptance
ReviewApplication
Copyright Solidsoft 2008
What is Changing
Federation not just Monolithic• We stop building large LOB applications and start
federating aspects of others Certification as well as Test
• With the use of all these building blocks we not only need to test but also to certify our building material, be it for security or simply fitness for purpose
Provisioning not just Deploying• In the world of already deployed assets and services we
are more likely to provision rather than deploy
Copyright Solidsoft 2008
Software + Services
Building Blocks
Streaming
Services
Platform
FinishedServices
AttachedServices
Copyright Solidsoft 2008
IT and business alignment with a Composite Programming Model
42
Traditional Application Model Composite Applications
Businessneeds
DeliveredSolutionScope
Businessneeds
Continuous Improvement Phases
ImplementationProjects
DeliveredSolutionScope
Copyright Solidsoft 2008
Walk Through of Composite Application for the future
Copyright Solidsoft 2008
The Tell Us Once Project Provide design options for the end to end online
experience of managing the consequences of a bereavement
Provide a blueprint for the capabilities and components needed to deliver TUO
A vision of how components of the blueprint maybe separately sourced
Provide an evaluation of the usability of the design by means of a demonstrator
Where possible re-use existing key assets
Copyright Solidsoft 2008
Tell Us Once Project (2)
This is to be a pan-government department project Web based in the first instance but moving across
the client range It’s architecture could lend itself to either the
classic government monolithic application or a SOA based Composite Application
The team went with the Composite Application Approach
Copyright Solidsoft 2008
Objectives
Provide the means for a citizen to handle the affairs of a deceased person
Provide a single route to multiple departments with the citizen only having to provide information once
Help rather than hinder the citizen Where dependents are involved provide the means
to hand over benefits where needed without the ignominy of losing and then having to reapply for benefits
And do it on line....
Copyright Solidsoft 2008
Key Approach Features
Early design decisions driven by the business needs of:• Citizen Privacy• Informer verification• Manner in which Government could ‘help’• Timescales around department take-on• Relationship management• Identity Authentication• Staged development
Copyright Solidsoft 2008
Citizen(Channel Access)
Service Provider Endpoint(s)
DepartmentEndpoint
Service Providers
DepartmentEndpoint
Rules
Rules
IntegrationServices
Message BusPublish / Subscribe and Message Broker Capabilities
Service Provider Endpoint(s)
DepartmentEndpoint
Service Providers
DepartmentEndpoint
Rules
Rules
Service Provider Endpoint(s)
DepartmentEndpoint
Service Providers
DepartmentEndpoint
Rules
Rules
TUO User Interface
TUO Application
Copyright Solidsoft 2008
Citizen(Channel Access)
Service Provider Endpoint(s)
DepartmentEndpoint
Service Providers
DepartmentEndpoint
Rules
Rules
IntegrationServices
Message BusPublish / Subscribe and Message Broker Capabilities
Service DirectoryProfile ServiceGovernment Profile
Service
Process Manager
Rules
Rules
Government Identity Provider
Authentication Broker
Identity Correlation Service
Relationship Authority
Data Custodian Profile Service
Data Custodians
Data Custodian Profile Service
TUO User Interface
TUO Application
Trusted Identity Providers
3rd Party Identity Provider
3rd Party Identity Provider
Copyright Solidsoft 2008
Summary
Copyright Solidsoft 2008
In summary Software construction needs to change And it is true to say it is changing This session has been trying to look into the future Look at SOA and Composite Applications in a
positive way Not get bogged down with Software as a Service
or Software + Service Given a nod to Mashups And seen the reality of trying to design for the
future today
Copyright Solidsoft 2008
Finally
There are no silver bullets! But hopefully some thoughts to challenge and
maybe inspire As an architect the future will be as challenging as
ever if not more so And maybe we as architects may actually get
developed what we imagined, created and dreamed of
Thank you for listening
Copyright Solidsoft 2008
Some Mashups Will Never Work!
By Cathy Wilcox, the Sydney Morning Herald
Copyright Solidsoft 2008
Solidsoft and SOA Software Announce Partnership
Copyright Solidsoft 2008
Questions?
Contact me at: [email protected] my blog: http://blog.solidsoft.com or
http://geekswithblogs.net/ajames
Copyright Solidsoft 2008
Copyright Solidsoft 2008