sda reuse strategies brent carlson vp of technology logiclibrary, inc. june 8, 2004
TRANSCRIPT
![Page 1: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/1.jpg)
SDA Reuse StrategiesSDA Reuse Strategies
Brent CarlsonBrent CarlsonVP of Technology
LogicLibrary, Inc.
www.logiclibrary.com
June 8, 2004
![Page 2: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/2.jpg)
AgendaAgenda
Software development asset (SDA) concepts
SDAs in context
Organizational and tool strategies in reuse
![Page 3: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/3.jpg)
SDA ConceptsSDA Concepts
![Page 4: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/4.jpg)
What is an SDA?What is an SDA?
An SDA is “something of value to an IT organization,” including:– Knowledge assets
ArchitecturesBest practices and processesDesign patterns…
– Executable assets
Web servicesData viewsComponentsApplications…
SDAs are composed of metadata, such as:– Artifacts: work products, such as code, schemas, models, executable modules,
…– Classifiers: searchable and reportable values such as keywords, development
effort, owner, language, …– Relationships to other assets: dependencies, prerequisites,
other asset versions, …
![Page 5: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/5.jpg)
SDA Development LifecycleSDA Development Lifecycle
Analysis + Design Coding Testing + QA Deployment
Use Cases
Requirements
TechnicalModels
SCM Systems
Test Cases
Business Process Models
Documentation
Best Practices
Design Patterns
Tracking System/Repository
Documentation and TrainingMaterials
![Page 6: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/6.jpg)
CurrencyExchange
convert(valueToConvert : CurrencyValue, targetCurrency : String, targetDate : Date, overridingStrategy : ConversionStrategy) : CurrencyValuegetCurrencyCodes() : ListsetExchangeRate(exchangeRate : ExchangeRate, fromDate : Date, toDate : Date)getExchangeRates(sourceCurrencyCode : String, targetCurrencyCode : String) : ListclearExchangeRate(sourceCurrencyCode : String, targetCurrencyCode : String, dateToClear : Date) : ExchangeRateconfigureConversionStrategy(strategy : ConversionStrategy)
SessionBean(from ejb)
Value Object Types
CurrencyValue
currencyCode : Stringvalue : BigDecimal
(from Value Object Types)
ExchangeRate
sourceCurrencyCode : StringtargetCurrencyCode : StringexchangeRateValue : BigDecimal
(from Value Object Types)
DateRangeConflictException
ConversionStrategy
convert(valueToConvert : CurrencyValue, targetCurrency : String, targetDate : Date) : CurrencyValue
Exception(from lang)
IComponent
An Example SDA: CurrencyExchangeAn Example SDA: CurrencyExchange
![Page 7: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/7.jpg)
SDAs in ContextSDAs in Context
![Page 8: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/8.jpg)
SDA ContextsSDA Contexts
In order to be fully understood and managed, SDAs need to be placed into the following contexts:– Application architecture context– Technical architecture context– Business architecture context– Deployment architecture context
The first three contexts directly affect the software development lifecycle
![Page 9: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/9.jpg)
General-purpose utilities, APIs, Abstract Data Types, System Service Components
“Domain-Independent”
Layer
Microprocessor Business
Components
FinancialBusiness
Components
InsuranceBusiness
Components
“Domain-Dependent”
Layer
Intel App#1
Components
Intel App#2
Components
Citicorp App#1
Components
Citicorp App#2
Components
Allstate App#1
Components
Allstate App#2
Components
“Application-Specific”
Layer
100%
up to 85%
15-20%
0%
Application
Application Context: Application Context: Three Classes of SDAsThree Classes of SDAs
Amount ofapplication
![Page 10: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/10.jpg)
* http://msdn.microsoft.com/architecture/patterns/
Technical Context: .NETTechnical Context: .NET
![Page 11: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/11.jpg)
Technical Context: J2EETechnical Context: J2EE
* http://java.sun.com
![Page 12: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/12.jpg)
InsuranceBusiness
Components
General-purpose utilities, APIs, Abstract Data Types, System Service Components
I.T. Business
Components
FinancialBusiness
Components
App#1 App#2 App#1 App#2 App#1 App#2
Mapping SDAs to the .NET Technical ContextMapping SDAs to the .NET Technical Context
![Page 13: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/13.jpg)
Business ContextBusiness Context Technical and application contexts are only part of
the story– It’s just as important to align your reusable asset
development work with your company’s business context
What is a business context?– The overarching business requirements driving
development projectsNew component/service development, application
integration, new/reworked application development
– In other words:What business processes really matter to our
company?And what business functions are demanded by
those business processes?
![Page 14: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/14.jpg)
Our SDA’s Business Context: e-CommerceOur SDA’s Business Context: e-Commerce
Analytical System<<comp spec>>
Reporting
Prediction
Import
Quote
Shipping System<<comp spec>>
ShippingMethod Management
ShippingStatus
ShippingRequest
Order System<<comp spec>>
OrderMaintanance
SalesTaxCalculation
SalesTaxCalculator<<comp spec>>
Conversion
Currency Exchange System
<<comp spec>>
CurrencyMaintanance
Financial Accounting
<<comp spec>>
FinancialReportingSales Transaction
Payments
CreditCard Handler<<comp spec>>
Verification
![Page 15: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/15.jpg)
UML as a Means to Express UML as a Means to Express Business ContextBusiness Context
Consider using UML to document your business context
Primary UML construct is class diagram laying out coarse-grained reference components/services
Other UML constructs to consider:– Use cases
Establish initial requirements for business function
Actors
Preconditions
Functional scenario / use case steps– Activity diagrams
Describe detailed process or subprocess flow underlying a use case
Specific activities can be mapped to functional capabilities to be implemented as Web services, components, etc.
![Page 16: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/16.jpg)
Emerging Business Process Standards:Emerging Business Process Standards:A Business Context SourceA Business Context Source
Significant industry movement away from EDI towards standardized, XML-based business process and messaging definitions– Web services and service-oriented architectures (SOAs)
are accelerating this trend
Examples of business process standards:– RosettaNet: supply chain
– ACORD: insurance
– IFX: financial services
– ebXML: electronic business/trading
![Page 17: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/17.jpg)
Emerging Business Process StandardsEmerging Business Process Standards
Advantages:
– Can learn from industry best practices and experienceXML-based message setsStandard data dictionariesReference business processes
– Packaged applications are adopting standards as they move towards Web service-oriented APIs
Besides, your business partners are probably already doing something here and will take you with them – whether you like it or not!
– Intel: “…13 percent of all our machine-to-machine, B2B transactions today are happening through the (RosettaNet) standard – roughly 30,000 transactions a month.”
![Page 18: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/18.jpg)
SDA Reuse Organization SDA Reuse Organization and Tool Strategiesand Tool Strategies
![Page 19: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/19.jpg)
SDA Reuse Organizational RolesSDA Reuse Organizational Roles
SDA reuse is supported by production/ distribution/consumption roles
– Production: Identification and preparation of existing and newly-defined candidate reusable SDAs
– Distribution: Publication of those SDAs into SDA library
– Consumption: Use of SDA library to discover appropriate reusable SDAs on a per-project basis
![Page 20: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/20.jpg)
SDA Reuse LifecycleSDA Reuse Lifecycle
![Page 21: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/21.jpg)
SDA Production Strategies SDA Production Strategies
Consider creating a virtual/matrixed SDA architectural review team– Team members:
Team leader dedicated to SDA reuse programMatrixed team members drawn from project teams
Lead designer/developer skills required10%-20% job responsibility
– Team objectives/responsibilities:Identify candidate reusable SDAs – “active discovery”Review proposed reusable SDAs – asset hardening
Adherence to architectureNecessary functionality implemented and supportedMandatory artifacts provided
Publish approved SDAs into SDA library for consumptionRecommend future resource allocation for key reusable SDAs
Expanded funding for key SDAsTransfer of key SDAs to common SDA support group
![Page 22: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/22.jpg)
SDA Distribution StrategiesSDA Distribution Strategies
Distribution scalability typically requires use of an SDA library to distribute assets
– Asset metadata assembly and validationStandardized metadata definitionPer-asset-type metadata validation and enforcement
– Asset publicationNewly defined SDAsUpdated SDAsNew versions of existing SDAs
![Page 23: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/23.jpg)
SDA Consumption StrategiesSDA Consumption Strategies
For best SDA traceability/manageability, consider named user consumption
Project-scoped interactions/tracking SDA acquisitionConfigurable approval signoffs based on organization’s process
Project and asset-specific collaborationDiscussion forumsPersistent searchesAsset notifications
In some situations, anonymous consumption can sufficeSuitable for lightweight/casual usersRead-only interaction with libraryRestricted tracking and collaboration activities
![Page 24: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/24.jpg)
SummarySummary
To be effective, SDA reuse strategies need to: Define technical and business contexts
– Microsoft/J2EE have established two very useful technical contexts
– Only your business analysts can define your business context for you – listen to them!
– Consider using UML as an efficient means of communication
Align existing application inventory against prioritized business processes– Don’t “boil the ocean.” Pick the key systems that support
business needs as defined by prioritized business processes.
Manage the SDA production/distribution/consumption process lifecycle– Tools can help with delivering quality assets to consumers
and tracking where those assets are used
![Page 25: SDA Reuse Strategies Brent Carlson VP of Technology LogicLibrary, Inc. June 8, 2004](https://reader036.vdocument.in/reader036/viewer/2022070305/5513e5b355034679748b566e/html5/thumbnails/25.jpg)
About the SpeakerAbout the Speaker
Vice President of Technology and Co-founder, LogicLibrary, Inc.
Named to InfoWorld’’s list of “CTOs to Watch in 2004”
17-year veteran of IBM– Lead architect on WebSphere Business Components Project– Held numerous leadership roles on the “IBM SanFrancisco
Project”
Co-author of two books:– Framework Process Patterns: Lessons Learned Developing
Application Frameworks (with James Carey)– SanFrancisco Design Patterns: Blueprints for Business
Software (with James Carey and Tim Graser)