SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
JEE KURZUS 1. HÉT
SETENY.JANOS@TIGRA.HU
Feltételek
ZH-ban csak azt kérem számon, amit
írásban leadok

2016. 09. 28. ZH

2016. 11. 02. ZH

3 db beadandó lehetőség

Ebből 2 db kötelező

Megajánlott jegy

2016. 11. 30. javítási lehetőség ZH-val 

2016. 12. 07. utolsó 2 gyakorlat

2 igazolatlan hiányzást fogadok el
Kurzus anyaga (prezentációk):

https://www.facebook.com/groups/
301136416952189/

Forráskód:

https://github.com/jseteny/tigra-jee-kurzus
Oracle és JBoss forráskód és dokumentumok:
https://github.com/wildfly/quickstart
http://www.oracle.com/technetwork/java/javaee
https://docs.jboss.org/author/display/WFLY10/Developer+Guide
Nagyvállalati környezet
Ezek nem lesznek ZH kérdések

Milyen nehézségek merülnek föl az alábbi
területeken?

Kommunikáció

Forráskód

Üzemeltetés

Karbantartás, pl. kódkarbantartás, átvehető
• Java Server Faces

• Enterprise Java Beans

• Context and Dependency Injection

• Java Persistence API

• Java Authentication and Authorization
Services

• Java Cryptography Extension

• Java Naming and Directory Interface

• Java Messaging Service

• Java API for XML Web Services

• Java API for RESTful Web Services

• Üzemeltetés: loggolás, felügyelet
Maven - JAR, WAR, EAR
“mvn archetype:generate” paranccsal a 1608-at választva lehet ezt a kiindulási alapot megkapni

pom.xml fejléc:

<groupId>hu.tigra.jee</groupId>

<artifactId>1608</artifactId>

<version>1.0-SNAPSHOT</version>

<packaging>war</packaging>

<name>WildFly Quickstarts: 1608</name>
Java verzió: 1.8 kell pl. lambdák használatához:

<!-- maven-compiler-plugin -->

<maven.compiler.target>1.7</maven.compiler.target>

<maven.compiler.source>1.7</maven.compiler.source>

Amit új projektben majd úgy kell összerakni:

<dependencies>
Amit egy új JEE Wildfly projektben érdemes lamásolni:

<build>
Model
https://en.wikipedia.org/wiki/Model–view–controller
docs.oracle.com/javaee - 37.1 Entities
@Entity

public class Member implements Serializable
{



@Id

@GeneratedValue

private Long id;



@NotNull

@Size(min = 1, max = 25)

private String name;



@NotNull

@NotEmpty

@Email

private String email;
…
}
EntityManager.persist()
hívható ilyen objektumra
Azonosító és generált
Kötelező és behatárolt
méretű
Kötelező, nem üres és
email típusú
View-ból csak <h:form>
https://en.wikipedia.org/wiki/Model–view–controller
docs.oracle.com/javaee/7 -10.2 ... HTML Tag Library ...
<h:form id="reg">

<h2>Member Registration</h2>

<p>Enforces annotation-based constraints defined on the

model class.</p>

<h:panelGrid columns="3" columnClasses="titleCell">

...

<h:outputLabel for="phoneNumber" value="Phone #:"/>

<h:inputText id="phoneNumber"

value="#{newMember.phoneNumber}"/>

<h:message for="phoneNumber" errorClass="invalid"/>

</h:panelGrid>



<p>

<h:panelGrid columns="2">

<h:commandButton id="register"

action="#{memberController.register}"

value="Register" styleClass="register"/>

...

</h:panelGrid>

</p>

