Before moving on web programming, we should know about something that is really important specially for beginners . Most of them are terminology. First Let us know about the phrase enterprise application.
Enterprise application is sometime called business application. When we make some big application and that is for some business purpose, we used the the term business application. However, todays in a corporate environment, enterprise application means complex, distributed, component based, mission critical application. Mission critical refers some application those are developed for a business purpose and that business depends of the application entirely and if any mishaps happens to the application, the business falls. These kinds of application are developed for various platform like corporate networks, secured networks, Internet. They are very user friendly, data centric, secured, administrative and easy to manipulate. For say, data storage, user restriction, customer invoice, banking system automation, flight bookings etc are the example of enterprise application. Now let me tell you the way of develop them. As the applications are so complex, so the development of them should be more complex and really it is. You probably know about he Java programming language. You know there is three version of Java, they are Java standard edition(Java SE), Java enterprise edition(Java EE) and the Java micro edition (Java ME). You people may be familiar about Java SE. I can assume that you guys are very much confident about Java SE and thats why you are here to learn Java EE.
Let us think, we are going to build our home. So first we used to plan our budget and begin to think how much we can afford to spend and how much building a home is likely to cost. We can arrange some construction loan if necessary. Secondly we used to choose our lot whether we are building our home and choose a land before selecting floor plans or other details. And also we have to investigate some factors like soil condition, drainage, building codes etc. Thirdly we line up our team. There need a team of players including a builder, a excavator, a surveyor and a home designer or an architect. Fourthly we used to pick a plan. Many homes are build using stock plans from catalog. The builder or a home designer may make minor modification in room size, window style or others details. A custom-designer home, on the other hand, is created specifically for the family which will live there. However, in Fifth, we negotiate a contract. We used to get a written contract which has been signed and dated by both the builder or constructor and the architect or designer. A contract describes the project in details and include a listing of all the parts to be included in the house. And then home building can start. There is a design in hand of the builder given by the designer or architect. Builder starts working and build the home with bricks, cement whatever they need to build.
Our application development is kind of home building. We have divided our several job while building home. Here it goes as home building. First we have to think what we need to do, then how to do and then what it requires to do. Assume, We are going to make a enterprise application and and have made all sort of planning like our home building. Now we need some tools to make it possible, like bricks, cement, send etc. Java EE is nothing but a tool for developing enterprise application.
For say, we need light. We just press a switch button to turn it on. Life is easy. We need light, we’ve got it. I think we don’t need to know about how light produces and how it works. We just let it go as there is lots of people work for providing electricity. Like this, Java EE provide some tools to make our developing chores easy. If we don’t think about them like how they are created, there is no problem. We just need to know their use.
Sometime it not possible to learn a complex technology within a short time. To make a technology easier and flexible enough, the term framework comes out. Framework is something that makes your life easy. In general framework is a real or conceptual design or pattern that is intended to serve as a support or guide for building a complex things easy.
Recommended to read : http://www.codeproject.com/KB/architecture/WhatIsAFramework.aspx
MVC stands for model view and controller. What is it? Okay stay calm, Im here will try to explain it shortly.
MVC is nothing but a design pattern. Go to wiki to learn about it though here, I’m trying to give you a short explanation. We know, now a days, our application is being very complex and it contains lots of mixture like business logic data access code, presentation code. So its sometime very difficult to maintain without any design pattern. MVC patter makes it easy to maintain. It separate all those things so that development can be easy and maintainable.
So now come to the point what is model view and controller.
More generally the duties of model view and controller is given below-
Model- encapsulates core application data and functionality. Typically it contains some functions that help you retrieve, insert, and update information in your database.
View- obtains data from the model and presents it to the user. It is basically web page, that is presented to users through web browsers.
Controller- receives input and initiates a response by making calls on model objects and return a view.
Recommended reading for model and view and controller:
I think you’ve got nothing. Okay no problem. We will learn all about it later.
Part 2 will be on ‘introduction to spring framework’. so stay tuned.