11월 17일
그전에 라이브러리는 개발자가 가져다가 쓰면 되지만 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정하고 그위에 개발된 개발자의 코드를 제어하기 때문에 프레임워크의 구조에 맞춰서 코드를 작성하지 않으면 애플리케이션이 돌아가지 않는다.
개발자의 성향에 맞게 코드도 제각각 이고 그 코드를 작성한 개발자가 퇴사한후에 다른 유지보수를 한다고 할때 코드분석이 오래 걸린다.
그렇기 때문에 유지보수 및 협업하는 측면에서 정형화된 패턴 또는 약속이 필요하다고 느끼게 됨.
이렇게 정형화된 패턴 또는 약속을 해놓으면 다른개발자가 와서 유지 보수를 할때 구조를 빠르게 파악할 수 있는 장점이 있음.
디자인(표준화된 패턴)+소스코드(여러프로젝트에서 재사용성이 높은코드) =개발프레임워크


프레임워크를 쓰기전 Model1의 형태임. jsp안에 화면과 비지니스로직 및 컨트롤코드등 모든걸 가지고 있으며 자바빈을 통해서 데이터 베이스를 접근하고 결과를 다시 jsp로 화면에 띄어줌.
프레임워크는 Model2 의 형식을 따르는데,Controller에서 비즈니스로직을 처리하고 자바빈은 데이터 베이스를 접근하고 jsp는 화면처리만 처리하는 형식임.

model1과 model2의 제일 특징적인 부분은 model1같은 경우 각각의 jsp에서 모든 비지니스로직과 화면단을 처리한다는 하기때문에 클라이언트 접근도 각각 jsp에 접근을 하고 데이터베이스도 각각 접근을 하기 때문에 코드의 중복이 많음.
하지만 model2의 경우 MVC로 나눠져 있어 jsp는 오직 화면을 보여주는 역할만 하기 때문에
클라이언트 접근도 controll에서 받아서 분기하여 처리하고 해당 jsp에 전달하여 화면단을 보여준다.
집이나 배를 만들때 틀을 만들듯이 웹을 만들때도 공통적인 틀을 제공하므로써 공공에서 쓸수 있게끔 표준적인 틀을 제공하기 위해 전자정부 표준프레임워크가 탄생했다.
전자정부 표준프레임워크가 없을때 각회사에서 자사프레임워크를 개발하여 영업하여 A라는 회사에 프레임워크를 납품했을때 1~2년뒤에도 다른 회사 프레임워크로 대체 할수 없어 한번 납품한 회사에 종속당할수 밖에 없음.그래서 불공정한 문제가 생김.

이전에는 일일히 개발자가 기능마다 코딩을 했다면 전자정부 표준프레임워크는 필요한 컨포넌트를 가져다가 조립하는 형태로 필요한 업무처리조직만 개발자가 집중적으로 코딩할수 있어 비용절감 효과가 있다.