Exam Preparation Guide: Exam HP0-786 NonStop Advanced Application Design - Level 2 1 HP Certified Professional Program NonStop Advanced Application Design Exam HP0-786 Exam Preparation Guide Purpose of the Exam Prep Guide The intent of this guide is to set expectations about the content and the context of the exam and to help candidates prepare for the exam. In this guide, you will find recommended HP training courses, reference and study material to help you achieve a successful passing score. Studies conducted by HP and Prometric show that a combination of course attendance and self-study maximizes the likelihood of passing the exam on the first attempt. Audience This exam is targeted for the following personnel, with a minimum of five years’ experience on the NonStop S-Series platforms running the G-Series NonStop Kernel Operating System. Examples of job roles: • Professional Services personnel who assist NonStop customers. • Global Customer Support Center (GCSC) personnel, who may have specialized technical expertise in the operating system and NonStop applications and serve as support for both field support technicians and customers. • Analyst SEs or Pre-SalesTechnical Support (PSTS) personnel, who perform pre-sales consulting and technical account support. • NonStop Application Designers (both internal and external), System Integrators and Consultant Partners, Authorized Service Channel Partners and Distributors, Customers authorized to service their own equipment. General areas of content include: Requirements Review, Application Architecting, Engineering Solutions, and Product Knowledge. Certification Requirements The NonStop Advanced Application Design Exam (HP0-786) is an elective for certification as an Accredited System Engineer (ASE - Level 2) in the NonStop S-series Systems track.
36
Embed
HP Certified Professional Programwhp-hou4.cold.extweb.hp.com/pub/hpcp/epgs/HP0-786_EPG.pdfExam Preparation Guide: Exam HP0-786 NonStop Advanced Application Design - Level 2 5 2.7 Identify
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
HP Certified Professional Program NonStop Advanced Application Design
Exam HP0-786
Exam Preparation Guide
Purpose of the Exam Prep Guide The intent of this guide is to set expectations about the content and the context of the exam and to help candidates prepare for the exam. In this guide, you will find recommended HP training courses, reference and study material to help you achieve a successful passing score.
Studies conducted by HP and Prometric show that a combination of course attendance and self-study maximizes the likelihood of passing the exam on the first attempt.
Audience This exam is targeted for the following personnel, with a minimum of five years’ experience on the NonStop S-Series platforms running the G-Series NonStop Kernel Operating System. Examples of job roles:
• Professional Services personnel who assist NonStop customers.
• Global Customer Support Center (GCSC) personnel, who may have specialized technical expertise in the operating system and NonStop applications and serve as support for both field support technicians and customers.
• Analyst SEs or Pre-SalesTechnical Support (PSTS) personnel, who perform pre-sales consulting and technical account support.
• NonStop Application Designers (both internal and external), System Integrators and Consultant Partners, Authorized Service Channel Partners and Distributors, Customers authorized to service their own equipment.
General areas of content include: Requirements Review, Application Architecting, Engineering Solutions, and Product Knowledge.
Certification Requirements The NonStop Advanced Application Design Exam (HP0-786) is an elective for certification as an Accredited System Engineer (ASE - Level 2) in the NonStop S-series Systems track.
Prerequisites Successful completion of the Accredited Integration Specialist (AIS) - Level 1 is required for the Accredited System Engineer (ASE) - Level 2 certification. One mandatory exam and three electives, totaling four exams, are required for ASE certification. For NonStop Systems track requirements, visit the website at http://education.hp.com/curr-nonstop.htm (Instructor-Led Training) http://education.nonstop.compaq.com/us/cat/httoc.htm (Self-Study Training) Level 2 mandatory exam: NonStop Kernel Advanced Exam HP0-760
Level 2 electives are based on the participant’s certification goals. Note that one to five years’ experience or more is highly recommended for ASE certification. “Hands on” experience with the NonStop S-series system is essential.
Exam Details The NonStop Advanced Application Design Exam (HP0-786) is a live exam. You will receive a score report with your results after testing is complete. You can use the report to identify areas of strength and learn about areas to improve, if necessary.
Test Information Number of test items: 77
Item type: multiple choice
Time commitment: 90 minutes Passing Score: 53
Percent Correct: 68
Reference material: No online or hard copy reference material will be allowed at the testing site.
Exam Content The following outline represents the specific areas of content covered in the exam. Use this outline to guide your study and to check your readiness for the exam. The exam measures your understanding of these areas. The approximate percentage of exam questions dedicated to each major content area is included in parenthesis. The higher the percentage, the more questions will be on the exam.
1) Requirements Review
1.1 Describe the purpose of the business requirements document
1.2 Identify business requirement topics
• Business functions
• Business algorithms
• Interoperability with external systems
• Internationalization
• Constraints
• Security policy
• Transaction volumes
• Performance requirements
• Availability requirements
• Regulatory requirements
• Schedule 1.3 Identify constraints that may be arbitrary and should be removed 1.4 Identify valid constraints before release for an application design 1.5 Identify undocumented business requirements 1.6 Explain the requirements change control process
• Approval
• Release 1.7 Identify the components of the final business requirements 1.8 Identify the components of the test requirements
• Interoperability 1.9 Identify the documentation requirements 1.10 Identify the system and/or application release management policy 1.11 Identify the training requirements (not tested)
• End user training
• System management training
• Operator training
2) Application Architecting 2.1 Discuss the issues in achieving scalability
• Parallelism
• Concurrency
• Locking strategy 2.2 Identify the issues which may threaten application availability 2.3 Describe the conditions which may cause data corruption
• Network transactions
• Transaction boundaries
• Heterogeneous transactions
• Recovery procedures 2.4 Describe the conditions of a manageable application environment 2.5 Describe the characteristics of a maintainable application 2.6 Describe the various methodologies for providing interoperability
Recommended Training and Study References This section lists training courses and documents that can help you acquire a majority of the knowledge and skills needed to pass the exam. You must also gain the practical experience outlined in this guide. You are not required to take the courses listed in this section. However, HP strongly recommends that you attend the classes, participate in class labs, and thoroughly review all course material and documents before taking the exam, even if you believe you have sufficient on-the-job experience.
Instructor-Led Training Use the information in this guide and the practical experience you have gained to determine your need for the instructor-led training. The HP NonStop Systems Certification (Level 2) includes references to a variety of materials that provide information included on this certification exam. Completion of courses and review of materials is recommended, but not required, for success on this exam.
Recommended Minimum Courses Course Title Part
Number Type Length
HP Remote Database Facility (RDF) Workshop U4146S ILT 4 days NonStop SQL/MX Database Quick Start - ILT U4185S ILT 5 Days Web Foundations for HP NonStop Systems U3959S ILT 5 days
Additional Highly Recommended Courses Refer to course recommendations in the 664 Exam Preparation Guide for the Application Design and Development Exam - Level 1 Accredited Integration Specialist (AIS). Go to http://www.hp.com/certification/. Refer to the Application Design document recommended reading for the HP0-664 Level 1 exam http://education.nonstop.compaq.com/us/cert/appdes.pdf.
Course Title Part Number
Type Length
NonStop SQL/MX Basics U4184S ILT 5 days NonStop SQL/MP Database Management U4180S ILT 5 days NonStop Transaction Management Facility (TMF) Operations and Management
Courses Descriptions Check web site course descriptions for prerequisites at: http://education.hp.com/curr-nonstop.htm (Instructor-Led Training) http://education.nonstop.compaq.com/us/cat/httoc.htm (Self-Study Training) You can also call (800) 621-9198 in North America, to speak with an education consultant or register for courses. If you are outside of the U.S., call +1 (408) 285-9508 or contact your local education and training resource. Or, you can send an email to [email protected]
Additional Recommended Reference Materials for This Exam References for exam questions are found in the online TIM (Total Information Manager) collections (This guide typically references the latest release available.) TIM is a single interface to all NonStop documentation and support information.
External users must subscribe to the TIM CD collection. See your NonStop Representative for more information.
NOTE: TIM must be installed on your system before using the following default access settings.
Documentation The information in this exam preparation guide is current as of release G06.16. However, you may find the information in earlier or later versions of the TIM documentation as well. Information nested (~) indicates subsections emphasized in the document.
• AccessLog\iTP Active Transaction Pages (iTP ATP) Programmer's Guide (426849-001)
∼ ATP Objects, Properties, and Methods o tp.socket Object
• ASAP Extension Manual, (425265-002)
∼ Introducing the ASAP Extension
• AutoSYNC Software User's Guide (522580-001)
∼ Compaq NonStop AutoSYNC Software Overview
• AutoTMF User's Guide (429952-001)
∼ Introduction to Compaq NonStop AutoTMF Software (Overview) o Being replaced by the business Continuity Workshop Part 2
• Availability Guide for Application Design (124511)
∼ Data Protection and Recovery
∼ What is Application Availability? o (Introduction) o Provide Instrumentation o Provide Performance Data o Physical Outages
∼ Designing Applications for Change o Using Message Versions and Server Upgrade
∼ Overview of Server and Network Fault Tolerance o Mirrored Disks o Additional Availability Problems in Client/Server Networks
∼ Availability in the Pathway Transaction-Processing Environment o Multiple Data Communications Lines and Protocols
∼ Designing Applications for Change o (Introduction) o Architectural Models for Server-side OLTP o Using a Modular Design
Other References 1. Application Design Course (54179)
a. Module 4-8 b. Module 5: Server Issues (5-9 to 5-13)
i. Operating System Layer ii. Application Layer iii. Database Access Layer
c. Module 10-8
See online file(s) accompanying the 786 Exam Preparation Guide. Refer to http://education.nonstop.compaq.com/us/cert/exams.htm. 2. Ewing, Moore, What Are Architectural Design and Solutions? (786 EPG, Appendix A).
3. Gray, Jim and Reuter, Andreas. 1993. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, Concepts and Techniques, Transaction Models, Atomic Actions and Flat Transactions, Atomicity.
4. Highleyman, Wilbur H., Application Design and Development Process diagram (786 EPG, Appendix B).
5. Highleyman, Wilbur H. Performance Analysis of Transaction Processing Systems. Refer to the online file accompanying the 781 Exam Preparation Guide
http://education.nonstop.compaq.com/us/cert/exams.htm. Chapter 1, The Performance Analyst, Uses of Performance Models, also The Source of Performance Problems, Chapter 2: Concepts and Techniques, Transaction Models, Atomic Actions and Flat Transactions, Atomicity, Chapter 4-8 Chapter 7: Data Base Environment
6. Kruchen, Philippe. 2000. Rational Unified Process: An Introduction (2nd Edition). Addison-Wesley, Chapter 5: Component-Based Development, The Purpose of Architecture to the end of the chapter, Chapter 12: The Test Workflow.
7. Malveau Raphael, and Mowbray, Thomas. 2001. Software Architect Bootcamp, New Jersey: Prentice Hall, Chapter 4, Software Architecture : Drill School, chapter 4.3 systems Integration p. 121.
8. McConnell, Steve. 1993. Code Complete: A Practical Handbook of Software Construction, Redmond WA: Microsoft Press, p. 2-3, 15-17, 21 29-34, 42-45, 89-92, 94-104, 156-160, 535-546.
10. McHutchion Jim. 1993. Application Design Service Handbook. Tandem Computers Inc., Chapter 2: Application Design, Chapter 4: Server Design, Chapter 5: Application Testing See online file(s) accompanying the 786 Exam Preparation Guide http://education.nonstop.compaq.com/us/cert/exams.htm.
11. Reifer, Donald J. 2002. Making the Software Business Case: Improvement by the Numbers. Addison Wesley Inc., p. 9-29, 31-57, 53-102.
12. Ruh, William A., Magginnis, Francis X., Brown, William J. 2001. Enterprise Application Integration. John Wiley and Sons Inc., Chapter 7: Enterprise Architecture, Chapter 8: Effective EAI Development; The SAIM Methodology.
13. Sodhi, Jag. 1993. Software Requirements Analysis and Specification. (Out of Print) McGraw Hill Inc. p. 31-37, 26, 13-20, 5-9.
14. Van Vliet, Hans. 2000. Software Engineering: Principles and Practice, 2nd Edition. John Wiley and Sons, p. 1-72 process and lifecycles, 181-258, esp. 254, 438-440.
15. ZLE Architecture and Tools (ZAT) Course Support Materials, Architecture and Tools for the Zero Latency Enterprise (ZLE), Parts 1 and 2 (429389-001)
Conclusion HP wishes you success in the HP Certified Professional Program and in passing the exam for which you are preparing.
Note that three appendices follow:
• Appendix A: What Are Architectural Design and Solutions? How Do They Fit into the Software Lifecycle Model? by Moore Ewing, Application and Database Consultant, HP
• Appendix B: The Application Design Process by Wilbur Highleyman, CEO, Sombers Group
• Appendix C: Standard J2EE Model for Enterprise Applications
It is strongly recommended that you review this information in preparation for the exam. Some of the test questions relate to information found within these appendices.
Appendix A: What Are Architectural Design and Solutions? How Do They Fit into the Software Lifecycle Model?
The majority of development methodologies and software lifecycle models include a phase in which high-level design of the overall solution takes place. This phase can be considered as consisting of the following two major activities which define the basis for subsequent detailed design and construction phases.
Architectural Design The objective of architectural design is to produce a definition of 1. the components (processes) and the flows of control and data by which an
individual transaction is executed including the flows of control and data by which components interact during that execution and the technologies in which the components will be implemented
2. the mechanisms by which multiple concurrently executing transactions will be managed, with special regard to the allocation of access to resources, and the mechanisms by which the number of concurrently executing transactions can be scaled
3. the logical database structures of the application and the access requirements of the transactions including the boundaries of any logical units of work (ACID transactions)
4. any background components required by the solution such as bulk data maintenance and reporting functions and application-specific operations management functions
5. the mechanisms by which data integrity and recovery and application availability will be achieved.
In association with the architectural definition, performance budgets and sizing information should be produced for all significant or performance sensitive components of the solution including any assumptions upon which the information is based.
As an initial part of the architectural design phase the business requirements provided must be resolved into a set of agreed technical requirements, which form the contract between the business customer and the solution provider.
This process requires the requirements to be reviewed to ensure that they
• are consistent and complete especially for more technical areas such as required capacity, performance, availability and data retention
• are not unnecessarily prescriptive e.g. they do not define how requirements should be met rather than what the requirement is or do not define performance requirements in mathematical terms without understanding the mathematical significance of that definition
• identify constraints upon the solution (technologies, time scales, costs, essential and desirable functionality) and provide a basis for trade-offs between those constraints.
Solution Engineering The objective of solution engineering is to produce a definition of any constructional components and/or tools to be used to build the components identified in the application architecture. This centers on the definition of
• any development methodologies, tools and language systems to be used
• any re-usable collections of source or object code and any parameterized tool(set)s which are to be created or acquired in order to provide standardized functionality across multiple components with the objectives of increasing product quality and development efficiency or of supporting portability and maintainability of the resulting solution.
Introduction In a general sense, application design is the process of designing a system to meet a specific set of business requirements. These requirements may include issues that go far beyond just the functionality to be provided to automate certain aspects of a business’ operations. They may (and probably should) cover such additional considerations as performance, processing volume, availability of functionality to the users, security, and many others.
Likewise, the resulting design cannot be limited simply to the design of programs that implement the business functionality. It has to consider the characteristics of the operating system and platform to be used, the tools to be used, issues of maintainability and portability, and so forth.
The application design process as defined above is a subset of the general topic of software engineering. There probably are nearly as many models for the process of application design as there are books on the subject. And there are also perhaps nearly as many standards that cover various aspects of this process. This paper provides a fairly generic overview of the application design process which is aligned with much of the published literature.
1. An Application Design Model The application design model that is discussed in this paper is shown in Figure 1. It begins with a business requirements document prepared by the management team responsible for the business functions being automated or improved, and ends with design specifications delivered to the implementation team. The application design model describes three major phases:
• a review of the business requirements
• the design of the architecture for the application
• the engineering of this design into an implementable solution.
Imperative to the architecting and engineering phases is a detailed knowledge of the products and tools to be used in the implementation of the application.
2. The Business Requirements Review The purpose of the business requirements document is to tell the architects everything they need to know in order to design the application. Included in this information should be:
• a description of the business functions to be implemented
• any special algorithms to be used (such as special discount calculations)
• external applications or systems with which the application must interoperate
• constraints that affect the design of the application
• schedule constraints.
This document must be carefully reviewed by the architects to ensure that it provides all of the necessary information which they need to design the application without over-constraining the design.
Arbitrary constraints might include the requirement to use a specific platform when other platforms might be more appropriate, or the over-specification of performance parameters (such as specifying a 99 percentile response time when a 95 percentile requirement would be perfectly acceptable, thus resulting in a smaller system).
Appropriate constraints might include the specification of a language in which the application should be written if the company’s implementation staff is limited in its language or maintenance skills, growth requirements over a specified period of time, and future portability requirements.
The architects must negotiate these desired changes with the originating management team in order to arrive at a mutually acceptable business requirements document. In fact, throughout the application design process, there will be a continual flow of requested changes from the architects, engineers, implementers, and users. These may be the result of desired functional changes or changes to accommodate improvements in the design, to facilitate reduced cost or schedule, and so on. Therefore, there must be a requirements change policy in effect that determines who must approve requirements changes and how and when they should be released.
If they haven’t already been specified, there may be certain additional specifications that the architects may want to include in the requirements document that are not management driven, but which the architects wish to impose upon the implementation team. These might include:
• testing requirements for functional, stress, performance, recovery, interoperability, and user acceptance testing
This revised and enhanced business requirements document then becomes the architectural requirements document that feeds the application architecting phase of the application design process.
3. Application Architecting Given the architectural requirements document that they have negotiated, it is now the application architects’ job to design the structure of the application. Though they must be driven by the architectural requirements, there is a myriad of facets which they must consider in the application structure:
• the scalability of the application through parallelism, with the attendant problems of concurrency, locking, bottlenecks, and so forth
• application availability as it may be affected by both system faults and scheduled downtime
• data integrity
• application manageability
• application maintainability
• interoperability with other systems and applications
• security issues
• recovery of the application and its database following a disastrous failure
• achievement of proper performance without over-designing or over-sizing
• problems associated with the migration of this application from other systems, databases, or products if migration is an issue.
Given these considerations, the architects will specify the general structure of the application and will choose the products and tools that will be used in its implementation. This will lead to several “make or buy” decisions, where “buy” means the use of an existing product, whether an internal product or a product which must be purchased or leased, and “make” means designing the facility so that the implementation team may build it. The resulting application structure will include:
• the operating system to be used
• the general structure of the application (tiering, OLTP, query, batch, Web)
• the database to be used
• interoperability products to be used to communicate with other applications or systems (typically messaging, database, or RPC middleware)
• design specifications for any required modules that must be custom built.
Many of the product decisions listed above may depend upon the schedule constraint. If the application is to be fundamental to the core business of the company, it presumably will be scheduled with enough time to make it an enterprise quality application built with tools that ensure long-term quality. On the other hand, if it is an opportunistic application that must be brought up in a very short time but does not have to be enterprise quality, it might use a totally different tool set and architecture (such as a quick and dirty Web application).
To this architecture, the architects will add:
• a detailed functional specification for each application process that must be written
• an optional sizing estimate for the system
• an optional costing estimate for the system
• a test plan for the application.
From this information, the architects will prepare:
• an external specification that defines the application from a black box viewpoint (screens, reports, interfaces to other applications and systems)
• an internal specification that specifies the products to be used and the modules to be developed
• a test specification that details all of the testing to be carried out on the application.
The external specification and the internal specification are passed on to the solutions engineering team. The test specification is passed on to the implementation team.
4. Solutions Engineering The job of the solutions engineers is to convert the specifications received from the architects into detailed design specifications for the implementation team. Central to this activity is the specification of an application process framework. The framework is a collection of shared functionality (generic or domain-specific) provided to assist in the creation of individual solution components. The framework is intended to ensure the standardization and quality of the resulting application processes, improve productivity and maintainability through reuse of modules, and enable the use of a more junior class of programmers.
The framework can include products, libraries, and custom code to provide standardized functionality for
• request/reply handling
• internal and external error handling
• logging
• instrumentation and metric reporting (transaction volume, queue lengths, etc.)
• debugging and tracing
• security (authorization, auditing, encryption)
• database referential integrity
• runtime management
• initialization and parameterization
• resource pooling and management.
In addition to the general framework that will be used for all processes to the extent possible, the solutions engineers must prepare detailed design specifications for every module to be programmed by the implementation team. In doing so, they should continue to use the strategies of layering and modularity to achieve the highest possible degree of productivity, quality, and maintainability in the final product. The result of the solutions engineers’ efforts are a set of design specifications delivered to the implementation team that guide them in the actual building of the application.
5. Product Knowledge As mentioned earlier, central to the job of the architects and the engineers is a thorough knowledge of the products that they are expected to use. These product categories include: