• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Study Notes on Common Architecture

 
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

can anybody please tell me from where I get the notes on
=============Common Architectures
Recognize the effect on each of the following characteristics of two tier, three tier and multi-tier architectures: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security.
Recognize the effect of each of the following characteristics on J2EE technology: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security.
Given an architecture described in terms of network layout, list benefits and potential weaknesses associated with it.
============================
thanks in advance.
regards, Raj

 
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
u have to check the j2ee blueprints by nicholas kassem it is available online at sun site for free,
I had the same doubt and posted the same question some time back, it took me sometime to find out sob! sob!
good luck
 
Raj Mohan
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Walter,
In fact I have gone through Nicolas Kasem's and I feel it is not given in details as it what is mentioned in Objectives.
Regards,
Raj
 
Walter Vetrivel
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
oh, then maybe Mr.John who has already attended the test can
help us.....I would'nt want to go to the test unprepared
Thanks
 
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'll cut and paste my notes below. My opinion is that they are worth something but not much. They are mostly based on Sun's J2EE Appl Architecture class (SL-425). Figuring out what questions were common arch ones on the test would be tough.
Hope these help!
John

Common Architectures
Scalability
Scalability is the ability to economically support the required quality of service as the load increases.
Two types: Vertical and Horizontal
Vertical:
Achieved by adding capacity (memory, CPUs, etc.) to existing servers.
Requires few to no changes to the architecture of a system.
Increases: Capacity, Manageability
Decreases: Reliability, Availability (single failure is more likely to lead to system failure)
Vertical scalability is usually cheaper than horizontal scalability.
J2EE supports vertical scaling because of automatic lifecycle management. Adding more capacity to a server allows it to manage more components (EJBs, etc.).
Horizontal:
Achieved by adding servers to the system.
Increases the complexity of the system architecture.
Increases: Reliability, Availability, Capacity, Performance (depends on load balancing), Flexibility
Decreases: Manageability (more elements in the physical architecture)
J2EE supports horiz. scaling because the container and server handle clustering and load-balancing.
Availability and reliability are obtained through scalability.
Scalability affects capacity. The more scalable the system is the more capacity it can support. This must be traded-off against the complexity & manageability costs.
Maintainability
How related is this to Flexibility?
Flexibility is the ability to change the architecture to meet new requirements in a cost-efficient manner.
A flexible system should be more maintainable in the face of changes to the environment and/or to the application itself.
Flexibility improves: Availability, Reliability, Scalability
Flexibility slightly decreases: Performance, Manageability
Flexibility is achieved via code that can be distributed across servers with load balancing that prevents one system from being overburdened. The use of a multi-tier architecture also helps achieve flexibility.
Reliability
The ability to ensure the integrity and consistency of the application and all of its transactions.
You increase reliability through the use of horizontal scalability, i.e., by adding more servers. This only works up to a certain point, though.
When you increase reliability you increase availability.
Availability
Availability is about assuring that services are available to the required number of users for the required proportion of time.

Extensibility
The ability to modify or add functionality without impacting the existing functionality.
The key to an extensible design is to make an effective OO design. Extensibility pays the most towards the font end of a system.
Some rough guidelines:
More than 25 top-level classes will lead to problems
Every use case should be able to be implemented using domain model methods
J2EE supports extensibility because it is component-based and allows you to separate the roles of an app. JSPs can handle presentation. Servlets can handle routing, and EJBs can handle business logic.
Performance
Architectural performance is concerned with creating an architecture that forces end-to-end performance.
The purpose of an architecture that ensures performance is to control expensive calls and to identify bottlenecks.
If you know the boundaries of the various parts of the system, the technologies, and the capabilities of the technologies you can do a good job of controlling performance.
You want to minimize the number of network calls your distributed app makes - make a few "large" calls that get a lot of data vs. lots of calls that get small amounts of data.
Try to minimize process-to-process calls because they are expensive.
Use resource pooling to reduce the number of expensive resources that need to be created like network connections, database connections, etc.

