0% found this document useful (0 votes)
71 views

Step 1: Understanding The Software Architect Role: Java SE

A software architect is a technology expert who makes high-level design choices and technical standards. A Java software architect should have knowledge of Java SE, Java EE, Java EE 7 changes, Java ME, design patterns, and UML. The best way to improve Java architecture skills is to read more patterns and frameworks, analyze open-source projects, and apply patterns to improve designs. In general, a software architect needs knowledge in technologies used like hardware, security, databases, and web technologies to make informed architecture decisions.

Uploaded by

javatraining
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

Step 1: Understanding The Software Architect Role: Java SE

A software architect is a technology expert who makes high-level design choices and technical standards. A Java software architect should have knowledge of Java SE, Java EE, Java EE 7 changes, Java ME, design patterns, and UML. The best way to improve Java architecture skills is to read more patterns and frameworks, analyze open-source projects, and apply patterns to improve designs. In general, a software architect needs knowledge in technologies used like hardware, security, databases, and web technologies to make informed architecture decisions.

Uploaded by

javatraining
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Step 1: Understanding the Software

Architect Role
A software architect is a software technology expert who makes high-
level design choices and dictates technical standards, including software
coding standards, tools, and platforms. The leading expert is referred to
as the chief architect. Their day-to-day tasks include:

 Creating a design for a business problem

 Creating software architecture documents

 Deciding the best design choice between different options

 Consider future changes

 Being able to consider both functional and non-functional


requirements for creating a design

 Must be a technical expert in latest design patterns

 Must be a technical expert in latest frameworks or COTS


components

Step 2: Understanding the Java Software


Architect Role
A Java software architect should have knowledge in the following areas:

Java SE
 Threads

 Concurrency

 Applet

 Java Webstart Application

Java EE
 JSP

 Servlet
 JSF

 EJB

 JPA

 JAX-RS

 JAX-WS

 JNDI

 Application Servers

 Web Servers

Java EE 7 Changes
 Web Socket API

 Cocnurrency API in Java EE

 Batch API in Java EE 

Java ME
 MIDLETs

Design Patterns
UML

Step 3: Improve Your Java Design Skills


The best way to improve your Java architecture skills is by reading more
patterns and frameworks. You can find tons of patterns and framework
solutions for the Java EE platform on the web.

1. List the patterns used so far in your projects


2. Search on the web and find patterns for Java SE and Java EE
3. Draw a class diagram and sequence diagram for these patterns
4. Just create a few code examples to run and understand the flow
5. Download open-source projects, analyze the code, and create
design diagrams
6. List down the patterns used in the projects and consider applying
your patterns to improve better

Step 4: Improve Your Architecture Skills


In general, a software architect must have knowledge in many areas,
especially technology used. You may need to have general knowledge —
starting from hardware sizing to coding. This could include:

1. Compare web technologies (PHP, ASP, JSP) and compare pros and
cos
2. Compare enterprise application technologies (Legacy, Java EE…)
and compare pros and cos
3. Compare database integration technologies (JPA, Hibernate…etc)
and compare pros and cos
4. Compare security technologies, like SSO, Encryption/Decryption,
SSL, etc.
5. Compare different type of attacks (SQL Injection, DoS attack, etc.)
6. Compare different type of hardware architecture (web server at
DMZ, web server inside DMZ, application server inside DMZ, etc.)
7. Compare different type of load balancing design (Clustering…)

You might also like