001A: ♥♦ 7+ Java architectural patterns interview Q&As

This post covers Java architectural design patterns interview questions & answers with lots of diagrams. The depth of the answers you provide with diagrams and design alternatives will go a long way.

Part-2: Java architect Interview Questions & answers on conceptual diagrams

Q1. What are the different application integration styles?
A1. There are a number of different integration styles like

1. Shared database
2. batch file transfer
3. Invoking remote procedures (RPC)
4. Exchanging asynchronous messages over a message oriented middle-ware (MOM).

Integration Styles

Integration Styles

Q2. How does a Java EE application integrate with other systems?
A2. Using various protocols like HTTP(S), SOAP, RMI, FTP, TCP, proprietary, etc.

JEE Big Picture

JEE Big Picture

1) SOAP WS (Apache CXF) and RESTful(Apache CXF, RESTEasy, Jersey, etc) Web Service. RESTful Web Service is more prevalent.

RESTFul Service Calls

RESTFul Service Calls

2) Messaging with JMS. With JMS, you can switch from one JMS complian message broker (e.g. Web Methods) with another one (e.g. MQSeries or WebspehreMQ) with little or no changes to your source code.

JMS

JMS

3) JavaMail for sending emails and Simplewire Java SMS to send SMSs.

4) Overnight batch job runs to load data feeds with Spring batch or the new JEE batch jobs. These are ETL(Extract Transform and Load) tasks.

5) Using open source integration frameworks like Spring Integration or Apache Camel. This helps you integrate systems in a standardised way adhering to the enterprise integration patterns (EIP). Apache Camel is a light weight integration framework that allows you to use HTTP, FTP, JMS, EJB, JPA, RMI, JMS, JMX, LDAP, and Netty to name a few.

Apache Camel Routes

Apache Camel Routes

6) Using an ESB (Enterprise Service Bus) to integrate your applications. For example, Oracle Service Bus, TIBCO ESB, webMethods, Mule, etc. Under the hood, the ESB also uses an integration framework and provide more services and management functionalities like monitoring, high availability, clustering, graphical user inteface for routing and configuring, etc. Usually, an ESB is a complex and powerful product with a higher learning curve. Suited for very large integration projects. Projects requiring BPM (Business Process Managemnt) integration and other integrated services like monitoring, clustering, etc. Mule does provide proprietary connector support for systems like SAP, Tibco Rendevous, PayPal, Sibel CRM, IBM’s CICS, etc.

ESB and BPM

ESB and BPM

7) TCP based socket level integration. MINA is a popular framework for TCP based non blocking socket level communication. MINA is based on EDA (Event Driven Architecture). In EDA, Both the “Event” producers and listeners are loosely coupled via an “EventHub” and “Event”. An “EventHub” is used to register and unregister listeners.

EDA (Event Driven ARchitecture)

EDA (Event Driven ARchitecture)

8) Invoking remote procedures via RMI, Burlap, and Hessian. Burlap/Hessian remote objects are just ordinary Java objects that implement some interfaces. They don’t require special proxy, home, or remote classes. One of the inherent benefits of this object-and-interface model is that it promotes the good object-oriented design practice of design by interface.

9) FIX protocol to exchange financial information. FIX stands for Financial Information eXchange, which is an open protocol intended to streamline electronic communications in the financial securities industry. Most of the exchanges use this standard for communication like sending Order, Executions, MarketData, etc. QuickFIX/J and CameronFIX are popular FIX frameworks for Java.

FIX to send trades to stock exchange

FIX to send trades to stock exchange

10) Integration with data-warehouse systems for multi-dimensional reporting. OLTP (OnLine Transaction Processing) data is summarised and sent to OLAP (OnLine Analytical Processing) systems for business intelligence, data mining, and complex reporting. IBM Cognos, JasperSoft, Oracle Enterprise BI server, etc are OLAP systems.

OLTP vs OLAP

OLTP vs OLAP

11) Server side and client side mashups. Merging of services and content from multiple web sites in an integrated and coherent way is called a mashup.

A server-side mash-up integrates content in the server and pass it to the client. Hence this style of mash-up is also called a proxy-style mash up because the server acts as a proxy.

Server soie mashup

Server side mashup

A client side mash-up integrate services and content on the client by mashing up directly with the other web applications’ data or functionality. You also need to be aware of the cross domain restrictions imposed by JavaScript for Ajax calls and you can overcome these restrictions with JSONP or CORS (Cross Origin Resource Sharing). The CORS is more industrial strength solution.

Client side mashup

Client side mashup

Part-2 covers following Java architecture Interview Questions & answers Q3 – Q7 with diagrams

Q3. Can you discuss some of the high level architectures you are experienced with?
Q4. In your experience, what are some of the common architectural and development mistakes?
Q5. What causes performance issues in Java?
Q6. In your experience, what are some of the key security considerations in an enterprise Java application?
Q7. Can you list some key software design principles?

More white board session links

1) What should be a typical Java EE architecture?

2) How to go about designing a medium size JEE application?

3) The 13+ Java key areas, especially Scalability, QoS, Security, Transaction Management, and Performance.

4) Know how to draw ERDs.

5) Know your UML. UML Interview Q&A

Print Friendly
The following two tabs change content below.
Arulkumaran Kumaraswamipillai
Mechanical Engineering to Java freelancer since 2003. Published Java/JEE books via Amazon.com in 2005, and sold 35K+ copies. Books are outdated and replaced with this online Java training.
Arulkumaran Kumaraswamipillai

Mechanical Engineering to Java freelancer since 2003. Published Java/JEE books via Amazon.com in 2005, and sold 35K+ copies. Books are outdated and replaced with this online Java training.

Posted in FAQs Java Application Architecture, Java Architect Interview Q&A
Tags: , ,
1100+ paid subscribers. Reviews | Free Contents. Monthly 260K+ views & 40k+ visitors. 9 tips to earn more.

Java Developer Training – 800+ Q&As ♥Free|♦FAQ (Mouse Hover for Tooltip)

open all | close all

200+ Java Developer Job Interview FAQs

open all | close all

16 Java Programmer Key Areas to be a top-notch

open all | close all

80+ Java Tutorials – Step by step

open all | close all

100+ Java Developer Coding Exercises

open all | close all

How good are your …..Java job hunting & career fast-tracking skills?

open all | close all