2010-06-24 2 views
0

우리는 GWT 2.0 (AppEngine이 아닌), Spring 및 Hibernate를 사용하여 가능한 한 많은 코드를 자동 생성하여 점프 스타트하려고하는 웹 애플리케이션을 개발 중입니다.GWT/Spring/Hibernate/PostgreSQL 용 서비스/DAO 레이어 생성

나는 spring roo vs appfuse generate service /dao layer을 보았다. 나는 appfuse를 시도했다. 그러나 그것은 나를 위해 일하지 않았다. 또한, GWT를위한 roo는 Milestone 릴리스 이후로 아직 거기에 있지 않습니다.

도구가 나를 위해 서비스 레이어 및 DAO 레이어를 생성 할 수 있다면 실제 비즈니스 로직과 UI 배선을 수행 할 수 있어야합니다. 그러나 앞으로 6 개월을 기다리더라도 Roo의 현재 1.1M1 버전이 나를 거기에 데려다 줄 수는 있지만 바로 진행할 필요가 있습니다.

제안 사항?

덕분에 많은

+0

이 부분을보세요. http://stackoverflow.com/questions/1208301/best-persistence-api-for -use-with-gwt –

답변

3

내가 직접 사용하지 않은,하지만 Firestorm/DAO는 현재 버전에서

+0

고맙습니다. 내가 찾고 있던 a) 도메인 b) DAO c) 도구에 의해 생성 될 서비스 계층. Firestorm은 DAO 만 할 수 있습니다. – anjanb

+0

오라클의 독점적 인 ADF 프레임 워크를 사용하여이를 수행했습니다. ADF를 사용하여 조언을하지는 않겠지 만, 최대 절전 모드/상향 링크가있는 기존 데이터베이스를 기반으로 DOA 및 서비스 계층을 생성 할 수 있습니다. (생성 부분에 JDeveloper를 사용해야합니다.) 조사할만한 가치가 있을지도 ... – Albert

1

의 AppFuse와 봄 루 원하는 코드를 생성하기에 충분한 기능을 제공해야한다 ... 유망 보인다.

서비스 및 Dao 레이어를 생성하려는 경우 여기에는 GWT 관련 정보가 없습니다.

그래서 AppFuse에 다른 시도를하거나 AppFuse의 구체적 문제에 대해 질문하십시오.

1

Grails과 그 다음은 GWT plugin입니까?

+0

고마워! 그 트릭을하지 않습니다. 나는 Rails를 제안했으나 아직 충분히 "대중적"으로 간주되지 않았다. Grails는 더 나은 기회를 가질 수 있지만 커뮤니티는 Rails 또는 Plain Java만큼 좋지 않습니다. 그래서 아마도, 나는 "Grails and GWT"콤보를 추천 할 수 없을지도 모른다. 감사합니다. – anjanb

+0

@anjanb : 이해할 수 있습니다. 어쨌든 여러분의 의견과 행운을 가져 주셔서 감사합니다! –

1

서비스 계층에 대한 내 이해에서부터 어떻게 생성할지 모르겠다. 제대로 작성된 경우 비즈니스 모델을 기반으로해야하며 데이터베이스 스키마를 전혀 따르지 않아야합니다. DAO와 달리 (실제로 DAO의 일대일 엔티티가 항상 존재하지는 않습니다.), 모든 엔티티에 대한 서비스를 제공해서는 안되며 서비스 대신 엔티티를 API의 일부로 사용하여 제어 논리와 데이터 액세스 사이의 추상화 계층 인 비즈니스 오브젝트를 제공하거나 작업하거나 공급할 수 있습니다. 그것은 또한 둘 다의 잡종 일 수있다. 이는 애플리케이션의 복잡성과 DAO/Entities가 데이터베이스와 얼마나 밀접하게 관련되어 있는지에 달려 있습니다.

편집 : 귀하의 의견과 훌륭한 서두를 바탕으로 다른 게시물에서 언급 한 도구를 사용하여 DAO 레이어를 생성하면 매우 좋은 시작이 될 것입니다. 그런 다음 모든 DAO를 보유하는 단일 Service 객체를 생성합니다. 여기에서 테스트 가능한 컨테이너 (서비스 객체)에서 모든 비즈니스 로직을 수행 할 수 있습니다. 이렇게하면 컨트롤러에 배치 할 수 없으며 사람들이 모든 비즈니스 로직 방법을 볼 수있는 단일 장소가 제공됩니다. 규모가 커짐에 따라 중복 서비스 및 나중에 다른 서비스 개체로 구분할 수있는 논리 단위가 표시됩니다.

많은 시간을 할애해야 할 때가 많습니다. 많은 비즈니스와 관련된 복잡성이 많은 컨트롤러와는 달리 단일 서비스 개체에 있어야합니다. 나중에하는 리팩토링은 훨씬 쉬울 것입니다. 그리고 당신은 여전히 ​​쉽게 테스트 방법을 테스트 할 수 있습니다. 나는 러시에 상관없이 추천 할 것이고, 신뢰합니다. 배치하고 테스트하여 테스트하는 것보다 서비스 메소드에 테스트를 작성하는 것이 빠릅니다.

+0

우리는 무언가를 배치하는 데 아주 빠릅니다. 일반적으로, 당신이 말하는 대부분은 의미가 있습니다. 서두를 감안할 때, 나는 디버깅을하지 않고 무언가를 가동시켜야한다. 결함은 나중에 해결 될 수 있습니다 (기술 부채). DB 테이블/뷰가 완료되면 DAO, 도메인 개체, config (주석)가 실제로 생성됩니다. 희망은 그것을 명확하게한다? – anjanb

1

체크 아웃 fastcode 그것은 꽤 위스콘신입니다. DAO는 myEclipse를 사용하여 자동으로 생성하고 빠른 코드 생성을 통해 훌륭한 서비스 계층 인터페이스를 생성 할 수 있습니다. 이 옵션은 모두 Spring을 옵션으로 사용합니다.
멋진 점은 데이터베이스가 변경되면서 서비스 레이어를 반복해서 변경할 수 있다는 것입니다 (업데이트 된 DAO와 함께 사용).