traditional web based application structure frameworks define how the application is designed,...

13
itional Web Based Application Structure s define how the application is designed, organised and deployed rious tiers.

Upload: domenic-cook

Post on 28-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Traditional Web Based Application Structure

Frameworks define how the application is designed, organised and deployed across various tiers.

Spring

Sample MVC Layout

JDBC could be substituted by an alternate object relational persistence and query layer such as Hibernate.

Spring provides excellent support to for Hibernate.

•Inversion of Control

The basic concept of the Inversion of Control pattern (dependency injection) is that developers don’t need to create any objects but describe how they should be created. Here one doesn’t have to directly connect the components and services together in code but describe which services are needed by which components in a configuration file.

• Aspect Oriented Programming

AOP allows to dynamically modify the static model to include the code required to fulfil the secondary requirements without having to modify the original model. Better still, this additional code can be placed in a single location rather than having to scatter it across the existing model.

• Data access & Transaction Management.

• MVC

• Batch Processing

• Authentication & Authorization

• Messaging

• Web Services

Spring Services

1. Popular and well supported framework for web and enterprise wide applications

2. Open Source, no vendor lock-in

3. Spring has a layered architecture,meaning that you can choose to usejust about any part of it in isolation,yet its architecture is internally consistent.

4. Provides an end to end solution. View layer, Database, Security, Webservices…..

5. Support community in terms of online forums, books, training courses

6. Easy to buy in resources for development

7. Facilitates good programming practices and loose coupling between interfaces.

8. Enables POJO programming.

1. Higher learning Curve

2. Needs experienced java developers.

3. More time needed for development initially especially for developers new to Spring. However there are long term benefits of having a robust framework in place.

Spring

Pros Cons

• Spring seems a good choice, when there is scope of reuse of components being developed and/or Web service integration.

• Also, if one would like to any other open source frameworks for different layers in the application then Spring fits the bill very well.

• Spring being layered in nature, one doesn’t have to use Spring all the way through, one could just as easily bring in Hibernate for database access and persistence or Struts for MVC.

• Spring runs on all web containers and application servers, as well as standalone applications.

• Most mission critical systems, large transactional systems can be developed using Spring.

Spring

Why Spring?

Oracle ADF Framework

• MVC style of development with special consideration to separate Model and the Business Service Layer.

• SOA development support.

• Introduction of ADF Business Components in the Business services layer, providing out-of-the-box services such as transaction management, resource pooling, locking, declarative validation rules, translation, and object-relational mapping

• Built-in implementation of common J2EE design patterns and infrastructure code in the framework

•Declarative style for defining user security for authentication and authorization.

1. Excellent tooling support - JDeveloper offers visual and declarative tools for each layer of ADF (end-to-end solution)

2. ADF Faces provides Oracle Forms like interface, which is easy for Forms developers.

3. Declarative development approach reduces the learning curve for developers new to Java EE technologies.

4. Declarative approach increases productivity - creating rich java applications with reduced effort.

5. JDeveloper as a IDE, that provides tools, plug-ins that make development more of plug and play.

6. 11g release allows declarative style of defining security profiles. Security can be associated with specific web pages, task flows, users and user groups. This is done using the JAAS security model.

7. Serviced by Oracle Support

1. Less control over user interface and design in comparison with non declarative tools.

2. JDeveloper is a Oracle propriety product, thus vendor lock in.

3. Does not integrate easily with non Oracle products/open source frameworks.

4. JDeveloper is a free IDE, however support and maintenance for IDE is charged.

5. JDeveloper with Oracle ADF needs a runtime license when deployed outside of an Oracle Application Server.

Oracle ADF

Pros Cons

• Where everything is Oracle (app server, authentication etc), vendor lock-in is not a concern and/or we need to tightly couple with existing Oracle stored procedures, ADF is sensible.

• When the team to start developing a Java EE project, comes from a Oracle Forms background or are PL/SQL developers, they would find the transition smoother.

• JDeveloper is an excellent tool that integrates very well when implementing a Oracle ADF project, and it helps one to clearly define each component in a declarative manner.

• With ADF providing support for Ajax and rich UI interfaces, it is becoming easier for non Java developers to start developing rich Java based applications.

Oracle ADF

Why Oracle ADF?

PHP ZEND

• MVC style of development.

• Suited to Web Content based applications, and flashy websites.

• Good support for Internationalisation.

• Web service support specially for developing Restful services.

• Offers services such as authorization, acl, cache, logging, mail.

• Simpler deployment.

1. Good choice when developing websites, CMS applications.

2. Excellent support for web application development in terms of api’s available.

3. Served directly from the web server (apache). Thus no need of any other deployment container. Simpler deployment.

4. Generally suited to application written using LAMP stack. (Linux, Apache, MySQL and PHP).

5. Shorter learning curve.

6. Support for OO is available from 5.0 onwards.

7. Can consume webservices

PHP/ZEND

1. Not suited for larger enterprise wide systems or B2B kind of applications.

2. ZEND IDE is the available for professional PHP development, however it’s a licensed product.

3. Not ideal for server centric development.

4. Lack of standards with regards to design patterns and unit testing.

Pros Cons

jQuery – A JavaScript Framework

• jQuery is a lightweight JavaScript library that allows interaction between JavaScript and HTML elements.

• jQuery is a free open-source software, usually just a single JavaScript file containing all common DOM, Event, Effects and Ajax functions.

• jQuery works on an array of browsers. Such as Firefox 1.0+, Internet Explorer 5.5+, Safari 1.3+, and Opera 8.5+.

• jQuery can be used with any web programming language JSP, ASP, PHP etc..

• Features are:•DOM element selections functions, traversal and modification•Events•CSS manipulation•Effects and animations•Ajax•Extensibility•Utilities - such as browser version and the each function.•JavaScript Plugins

jQuery – A JavaScript Framework

• Check the system requirements. If the application being developed needs a rich UI heavy interface, with dynamically changing elements. It would be advisable to make using of a JavaScript framework.

• Projects that have made use of jQuery as a javascript framework are:• Common Timetabling• Total Rewards System

• If the application needs any Ajax capabilities, jQuery provides good support for Ajax based development.

• jQuery works just as well with any other JavaScript framework. Thus if one chooses to implement jQuery with another JavaScript framework, then this too is feasible.

• jQuery also has a shorter learning curve for developers who have worked with java scripting, CSS and is familiar with XPath syntax.

Why jQuery?

1. Business Requirement

2. Scalability

3. Timescales

4. Budget

5. In-house Skills

6. Support Team Skills

What to pick

Whatever be the new system being developed, base your choice on the following factors.