Technical Architecture Reviews
Submitted by jjanssen on Fri, 02/10/2006 - 11:03.
Technical Architecture Reviews
Use: Technical Architecture Reviews | Value | Rating | Definition | | 4 | Excellent (Target) | This solution perfectly matches our target architecture | | 3 | Good (Incremental) | This solution is an incremental move toward our target architecture | | 2 | Okay (Static) | This solution will fit into our current state architecture with some work | | 1 | Unsatisfactory (Legacy) | This solution is legacy and is a step back in our architecture | Impact of Architecture Information Technology is a complex system of thousands of pieces which need to work together to deliver value. It attempts to efficiently do so amidst a business environment of constant change. If solutions are added without regard to a strategic map aligned with long term business goals, then two things will happen: 1) the cost of maintaining existing services will increase, and 2) the ability to deliver future services will decrease. Along with meeting project driven business requirements, the goal of each solution acquired or built should do more than match our current environment. Ideally, each solution should move us closer to future opportunities (target architecture), rather than further away (legacy). By reviewing the architectures of possible solutions, we are able to gage how well the system will fit now, and how quickly it can be changed when future business needs change.
Submitted by jjanssen on Mon, 11/21/2005 - 16:47.
Technical Architecture Reviews
Technical Architecture Questions for Application Service Providers Suggested Use: Include in RFI's to Vendors supplying APU with applications/services over the Internet. Architecture Working Group Version 0.9 Date 2005-11-14 General Architecture -
What is your Web Services, or Service Oriented Architecture strategy? -
What technologies, frameworks, and language(s) do you use in the application/service? (Please include architecture models, diagrams etc.) -
What hardware infrastructure supports your application/service? -
Where is data stored? List all locations, database types. -
Does a server-side upgrade require any changes on the client side? -
Do you have a test environment to which APU can connect to test the application? Which functions/services can be tested? -
Do you also offer a non-hosted product? User Environment -
Is the application completely web-based? -
Does it support W3C standards? Which ones? -
Does the application support multiple browsers? Which ones, on which platforms? -
Does the application use plain vanilla HTML? -
Does the application have a non-web based rich client (e.g. Java Application)? -
Do you have any plans for adding Rich Internet App (RIA) functionality to your application (e.g. AJAX)? -
Are there specific software requirements, such as support of plugins, proprietary extensions (e.g. ActiveX), particular flavors of Javascript, etc? -
Is end-user installation required? -
Is end-user maintenance or management required? -
Is your application compliant with the Americans with Disabilities Act (ADA)? -
Does APU need to have someone monitor or install anything within our environment to support this application, whether on a server or on every workstation that uses the application? -
What devices support the application? Is an actual computer required, or could a PDA or other mobile device do the job? Integration Architecture -
Does the application integrate with other known applications or services? -
Do you publish portlets for Portal Integration (e.g. JSR-168)? -
Do you have any experience with JA-Sig uPortal? -
Do you currently publish any Web Services? Via what means? (e.g. SOAP, XML RPC, RMI) For what functions? -
If Data level integration is required what methods are available (XML, JDBC, ODBC)? -
Do you support multiple forms of interaction, e.g., asynchronous messaging? -
Do you support any message oriented messaging for process level integration? (EJB, JMS)? Extensibility & Flexibility -
Is the application extensible? Is it easy to add functionality to the system? -
Can we augment it with an alternate front-end? -
Can we extract data for processing on our side? -
Does this extraction require the use of particular technology, language or API? -
How readily can the application be modified if something like government rules change? How long to become compliant in such a situation? -
Is business logic separate from the presentation layer? Identity Management -
Can your application defer all authentication to our central authentication system? (one way trust, no passwords in your system) -
How do you support Web Single Sign On? -
Do you plan to support any Federated Identity systems such as those based on Security Assertion Markup Language, SAML (e.g. Shibboleth, Liberty Alliance)? -
Can your application dynamically use authorization attributes, group information, or other attributes from our LDAP directory securely over the Internet? -
How does your system consume identity data that we do not want leaving our organization? -
What is the smallest bit of account information that is required to be housed in your system? -
How are accounts managed over time? -
What is required to create a user account? -
Can the ability to create an account be restricted? -
Can the ability to change a password via your mechanisms be disabled, in order to defer to our processes? Availability -
Is the application available 24 x 7? With what level of Guarantee? -
Is it monitored 24 x 7 for failure? By whom? -
Are there peak load times that could cause certain functions to fail for users? -
Is the current hardware configuration more than adequate to handle the highest current load? -
Are servers clustered? -
Is load balancing used? -
What is your typical transaction rate at peak times? -
Do you have redundant Internet gateways, Co-Location or other availability in your design? Which providers (tier)? -
Do routes auto-failover? How does this affect access to your application during this period of time? -
How often do you typically have outages? How long do they last? Can you provide a report for the last year? -
How often is the application updated? -
What impact do updates have on availability? Continuity -
If data is not readily accessible in an open format, such as XML, what would be involved in getting a copy of the data in a well-known format? -
Do you have a documented Disaster Recovery Plan? Has this ever been tested? -
What is your time to recovery? -
Are there failover servers? -
Where are servers located? -
How often are backups of data made? -
Where are backups kept? -
Is the application itself kept in a regularly backed up code repository? -
Where is that repository physically? -
How do you handle revision control, and regression testing? -
Is your application tightly tied to one particular vendor, such as through the use of .NET or Weblogic extensions? -
How portable is your application? Is it agile enough to move to other hardware/software platforms if the industry shifts? -
Is a Database Abstraction Layer used? If needed could you switch to a different Database product? Security -
What mechanism is used to protect data from the user to the application? -
What measures are used to protect data at the ASP’s site? -
Does the ASP share data with other companies? If so, how is data safeguarded in transit and at the other company’s site? -
Do you have any mandated security requirements for any third party products or services incorporated into your solution? -
What provisions are there for network security? -
What physical security policies do you enforce? -
Who at the ASP may access data? -
Who can manage account creation/maintenance? -
What are password failed attempt and change policies? -
How often do you conduct security audits? -
Are all transactions logged? Are those logs available to us if necessary, in some form? -
If requested, can you supply us with security, traffic, and authentication logs? -
Describe the method of gaining access to such logs? -
Can APU turn off access in case of a security problem? Compliance - Gramm-Leach-Bliley Act
- Describe how your solution protects the confidentiality of personal financial information, as required by the Gramm-Leach-Bliley Act (GLBA) of 1999
- California Financial Privacy Information Act
- Describe how your solution complies with the terms of the CFPIA, protecting the confidentiality of consumer financial information.
- FERPA
- Describe how your solution complies with the requirements of the Family Education Rights and Privacy Act.
- PCI
- If applicable, describe how your company complies with the Payment Card Industry Data Security Standard Program
- NACHA
- If appilcable, describe how your company complies with NACHA (eCheck) requirements and guidelines for risk management
- f. HIPPA
- If applicable, describe how your company complies with the Health Insurance Portability and Accountability Act (HIPAA) enacted by the U.S. Congress in 1996.
Support -
Is support available 24 x 7? -
How is support available? Telephone? Email? Web site? -
Is support extra? If so, how much per incident? -
Who may ask for support? -
What is required to ask for support? -
What is your standard Service Level Agreement? -
What is the expected time frame for response to and resolution of user problems? -
How and when do you notify customers that you are going to perform an update to a system or have a planned outage? -
What documentation is available? -
How much does documentation cost per copy? -
What training is available? -
How much training should be needed? -
How much does training cost?

|