Architects and architecture design
Ridicule was saying the words "nine of ten managers, there is a deputy manager" to describe the spread of the title, now manager of further escalation of the "total" the. Similarly, in the IT technology circles more and more architects. Including various levels, senior, senior, chief. Can also see the scope of doing the work of various architects, and some just write PPT, and some even coding, writing test cases, to foreigners to maintain the old product architect, project manager and the architect. A former colleague's party, a bunch of old men and IT to discuss some technical issues with great interest, naturally inevitable that the term structure. During the reception a question, the concrete structure which contains the work? Oh, you think there is no formal order had before, did not get a comprehensive answer impromptu. On this sort, I also printed business cards, senior architect, should first understand their own work.
Architecture contains several aspects. Members of the architects of cognitive inconsistency between the scope of work, mostly because of what is not defined in advance which direction the structure. In general sub-four business architecture, application architecture, data architecture, infrastructure. The following 11 descriptions.
1. Business structure. The main work is to sort out business needs, identify business process activities. One priority is to determine the business processes involved in the functions of the department or staff roles. Each functional roles or responsibilities of staff, and what business activities related to the node. Functions and related personnel organizational structure, reporting relationships, or business activities in the interactive relationship. Finishing operations process flow of data. Process a large number of business activities will be divided into a number of business systems, including the extraction of each operating system, common business processes, build new business systems, provide support for other operating systems. Determine the interaction between various business systems data. Business architecture is the business staff, IT staff, but also requires a detailed understanding of.
2. Application Framework. With the business structure of the outcome, we must consider how to build applications like to achieve these business needs. Corresponding to a number of business systems, natural systems have multiple applications. Applications and business systems can be corresponded with the same boundary, may not correspond. General In order to reuse the functional requirements focus will be designing a lot of fine-grained applications. In addition there will be some new technical aspects of the corresponding application requirements, such as monitoring systems, integrated bus, lead systems, etc.. To define the interfaces of these applications and call interface specification, each application to determine the content and process of mutual interaction. Interface design, including man-machine interface design, use of personnel to apply the provisions of the different roles and different responsibilities.
For an application, to design the number of applications, or client-side API library component. What function each part of their implementation, the number of nodes distributed, how interactions with each other. Hierarchy of each program, thread-driven application logic flow. Also selected to achieve the technical means of applications. Are achieved before the code, running in the operating system, you need to choose what programming language to run on what operating system; after the more technical aspects of implementation needs to be summarized for the selected application development and middleware as operating platform for the development of applications to save time, provide the basis function support, provide a new means of application logic implementation. Message Oriented Middleware provides the application of distributed asynchronous messaging environment interactivity; transaction middleware distributed transaction; integration middleware to provide different data protocol and interface conversion between technology; process scheduling tool that allows developers to write programs do not, but graphical presentation is the way to achieve approval process workflow or automated process; rules engine to help determine the rules and reasoning applied to do so.
Use of middleware platform applications can run in two ways. First, the program is running as an independent, still need to write their own main function, just call the middleware functions; the other is the program implemented as a set of components running on the middleware platform, the container, the process itself need not write main function. EJB application server components, ESB's services in the second category. This middleware platform to provide application container's deployment management, monitoring, and other multiple functions, allowing applications easier to develop efficient, but also give up to pay the price for freedom and independence.
Complete the application functional design, but also consider the application of system performance, load capacity, how to facilitate the expansion of processing power to do. Determine the application deployment options, HA or load balancing mode. Performance, load capacity often will be applied System operation of Wen Ti, application system in order to meet the performance and Kuo Zhan Xing Xu Qiu, Wang Wang Henduo do not Guifan Design and Implementation. Design and implementation of these applications often break the original architecture and the level of the program to look completely different, this is the system operating condition after years of frustration common. Good news is that with virtualization technology, we can develop the so-called cloud platform applications without concern about scalability issues. Virtual and infinite capacity computing resources, operating systems, storage systems, the cache makes our distributed applications has become something of a supercomputer on a super application. No matter how the load processing requirements increase application process itself does not entail any modification, do not even have to re-start the deployment of the application the following response to the virtual platform provides the ability to extend the calculation of load handling, storage and memory expansion. Of course, this is the ideal model, not the current success of the revolution.
Need to mention here, application management and monitoring. Each application needs to have management control interface, each application must be to achieve management and monitoring capabilities. Control as important as the application itself need to implement business functions, in the application framework designed to do when monitoring is needed attach great importance to the content, design, monitoring and control functions in the design or implementation of priority. Current applications require real-time monitoring, can change the parameters of run-time application, real-time control.
Another important element, application system integration. Can be divided into several levels of integration, application integration interface, application interface integration, application data integration. One application interface integration including the integration of applications and application interfaces Monitoring Interface integration. Now more and more heterogeneous systems within the enterprise, the standard practice is to build an integrated bus, so that these heterogeneous systems can easily interconnect with each other calling each other's capabilities, interactive data on their own. At the same time more and more customers want to have a centralized monitoring system can monitor more applications within the enterprise, monitoring of these applications from the technical to the business aspects of the various state information. Interface files are usually, API, plus data protocol port, message oriented middleware message (MQ, RV, JMS), a variety of RPC technologies (EJB, CORBA, COM, SOAP), etc., are integrated bus products to support these interfaces technology to support connection of some commonly used software packages.
3. Data architecture. Application data is part of the total listed separately to show its importance. Data is the business entity and operation of the applications in the data structure definitions. Design data, the difficulty lies in the real world interaction between these entities and complex relations between the successor entity, a collection of relations, the classification of entities are more difficult to distinguish clearly the thing. Henduo mature industry to have an agreement within the industry data, doing data architecture design time, a ready-made data definition yes would be the best, even if not Wanquan follow the standard and also provide a lot of Shenkao. If the logic level of data definition complete, after which work would be simpler. These data correspond to the various application systems and databases used inside the database form view; application data structures and objects within the definition; applications interact with the network when data packets so. One large-scale database design is the top priority of application systems, require detailed design of each database, each form and view, each database to determine the capacity and performance requirements. Need to distinguish clearly the multiple applications and multiple database relationships.
Multiple applications for the enterprise concerned, if the beginning of a unified design of data architecture design, and after to avoid complicated data Jiao Huan Tai Liang and data Zhenghegongzuo. Of course, this is the ideal situation, the reality is that after the integration of these is inevitable, and now when the line of EAI middleware, ETL software, meta data management and master data management products that do the work.
4. Infrastructures. Infrastructure including data centers, disaster recovery centers, network infrastructure, information security management, etc., these parts knows less, no longer discusses this publication. Make applications and data architecture for the design of the architect, the infrastructure still have to understand that this is among the applications in which the environment.
In short the work of architect more widely, and every architect can do and really not much more proficient.