author : james [email protected] architecting solutions togaf frameworks my technical group -
TRANSCRIPT
Author : James Author : James
[email protected][email protected]
Architecting SolutionsArchitecting SolutionsTOGAF FrameworksTOGAF Frameworks
My Technical Group - My Technical Group - http://tech.groups.yahoo.com/group/james_smithjava/ http://tech.groups.yahoo.com/group/james_smithjava/
Version 1.5 – Updated Date 28th Sept 2007Version 1.5 – Updated Date 28th Sept 2007
Dear FriendsDear Friends
Welcome for a “Technical Treat on Architecting” this presentation covers most appreciated Welcome for a “Technical Treat on Architecting” this presentation covers most appreciated framework of our times “TOGAF”. I have tried to make it as practical as I could understand and framework of our times “TOGAF”. I have tried to make it as practical as I could understand and use less theory (that’s been my writing technique). I have not tried to restrict this presentation use less theory (that’s been my writing technique). I have not tried to restrict this presentation to just frame work explanation, which one can get from its official web site too, this to just frame work explanation, which one can get from its official web site too, this presentation is more inclined towards the various decisions a Solution Architect has to make presentation is more inclined towards the various decisions a Solution Architect has to make while planning for over all Enterprise Architecture, so topics like Application Integration EAI, while planning for over all Enterprise Architecture, so topics like Application Integration EAI, EDI, Web Services, Network Architecture, Linux Clustering for Load Balancing, Fail over EDI, Web Services, Network Architecture, Linux Clustering for Load Balancing, Fail over hardware concepts, Layer to Layer Data Communication etc are also presented here, may be hardware concepts, Layer to Layer Data Communication etc are also presented here, may be there could have been a separate document but I decided to pack them into one and share the there could have been a separate document but I decided to pack them into one and share the knowledge with my colleagues and like minded friends.knowledge with my colleagues and like minded friends.
I work at HCL Technologies as a Associate Technical Manager / Technical Architect and also I I work at HCL Technologies as a Associate Technical Manager / Technical Architect and also I lead a Java User Group of 750+ friends at my Yahoo Group lead a Java User Group of 750+ friends at my Yahoo Group http://tech.groups.yahoo.com/group/james_smithjava/ http://tech.groups.yahoo.com/group/james_smithjava/
Your Suggestions and Ratings would really help in increasing the scope of this document, you Your Suggestions and Ratings would really help in increasing the scope of this document, you might as well blog on this document at Java User Groupmight as well blog on this document at Java User Group
Thanks and RegardsThanks and Regards
James [[email protected]]James [[email protected]]
Table of ContentTable of ContentSlide 04 - 08Slide 04 - 08 Architectural OverviewArchitectural Overview
Slide 08 - 09Slide 08 - 09 Architectural Principles and FrameworksArchitectural Principles and Frameworks
Slide 10 - 11Slide 10 - 11 Architectural VisionArchitectural Vision
Slide 12 - 15Slide 12 - 15 Business ArchitectureBusiness Architecture
Slide 16 - 30Slide 16 - 30 Information Systems ArchitectureInformation Systems Architecture
Slide 18 - 19Slide 18 - 19 Information Systems Architecture – Network ArchitectureInformation Systems Architecture – Network Architecture
Slide 20 - 20Slide 20 - 20 Information Systems Architecture – B2B, B2C, B2E, B2AInformation Systems Architecture – B2B, B2C, B2E, B2A
Slide 21 - 21Slide 21 - 21 Information Systems Architecture – EDI – Electronic Data ExchangeInformation Systems Architecture – EDI – Electronic Data Exchange
Slide 22 - 24Slide 22 - 24 Information Systems Architecture – EAI – Enterprise Application IntegrationInformation Systems Architecture – EAI – Enterprise Application Integration
Slide 24 - 29Slide 24 - 29 Information Systems Architecture – WS – Web ServicesInformation Systems Architecture – WS – Web Services
Slide 30 - 37Slide 30 - 37 Technology ArchitectureTechnology Architecture
Slide 33 - 36Slide 33 - 36 Technology Architecture - Layering System - Inter layer communicationTechnology Architecture - Layering System - Inter layer communication
Slide 37 - 37Slide 37 - 37 Technology Architecture – Low Budget OptionsTechnology Architecture – Low Budget Options
Slide 38 - 38Slide 38 - 38 Opportunities and SolutionsOpportunities and Solutions
Slide 39 - 41Slide 39 - 41 Migration PlanningMigration Planning
Slide 42 - 43Slide 42 - 43 Implementation GovernanceImplementation Governance
Slide 44 - 47Slide 44 - 47 Change ManagementChange Management
Slide 48 - 50Slide 48 - 50 Requirement ManagementRequirement Management
Slide 55 - 61Slide 55 - 61 Zachman FrameworkZachman Framework
References - http://www.opengroup.org/togaf/ , http://www.zifa.com/References - http://www.opengroup.org/togaf/ , http://www.zifa.com/
• Common OwnershipCommon Ownership• Geographically Distributed BusinessGeographically Distributed Business• Multiple Divisions , Departments.Multiple Divisions , Departments.• Global Business PartnersGlobal Business Partners
Enterprise Enterprise BusinessBusiness
Definition of ArchitectureDefinition of Architecture
• Detailed plan of the system at component level to guide its implementation Detailed plan of the system at component level to guide its implementation • Structure of components, their inter-relationships, and the principles and guidelines Structure of components, their inter-relationships, and the principles and guidelines governing their designgoverning their design
Definition of Enterprise ArchitectureDefinition of Enterprise Architecture
• Support the business by providing the fundamental technology and process structure for Support the business by providing the fundamental technology and process structure for an IT strategyan IT strategy
Advantages of Good Enterprise ArchitectureAdvantages of Good Enterprise Architecture
• Lower software development, support, and maintenance costs Lower software development, support, and maintenance costs • Increased portability of applications Increased portability of applications • Improved interoperability and easier system and network management Improved interoperability and easier system and network management • Improved ability to address critical enterprise-wide issues like security Improved ability to address critical enterprise-wide issues like security • Easier upgrade and exchange of system components Easier upgrade and exchange of system components • Maximum return on investment in existing IT infrastructure Maximum return on investment in existing IT infrastructure • The flexibility to make, buy, or out-source IT solutions The flexibility to make, buy, or out-source IT solutions • Reduced risk overall in new investment, and the costs of IT ownershipReduced risk overall in new investment, and the costs of IT ownership
Architectural FrameworkArchitectural Framework
• Architecture framework will speed up and simplify architecture development Architecture framework will speed up and simplify architecture development • Ensure more complete coverage of the designed solutionEnsure more complete coverage of the designed solution• Make certain that the architecture selected allows for future growth in response to the Make certain that the architecture selected allows for future growth in response to the needs of the businessneeds of the business• Reliable, proven method for developing an IT enterprise architecture that meets the Reliable, proven method for developing an IT enterprise architecture that meets the needs of businessneeds of business• Some of the Standard frameworks are TOGAF, ZACKMAN, DODAFSome of the Standard frameworks are TOGAF, ZACKMAN, DODAF
StakeholdersStakeholders
• They are the key people who have concerns that need to be addressed by the IT They are the key people who have concerns that need to be addressed by the IT systems within the organizationsystems within the organization• They can be CEO, CTO, IT Manager, Technical , HR , Finance Manager etcThey can be CEO, CTO, IT Manager, Technical , HR , Finance Manager etc
Framework and PrinciplesFramework and Principles
• Identify the framework to be used such as TOGAF / ZACHMAN/ DODAFIdentify the framework to be used such as TOGAF / ZACHMAN/ DODAF• Identify Architects, work locations, and their responsibilities Identify Architects, work locations, and their responsibilities • To define the scope and assumptions To define the scope and assumptions • Identify all the stakeholders to the Architectural ProcessIdentify all the stakeholders to the Architectural Process• Understand and document each stakeholders Concerns, Goals and ObjectivesUnderstand and document each stakeholders Concerns, Goals and Objectives• Evaluating architecture tools , repositories.Evaluating architecture tools , repositories.• Repository management processes to capture and maintain architecture docsRepository management processes to capture and maintain architecture docs• Identify Business Strategy, Principles, Goals and business driversIdentify Business Strategy, Principles, Goals and business drivers which which can influence Architectural Principles can influence Architectural Principles • Architecture Principles are general rules and guidelines, and seldom Architecture Principles are general rules and guidelines, and seldom amendedamended• Architecture principles are a subset of IT principles that relate to Architecture principles are a subset of IT principles that relate to architecturearchitecture• Each of these principles must follow the standard template such asEach of these principles must follow the standard template such as Name, Statement, Rationale, ImplicationsName, Statement, Rationale, Implications• Architecture Principles are sub-divided into followingArchitecture Principles are sub-divided into following
• Business PrinciplesBusiness Principles• Data PrinciplesData Principles• Technology PrinciplesTechnology Principles
Business PrinciplesBusiness Principles
• Business Principles, Example belowBusiness Principles, Example below• Name: “Name: “Information Management is Everybody's BusinessInformation Management is Everybody's Business””• Statement: “Statement: “All organizations in the enterprise participate in All organizations in the enterprise participate in information management decisions needed to accomplish business information management decisions needed to accomplish business objectives”objectives”• Rationale ( Basis ): In order to ensure information management is Rationale ( Basis ): In order to ensure information management is aligned with the business, all organizations in the enterprise must be aligned with the business, all organizations in the enterprise must be involved in all aspects of the information environment. The business involved in all aspects of the information environment. The business experts from across the enterprise and the technical staff responsible experts from across the enterprise and the technical staff responsible for developing and sustaining the information environment need to come for developing and sustaining the information environment need to come together as a team to jointly define the goals and objectives of ITtogether as a team to jointly define the goals and objectives of IT• Implication ( Suggestion ) : work as a team every stakeholder, or : work as a team every stakeholder, or customer, will need to accept responsibility for developing the customer, will need to accept responsibility for developing the information environmentinformation environment
• Business ContinuityBusiness Continuity • Common Use Applications Common Use Applications • Compliance with LawCompliance with Law• Protection of Intellectual PropertyProtection of Intellectual Property
Data PrinciplesData Principles
• Data is an AssetData is an Asset• Data is sharedData is shared• Data is AccessibleData is Accessible• Common Vocabulary and Data DefinitionsCommon Vocabulary and Data Definitions • Data SecurityData Security
Application PrinciplesApplication Principles
• Technology Independence, Technology Independence, • Application Ease of UsageApplication Ease of Usage
Technology PrinciplesTechnology Principles
• Change in Technology only based on change in Business. Change in Technology only based on change in Business. • Responsive Change ManagementResponsive Change Management• Control on Technological Diversity Control on Technological Diversity • Interoperability for data, Applications and TechnologyInteroperability for data, Applications and Technology
ADMADM
Architecture Development Architecture Development MethodMethod Framework & PrinciplesFramework & Principles
SummarySummaryArchitecture Architecture
PrinciplesPrinciples
Maximize Benefit to the EnterpriseMaximize Benefit to the Enterprise
Information Management is Everybody's BusinessInformation Management is Everybody's Business
Ensure Business Continuity, Compliance with LawEnsure Business Continuity, Compliance with Law
Protection of Intellectual PropertyProtection of Intellectual Property
Data is Shared Asset, Accessible, Secure
Technology Independence, Application Ease-of-Use,Technology Independence, Application Ease-of-Use,
Requirements-Based Change, Control Technical DiversityRequirements-Based Change, Control Technical Diversity
Responsive Change ManagementResponsive Change Management
InteroperabilityInteroperability
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Architecture VisionArchitecture Vision
• Objectives are Objectives are • To ensure the architecture development cycle has proper recognition , To ensure the architecture development cycle has proper recognition , support and commitment of the necessary people management support and commitment of the necessary people management• Define the scope of, and to identify and prioritize the components Define the scope of, and to identify and prioritize the components of, the Baseline Architectureof, the Baseline Architecture• Define the relevant stakeholders, and their concerns and objectivesDefine the relevant stakeholders, and their concerns and objectives• To define the key business requirements to be addressed in this To define the key business requirements to be addressed in this architecture effort, and the constraints that must be dealt with.architecture effort, and the constraints that must be dealt with.• Secure formal approval to proceedSecure formal approval to proceed• To understand the impact on, and of, other enterprise architecture To understand the impact on, and of, other enterprise architecture development cycles ongoing in paralleldevelopment cycles ongoing in parallel
• Inputs areInputs are• Request for Architecture Work Request for Architecture Work • Business strategy, business goals, and business drivers Business strategy, business goals, and business drivers
• Outputs areOutputs are• Approved Statement of Architecture WorkApproved Statement of Architecture Work • Refined statements of business goals and strategic drivers Refined statements of business goals and strategic drivers • Baseline ArchitectureBaseline Architecture
ADMADM
Architecture Development Architecture Development MethodMethod
Architecture VisionArchitecture VisionPhasesPhases
Establish the ProjectEstablish the Project
Identify Business Goals and Business DriversIdentify Business Goals and Business Drivers
Review Architecture Principles, including Business PrinciplesReview Architecture Principles, including Business Principles
Define ScopeDefine Scope
Define Out of Scope
Define ConstraintsDefine Constraints
Identify Stakeholders and ConcernsIdentify Stakeholders and Concerns
Identify Business Requirements, and Architecture VisionIdentify Business Requirements, and Architecture Vision
Develop Statement of Architecture Work and Secure Approval
Business SituationBusiness Situation
Business Concept ( Source IBM Research )Business Concept ( Source IBM Research )
Business PurposeBusiness Purpose
Business FunctionBusiness Function
Business BehaviorBusiness Behavior
Business CommitmentBusiness Commitment Business OutcomeBusiness Outcome
Business Role PlayerBusiness Role Player Business ResourcesBusiness Resources
Business LocationBusiness Location
MotivatesMotivates
MotivatesMotivates
BindsBinds GovernsGoverns
InvokesInvokes
DefinesDefines
HousesHouses
HousesHouses
PerformsPerformsEnablesEnables
ConsumesConsumes
ProducesProduces
FulfillsFulfills
God
Business SituationBusiness Situation
Business to IT Concept Mapping ( Source IBM Research )Business to IT Concept Mapping ( Source IBM Research )
Business Architecture ConceptsBusiness Architecture Concepts
Business PurposeBusiness Purpose
Business FunctionBusiness Function
Business BehaviorBusiness Behavior
Business CommitmentBusiness Commitment
Business OutcomeBusiness Outcome
Business Role PlayerBusiness Role Player
Business ResourcesBusiness Resources
Business LocationBusiness LocationGod
DomainDomain
Deployment UnitDeployment Unit
InterfaceInterface
CollaborationCollaboration
ComponentComponent
InteractionInteraction
Walk ThroughWalk Through
ConnectionConnection
NodeNode
IT System Architecture ConceptsIT System Architecture Concepts
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Business Business ArchitectureArchitecture
• Objectives are Objectives are • Business Architecture is a means of demonstrating the business value of Business Architecture is a means of demonstrating the business value of Technical Architecture work to key stakeholders Technical Architecture work to key stakeholders• Return on investment to those stakeholders from supporting and Return on investment to those stakeholders from supporting and participating in the subsequent workparticipating in the subsequent work• Need to verify and update the currently documented business strategy Need to verify and update the currently documented business strategy and plans and plans
Business Business ModelingModeling
• Business Process Modeling: They capture the activities performed in a Business Process Modeling: They capture the activities performed in a business process, and the ICOM ‘s (inputs, controls, outputs, and business process, and the ICOM ‘s (inputs, controls, outputs, and mechanisms/resources used) of those activities mechanisms/resources used) of those activities
• Use Case Models: They describe the business processes of an enterprise in Use Case Models: They describe the business processes of an enterprise in terms of use-cases and actors corresponding to business processes and terms of use-cases and actors corresponding to business processes and organizational participants (people, organizations, etc.)organizational participants (people, organizations, etc.)
• Node Connectivity Diagram: A node can represent a role (e.g., a CIO); an Node Connectivity Diagram: A node can represent a role (e.g., a CIO); an organizational unit; a business location or facility and so on. An arrow organizational unit; a business location or facility and so on. An arrow indicating the direction of information flow is annotated to describe the indicating the direction of information flow is annotated to describe the characteristics of the data or informationcharacteristics of the data or information
• Information Exchange Matrix: They identify who exchanges what information Information Exchange Matrix: They identify who exchanges what information with whom, why the information is necessary, and in what manner.with whom, why the information is necessary, and in what manner.
ADMADM
Architecture Development Architecture Development MethodMethod
Sample Sample Business – IT – Business – IT –
Goals Goals
Improve Business Process PerformanceImprove Business Process Performance
Decrease Costs, Improve Management EfficacyDecrease Costs, Improve Management Efficacy
Reduce Risk, Improve SecurityReduce Risk, Improve Security
Improve Effectiveness of IT OrganizationImprove Effectiveness of IT Organization
Improve User Productivity
Improve Portability and ScalabilityImprove Portability and Scalability
Improve InteroperabilityImprove Interoperability
Increase Vendor IndependenceIncrease Vendor Independence
Reduce Lifecycle Costs
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Information System Information System ArchitectureArchitecture
• Information Systems Architecture is the group within the Information Information Systems Architecture is the group within the Information Technology division concerned with the "middleware" software layer between Technology division concerned with the "middleware" software layer between applications and key data services. The most familiar of these applications and key data services. The most familiar of these responsibilities are the online directory service LDAP, MS Active Directory. responsibilities are the online directory service LDAP, MS Active Directory. Web Single Sign on techniques, Access Control Mechanism, etc.Web Single Sign on techniques, Access Control Mechanism, etc.• ERP, CRM, Payroll, HR Management etc. - often provide the integration ERP, CRM, Payroll, HR Management etc. - often provide the integration issues and pose a challenge for Information System Architectureissues and pose a challenge for Information System Architecture• The information system architecture supports the design of the applications The information system architecture supports the design of the applications (software and data) of the (automated) information system. (software and data) of the (automated) information system. • The information system is specifically designed to support the business of The information system is specifically designed to support the business of a company. Information system architecture differs from software a company. Information system architecture differs from software architecture. Information system architecture focuses on the role of architecture. Information system architecture focuses on the role of applications in the business processes. The information system architecture applications in the business processes. The information system architecture is function-orientedis function-oriented• Expert opinion is software architecture is a subset of the information Expert opinion is software architecture is a subset of the information system architecture. The software architecture focuses on the construction of system architecture. The software architecture focuses on the construction of applications from software components. The software architecture is applications from software components. The software architecture is construction-oriented.construction-oriented.
ADMADM
Architecture Development Architecture Development MethodMethod
Application TechnologyApplication Technology Data TechnologyData Technology
CollaborationCollaboration IntegrationIntegration
NetworksNetworks PlatformsPlatforms
Secu
rity
Secu
rity
Syst
em
Managem
ent
Syst
em
Managem
ent
Application TechnologyApplication Technology
• Identifies the IT tools (hardware and software) that enable the Identifies the IT tools (hardware and software) that enable the development of applications, wich automate specific business development of applications, wich automate specific business tasks. Examples of applications technologies include application tasks. Examples of applications technologies include application development languages, application development patterns, and development languages, application development patterns, and application servers.application servers.
Data TechnologyData Technology
• Identifies technical tools (software) that enable information Identifies technical tools (software) that enable information (Data) storage, retrieval, management, and analysis. Typically this (Data) storage, retrieval, management, and analysis. Typically this includes database management systems.includes database management systems.
CollaborationCollaboration
• Includes technologies and tools that enable IT users to access Includes technologies and tools that enable IT users to access vital information resources, share information, and work and vital information resources, share information, and work and communicate effectively and efficiently with peers, customers, and communicate effectively and efficiently with peers, customers, and the public independent of geography.the public independent of geography.
IntegrationIntegration
• Identifies the technologies, products, and mechanisms that Identifies the technologies, products, and mechanisms that enable applications to communicate with each other effectively enable applications to communicate with each other effectively while preserving information and data integrity.while preserving information and data integrity.
NetworksNetworks
• Consists of the major technical elements required to provide data Consists of the major technical elements required to provide data and Internet communications between Customer locations around and Internet communications between Customer locations around the globe, as well as communications with business partner sites.the globe, as well as communications with business partner sites.
PlatformsPlatforms
• Identifies the underlying hardware and software that determine Identifies the underlying hardware and software that determine an information system’s operations, functions, and specialization.an information system’s operations, functions, and specialization.
SecuritySecurity
• Describes a set of standards to follow and products that have been Describes a set of standards to follow and products that have been shown to work well when developing security solutions, with the objective shown to work well when developing security solutions, with the objective of maintaining the confidentiality, integrity, and availability such that of maintaining the confidentiality, integrity, and availability such that
the level of protection is adequately risk free.the level of protection is adequately risk free.
System ManagementSystem Management
• Identifies technical tools for monitoring and collecting data on client Identifies technical tools for monitoring and collecting data on client system performance to enable better availability, performance, and system performance to enable better availability, performance, and
reliability from the IT environment.reliability from the IT environment.
Technology Architecture ( Source USA. GOV )Technology Architecture ( Source USA. GOV )
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology Architecture
Technology Technology ArchitectureArchitecture
• The Technology Architecture describes current and future technical The Technology Architecture describes current and future technical infrastructure and specific hardware and software technologies that support infrastructure and specific hardware and software technologies that support information systems. information systems. • It provides guidance and principles for implementing technologies that are It provides guidance and principles for implementing technologies that are proven to work well with existing and planned technologies.proven to work well with existing and planned technologies.• Identify and document Technology Architecture Building Blocks (potential Identify and document Technology Architecture Building Blocks (potential re-usable assets)re-usable assets)• Draft the Technology Architecture Baseline (Current Architecture) reportDraft the Technology Architecture Baseline (Current Architecture) report • Summarize key findings and conclusions, developing suitable graphics and schematics to illustrate baseline configuration (s) • Moving from product documentation to a service-oriented description • Develop Target Technology Architecture (New Architecture) • Identify list of approved suppliers/products for that organization• Collect data on current system, Document all constraints • Review and validate the set of Technology Architecture principles• Analyze relationships between groupings • Identify interfaces between existing and new systems
ADMADM
Architecture Development Architecture Development MethodMethod
Coexistence Problems between New and Old IT SystemsCoexistence Problems between New and Old IT Systems
• User interfaces: combining user interfaces to the old and new applications User interfaces: combining user interfaces to the old and new applications in a single unit on the users' desks can be difficult, if not impossible. in a single unit on the users' desks can be difficult, if not impossible. • Access to data: often the new applications need to share some data with the Access to data: often the new applications need to share some data with the old applications, and some kind of data sharing must be established. This can old applications, and some kind of data sharing must be established. This can be difficult unless the old and new systems use the same database technology. be difficult unless the old and new systems use the same database technology. • Connectivity: this may involve expenditure on software and gateway Connectivity: this may involve expenditure on software and gateway equipment. In difficult cases, equipment simply may not be available in a equipment. In difficult cases, equipment simply may not be available in a useful timescale. Often this happens because the old system is simply too useful timescale. Often this happens because the old system is simply too out-of-date for connectivity solutions to be still on the market. out-of-date for connectivity solutions to be still on the market. • The most successful strategy is to focus on projects that will deliver The most successful strategy is to focus on projects that will deliver short-term pay-offs and so create an impetus for proceeding with longer-term short-term pay-offs and so create an impetus for proceeding with longer-term projects.projects.
Presentation Tier
HTTP Request / ResponseHTTP Request / Response
RMI IIOPRMI IIOP
ReusableComponents
Business Tier
Data Access Tier
DB Server
Leg
acy S
yste
ms
Managed Bean Backing Bean Service Locator Business Delegator
Validator Rendering Kit Session Mgmt JSF Controller
E-DirectoryFile System
B2
B P
ort
al
EAIEAI
SOAPSOAP
J2EE Container ( OC4J)J2EE Container ( OC4J)
Presentation Tier Responsible For :Presentation Tier Responsible For :• Presentation Tier can use JSF & Ajax TechnologiesPresentation Tier can use JSF & Ajax Technologies• Main Tasks are to Process incoming RequestsMain Tasks are to Process incoming Requests• Validating and Filtering user inputsValidating and Filtering user inputs• Rendering the Response back to ClientRendering the Response back to Client• User Web Session ManagementUser Web Session Management• Conversions and Data FormattingConversions and Data Formatting• More ..More ..
Technology Technology ArchitectureArchitecture
Presentation Tier
HTTP Request / ResponseHTTP Request / Response
RMI IIOPRMI IIOP
ReusableComponents
Business Tier
Data Access Tier
DB Server
Leg
acy S
yste
ms
Value Object Data Transfer Obj Business Rules DAL Delegator
Business Object Façade Factory Session Facade Business Controller
E-DirectoryFile System
Transaction Mgmt Session Mgmt Cache Mgmt Lazy LoadingB2
B P
ort
al
EAIEAI
SOAPSOAP
• DAL Delegator hides the implementation of data access logics [ Design Pattern ]• This reduces the number of changes that must be made in business layers when the data access API or its underlying implementation changes• Reduces the coupling between BL and DAL
Business Objects [Design Patterns] are POJO ’s & doesn’t depend on any container technology, they just represent business entities and implement business rules.
• Session Façade is Stateless Session Bean [Design Pattern]• Invokes multiple BO’s for Single Business Request• Low Network Traffic• Local Calls to Entity Beans with in Single Transaction• Should use Container Managed Transaction
Façade Factory is Responsible for creation and initialization of Session Facade
• Business Controller [Design Pattern] is a single centralized Business Controller• Receives all business processing request• Implements security before passing request to session facade• Decides on which session facade to pass request
Technology Technology ArchitectureArchitecture
Presentation Tier
HTTP Request / ResponseHTTP Request / Response
RMI IIOPRMI IIOP
ReusableComponents
Business Tier
Data Access Tier
DB Server
Leg
acy S
yste
ms
Managed Bean
Conversions
FormattingBacking Bean
Mailing & Fax
Logging
Exception
Auditing
Authentication
Utilities
Multi Lingual
Service Locator Business Delegator
Validator Rendering Kit Session Mgmt JSF Controller
Value Object Data Transfer Obj Business Rules DAL Delegator
Business Object Façade Factory Session Facade Business Controller
E-Directory
Concurrency Ctrl Adapters
File System
Value Object Data Transfer Obj EJB 3 JPA DAL Controller
Transaction Mgmt Session Mgmt Cache Mgmt Lazy LoadingB2
B P
ort
al
EAIEAI
SOAPSOAP
Technology Technology ArchitectureArchitecture
Presentation Tier
HTTP Request / ResponseHTTP Request / Response
RMI IIOPRMI IIOP
ReusableComponents
Business Tier
Data Access Tier
DB Server
HR
MS
Soft
ware
Managed Bean
Conversions
FormattingBacking Bean
Mailing & Fax
Logging
Exception
Auditing
Authentication
Utilities
Multi Lingual
Service Locator Business Delegator
Validator Rendering Kit Session Mgmt JSF Controller
Value Object
Business Object
E-DirectoryFile System
Lazy Loading
Docu
men
t S
earc
h
EAIEAI
SOAPSOAP
Technology Architecture [ App Specific Ex Content Management Technology Architecture [ App Specific Ex Content Management System ]System ]
Data Transfer Obj
Business Rules
DAL Delegator
Business Controller
Session Facade
Façade Factory
Application Tier Components
Cache Mgmt
Session Mgmt
Transaction Mgmt
DAL Controller
EJB 3 JPA
Adapters
Concurrency Ctrl
Auto Categorization
Work Flow Engine
Categories Master
Version Controlling
Authorization
Profile Management
Searching Documents
Indexing Documents
Folder Management
Application Tier Services
Work Flow Table
User Rights Table
User Profile Table
Location Master
Department Master
Document Keywords
Menu Master
Inter Layer CommunicationInter Layer CommunicationApp App
ServerServerWeb ServerWeb Server
Transferred Objects need to be SerializedTransferred Objects need to be Serialized
Distributed Exception Handling Support Distributed Exception Handling Support
RMI IIOP ProtocolRMI IIOP Protocol
Packaging of Transferred Objects Packaging of Transferred Objects
Loose Coupling & Tight Cohesion Loose Coupling & Tight Cohesion
Low BudgetLow BudgetPower of Open Power of Open
SourceSource
LAMPLAMP Technology (LINUX, APACHE,Technology (LINUX, APACHE, MYSQL, PHP) MYSQL, PHP)
Model View Controller Using Smarty Templates of PHPModel View Controller Using Smarty Templates of PHP
Support for Caching and Role based SecuritySupport for Caching and Role based Security
Configuration Files based Templates, High UsabilityConfiguration Files based Templates, High Usability
Data is Shared Asset, Accessible, SecureData is Shared Asset, Accessible, Secure
Easy to Use and Maintain for Web page designersEasy to Use and Maintain for Web page designers
Variable Modifiers, Request Response FiltersVariable Modifiers, Request Response Filters
Templates Resources and HandlersTemplates Resources and Handlers
Plug-in & Add-ons, Debugging, Compiling, High PerformancePlug-in & Add-ons, Debugging, Compiling, High Performance
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology Architecture
Opportunities and SolutionsOpportunities and Solutions
Opportunities and SolutionsOpportunities and Solutions
• Identifies the parameters of change, the major phases along the way, and Identifies the parameters of change, the major phases along the way, and the top-level projects to be undertaken in moving from the current the top-level projects to be undertaken in moving from the current environment to the target. environment to the target. • This phase also attempts to identify new business opportunities arising This phase also attempts to identify new business opportunities arising from the architecture work in previous phases.from the architecture work in previous phases.• Iteration must be limited by time or money to avoid wasting effort in the Iteration must be limited by time or money to avoid wasting effort in the search for a perfect architecture.search for a perfect architecture.• Do gap analysis on the business functions between the old environment and Do gap analysis on the business functions between the old environment and the new, the new, • Any functions appearing as "new" items will have to be implemented Any functions appearing as "new" items will have to be implemented (developed or purchased and deployed).(developed or purchased and deployed).• It is important to note that the ensuing development process must include It is important to note that the ensuing development process must include recognition of dependencies and boundaries for functions and should take recognition of dependencies and boundaries for functions and should take account of what products are available in the marketplace. account of what products are available in the marketplace.
ADMADM
Architecture Development Architecture Development MethodMethod
Migration PlanningMigration Planning
• Many organizations face the problem of having to modernize their existing Many organizations face the problem of having to modernize their existing software systems by migrating to more capable systems. Modernizing legacy software systems by migrating to more capable systems. Modernizing legacy software systems is a complex engineering problem that includes most aspects software systems is a complex engineering problem that includes most aspects of traditional software development with more constraints . A successful of traditional software development with more constraints . A successful migration effort requires both a sound development plan and a sound migration effort requires both a sound development plan and a sound migration plan.migration plan.• A development plan addresses the selection of the appropriate software A development plan addresses the selection of the appropriate software processes, methods, tools, and hardware and software platforms. A migration processes, methods, tools, and hardware and software platforms. A migration plan created in conjunction with the development plan is necessary to help plan created in conjunction with the development plan is necessary to help ensure that the operational transition to the new system goes smoothly.ensure that the operational transition to the new system goes smoothly.• A good migration plan should weigh programmatic and technical drivers for A good migration plan should weigh programmatic and technical drivers for system development against customer priorities. Because of this, the plan system development against customer priorities. Because of this, the plan may impact system development and certainly should impact system deployment. may impact system development and certainly should impact system deployment. Iteration among the key stakeholders is necessary for an effective migration Iteration among the key stakeholders is necessary for an effective migration effort. Like development, migration planning involves tradeoffs among cost, effort. Like development, migration planning involves tradeoffs among cost, schedule, risk, and resources.schedule, risk, and resources.
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology ArchitectureMigration Planning
Opportunities and SolutionsOpportunities and Solutions
Inputs for Migration PlanningInputs for Migration Planning
• organization’s goals and objectivesorganization’s goals and objectives• • customer priorities and user needscustomer priorities and user needs• • technical approachtechnical approach• • available funding and resourcesavailable funding and resources• • functionality of systems/productsfunctionality of systems/products• • non-functional requirements (performance, security, interoperability)non-functional requirements (performance, security, interoperability)• • relevant regulations, policies, standards, and business rules/doctrinesrelevant regulations, policies, standards, and business rules/doctrines• • user manuals and training aids describing legacy system capabilitiesuser manuals and training aids describing legacy system capabilities
Questions for Migration PlanningQuestions for Migration Planning
1. What are the major issues that are likely to occur during the 1. What are the major issues that are likely to occur during the transition period?transition period?2. What are the customer priorities and user needs?2. What are the customer priorities and user needs?3. Will the user interface be compatible, including inputs and outputs, 3. Will the user interface be compatible, including inputs and outputs, reports and databases, and files that users depend on to perform their job reports and databases, and files that users depend on to perform their job responsibilities?responsibilities?5. Who are the specific customers, and what are products and services that 5. Who are the specific customers, and what are products and services that are to be supported by the new system? Who are the specific customers, and are to be supported by the new system? Who are the specific customers, and what are products and services that will not be supported?what are products and services that will not be supported?6. Is there a need to support overlapping operations between the legacy 6. Is there a need to support overlapping operations between the legacy systems and the new system? For how long?systems and the new system? For how long?7. Are the target system databases compatible with existing legacy 7. Are the target system databases compatible with existing legacy databases?databases?8. Is there a need for software utilities for converting existing legacy 8. Is there a need for software utilities for converting existing legacy databases?databases?9. What is the ability of target system interfaces to support existing 9. What is the ability of target system interfaces to support existing legacy system interfaces with other external systems?legacy system interfaces with other external systems?What training and operational assistance will the users require?What training and operational assistance will the users require?10. What is the general level of migration support that will be required 10. What is the general level of migration support that will be required by the user community to ensure a successful migration?by the user community to ensure a successful migration?11. How will user “buy-in” and target system acceptance be achieved?11. How will user “buy-in” and target system acceptance be achieved?12. How will unavoidable changes in legacy systems/products features and 12. How will unavoidable changes in legacy systems/products features and services be communicated to the user community?services be communicated to the user community?
Migration PlanningMigration PlanningPhasePhase
Prioritize projectsPrioritize projects
Estimate resource requirements and availabilityEstimate resource requirements and availability
Perform cost/benefit assessment of the various migration projectsPerform cost/benefit assessment of the various migration projects
Perform risk assessmentPerform risk assessment
Generate implementation roadmap (time lined)Generate implementation roadmap (time lined)
Document the Migration PlanDocument the Migration Plan
What Architects Designed What Architects Designed !!
What Managers What Managers Implemented !Implemented !
Implementation GovernanceImplementation Governance
What Investors What Investors Envisioned !Envisioned !
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology ArchitectureMigration Planning
Opportunities and SolutionsOpportunities and Solutions
Implementation GovernanceImplementation Governance
Implementation GovernanceImplementation Governance
• Implementation governance is closely allied to overall architecture Implementation governance is closely allied to overall architecture governancegovernance customer priorities and user needscustomer priorities and user needs• • A key aspect this phase is ensuring compliance with the defined A key aspect this phase is ensuring compliance with the defined architecture (s), not only by the implementation projects, but also by architecture (s), not only by the implementation projects, but also by other ongoing projects within the enterprise.other ongoing projects within the enterprise.•Document scope of individual project in Impact Analysis Document scope of individual project in Impact Analysis •Document strategic requirements (from the architectural perspective) in Document strategic requirements (from the architectural perspective) in Impact Analysis Impact Analysis •Document change requests (such as support for a standard interface) in Document change requests (such as support for a standard interface) in Impact Analysis Impact Analysis •Document rules for conformance in Impact Analysis Document rules for conformance in Impact Analysis •Document timeline requirements from roadmap in Impact Analysis Document timeline requirements from roadmap in Impact Analysis •Review Ongoing Implementation Governance and Architecture ComplianceReview Ongoing Implementation Governance and Architecture Compliance
ADMADM
Architecture Development Architecture Development MethodMethod
What Architects Designed What Architects Designed !!
What was finally What was finally Implemented ?Implemented ?
Change ManagementChange Management
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology ArchitectureMigration Planning
Opportunities and SolutionsOpportunities and Solutions
Implementation GovernanceImplementation Governance
Change ManagementChange Management
Change ManagementChange Management
• The goal of an architecture change management process is to ensure that The goal of an architecture change management process is to ensure that changes to the architecture are managed in a cohesive and architected way, changes to the architecture are managed in a cohesive and architected way, and to establish and support the implemented enterprise architecture as a and to establish and support the implemented enterprise architecture as a dynamic architecture; that is, one having the flexibility to evolve rapidly dynamic architecture; that is, one having the flexibility to evolve rapidly in response to changes in the technology and business environmentin response to changes in the technology and business environment • The Drivers for Change in ArchitectureThe Drivers for Change in Architecture - New technology reports, - New technology reports, - Asset management cost reductions, - Asset management cost reductions, - Technology withdrawal, Standards initiatives - Technology withdrawal, Standards initiatives
• In addition there are business drivers for architecture change, In addition there are business drivers for architecture change, including:including: - Business exceptions - Business exceptions - Business innovations - Business innovations - Business technology innovations - Business technology innovations - Strategic change- Strategic change
ADMADM
Architecture Development Architecture Development MethodMethod
Change Management Change Management ProcessProcess
Determine whether a change is simplification (which can normally be Determine whether a change is simplification (which can normally be handled via change management techniques ) , incremental (An incremental handled via change management techniques ) , incremental (An incremental change may be capable of being handled via change management techniques, change may be capable of being handled via change management techniques, or it may require partial re-architecting), or re-architecting (A re-or it may require partial re-architecting), or re-architecting (A re-architecting change requires putting the whole architecture through the architecting change requires putting the whole architecture through the architecture development cycle again), the following activities are architecture development cycle again), the following activities are undertaken:undertaken:
- Registration of all events that may impact the architecture - Registration of all events that may impact the architecture - Resource allocation and management for architecture tasks - Resource allocation and management for architecture tasks - The process or role responsible for architecture resources has to make - The process or role responsible for architecture resources has to make assessment of what should be done assessment of what should be done - Evaluation of impacts Designed- Evaluation of impacts Designed
Guidelines for Maintenance v / s Architecture Guidelines for Maintenance v / s Architecture RedesignRedesign
If the impact is significant for the business strategy, then there may be a need to redo If the impact is significant for the business strategy, then there may be a need to redo the whole enterprise architecture - thus a re-architecting approach.the whole enterprise architecture - thus a re-architecting approach.
If a new technology or standards emerge, then there may be a need to refresh the If a new technology or standards emerge, then there may be a need to refresh the Technology Architecture, but not the whole enterprise architecture - thus an incremental Technology Architecture, but not the whole enterprise architecture - thus an incremental change. change.
If the change is at an infrastructure level - for example, ten systems reduced or changed If the change is at an infrastructure level - for example, ten systems reduced or changed to one system - this may not change the architecture above the physical layer, but it will to one system - this may not change the architecture above the physical layer, but it will change the Baseline Description of the Technology Architecture. This would be a change the Baseline Description of the Technology Architecture. This would be a simplification change handled via change management techniques. simplification change handled via change management techniques.
In particular, a refreshment cycle (partial or complete re-architecting) may be required if:In particular, a refreshment cycle (partial or complete re-architecting) may be required if:
The Foundation Architecture needs to re-aligned with the business strategy. The Foundation Architecture needs to re-aligned with the business strategy. Substantial change is required to components and guidelines for use in deployment of the Substantial change is required to components and guidelines for use in deployment of the architecture. architecture.
Significant standards used in the product architecture are changed which have significant Significant standards used in the product architecture are changed which have significant end-user impact. end-user impact.
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology ArchitectureMigration Planning
Opportunities and SolutionsOpportunities and Solutions
Implementation GovernanceImplementation Governance
Change ManagementChange Management
Requirement ManagementRequirement Management
Architecture Requirements ManagementArchitecture Requirements Management
Dynamic process whereby requirements for enterprise architecture and Dynamic process whereby requirements for enterprise architecture and subsequent changes to those requirements are identified, stored, and fed subsequent changes to those requirements are identified, stored, and fed into and out of the relevant ADM phases. into and out of the relevant ADM phases.
ADMADM
Architecture Development Architecture Development MethodMethod
Identify/document requirements - use business scenariosIdentify/document requirements - use business scenarios
Baseline requirements by determining priorities and Confirm with stakeholder Baseline requirements by determining priorities and Confirm with stakeholder
Monitor baseline requirements.Monitor baseline requirements.
Identify changed requirement, re-assess priorities and Confirm with Identify changed requirement, re-assess priorities and Confirm with stakeholderstakeholder
Assess impact of changed requirements on current phase & on previous phases. Assess impact of changed requirements on current phase & on previous phases. assess timescale for change management implementation. Issue Requirements assess timescale for change management implementation. Issue Requirements Impact Statement.Impact Statement.
The architecture can be changed through its lifecycle by the architecture The architecture can be changed through its lifecycle by the architecture change management phasechange management phase
Update the requirements repository with information relating to the changes Update the requirements repository with information relating to the changes requested, including stakeholder views affected . requested, including stakeholder views affected .
Implement change in the current phaseImplement change in the current phase . .
Assess & revise gap analysis for past phases. “gap in requirement & Assess & revise gap analysis for past phases. “gap in requirement & architecture"architecture"
Requirement ManagementRequirement Management
Framework & PrinciplesFramework & Principles
Architecture VisionArchitecture Vision
Business ArchitectureBusiness Architecture
Information System ArchitectureInformation System Architecture
Technology ArchitectureTechnology ArchitectureMigration Planning
Opportunities and SolutionsOpportunities and Solutions
Implementation GovernanceImplementation Governance
Change ManagementChange Management
Requirement ManagementRequirement Management
ADMADM
Architecture Development Architecture Development MethodMethod
Architectural Governance
Technology Architecture
Application Architecture
Data ArchitectureBusiness Architecture
SOW
ChangeChange ManagementManagement
Thank You !Thank You !
and mail me with your inputs and mail me with your inputs so that this can be updatedso that this can be updated [email protected][email protected]
My Technical Group - My Technical Group - http://tech.groups.yahoo.com/group/james_smithjava/ http://tech.groups.yahoo.com/group/james_smithjava/