JSR 181 Web Services Metadata for Java Platform
JSR 181 -- Web Services Metadata for Java Platform @Web. Service( name=”Example. Web. Service”, RPC/literal target. Namespace=”http: //openuri. org/11/2003/ Example. Web. Service” ) @SOAPBinding( style=SOAPBinding. Style. RPC, use=SOAPBinding. Use. LITERAL) public class Example. Web. Service. Impl { @Web. Method( action=”urn: login” ) @Web. Result( name=”Token” ) public Login. Token login( @Web. Param( name=”User. Name” ) String username, @Web. Param( name=”Password” ) String password) { //. . . }
Bottom. Upで、 先のJavaコードから生成されるWSDL ……. <message name="login"> <part name="User. Name" type="s: string"/> <part name=”Password” type=”s: string”/> </message> <message name="login. Response"> <part name="Token" type="Login. Token"/> </message> <port. Type name="Example. Web. Service"> <operation name=”login”> <input message=”tns: login”/> <output message=”tns: login. Response”/> </operation> ……. @Web. Param @Web. Result @Web. Method
JSR 220 -- Enterprise Java. Beans 3. 0 Specification @javax. ejb. Entity public class Course { @javax. ejb. Id @javax. ejb. Column ( name="student_id“ ) public long get. Id() @javax. ejb. Basic public String get. Name() } @javax. ejb. Many. To. Many( target. Entity="Course“ ) @javax. ejb. Association. Table ( table=@javax. ejb. Table (name="student_course_map"), join. Columns=@javax. ejb. Join. Column (name="student_id")", inverse. Join. Columns=@javax. ejb. Join. Column (name="course_id")“ ) public Collection get. Courses()
JSR 222 -- The Java™ Architecture for XML Binding (JAXB) 2. 0 public class Trade { @Xml. Attribute String get. Symbol(); void set. Symbol(String); @Xml. Element int get. Quantity(); void set. Quantity(int); } <xsd: complex. Type name="trade"> <xsd: sequence> <xsd: attribute name="symbol" type ="xsd: string"/> <xsd: element name="quantity" type ="xsd: int"/> </sequence> </xsd: complex. Type>
EJB 3. 0とAnnotation p p p EJB 3. 0でのAnnotationの利用 EJB 3. 0でのAnnotation定義を見る JBOSS EJB 3. 0でのAnnotationの 値の取得
科目担当テーブル courses キー id 科目 course 教員 teacher 1 Java 丸山 2 XML 植田 3 SQL 安藤
EJB 3. 0 Course. Bean. java package example; Entity. Beanに対応させる @javax. ejb. Entity テーブルの名前は @javax. ejb. Table (name="courses“ ) courses public class Course. Bean { private int _id; private String _course; private String _teacher; @javax. ejb. Id ( generator=Generator. Type. AUTO ) キーは自動生成 @javax. ejb. Column (name="id") キー項目の名前はid public int get. Id() { return _id; } public void set. Id(int id) { _id = id; }
EJB 3. 0 Course. Bean. java @javax. ejb. Basic public String get. Course() { return _course; } public void set. Course(String course) { _course = course; } @javax. ejb. Basic public String get. Teacher() { return _teacher; } public void set. Teacher(String teacher) { _teacher = teacher; } } 基本的な項目 course 基本的な項目 teacher
EJB 3. 0 Seminar. java @Entity public class Seminar { @Id @Column ( name= "seminar_id") public long get. Id() ; @Basic public String get. Name() ; }
EJB 3. 0 Student. java @Entity public class Student { @Id @Column ( name = "student_id“ ) public long get. Id() ; @Basic public String get. Name() ; @Many. To. One @Join. Column ( name = "seminar_id“ ) public Seminar get. Seminar() }
- Slides: 19