I. Architect?

1.1 Architecture design involves scope diagram

As shown in the figure, the scope of architecture design involves, first of all, the choice of the underlying platform supported by the architecture, which is currently popular and common in the industry. Net platform and Java platform (J2EE); Then, based on the platform support, technology related architecture design (mainly using object-oriented OO, aspect-oriented programming AOP and service-oriented architecture design SOA ideas), especially IBM and SUN are outstanding in the promotion of SOA. In the continuous change of business and the update of architecture, find the things that remain unchanged in the change, and formulate a series of specifications for services and architecture to effectively manage the architecture and become the principle of architecture design; At the top, of course, is the fickle business architecture layer.

1.2 What a good architect needs to know

Operating system OS: to have a good understanding of the operating system kernel, learn from the design concept; It is recommended to find a small version of Linux code and read the kernel implementation to understand how “simple” code can accomplish something that is not simple

Virtual machine technology: Learn how virtual machines work and what they do, such as the Java JVM, Java, and Java. Net CLR, CLR submitted to the European logo organization can read the document ECMA-335-CLI

Computer languages: A good architect should have a deep knowledge of computer languages and is advised to be familiar with the process path: C -> C++ -> C#,Java

Open source resources: of course, more research on open source architecture is a necessary way to improve, understand what kind of design ideas in open source architecture as the starting point, compare their design changes in each version of the upgrade; Resources: Java open source frameworks such as JBoss and Spring, 5 practical case architectures for.net, ASP.NET Starter Kit, and MS: Enterprise library;

JBOSS 4.0: includes web server (servlet/JSP container, HTML server), EJB2.0 container. Full Pure Java database engine, (Java messaging Service)JMS, JavaMail, and Java transaction API/Java Transaction Service (JTA/JTS) support, but its aspect-oriented design (AOP) is what really stands out. JBOSS’s AOP architecture is responsible for handling AOP, using a set of named concepts such as “Interceptor,” “Pointcut,” and “Introduction.” An interceptors code “intercepts,” which puts an object in a class to be intercepted.

Spring is a lightweight, non-invasive, IOC container that comes with wrappers that make it easier to use many different services and frameworks. Lightweight containers accept any Javabeans, not just specific types of components. To understand Spring, you should also understand the bridging applications between Eclipse, Struts, and Hibernate

ASP.NET Starter Kit: ASP.NET official website launched a set of ASP.NET solution Demo; Is to provide ASP.NET beginners learning material! Including portal, commercial site, community site, report, time tracking schedule, problem tracking these 6 systems. Here, also casually mention WSS/SPS, with Microsoft official support, is a mature product, is extended through Web Part, Web Part will be a field of ASP.NET development, using Web Part for page customization is more humanized, The WYSIWYG effect of dragging is no longer achievable with Portal Start Kit. WSSSPS is a very scalable system platform, WSSSPS workspace can be added down infinitely, integrated with Office 2003, Exchange, Biztalk, Content Manager Server… The Portal Starter Kit, on the other hand, is just a simple website demo that can be customized, but that’s about it.

Second, demand

The long march begins at the foot, demand is always the first step in everything!

Start from two kinds of software type respectively talk, among them collect demand method and attention point

2.1 Enterprise informatization software

Enterprise informatization software, and the end user of the software is an enterprise, the enterprise hopes to achieve the informatization of internal management process through the procurement of software projects; There are two common scenarios for collecting such requirements:

2.1.1 Driven by Party A

For ERP, party A knows very well what kind of software they need or what kind of effect they can achieve through the software. The collection point of party A’s demand collection should not be omitted:

Middle management: –> Collect business process from them, because they are the most skilled in party A’s business process

Field personnel: –> Collect business rules from them

Senior leaders: –> This is important to take decision rules from them and enable software to achieve knowledge discovery, which can later become a bright spot for software to support corporate decisions

Information personnel: –> Operation specification, can provide ease of use

Personnel required by Party B:

Architects (convinced and reassured), requirements analysts, openers (prototyping requirements),

UI prototyping requirements: There are three benefits: solidified requirements, clear design rules, and open reuse

2.1.2 Party B’s power theory

Since Party A’s demand is not clear, and Party B has profound experience in this industry and understands industry standards, this is a very good job to do not say more.

2.2 Items for attention to be collected

1. Starting point of demand collection:

Find all the actors

Find the organization

The business process

2. Demand management, which is essential;

When the demand is stabilized, Party B shall provide detailed specifications of the demand

At the same time, make the vocabulary, as shown in the picture

