Duvidas Gerais sobre EJB + JBOSS

Galera to pegando EJB agora e estou cheio de duvidas …

Ja tenho projetos diferentes aqui de tantos bloggers …

As Duvidas são :

1- Projetos que precisam de login e altas permissões de usuário é uma boa pratica usar o JAAS, se estivéssemos usando um frameworks Spring(Spring Security) só para tratar da permissões , estaríamos fora do padrão ???

2- EJB só roda nos servidores grandes , exemplo : não roda no TomCat ??

3- Para usar EJB é necessário ter JPA e usar o persistence.xml , pq até agora nunca vi ninguém fazendo com o hibernate.cfg.xml e quando eu tentei foi difícil juntas com o JPA do JBoss e não conseguiii …rsrs’

Ja pesquisei muito sobre isso , mas ninguém conseguiu realmente tirar essas duvidas.

Vamos lá
Por partes:

Projetos que precisa de segurança vai de você escolher qual implementação usar na qual vc se identifica melhor

JAAS é da especificação e Spring Security não é (Mas dá para ser usado tranquilamente em projetos EJB)
eu mesmo prefiro Spring Security do que JAAS.

Você não estaria fora do padrão se usar o Spring Security!

EJB precisa de um servidor FULL por exemplo (GlassFish, Jboss)
existe o EJB lite que roda em container dá uma procurada no google


EJB pode ser usado sem ter JPA ou qualquer ORM implementado

quado se usa hibernate.cfg.xml vc está dizendo que não quer trabalhar com a especificação que no caso é o JPA
isso é completamente aceitavel.

Para você entender melhor e gravar (qdo vc vê projetos com dessa maneira hibernate.cfg.xml, o cara que desenvolveu está dizendo esse é meu ORM de preferencia e meu
projeto está sendo desenvolvido em cima desse carinha o Hibernate no caso)

e

Qdo vc vê projetos usando persistence.xml é que o cara tem livre escolha de ORM que será adotado para implementar em cima da espeficicação JPA.

eu prefiro trabalhar com o jpa e hibernate (implementação) e tiro proveito de ambas

Suas pequenas palavras valeu por 20 foruns que eu frequentei …
Respondeu tudo e me esclareceu tudo …

Mais duvidas :

1- Muitos foruns criam em new>file>EJB project e depois criam um Dynamic Web Project para ele …
Outros já o fazem tudo dentro de um Dynamic Web Project , tem padrão nisso ??

2- Ja que você gosta de trabalhar como eu , EJB + Spring Security ( Essa era minha preocupação ).

Poderia me ajudar nesse erro aqui abaixo :

A minha duvida agora é que quando eu implementei o Spring Security , eu coloco um JNDI para os 2 …

Ae 1 JNDI fica responsável para a persistência, para não ficar com 2 arquivos de configuração de banco ( Hibernate & Spring Security ).

Eu configuro tudo dentro do projeto e eu faço tudo dentro de um Dynamic Web Project .
Esse erro que está ocorrendo é pq eu deveria configurar isso abaixo no Jboss ???

Eu crio um context.xml dentro do META-INF :

<Context reloadable="true"> <Resource name="jdbc/myappDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="marcos" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/myapp?autoReconnect=true"/>

E dentro do web.xml eu coloco assim:

<resource-ref> <description>DataSource myappBD</description> <res-ref-name>jdbc/myappDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

e o meu grande persistence.xml fica :

[code]

<persistence-unit name="myapp" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>myapp_ds</jta-data-source>
     
    <properties>
    	<property name="connection.datasource">
    		java:/comp/env/jdbc/myappDB
    	</property>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.show_sql" value="true" />
    </properties>
</persistence-unit>

[/code]

e no final da erro no Jboss, ao carregar o projeto .

ajudo sim

antes de mais nada preciso saber as tecnologias que vc esta usando
para poder configurar o spring security

está usando JSF?

Sim …

sendo que eu criei tudo dentro de um Dynamic web project , tem algo haver ?

JSF 2.0 + Spring Security 3 + EJB

============

Enquanto a essa pergunta ???

1- Muitos foruns criam em new>file>EJB project e depois criam um Dynamic Web Project para ele …
Outros já o fazem tudo dentro de um Dynamic Web Project , tem padrão nisso ??

[quote] Muitos foruns criam em new>file>EJB project e depois criam um Dynamic Web Project para ele …
Outros já o fazem tudo dentro de um Dynamic Web Project , tem padrão nisso ?? [/quote]

eu gosto de trabalhar com maven, crio toda a estrutura do projeto conforme a minha necessidade
por exemplo se é um projeto em que vou utilizar EJB (então crio um projeto EAR)

mas é bom conhecer a estrutura de um projeto antes, para não se assustar qdo usar maven.
e claro aprender como declarar dependecia pelo pom.xml que é uma mão na roda
e mantem suas libs organizadas

Independente se voce criou seu projeto no eclipse via New > Dynamic Web Project, ou New > Java Project, ou New > EJB Project, isso são apenas archetypes, ou seja, o eclipse te auxilia criando uma estrutura de diretorios e pacotes. Não vai influenciar em nada.

Como disse, você pode criar um projeto totalmente web, indo em New > Java Project, criando os diretorios necessários, colocando as libs necessárias no projeto e por aí vai.

Quanto a modularização de projetos, tem pessoas que preferem separar pra cada camada, um projeto. Criar um projeto só pro EAR. Outros preferem criar td no mesmo projeto, mas separando bem por pacotes. Padrão não acredito que tenha, depende da necessidade do projeto.