</h:form>
<form> mezőit
kapja meg a
MemberController
<outputLabel>
címke, 1. oszlop
<commandButton>
action =
controller.hívandó
metódus
<inputText> beviteli
mező, 2. oszlop
<message> 3. oszlop
Controller
https://en.wikipedia.org/wiki/Model–view–controller
public class MemberController {


…


@Produces

@Named

private Member newMember;



@PostConstruct

public void initNewMember() {

newMember = new Member();

}



public void register() throws Exception {

try {

memberRegistration.register(newMember);

FacesMessage m = new FacesMessage(
FacesMessage.SEVERITY_INFO, "Registered!", “successful”
);

facesContext.addMessage(null, m);

initNewMember();


…
}
A Controller-ből hívjuk a business logika
objektumokat
@Named erre a névre hivatkozik index.xhtml

@Produces miatt HtmlResponse-ba kerül
Ez a metódust hívja
<commandButton>
Az üzleti logika:
memberRegistration.register()
INTERACTOR, ENTITY, BOUNDARY
RUBY MIDWEST 2011 - KEYNOTE: ARCHITECTURE THE LOST YEARS BY ROBERT MARTIN
Nem lesz ZH anyaga
Szoftvermérnöki ismeretek
Ezek sem lesznek ZH kérdések

Általános gyűjtemény: principles.adactio.com

Simplicity x 9

The Robustness Principle: Be conservative in what you send; be
liberal in what you accept.

The DRY Principle: Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.

SOLID (object-oriented design)

The Agile Manifesto

Mais conteúdo relacionado

Semelhante a Jee kurzus 1 het

SMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prezSMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prez
schramm_karoly
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világába
János Ács
 

Semelhante a Jee kurzus 1 het (8)

NodeJS
NodeJSNodeJS
NodeJS
 
Jee kurzus 4. het
Jee kurzus 4. hetJee kurzus 4. het
Jee kurzus 4. het
 
Drupal security
Drupal securityDrupal security
Drupal security
 
SMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prezSMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prez
 
Html5 css3-osszefoglalo-v1
Html5 css3-osszefoglalo-v1Html5 css3-osszefoglalo-v1
Html5 css3-osszefoglalo-v1
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világába
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
 
Google Tag Manager - A kezdetektől a biztonsági kérdésekig
Google Tag Manager - A kezdetektől a biztonsági kérdésekigGoogle Tag Manager - A kezdetektől a biztonsági kérdésekig
Google Tag Manager - A kezdetektől a biztonsági kérdésekig
 

Mais de Janos Seteny (9)

Jee kurzus 14. het
Jee kurzus 14. hetJee kurzus 14. het
Jee kurzus 14. het
 
Jee kurzus 13. het
Jee kurzus 13. hetJee kurzus 13. het
Jee kurzus 13. het
 
Jee kurzus 12. het
Jee kurzus 12. hetJee kurzus 12. het
Jee kurzus 12. het
 
Jee kurzus 11. het
Jee kurzus 11. hetJee kurzus 11. het
Jee kurzus 11. het
 
Jee kurzus 10. het
Jee kurzus 10. hetJee kurzus 10. het
Jee kurzus 10. het
 
Jee kurzus 9. het
Jee kurzus 9. hetJee kurzus 9. het
Jee kurzus 9. het
 
Jee kurzus 7. het
Jee kurzus 7. hetJee kurzus 7. het
Jee kurzus 7. het
 
Jee kurzus 6. het
Jee kurzus 6. hetJee kurzus 6. het
Jee kurzus 6. het
 
Jee kurzus 2. het
Jee kurzus 2. hetJee kurzus 2. het
Jee kurzus 2. het
 

Jee kurzus 1 het

  • 1. JEE KURZUS 1. HÉT SETENY.JANOS@TIGRA.HU
  • 2. Feltételek ZH-ban csak azt kérem számon, amit írásban leadok 2016. 09. 28. ZH 2016. 11. 02. ZH 3 db beadandó lehetőség Ebből 2 db kötelező Megajánlott jegy 2016. 11. 30. javítási lehetőség ZH-val 2016. 12. 07. utolsó 2 gyakorlat 2 igazolatlan hiányzást fogadok el
  • 3. Kurzus anyaga (prezentációk): https://www.facebook.com/groups/ 301136416952189/ Forráskód: https://github.com/jseteny/tigra-jee-kurzus Oracle és JBoss forráskód és dokumentumok: https://github.com/wildfly/quickstart http://www.oracle.com/technetwork/java/javaee https://docs.jboss.org/author/display/WFLY10/Developer+Guide
  • 4. Nagyvállalati környezet Ezek nem lesznek ZH kérdések Milyen nehézségek merülnek föl az alábbi területeken? Kommunikáció Forráskód Üzemeltetés Karbantartás, pl. kódkarbantartás, átvehető
  • 5. • Java Server Faces • Enterprise Java Beans • Context and Dependency Injection • Java Persistence API • Java Authentication and Authorization Services • Java Cryptography Extension • Java Naming and Directory Interface • Java Messaging Service • Java API for XML Web Services • Java API for RESTful Web Services • Üzemeltetés: loggolás, felügyelet
  • 6. Maven - JAR, WAR, EAR “mvn archetype:generate” paranccsal a 1608-at választva lehet ezt a kiindulási alapot megkapni pom.xml fejléc: <groupId>hu.tigra.jee</groupId>
 <artifactId>1608</artifactId>
 <version>1.0-SNAPSHOT</version>
 <packaging>war</packaging>
 <name>WildFly Quickstarts: 1608</name> Java verzió: 1.8 kell pl. lambdák használatához: <!-- maven-compiler-plugin -->
 <maven.compiler.target>1.7</maven.compiler.target>
 <maven.compiler.source>1.7</maven.compiler.source>
 Amit új projektben majd úgy kell összerakni: <dependencies> Amit egy új JEE Wildfly projektben érdemes lamásolni: <build>
  • 7. Model https://en.wikipedia.org/wiki/Model–view–controller docs.oracle.com/javaee - 37.1 Entities @Entity
 public class Member implements Serializable {
 
 @Id
 @GeneratedValue
 private Long id;
 
 @NotNull
 @Size(min = 1, max = 25)
 private String name;
 
 @NotNull
 @NotEmpty
 @Email
 private String email; … } EntityManager.persist() hívható ilyen objektumra Azonosító és generált Kötelező és behatárolt méretű Kötelező, nem üres és email típusú
  • 8. View-ból csak <h:form> https://en.wikipedia.org/wiki/Model–view–controller docs.oracle.com/javaee/7 -10.2 ... HTML Tag Library ... <h:form id="reg">
 <h2>Member Registration</h2>
 <p>Enforces annotation-based constraints defined on the
 model class.</p>
 <h:panelGrid columns="3" columnClasses="titleCell">
 ...
 <h:outputLabel for="phoneNumber" value="Phone #:"/>
 <h:inputText id="phoneNumber"
 value="#{newMember.phoneNumber}"/>
 <h:message for="phoneNumber" errorClass="invalid"/>
 </h:panelGrid>
 
 <p>
 <h:panelGrid columns="2">
 <h:commandButton id="register"
 action="#{memberController.register}"
 value="Register" styleClass="register"/>
 ...
 </h:panelGrid>
 </p>
 </h:form> <form> mezőit kapja meg a MemberController <outputLabel> címke, 1. oszlop <commandButton> action = controller.hívandó metódus <inputText> beviteli mező, 2. oszlop <message> 3. oszlop
  • 9. Controller https://en.wikipedia.org/wiki/Model–view–controller public class MemberController { 
 … 
 @Produces
 @Named
 private Member newMember;
 
 @PostConstruct
 public void initNewMember() {
 newMember = new Member();
 }
 
 public void register() throws Exception {
 try {
 memberRegistration.register(newMember);
 FacesMessage m = new FacesMessage( FacesMessage.SEVERITY_INFO, "Registered!", “successful” );
 facesContext.addMessage(null, m);
 initNewMember(); 
 … } A Controller-ből hívjuk a business logika objektumokat @Named erre a névre hivatkozik index.xhtml @Produces miatt HtmlResponse-ba kerül Ez a metódust hívja <commandButton> Az üzleti logika: memberRegistration.register()
  • 10. INTERACTOR, ENTITY, BOUNDARY RUBY MIDWEST 2011 - KEYNOTE: ARCHITECTURE THE LOST YEARS BY ROBERT MARTIN Nem lesz ZH anyaga
  • 11. Szoftvermérnöki ismeretek Ezek sem lesznek ZH kérdések Általános gyűjtemény: principles.adactio.com Simplicity x 9 The Robustness Principle: Be conservative in what you send; be liberal in what you accept. The DRY Principle: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. SOLID (object-oriented design) The Agile Manifesto