JAVA/JEE

Getting started with  IOC

After the object-oriented programming, software engineer must start with this very important lessons, before starting to study the JEE architecture.

Wikipedia currently defines a  dependency injectionis a software design pattern that implements inversion of control for software libraries. Caller delegates to an external framework the control flow of discovering and importing a service or software module. Dependency injection allows a program design to follow the dependency inversion principle where modules are loosely coupled. With dependency injection, the client part of a program which uses a module or service doesn’t need to know all its details, and typically the module can be replaced by another one of similar characteristics without altering the client.”

An injection is the passing of a dependency (a service) to a dependent object (a client). The service is made part of the client’s state. Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern.”

Functional Requirement

  • An application is created to respond, first, the functional requirement for client

Technical Requirement

  • Performance
  • Response time
  • High Availability
  • Avoid the scalability problem.

Maintenance

  • An application needs change over time.
  • Must be closed to change and open extension.
  • Security
  • Portability
  • distrubiation.
  • Service oriented architecture.
  • Ability to provide different types of customer service (mobile, http, desktop ..).
  • cost of software.
 It is difficult to develop a software system that meet these exigense without using the experience of the other.
Two architecture entreprise we should use it :
  • JEE Architecture
  • .Net Architecture

The developer only deals business code.

The framework takes care of the technical code.

 Two solutions for the JEE architecture :
  • Spring : lightweight container
  • EJB : heavyweight container

ORM (Object Relational Mapping) : Hibernate,JPA,TopLink..

Web application : Struts, JSF,Spring MVC

Middleware for distributed systems :

  • RMI,CORBA : distrubed application
  • JAXWS to the web service SOAP
  • JAXRS to the web service RESTful
  • JMS asynchronous communication between the Application

Leave a comment