If you also want to get a high salary in IT industry, you can attend our training camp courses, choose the most suitable for their own courses to learn, technical masters teach, 7 months later, enter the famous enterprises to get a high salary. Our course content includes: Java engineering, high performance and distributed, high performance, easy to understand. High architecture. Performance tuning, Spring, MyBatis, Netty source analysis and big data and other knowledge points. If you want to get a high salary, want to learn, want to have a good employment prospect, want to compete with others can obtain an advantage, want to enter Ali interview but worry about the interview, you can come, group number: 651013434

Note: Add group requirement

1. Those with 1-5 work experience, who do not know where to start in the face of the current popular technology and need to break the technical bottleneck can be recruited.

2. I have been in the company for a long time and have been comfortable, but I hit a wall in the interview when I changed my job. Need to study in a short period of time, job-hopping can be added.

3. If you have no working experience, but have a solid foundation, and have a good command of Java working mechanism, common design ideas and common Java development framework, you can add.

4, feel very good B, general needs can be done. But the knowledge points learned are not systematic, it is difficult to continue to break through in the field of technology can be added.

5. Ali Java senior bull live explain knowledge points, share knowledge, sorting out and summarizing years of work experience, with everyone to establish their own technical system and technical knowledge in a comprehensive and scientific way!

6. No small or small white or other groups, thank you.

We have the target, now it’s action! Remember: learning is always your business, and you won’t have much time if you don’t learn, but you can sometimes use what you learn to have more fun! Time is the basic component of life, but also the fundamental scale of all things exist, our time is there, our life is there! Our values will rise or fall there too! Java programmers, come on

What you need to know as an architect

3. Master intermediate languages and quickly understand industry norms

2.3 Commercial Software

Demand collection is the commercial software of the industry, to do:

Collect the needs of all enterprises in the industry

Industry norms, at best, are industry leaders and standard-setters -> business prototypes

At the same time, market factors, competitors and market highlights should be taken into consideration (the method of preserving highlights may be adopted if necessary).

Also consider environmental factors, hardware, society, etc

3. Domain analysis

The domain model is obtained by domain analysis. This section involves UML modeling, modeling process, use case slice package, DSL specification definition domain language and so on some of the more halo content!!

Domain model: Cut words (noun entities)

Entity relationship –> Class diagram, e-R

Entity constraint rules (accuracy required)

It involves workflow analysis and the technologies involved in workflow. It is suggested to study workflow: First, WWF of Vista platform, second, OsWorkflow of open source framework; The following diagram helps us understand workflow design: Plug-in DSL support in Visual Studio 2005

3.1 Minimum modeling techniques

For most problems, only 20% of UML can do 80% of the modeling, so only the following three key elements of modeling are required:

Four. Indispensable design pattern

The specific of this is not to say, should be a review of the design pattern, read more design pattern papers and application scenarios practice. Note the following important points when using:

4.1 Design Mode Application Scenarios

Both handle changes -> Add changes to the original component

–> Substitute component

4.2 Weaknesses of design patterns

Increased complexity, performance loss, the possibility of improper mode selection, improper assembly, and increased testing difficulty

4.3 Object Oriented Open technology today’s core foundation

Core foundation: component technology, UML modeling technology

Component technology: a must for large projects and systems

– need to support multiple platforms: SOA, ESB-connected components

– “has a lot of components: reuse, MDA (Model Driven Development) – fast, cheap components

– Responds to increasingly complex business operations

Framework:.NET, Java

Five. AOP oriented programming

AOP design ideas should also be used in the architecture design, crosscutting concerns in the whole architecture design process to achieve aspect-oriented programming, the unified processing of some functions of the realistic framework, and reduce duplication. AOP emphasizes effective architecture design through aspect-oriented thinking, so AOP design ≠ AOP technology, AOP technology is the best realization of aspect-oriented design AOP. Open source AOP framework research recommendation: JBoss4.0

The architect should design the architecture with this axial diagram in mind so that the architecture can be fully considered at different latitudes.

Vi. Architectural design

6.1 Main Architectural patterns

Process processing mode: centering on algorithm and data structure, it consists of a series of processing steps and adjacent steps connected by data flow pipeline. Mainly used in batch system software

C/S mode, MVC mode, layered mode

Seven SOA.

Service Oriented Architecture (SOA) is a concept of application Architecture. IT presents applications and resources as reused services and communicates with each other using standardized borrowing-changes to provide a more flexible, efficient, and information-integrated IT environment. SOA is an approach to building decentralized systems that provide applications as services to end users and build other services. With SOA, we can develop a single piece of software into a building block that can be used by other applications.