Manageability
Manageability refers to the ability to manage a system to ensure the health of the system.
A single tier or monolithic app would be more manageable from a management perspective than a multi-tier system but this must be weighed against the possibility of a change rippling through a monolithic app.
A simple architecture may not be as flexible or available as a more complex system but the amount of effort required to keep the system up & functioning will be less.
A component-based architecture like J2EE offsets some of the manageability problems caused by a multi-tier system.
Security
Security ensures that info is neither modified nor disclosed except in accordance with the security policy.
Tradeoffs: personal privacy, ease of use, and expense.
A highly secure system is:
More costly
Harder to define and develop
Requires more watchdog activities
Principles of Security:
Identity - The user is correctly ID'd thru an authentication mechanism
Authority - The user can perform only allowed activities
Integrity - Data can only be modified in allowed ways
Privacy - Data is disclosed to authorized entities in authorized ways
Auditability - The system maintains logs of actions taken for later analysis
 
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The above notes is very informative
The problem in India is they do not conduct these courses SL-425 (atleast as far as I know). One can learn EJB, UML from books and ofcourse by clarifying from good sites like javarach but some of the arch objectives' explanations are not available in books. If the notes are in soft copy can you upload the same to some site. It would help a lot of people like me struggling to understand the objectives. Thanks.
 
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks John!
Your Notes is so good . I hope It will help a lot of person.
Please post Similar notes if you have on
LEGACY CONNECTIVITY
Because It is one of the Tough topic I found.
It will help to me and to others also.
regards
Bidyut
 
Bidyut Padhi
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes Madhu!
It is hard to find any good center at least in New Delhi who is providing god training on SCEA. We have to relay on books .
Appart from that We can clear our douts on Java Ranch what else? .This is the site which helped me to clear SCJP when ther are very few resources available on NET.
regards
Bidyut
 
Raj Mohan
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Walter, John.
John, the notes you have given here is very useful.
Please clarify the following also :
Do we need the list the advantage/disadvantage of two tier/three-tier and Multi-tier architecture recognising the effect of scalability, maintenability etc. etc. and if so, is there any ready notes available on the net, please?
Regards,
Raj.
 
John Wetherbie
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You are not really missing much by not taking SL-425 in my opinion. I thought there was way too much general "here's what an architecture is" (which no one has a good answer to, BTW) and not enough focus on J2EE and what to do with it.

As far as 2-tier vs n-tier, here is what I think: 2-tier is usually faster to build and manage (fewer parts) but is more brittle. n-tier is more flexible and more maintainable but can take longer to develop.
John
 
Walter Vetrivel
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks John the notes u have posted are very good.
Keep 'em coming!!!
Thanks again.
 
Ranch Hand
Posts: 350
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanx
for u'r notes John it will b really help full,
I have not visted Java Ranch for some time ,and there is a lot of information posted in the last few weeks
Other than the J2ee Blue Prints and the EJB Specification is there anyhting that I will have to read.
Since I am form India, there are no Sun cources conducted over here ( as far as i know ) , I just have to read from books to get all the knowledge that I have to
thanx
Vivek
 
Ranch Hand
Posts: 1874
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
bidyut & Madhu & Vivek , I don't think there is any training institute giving you training in SCJEA in India. I don't know about Sun , Bangalore. Anybody knows whether sun , bangalore is having training courses for SCJEA ?
Your Friendly Bartender
Shailesh.
 
John Wetherbie
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The Sun education Java catalog for India lists SL-425 as a course they offer along with when and where it is offered (I think). CHeck it out here.
John
 
Madhu Juneja
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
For common architectures refer to the link given in the following site:
http://www.javaranch.com/ubb/Forum26/HTML/000202.html
The first chapter gives a comparison of the all the one tier, two tier and three / ntier architectures.
 
Ranch Hand
Posts: 148
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

I have the impression that
2 tier architectures have thick clients and 3 tier has thin clients.
is it true?
 
Madhu Juneja
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
2 tier architectures have client application on tier 1 and database on tier 2. Presentation, Business Logic, Data Model Processing is all in tier 1. Hence the client is termed as "Fat Client".
3 tier architectures have client application on tier 1 and business logic on tier 2 and database on tier 3. Presentation and business logic resides in a different tier. Hence Client is termed as "thin client".
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi there,
I would like to know more the Networking Architectures. Also can you provide me with an extensive white-paper work on comparison on 3-tier and n-tier architectures.
Gaurav

Originally posted by Madhu Juneja:
2 tier architectures have client application on tier 1 and database on tier 2. Presentation, Business Logic, Data Model Processing is all in tier 1. Hence the client is termed as "Fat Client".
3 tier architectures have client application on tier 1 and business logic on tier 2 and database on tier 3. Presentation and business logic resides in a different tier. Hence Client is termed as "thin client".


 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic