Announcement Announcement Module
Collapse
No announcement yet.
Oracle ADF Business Components Vs Spring Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Oracle ADF Business Components Vs Spring

    Hi,
    Has anybody used Oracle Application Development Framework's Business Components (ADF BC)? What are the disadvantages and issues that you

    faced? Can anyone compare EJB/Spring with ADF BC?

    We are planning to use either Spring or Oracle's ADF Business Components as middle and business tier. So, we would like to know the

    advantages and dis-advantages of both the technologies(Spring and ADF BC) before deciding the technology. Can anybody help on this?

  • #2
    What a choice to make! Spring or Oracle ADF. Both supported by respectable companies and offering good training packages. So its a tough one.

    My question around this is of which of the technologies has been adopted more within the Fortune 500 companies. Also, how many developers are out there with either of those skills. I tend to think on those lines when making decisions.

    A futher look at Oracle ADF overview

    As I notice, with Oracle ADF it looks like it is free to deploy on any Oracle-based application server (i.e. WebLogic). Deploy it on non-Oracle app servers (i.e. JBoss, IBM) or web container (i.e. Tomcat), you have to pay for licences.

    Another thing to note is the architecture for Oracle ADF (http://download.oracle.com/docs/cd/E...o.htm#BHCFFJHC). A software architecture typically has the following layers:
    application -> service -> domain/model -> gateway -> data source

    where
    application - the presentation layer is implemented here. Normally, the MVC pattern is used.
    service - acts as a facade between the application and domain layers. Also handles distributed transactions, exceptions and logging. The Service or Facade pattern is used.
    domain/model - business rules, entities and data transfer objects are defined here. Normally, the Strategy pattern is used (but Template pattern can be used optionally).
    gateway - similar to a DAO, where objects are mapped to the data source. Gateway or DAO pattern is used.
    data source - can be a database, web service, xml, etc.
    Looking at their architecture they've highlighted the MVC, which I interpret it as the application layer. But then have a Business Services (perhaps indicating the Service/Facade + Strategy + Gateway/DAO patterns) and then a Data Services (indicating the data source). My question is around the Business Services, as to what patterns they use.

    Its probably worth asking the questions to Oracle, and get a deeper view of the patterns adopted, with any implementation examples (hopefully, with an unbiased opinion).

    A futher look at Spring overview

    In contrast to Oracle ADF, its free and free to deploy on any application server or web container. It is a recognised product and is classed as the de facto standard for enterprise application development.

    You can pay for additional support from Spring Source, and training is provided by Spring Source as well as other training vendors.

    Also, there are modules provided for security, integration, batch processing. Spring also integrates very well with other frameworks/technologies such as Struts, Hibernate, Mule ESB and even TopLink. A number of IDEs also recognise Spring (Eclipse, NetBeans, IntelliJ IDEA, etc.). Not to forget there is Spring.NET (http://www.springframework.net) for .NET developers, and Spring Phython (http://sourceforge.net/projects/springpython/) for Python developers.

    The framework blends in well with the application -> service -> domain/model -> gateway -> data source layers.

    Perhaps this may add to the confusion, but I hope it gives you an indication of what to look for when making the decision. I look at the aspect of support, training, trends and does it cater for the requirements.

    All the best.
    Last edited by shahnawazshahin; Nov 12th, 2008, 07:03 AM.

    Comment

    Working...
    X