wood burning stoves*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Component design methodology for web tier + service tier Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Component design methodology for web tier + service tier" Watch "Component design methodology for web tier + service tier" New topic
Author

Component design methodology for web tier + service tier

Jes Sie
Ranch Hand

Joined: Jul 24, 2001
Posts: 188
Dear people,
I need some guidelines to develop a simple methodology for Java/OO component design methodology in the web-tier (Servlet/JSP/Struts) and service tier section. (Service tier is probably a big word for simple stateless Session Beans....Usually provide service stated in Use Case titles.)
Methodology includes what and how: -
Roles, activities, artifacts, guidelines, organizing principles and quality attributes.

Please point me a direction if anyone has got any knowlege or pointers on this.


Thank you.<br /> <br />- Jess Sie<br /> <a href="mailto:jess@see-consulting.com" rel="nofollow">jess@see-consulting.com</a>
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
http://crystalmethodologies.org/articles/jmc/justintimemethodologyconstruction.html
might be interesting to you...


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Jes Sie
Ranch Hand

Joined: Jul 24, 2001
Posts: 188
This is indeed an eye opening methodlogy concept. Unfortunately, this isn't quite what I'm looking for. I'm interested in the how, the roles and the artifacts required to this work on web-tier and service -tier development.
Any other ideas, please.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Simon See:
This is indeed an eye opening methodlogy concept. Unfortunately, this isn't quite what I'm looking for. I'm interested in the how, the roles and the artifacts required to this work on web-tier and service -tier development.

Well, that will heavily depend on a bunch of other factors:
- team size
- team distribution (including customer availability)
- project criticality (what happens, when a bug goes into production? Will millions be lost, people be killed?)
- property to optimize for (development speed, development predictability, ability to react to new opportunities, early ROI etc.)
probably even more.
Jes Sie
Ranch Hand

Joined: Jul 24, 2001
Posts: 188
Originally posted by Ilja Preuss:

Well, that will heavily depend on a bunch of other factors:
- team size
- team distribution (including customer availability)
- project criticality (what happens, when a bug goes into production? Will millions be lost, people be killed?)
- property to optimize for (development speed, development predictability, ability to react to new opportunities, early ROI etc.)
probably even more.

We've a team size large enough to adopt RUP and CMM for this project. The stakeholders are almost as complete as stated in RUP. (They are not jsut the same person wearing different hats but real distinct roles).
The project is critical enough to get affectits regional company profit.
I'm looking to customise an agile methodology.
Pls help
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 4991
    
    8

Originally posted by Simon See:

We've a team size large enough to adopt RUP and CMM for this project. The stakeholders are almost as complete as stated in RUP. (snip)
The project is critical enough to get affectits regional company profit.
I'm looking to customise an agile methodology.

It's things like this that make me cringe. It seems to me that you have two opposing factors here: 1) a fairly large team size and 2) a desire to be "agile".
Most agile methodologies are suited for small to medium-sized teams mainly because good communication, a cornerstone of "agility", is maintainable. Another attribute of agile methods is a relative lack of ceremony/formality. But, as Martin Fowler wrote, the larger the team is, the more ceremony you tend to need.
Alistair Cockburn's Crystal Methods that Ilja pointed you to were developed to scale agile methods to larger teams. I think this would be your best bet.
If you really want to go with an agile process but for some reason still pine for RUPesque formality, try looking at dX, a minimal RUP process.
As for identifying roles, I suggest that you start out by identifying the most important ones and going with those first. Re-evaluate the process frequently as you go along to see if you need to add/reduce the number of roles. The thing is, the more roles you create, the more communication lines you'll need to keep open. But the creation of more roles also brings about more formality and that brings you right back to having to compromise between agility and formality. It's all a great big balancing act and we haven't talked about the "political" factors. From what I can tell, I don't envy your position.
Good luck,
[ September 03, 2002: Message edited by: Junilu Lacar ]

Junilu - [How to Ask Questions] [How to Answer Questions]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Simon See:
We've a team size large enough to adopt RUP

Mhh, it was always my impression that RUP was a framework for teams of every size. Were I wrong?

