Step 1: Understanding the role of software architect
Software architect is a software technology expert, responsible for developing advanced design and development of technical standards, including software coding standards, tools and platforms. Leading experts have been called the chief architect. Their daily tasks include:
Create a design for the business problemCreating software architecture documentation to determine the optimal design choice between different options to consider future changes can be considered functional and non-functional requirements to create a design must be a technical expert newest design pattern must be a new framework for technical experts or COTS components
Step 2: Understanding Java software architect role
Java software architect should have knowledge of the following areas:
Java SE
Thread concurrency applet Java Webstart application
Java EE
JSP Servlet the JSF the EJB JPA JAX-RS JAX-WS the JNDI application server, Web server
Java EE 7 Change
The Socket Web API the Java EE concurrency API the Java EE in the batch API the Java ME
Mobile Information Device applet design patterns UML
Step 3: Expand your design skills Java
The best way to improve Java architecture skills is to read more models and frameworks, can be found on the Web a lot of models and frameworks for the Java EE platform solutions.
Mode lists currently used in the projectWeb search and find on Java SE and Java EE model class and sequence diagrams drawn of these modes just to create some sample code to run and understand the process to download an open source project to create the design and analysis code lists used in the project mode, and consider your application model to better improve
Step 4: Improve your architecture skills
Typically, the software architect must have knowledge in many areas, especially in the use of technology. You may need to have universal knowledge - from the hardware to the size of coding, which may include:
Comparison of Web technologies (PHP, ASP, JSP) and compare the advantages and disadvantages comparing enterprise application technology (Legacy, Java EE ...) and comparing pros and cos compare database integration technology (JPA, Hibernate, etc.) and compare the advantages and disadvantages safer technology as the SSO, encryption / decryption, the SSL and the like.
Comparison of different types *** (SQL injection, DoS ***, etc.) to compare different types of hardware architectures (DMZ Web server, Web server within the DMZ, within the DMZ application servers, etc.) to compare different types of load balancing design ( Clustering ...)