views:

97

answers:

5

What are most commonly faced programming scenarios while developing Web/Enterprise Applications ?

Note: Include common programming scenarios which would occur more frequently across all layers of Web/Enterprise Applications : Frontend/Middle/Backend.

+1  A: 

i would say CRUD is one of the most common requirements:

Create, read, update and delete (CRUD) are the four basic functions of persistent storage.1 Sometimes CRUD is expanded with the words retrieve instead of read or destroy instead of delete. It is also sometimes used to describe user interface conventions that facilitate viewing, searching, and changing information; often using computer-based forms and reports.

http://en.wikipedia.org/wiki/Create,_read,_update_and_delete

Managing entities in a system would often require a CRUD interface and supporting middle-layer and back-end to add, list, view, modify, and delete items. lots of data models such as a file system, an employee payroll system, an order management system, could be managed by something very generally described in terms of create/read/update/delete.

another common requirement are the various issues surrounding authentication and role management. this can range from simple http basic authentication, to forms authentication, to LDAP, Active Directory, NIS, SecureID cards, biometrics, etc, and cross-application authentication where you might need single sign on (SSO as Dave W Smith mentioned). standards like OAuth, OpenSAML, OpenID are relevant here.

jspcal
+2  A: 

In Enterprise situations, you're likely to encounter

  • A requirement to use LDAP and/or some form of single-sign-on
  • Hostile or indifferent DBAs, who may hold veto power over your being able to deploy unless you get them on board very early
  • Hostile or indifferent Ops people (see above)
  • Having to deploy onto machines that you can't fully dictate the configurations of
  • The need to understand and cope with whatever backup scheme is in use
  • SOX compliance, which may require that you both have more access control and more auditability than you'd ever considered necessary

These are often "rude surprises" that drive rework and rearchitecting for first-timers in Enterprise land.

Dave W. Smith
LDAP isn't single signon, and a hostile DBA means you have modeled the data poorly and/or can't explain the data model relationships to them (bring business contacts for backup if need be).
OMG Ponies
You can explain your well-modeled, fully 3nf schema until you're blue in the face, but if it somehow violates "the way things are done here", you're not going to get very far in some shops.
Dave W. Smith
@Dave: That's personality management. They are clients, and need to be treated appropriately for milestones to be accomplished. Rise to the challenge, unless you don't want to progress in your career path.
OMG Ponies
Hence the recommendation to "get them on board very early."
Dave W. Smith
A: 

Edit
Ok, removing my sarcasm :)

You should definitely have a look at Model-View architecture
(http://en.wikipedia.org/wiki/Model–view–controller).
Taking a look at the Entity-relationship model wouldn't hurt for DB development.
Then you have your Webserviecs.

Steven
A: 

user management, authentication, authorization, password recovery and overall access control security mechanism strategy and policy.

this. __curious_geek
+2  A: 

What are most commonly faced programming scenarios while developing Applications?

  1. Changing requirements, due to any combination of:

    1. Client had no idea of what they really need
    2. Poor analysis
    3. Wrong business contact (don't laugh, seen 6 mos go down the tube...)
  2. Model-View-Controller (MVC)

  3. Single Sign-On/Authentication. CAS is the most common, but there are others such as OpenID, and Shibboleth
  4. Clustered servers, both web (if webapp) and database
OMG Ponies
+1 specifically for "client had no idea of what they really need"
Lance McNearney