tansar-jbos seam.pdf

‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ ﮔﺮوه ﻃﺮاﺣﺎن ﺳﺎﻣﺎﻧﻪ ﻫﺎي‬
‫اﻃﻼﻋﺎﺗﻲ راﻳﺎﻧﻪ اي )ﻃﻨﺴﺎر(‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫ﻋﻨﺎوﻳﻦ‬
‫‬
‫اﺑﺰار ﺗﻮﻟﻴﺪ ﻛﺪ )‪(seam-gen‬‬
‫زﻳﺴﺖ ﭼﺮخ درﺧﻮاﺳﺘﻬﺎ‬
‫ﻫﻔﺖ داﻣﻨﻪ ي ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﻢ‬
‫‬
‫ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﻢ و ‪EL‬‬
‫ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه داده )‪(ORM‬‬
‫‬
‫واﻛﺸﻲ ﻣﻮﻟﻔﻪ ﻫﺎ )‪(Injection, Outjection and Bijection‬‬
‫اﻋﺘﺒﺎرﺳﻨﺠﻲ داده ﻫﺎ‬
‫‬
‫‬
‫‬
‫‬
‫‪2‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫ﻋﻤﻠﻜﺮد ﺳﻴﻢ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﭼﻬﺎرﭼﻮب )‪(Framework‬‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫ﻋﻤﻠﻜﺮد ﺳﻴﻢ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﭼﻬﺎرﭼﻮب‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‪3‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫اﺑﺰار ﺗﻮﻟﻴﺪ ﻛﺪ )‪(seam-gen‬‬
‫‬
‫اﻳﺠﺎد ﭘﺎﻳﮕﺎه داده‬
‫اﻳﺠﺎد ﺳﺎﺧﺘﺎر ﻛﻠﻲ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺳﻴﻢ‬
‫‬
‫ﺳﺎﺧﺖ ﻋﻤﻠﻜﺮد ‪CRUD‬‬
‫‬
‫‪4‬‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫ﺑﻪ ﻧﻤﺎﻳﺶ ﻋﻤﻠﻲ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫زﻳﺴﺖ ﭼﺮخ درﺧﻮاﺳﺘﻬﺎ‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‪5‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫ﻫﻔﺖ داﻣﻨﻪ ي ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﻢ‬
‫‪6‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‪| s ta te l e ss‬‬
‫ﻫﻔﺖ داﻣﻨﻪ ي ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﻢ )اداﻣﻪ(‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‪7‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﻢ و ‪EL‬‬
‫‬
‫)‪Expression Language (EL‬‬
‫‬
‫‬
‫ﻣﺜﺎل‪:‬‬
‫ﺣﺎﺷﻴﻪ ﻧﻮﻳﺴﻲ‬
‫‬
‫‬
‫‬
‫‪@Name‬‬
‫‪@Scope‬‬
‫‪EJB3‬‬
‫‬
‫‬
‫‪8‬‬
‫})‪#{bean.valid eq true ? bean.persist : bean.security.alert(user.name‬‬
‫‪@Stateful‬‬
‫‪@Stateless‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫ﻣﺆﻟﻔﻪ ﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ زﻣﻴﻨﻪ )‪ (context‬از ﻃﺮﻳﻖ ﻋﺒﺎرﺗﻬﺎي ‪ EL‬ﻗﺎﺑﻞ دﺳﺘﺮﺳﻲ‬
‫ﻫﺴﺘﻨﺪ‪.‬‬
‫ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه داده )‪(ORM‬‬
‫‬
‫‬
‫‬
‫‪@Entity‬‬
‫‪@Table‬‬
‫‬
‫‪@Column‬‬
‫‪@JoinColumn‬‬
‫ﭼﻨﺪي‬
‫‬
‫‬
‫‬
‫‬
‫‪@OneToOne‬‬
‫‬
‫‪@ManyToOne‬‬
‫‪@ManyToMany‬‬
‫‬
‫‪9‬‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫اﺳﺘﻘﻼل از ﭘﺎﻳﮕﺎه داده ﻣﻮرد اﺳﺘﻔﺎده‬
‫ﻧﮕﺎﺷﺖ ﺧﻮدﻛﺎر ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ﺑﻪ ﻣﺪل ﺷﻲء‬
‫ﺣﺎﺷﻴﻪ ﻧﻮﻳﺴﻲ‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫واﻛﺸﻲ ﻣﻮﻟﻔﻪ ﻫﺎ )‪(Injection, Outjection and Bijection‬‬
‫‬
‫‪Injection‬‬
‫اﺟﺮاي ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ‬
‫‬
‫‪Outjection‬‬
‫رﻫﺎ ﺳﺎزي ﻣﺆﻟﻔﻪ ﻫﺎي ﭘﻴﻮﻧﺪ داده ﺷﺪه در ﮔﺎم اول‬
‫‬
‫‬
‫‬
‫ﺣﺎﺷﻴﻪ ﻧﻮﻳﺴﻲ‬
‫‬
‫‬
‫‪10‬‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫ﮔﺎﻣﻬﺎي واﻛﺸﻲ‬
‫)‪@In(required,scope,name‬‬
‫)‪@Out(required,scope,name‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫اﻋﺘﺒﺎرﺳﻨﺠﻲ داده ﻫﺎ‬
‫‬
‫‬
‫‬
‫‬
‫‪11‬‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‬
‫اﻋﺘﺒﺎر ﺳﻨﺠﻲ داده ﺗﻮﺳﻂ ﻣﻮﺗﻮر اﻋﺘﺒﺎر ﺳﻨﺠﻲ ‪ hibernate‬ﺑﺎ رؤﻳﺖ‬
‫>‪ <s:validate /‬ﻳﺎ >‪ <s:validateAll /‬ﻓﻌﺎل ﻣﻲ ﺷﻮد‪.‬‬
‫ﺣﺎﺷﻴﻪ ﻧﻮﻳﺴﻲ‬
‫‪@Max‬‬
‫‪@Min‬‬
‫‪@NotNull‬‬
‫‬
‫)"}‪@Pattern(regex="^\\w*$", message="#{messages.NOT_VALID_PASSWORD‬‬
‫‬
‫)‪@Length(min,max‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫ﺑﺎ ﺗﺸﻜﺮ از ﺗﻮﺟﻪ ﺷﻤﺎ‬
‫‬
‫‪12‬‬
‫‬
‫‬
‫ﺗﻤﺎﻣﻲ ﺣﻘﻮق اﻳﻦ ﻣﻄﺎﻟﺐ ﺑﺮاي ﮔﺮوه ﻃﻨﺴﺎر ﻣﺤﻔﻮظ اﺳﺖ‪.‬‬
‫ﮔﺮوه ﻃﻨﺴﺎر‬
‫داﻧﺸﻜﺪه ي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﺗﺮم دوم ‪1387-88‬‬
‫‪ 13‬اردﻳﺒﻬﺸﺖ‬
‫آﻣﻮزش ﺟﻲ ﺑﺎس ﺳﻴﻢ )‪(JBoss Seam‬‬
‫ﺟﻠﺴﻪ ي اول‬
‫‪Seam Site, Gavin King,‬‬
‫‪www.seamframework.org, 2009‬‬
‫‪Seam in Action, Dan Allen, Manning, 2008‬‬
‫‪Jboss Seam, Dipl.-Inform. Volker Reichel,‬‬
‫‪VRSoft, 2007‬‬
‫‬