Dear Shay,
First to answer your question:
Company name : I
am not allowed to mention the name we are in Iran and generally we are
not allowed to use the american technology but as you now the Oracle
products are the most used products here in Iran and next goes for
Microsoft.
Technologies used : Oracle ADF 11g
Two sentences describing the application :
it
is a total solution system for a oil-power plant company with more than
3000 employees the main module is :HR,Document Control,Office
automatin,Contracts& change,.. each of them has about 2-3 sub
system.
Would you be interested in talking to analysts about your ADF
experience: yes
Would you be interested in talking at events about your ADF experience: yes
It
seems that our company is one of the first company that has a full
application deployed in the production environment with ADF 11g, this
system has about 50 pages/page fragments and more than 100
entity/view/view link...and other ADF BC components.
the release that we are working is 11.1.1.0.2 (passing the process of
migrating from previous releases), the application is deployed on the
internet too and pls do not ask about the license.. :)
I am really satisfied with this version that was a very big step from 10.3 to 11g.
Also, as I am a developer and consultant of ADF I know 3 other
companies that are working on migrating their applications from form
builder to ADF.
we
are generating the pages in a team of 5(adf developer) 5 analyse and
designer 1 project manager, 2(quality and test) and generally we are
happy with the good speed of developing and we are mainly disappointing
about:
1-many bugs
2-lack of standard for developing and not a really
clear solution for building a big application more than 100 sub-system
with ADF
regarding the standard, mainly the people are worried about
how to managed their application modules and other BC component but in
production this is not a really issue the most issue is that how to
develope an application that is consist of 100 or more subsystem that
each subsystem has more than 50-100 pages and each subsystem need about
4-5 application modules!
The system that we are developing is consist of 100 subsystem and we at
the present has developed 3 small-sized subsystems of it,I hope you
could guess my worries.
When
the number of application modules and pages are getting big, deploying
is risky and error-proven and the performance would be decreased and
because the number of BC components are large each user would gain
large resource so when the number of user is getting high, the
performance is decrease significantly.
good point that help us to deal with above problems:
1-working
on standardized application developing with ADF, having more than 2
(starting from 10g) year of pure developing ADF we reach to a point
that at present we have a really acceptable standards. the best step
that we have taken here is that now we have a template applications
that it has all the necessary resources and patterns needed for
developing such as the Task Flow pattern, Skin, customized Entity and
View,customized Error Handling,page template,sample master-detail
page,all the utility and library,sample deploy project,shared app
module,needed page for gateway,1 session bean(user can add other bean
but this one is needed for make the gateway works,...
every sub system is developing with this template and based-on the
number of pages that each sub system would have the team member would
be adjusted.
2-each sub system is deployed independed for example we have a financial.ear, cartable.ear,...
the good point here in contrast to having a big ear file with very larg entity and view is that:
- in a little change there is no need to redeploy the other application only the changed application (ear) would be updated.
- developing rate is higher
- maintenance is really simpler
the problem with this design is:
-
we need a pattern to handle the link between this subsystem(ear) files,
for this issue we make a pattern that is similar to a gateway, I mean
that when a person from page "a.jsp in cartable.ear" goes to the "b.jsp
financial.ear" with this gateway we do following things, first we
invalid the session in cartable.ear, second we direct the person to the
b.jsp in financial.ear (here a new session in generated) and at last we
move the previous session data that user had in cartable.ear to the new
application financial.ear (not a easy step)
maybe our design is not very good but at present we are generally
satisfied with the application,our application has about 400 user (100
concurrent user) and they will reach to 800 at the next 4 months.
we are now developing 5 subsystem that would be finished in next 6 months.
I hope that this information is useful and if anybody has a better
design or want to discuss the method that we are adopting for
developemnt I would be really happy to share our idea.
Regards,
Amir