and CMM for this project.

Mhh, that doesn't say much to me, either. Perhaps you could simly state a plain number?
The stakeholders are almost as complete as stated in RUP.

Caution: RUP is a *Framework* - you are *supposed* to dispose parts of it for your project. So, if for some parts areas you can state that you are doing "full RUP", you are most probably heading for trouble...
(They are not jsut the same person wearing different hats but real distinct roles).

A role *is* a hat for a person! As Grady Booch recently stated in the XP mailinglist (http://groups.yahoo.com/group/extremeprogramming/message/59446 ):

A role is the name for a collection of things someone must do; a given individual might serve several roles at one time.
I'm an individual named "Grady." I play several roles during the day: cat hairball picker-upper, godfather, husband, friend, musician, and so
on.
Oh yeah, I do software stuff too.


The project is critical enough to get affectits regional company profit.

I didn't find the word "affectits" in the dictionary...
Would someones life be ruined if the project were a failure?
I'm looking to customise an agile methodology.

Why agile? (This is a very important question to answer, I think - probably the most important one...)
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Junilu, very good suggestions!
Originally posted by Junilu Lacar:
Alistair Cockburn's Crystal Methods that Ilja pointed you to were developed to scale agile methods to larger teams. I think this would be your best bet.

Crystal Orange Web is designed specifically for web-development in teams of around 20 persons, IIRC. You can find some pages about it in Cockburns book "Agile Software Development" - which would be a recommended read, anyway...
Jes Sie
Ranch Hand

Joined: Jul 24, 2001
Posts: 188
Originally posted by Ilja Preuss:

Why agile? (This is a very important question to answer, I think - probably the most important one...)

NObody dies if the project fails. It's a life insurance system....so death is not exactly close but yet a common term used
Why agile? Not really. Any would do.
Many hats per person is an indication that the size of the stakeholder is small. Like a graphic designer and code developer hats are worn by one person. That's not the env here. We have a large team with distinct roles.
I understand full RUP maybe a disaster.....that's probably why this thread was started in the first place....to enquire of one thin slice methoodology for a portion of the software architecture.
Essentially, I'm looking for the component design level to provide the match to build session beans or message driven beans for the Service Tier layer. Any help there?
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 4991
    
    8

Originally posted by Simon See:
Essentially, I'm looking for the component design level to provide the match to build session beans or message driven beans for the Service Tier layer. Any help there?
I recognize a number of the phrases but frankly, I have no idea what that sentence as a whole means. Maybe it's just me so would you care to explain this further?
Jes Sie
Ranch Hand

Joined: Jul 24, 2001
Posts: 188
Originally posted by Junilu Lacar:
Originally posted by Simon See:
Essentially, I'm looking for the component design level to provide the match to build session beans or message driven beans for the Service Tier layer. Any help there?
I recognize a number of the phrases but frankly, I have no idea what that sentence as a whole means. Maybe it's just me so would you care to explain this further?

OK, I'm doing some Design phase process(assume analyse phase have all the right aritifacts to be consumed). It's obviously part of a bigger iterative process (like RUP, etc).
My Design phase processs is to identify the service tier and web-tier of our architecture. Web-tier is like the Model portion of MVC. WHereas Service tier is the Session Facade portion which exposes the service available of a given server side to any clients. Very likely implemented as Session Beans.
This process usually involves some sort of use case realisation, class or subsystem design with interaction diagrams and class diagrams as the output artifacts? Identification of roles, guidelines and best practices are required as well
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Simon See:
OK, I'm doing some Design phase process(assume analyse phase have all the right aritifacts to be consumed). It's obviously part of a bigger iterative process (like RUP, etc).

I hope you are aware of the antagonism between using an *iterative* process and having all the right artifacts from a previous phase.

This process usually involves some sort of use case realisation, class or subsystem design with interaction diagrams and class diagrams as the output artifacts? Identification of roles, guidelines and best practices are required as well

http://www.agilemodeling.com/ does provide some general modeling principles and best practices.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Component design methodology for web tier + service tier