Teach Yourself J2EE in 21 Days phần 10 doc

111 230 0
Teach Yourself J2EE in 21 Days phần 10 doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

28 0672323842 AppC 3/20/02 9:35 AM 992 Page 992 Appendix C Document Type Definition (DTD) A Document Type Definition (DTD) is a way of defining the structure of an XML document DTD elements can be included in the XML document itself or in a separate external document The syntax used to define a DTD is different from XML itself The following is an example DTD that describes the jobSummary XML: job (location, description?, skill*)> job customer CDATA #REQUIRED> job reference CDATA #REQUIRED> location (#PCDATA)> description (#PCDATA)> skill (#PCDATA)> The !DOCTYPE element must include the name of the root element If the remainder of the document type definitions are stored in an external file, it will have the following form: > If the definitions are included in the XML document itself, the !DOCTYPE element must appear in the document prolog before the actual document data begins In this case, the !DOCTYPE element must include all the DTD elements with the following syntax: job (location, description?, skill*)> job customer CDATA #REQUIRED> job reference CDATA #REQUIRED> location (#PCDATA)> description (#PCDATA)> skill (#PCDATA)> The other elements (!ELEMENT and !ATTLIST) are described in this section Elements Element declarations take the following form: where element_name is the XML tag and content is one or more of the values shown in Table C.2 28 0672323842 AppC 3/20/02 9:35 AM Page 993 An Overview of XML TABLE C.2 993 DTD Content Specifications for Elements Content Type Syntax Element contains Element Sub-element only #PCDATA Text only EMPTY Nothing ANY anything (text or elements) #PCDATA limits the content of the element to character data only; nested elements are not allowed Do no confuse with CDATA sections in XML that are used to present large areas of un-interpreted text Note The characters in Table C.3 can be used to combine multiple element content types to define more complex elements TABLE C.3 Content Characters Used in DTD Definitions Character Meaning , Sequence operator, separates a list of required elements * Zero or more (not required) + One or more (at least one required) ? Element is optional | Alternate elements () Group of elements The following is a declaration for the job element: The job element consists of, in order, one location, an optional description, and an optional list of skill elements Attributes Attribute declarations take the following form: C 28 0672323842 AppC 3/20/02 9:35 AM Page 994 994 Appendix C An attribute type can be any one of the types shown in Table C.4, though CDATA (text) is the most common TABLE C.4 DTD Attribute Types Type Attribute is a… CDATA Character string NMTOKEN Valid XML name NMTOKENS Multiple XML names ID Unique identifier IDREF An element found elsewhere in the document The value for IDREF must match the ID of another element ENTITY External binary data file (such as a GIF image) ENTITIES Multiple external binary files NOTATION Helper program The default-value item can also be used to specify that the attribute is #REQUIRED, #FIXED, or #IMPLIED The meanings of these values are presented in Table C.5 TABLE C.5 DTD Attribute Default Values Default Value Meaning #REQUIRED Attribute must be provided #FIXED Effectively a constant declaration The attribute must be set to the given value or the XML is not valid #IMPLIED The attribute is optional and the processing application is allowed to use any appropriate value if required Entity References Another DTD element not mentioned so far is an entity reference An entity reference has more than one form The first, called a general entity reference, provides shorthand for often-used text An entity reference has the following format: Note This is, in fact, how the special characters are handled The character entity & is defined as 28 0672323842 AppC 3/20/02 9:35 AM Page 995 An Overview of XML 995 The entity reference called name can be referred to in the XML document using &name;, as shown in the following: A very useful book ©right; The second form, called an external entity reference, provides a mechanism to include data from external sources into the document’s contents This has the following format: For example, if the file Copy.xml that can be retrieved from the Sams Web site contains the following XML fragment 2002 Sams Publishing this can be referenced in any XML document as follows: J2EE in 21 Days> ©right; All you need to know about J2EE XML Schema Like DTDs, an XML Schema can be used to specify the structure of an XML document In addition, it has many advantages over DTDs: • Schemas have a way of defining data types, including a set of pre-defined types • A schema is namespace aware • It is possible to precisely specify the number of occurrences of an element (as opposed to a DTD’s imprecise use of ?, *, and +) with the minOccurs and maxOccurs attributes • The ability to restrict the values that can be assigned to predefined types • A schema is written in XML C 28 0672323842 AppC 3/20/02 9:35 AM Page 996 996 Appendix C The following is a schema to define the jobSummary XML: In schemas, elements can have a type attribute that can be one of the following: • string Any combination of characters • integer • float • boolean • date An integral number A floating-point number true/false or 1/0 yyyy-mm-dd There are considerably more predefined simple data types A full list can be obtained from the W3C Web site Or an element can be a complex type, which is a combination of elements or elements and text The number of times an element can appear is controlled by two attributes: • minOccurs • maxOccurs For example, the following skill element must appear at least once and can occur any number of times 28 0672323842 AppC 3/20/02 9:35 AM Page 997 An Overview of XML 997 Elements can be made optional by setting the value of the minOccurs attribute to Element attributes can be declared with a use attribute to indicate whether the element attribute is required, optional, or even prohibited A declaration of a complex type generally includes one of the following that specifies how the elements appear in the document: • all—All the named elements must appear, however they may be in any order • choice—One, and only one, of the elements listed must appear • sequence—All the named elements must appear in the sequence listed Where to Find More Information More information on XML standards can be found at various Web sites, the most important being the W3C Web site, which is found at http://www.w3.org Day 16, “Integrating XML with J2EE,” covers in more detail the subject of creating and validating XML It introduces the Java API for XML Processing (JAXP) that allows you to use J2EE to parse and create XML Other related XML subjects, such as XSLT, Xpath, and XPointer, are covered on Day 17, “Transforming XML Documents.” A brief introduction to these subjects is given in this section XSL is a stylesheet language for XML XSL specifies the styling of an XML document by using XSL Transformations to describe how the document is transformed into another XML document XSLT is a language for transforming XML documents into other XML documents A transformation expressed in XSLT is called a stylesheet XPointer provides a mechanism to “point” to particular information in an XML document XPath is a language for identifying parts of an XML document; it has been designed to be used by both XSLT and XPointer XPath gets its name from its use of a compact path notation for navigating through the hierarchical structure of an XML document With the XPath notation, it is, for example, possible to refer to the third element in the fifth Job node in a XML document C 28 0672323842 AppC 998 3/20/02 9:35 AM Page 998 Appendix C XPath is also designed so that it can be used for matching (testing whether or not a node matches a pattern) The form of XPath used in XSLT Everything in this appendix and a lot more is also covered in some detail in the Sams Teach Yourself XML in 21 Days, Shepherd, ISBN 0-672-32093-2 This book covers everything you need to know about XML to “hit the ground running.” 29 0672323842 AppD 3/20/02 9:28 AM Page 999 APPENDIX D The Java Community Process Many of the lessons in this book have referred to JSRs (Java Specification Request) If you are not familiar with the Java Community Process (JCP), you may wonder exactly what a JSR is and how it affects J2EE technologies This appendix provides you with an introduction to both JSRs and the JCP, and explains why they affect J2EE and you as a developer Introducing the JCP The Java platform is developed within an open framework, unlike some other technologies The JCP is the framework within which this open development occurs It involves a number of interested parties, potentially including yourself, who develop or modify: • Java technology specifications • Technology Compatibility Kits (TCK) • Reference Implementations (RI) 29 0672323842 AppD 3/20/02 9:28 AM Page 1000 1000 Appendix D The JCP revolves around JSRs, which are the formalized requests that JCP members make when they want to either develop a new Java technology specification or modify an existing specification Before you discover what is involved in the process of converting a JSR to a finalized specification, you will learn who is involved in the JCP Getting Involved There are five main groups involved with the JCP Each group plays a defined role that ensures that the JCP delivers Java technology specifications that meet the needs of developers and organizations, and ensure the continued stability and cross-platform compatibility of Java technologies JCP Members Any individual or organization can become a member of the JCP To become a member, you must sign the Java Specification Agreement (JSPA) and pay a fee, which, at the time of writing, is $5000/ann for commercial entities and $2000/ann for all other entities JCP members are responsible for the submission of JSRs that are then further developed by Expert Groups These groups consist of experts that JCP members may nominate either themselves or other members for One JCP member will lead each Expert Group and is responsible for forming the group and adding experts to that group JCP members also have the right to vote on Executive Committee ballots; you will learn about these a little later Expert Groups Each expert group is responsible for forming a specification and its RI and TCK from a JSR In addition, once they form the specification, they are responsible for the maintenance of that specification When JCP members make nominations for Expert Group members, they ensure that the group will consist of individuals who are experts in the technology to which the specification relates In addition, they ensure that the Expert Group includes enough depth and breadth of knowledge to enable the final specification to be of real use to developers and organizations The Public Any member of the public can become involved with the JCP without having to become a full member of the JCP or pay a fee The main ways that members of the public can become involved are by reviewing and commenting on 29 0672323842 AppD 3/20/02 9:28 AM Page 1001 The Java Community Process 1001 • Any specification JCP members develop • Any new or revised JSR • Proposed error corrections and modifications to existing specifications Process Management Office (PMO) The PMO is a group within Sun Microsystems that manages the day-to-day running of the JCP The group does not involve itself with actual formation of JSRs and the final specifications Executive Committees There are two Executive Committees, each overseeing different elements of the Java platform, namely the Standard Edition, Enterprise Edition, and Micro Edition It is the responsibility of an Executive Committee to oversee the work of the Expert Groups to ensure that specifications not overlap or conflict with each other The Executive Committee is not involved with the JCP on a day-to-day process, but, instead, reviews the work of Expert Groups at defined points of the JCP Specifically, an Executive Committee selects JSRs for development, provides guidance for the PMO, and approves D • Draft specifications • Final specifications • Maintenance revisions of a specification • The transfer of maintenance responsibilities between JCP members Each Executive Committee consists of sixteen seats Of these, only one is permanent— held by Sun Microsystems Of the remaining seats, ten are ratified and five are elected Each of these seats is held for three years, and its holder is determined on a rolling basis; thus, five seats are either ratified or held open for election each year Understanding the JSR Process There are several stages to transforming an initial JSR to a final specification, and each involves different entities concerned with the JCP However, the process consists of three main stages, which are shown by Figure D.1: FIGURE D.1 The JCP process Initiation Community Draft Public Review and Specification Finalization 31 0672323842 Index 3/20/02 1088 9:35 AM Page 1088 UDDI (Universal Description, Discovery, and Integration) registries U UDDI (Universal Description, Discovery, and Integration) registries, 873 accessing with JAXR (Java API for XML Registries) client initialization code, 934-935 interfaces, 936-937 JAXR architecture, 934 accessing with UDDI4J, 929-932 accessing with WSKT Client API, 932-934 bindingTemplate structure, 928 locally hosted registries, 929 public production registries, 929 public test registries, 929 service information, 933 tModel structure, 928 UDDI4J, 929-932 UDDIProxy class, 931 UILConnectionFactory object, 403 UILXAConnectionFactory object, 403 UML (Unified Modeling Language), 965-967 advantages, 966 application development, 127 Class diagrams associations, 969-970 attributes, 970-971 constraints, 973 generalization, 972 operations, 971-972 conceptual level, 966 implementation level, 966 Sequence diagram activations, 973 example, 974-975 lifelines, 973 messages, 973 specification level, 966 Use Case diagrams, 967-969 actors, 967 notation, 968 generalization notation, 968 notation, 967 notation, 967 Session EJBs, 167 Web site, 966 UML Distilled, Second Edition, 966 unbind() method, 93, 853 unbinding objects, 92-93 UnicastRemoteObject class, 853 Unified Modeling Language See UML Uniform Resource Locators (URLs), 101, 505-506 absolute URLs, 475 URL rewriting, 535 Universal Description, Discovery, and Integration See UDDI Unix Agency database, 277 J2EE RI for Windows, 86 J2EE SDK installation, 31-32 unmarshal() method, 951 unsetEntityContext() method, 232, 263, 278 unsubscribe() method, 421 UPDATE statement (SQL), 983 updateCustomer.jsp page, 594-595 updateDetails() method, 255 updating Entity EJBs, 223 tables, 983 URLs (Uniform Resource Locators), 101, 505-506 absolute URLs, 475 URL rewriting, 535 Use Case diagrams, 967-969 actors, 967 notation, 968 generalization notation, 968 notation, 967 notation, 967 tag (JSPs), 579, 581 user authentication Basic authentication, 683-685 client authentication, 655 defined, 19, 654 Digest authentication, 683 Digest MD5, 696 external, 122, 696 forms-based authentication, 683 GSSAPI, 696 HTTPS client authentication, 684 initial identification, 654 JAAS (Java Authentication and Authorization Service), 58 JavaMail AuthenticateRetrieveMai l application, 495-497 Authenticator class, 494 MyAuthenticator class, 494-495 PasswordAuthentication object, 495 31 0672323842 Index 3/20/02 9:35 AM Page 1089 Web applications LDAP (Lightweight Directory Access Protocol), 696 SASL (Simple Authentication and Security Layer) jndi.properties file, 697-698 ListSASL.java example, 696-697 secure authentication schemes, 694 user credentials, 655 user authorization declarative authorization network security requirements, 689-690 roles, 685 security constraints, 686-691 defined, 19, 655 JAAS (Java Authentication and Authorization Service), 58 programmatic authorization Agency case study, 692-694 getRemoteUser() method, 692 getUserPrincipal() method, 691 isUserInRole() method, 691 user credentials, 655 USER flag (e-mail), 489 utilities See tools V valid XML (Extensible Markup Language) documents, 704 validating attributes example, 635-637 isValid() method, 635 XML (Extensible Markup Language) documents, 705 Value List Handler pattern, 796 Value Object Builder pattern, 796 Value Object pattern case study analysis, 800-804 Advertise interface, 801-802 AdvertiseValueObject object, 803 loadDetails method, 803-804 defined, 796 flexibility, 804 maintainability, 804 Partial Value Object, 804 performance, 804 scalability, 804 tag, 618-619 tag, 619 variables environment variables CLASSPATH, 31, 85 JAVA_HOME, 29-30 PATH, 30-31 identification variables from clause, 294 select clause, 295 script variables adding to page contexts, 618 defining, 637 tag example, 619-622 sharing, 626 1089 TLDs (tag library descriptors), 618-619 servlet variables, 575 static variables, 143 transient variables, 198 verifier, 65 VerifyData servlet parameters, 521 VerifyForm HTML page, 520 VerifyForm page, 520 View Helper pattern case study analysis, 817-820 AgencyBean use, 818-819 AgencyBean.java, 817-818 tag library, 819-820 defined, 795 flexibility, 820 maintainability, 820 performance, 820 views creating, 979-980 dropping, 980 W W3C Web site, 997 WAR (Web Archive) files, 70, 909 Warning() method, 724 Web applications deployment descriptors, 526-527 directory structure, 525-526 EJBs (Enterprise JavaBeans), 128 security, 682 Basic authentication, 683-685 declarative authorization, 685-691 31 0672323842 Index 3/20/02 1090 9:35 AM Page 1090 Web applications Digest authentication, 683 forms-based authentication, 683 HTTPS client authentication, 684 programmatic authorization, 691-694 secure authentication schemes, 694 Web Archive (WAR) files, 70, 909 Web authentication Basic authentication, 683-685 Digest authentication, 683 forms-based authentication, 683 HTTPS client authentication, 684 secure authentication schemes, 694 Web authorization declarative authorization network security requirements, 689-690 roles, 685 security constraints, 686-691 programmatic authorization Agency case study, 692-694 getRemoteUser() method, 692 getUserPrincipal() method, 691 isUserInRole() method, 691 Web browsers, 743 Web components, 21 Web interface (Agency case study) advertise.jsp page, 592-594, 632-634, 693 agency.css style sheet, 589 agency.jsp page, 589-590, 692, 814 agency.ldif configuration file, 105-106 AgencyBean.java, 582-584 agencyName.jsp page, 581-582 dateBanner.jsp page, 570 deploying, 597-600 EJB references, 598 errorPage.jsp, 595-597 look and feel, 588-592 agency.css style sheet, 589 footers, 591-592 headers, 588 name.jsp page, 572-573 portal page, 587 skills.jsp, 627-628 structure and navigation, 585-587 table.jsp page, 576-577 tableForm.jsp page, 576 updateCustomer.jsp, 594-595 Web Service Flow Language (WSFL), 873 Web Service registries, 923-924 advantages of, 924-925 defined, 924 ebXML R&R (Registry and Repository), 926-927 global registries, 925 marketplace registries, 926 private registries, 926 searching, 925 site-specific registries, 926 UDDI (Universal Description, Discovery, and Interaction), 928 accessing with JAXR (Java API for XML Registries), 934-937 accessing with UDDI4J, 929-932 accessing with WSKT Client API, 932-934 bindingTemplate structure, 928 locally hosted registries, 929 public production registries, 929 public test registries, 929 service information, 933 tModel structure, 928 Web Services, 54, 869-870 See also Web Service registries advantages of, 872 architecture customer/service interaction, 873-874 service implementations, 875 defined, 870-872 J2EE Web Services architecture, 875-876 integrating with existing components, 878-879 JSRs (Java Specification Requests), 876-877 toolkits, 877-878 message-based, 937 See also JAXM (Java API for XML Messaging) asynchronous services, 939 clients, 938-939 compared to RPC-style services, 937 31 0672323842 Index 3/20/02 9:35 AM Page 1091 Web sites message attachments, 951-952 message headers, 951-952 populating messages, 947-951 receiving messages, 952-955, 959-962 sending messages, 942-946, 957-959 synchronous services, 939 protocols ebXML (Electronic Business XML), 873 SOAP (Simple Object Access Protocol), 873 UDDI (Universal Description, Discovery, and Integration), 873 WSDL (Web Services Description Language), 873, 883-885 WSFL (Web Service Flow Language), 873 RPC-style Web Services, 879-881 See also SimpleOrderServer Axis toolkit, 881-883 calling, 889-891 clients, 898-900 debugging, 892-894 Hello service See Hello service implementation requirements, 894 Java proxies, 885-888 JWS (Java Web Service) files, 903-905 service description information, 883 starting with Wsdl2java tool, 900-903 state maintenance, 905-908 wrapping existing J2EE components as, 909-911 wrapping Java classes as, 894-898 WSDL (Web Services Description Language) documents, 883-885 type mapping serializers, 912-919 SOAP/WSDL types, 911-912 Web sites, 870 Web Services Description Language (WSDL), 873 MyHelloService.wsdl, 883-885 type mapping, 911-912 Web Services Toolkit (WSTK), 877 Web sites Active Directory, 19 Alexander, Christopher, 789-790 Apache Jakarta Project, 604, 646 Axis toolkit, 877 BEA Weblogic Server, 24 ColdFusion, 24 Connector architecture, 831 DeveloperWorks, 792 DNS (Domain Name System), 19 ebXML (Electronic Business XML), 873 EJB 2.0 specification, 143 Hillside, 792 IBM, 24 1091 INCITS (InterNational Committee for Information Technology Standards), 977 iPlanet, 24 ITU (International Telecommunications Union), 660 J2EE Blueprints, 23, 792 J2EE compatibility suite, 24 J2EE SDK (Software Developers Kit), 30 J2EE specification, 20 Jakarta Project, 646 JBoss, 25, 402 JCP (Java Community Process), 25, 1002 JDBC 3.0, 366 JSR (Java Specification Requests) archive, 1002 LDAP (Lightweight Directory Access Protocol), 19 Microsoft Developers Network, 705 Multi-Schema XML Validator, 705 OOMG, 18 Persistence, 25 RUP (Rational Unified Process), 966 SOAP (Simple Object Access Protocol), 873 TheServerSide.com, 792 UDDI (Universal Description, Discovery, and Integration), 873 UML (Unified Modeling Language), 966 W3C, 997 WSDL (Web Services Description Language), 873 31 0672323842 Index 3/20/02 1092 9:35 AM Page 1092 Web sites WSFL (Web Service Flow Language), 873 X.500, 19 XALAN, 748 tag, 527 Web-centric components, 45-46 WEB-INF directory, 525 Weblogic Server, 24 Websphere Commerce Business Edition, 24 well-formed XML (Extensible Markup Language) documents, 704, 708 where clause (EJB QL), 297-300 WHERE clause (SQL), 983-984 whitespace, 767-769 wildcards, 298 Windows Agency database, 277 J2EE RI for Windows, 85-86 J2EE SDK installation, 31 wizards, 166 wrapping J2EE components as Web Services, 909-911 Java classes as Web Services deployment descriptors, 895-896 deployment information, 897-898 SimpleOrderServer.java example, 894-895 writeFile() method, 491 writeTo() method, 487, 492, 498 WSDL (Web Services Description Language), 873 MyHelloService.wsdl example, 883-885 type mapping, 911-912 Wsdl2java tool, starting Web Services with, 900-903 deploy.xml example, 902-903 SimpleOrderServerSoap BindingImpl.java example, 902 SimpleOrderServerSoap BindingSkeleton.java example, 901-902 WSFL (Web Service Flow Language), 873 WSTK (Web Services Toolkit), 877, 932-934 X-Z X.500 protocol, 19, 102-103 X/Open XA, 424 XA-compliance, 355-358, 424 XAConnectionFactory object, 403 XADataSource interface, 357 XALAN command line operation, 750 configuring, 748-749 newline elements, 751 XML documents, transforming, 749 XML (Extensible Markup Language) documents, 701702, 987-988 See also tags advantages, 703 attributes, 708-709, 712-713 case sensitivity, 988 comments, 709-710, 990 compared to HTML, 705 declarations, 706 defined, 988 deployment descriptors, 67-68 DTDs (document type declarations), 710-711, 989-990 attributes, 712-713 defined, 706 element content, 712 element type declarations, 711-712 example, 713-714 DTDs (Document Type Definitions), 992-995 attribute declarations, 993-994 deployment descriptors, 182, 249 element declarations, 992-993 EJB (Enterprise JavaBeans) references, 188-189 entity references, 994-995 environment entries, 187-188 example, 992 resource environment references, 192-193 resource references, 190-192 presentation elements, 183-184 Session element, 184-186 enforcing structure of, 991 DTDs (Document Type Definitions), 992-995 XML Schemas, 995-997 history of, 703-704 31 0672323842 Index 3/20/02 9:35 AM Page 1093 XML (Extensible Markup Language) documents JASB (Java Architecture for XML Binding), 732-733 JAXM (Java APIs for XML Messaging), 25 JAXP (Java API for XML Parsing), 58-59, 718-720 JAXR (Java APIs for XML Registries), 25 jobSummary document attributes, 708-709 code listing, 708 DTD (document type declaration), 713 namespace, 714-715 XML Schema, 716-717 namespaces, 714-715, 991 online documentation, 997 parsing with DOM (Document Object Model) accessing tree nodes, 726-728 Document interface methods, 725-728, 731-732 DocumentBuilder Factory interface, 725 DOM Parser application, 728-731 modifying tree nodes, 731-732 parse() method, 725 parsing with SAX (Simple API for XML), 719-720 DefaultHandler methods, 723-724 endElement() method, 721 SAX Parser application, 721-723 SAXParseFactory interface, 720 startElement() method, 720-721 platform-independent data exchange, 702-703 prologs, 990 root elements, 705-706 special characters, 990-991 support for, 22 tags , 340, 668 , 616 attributes, 615-617, 635-637 , 608 , 317 , 645 , 318 , 318 content, 712 custom tags, 608-609 , 619 declaring, 992-993 , 527 tag, 527, 711, 992 element type declarations, 711-712 , 527-528 example, 605-606, 611-612 , 628-630, 643-644 , 623-626 , 645 , 619-622 , 605-606, 611-612 hierarchical tag structures, 627-634 , 645 , 527 iterative tags, 622-626 , 708 lifecycle, 610-611 1093 , 685 , 615-617 , 671 , 670-671 , 618 , 618 nesting, 707 , 629-631 , 527 , 527 , 676 scope, 619 script variables, 618-622, 626 , 690-691 , 670 , 527 , 527 , 527 , 527 special characters, 707 structure of, 988-989 , 608 tag body processing, 637-640 , 607 TLDs (tag library descriptors), 606-608, 614-619, 630 , 437 , 618-619 , 619 valid elements, 706 XSLT, 779-780 , 527 transformations, 742, 746-747 adding comments, 769-770 attribute values, 770-771 compilers, 780-781 31 0672323842 Index 3/20/02 1094 9:35 AM Page 1094 XML (Extensible Markup Language) documents creating elements, 771-774 defining attributes, 774-776 elements, 779-780 numbering elements, 777-778 whitespace, 767-769 valid documents, 704 validating, 705 well-formed documents, 704, 708 XML Schemas, 715-716, 995-997 Agency case study, 734 example, 716-717 schema type definitions, 717-718 validator, 716 XPath, 762-764, 997-998 XPointer, 762, 997 XML-RPC, 25 XPath, 762-764, 997-998 XPointer, 762, 997 XSL (Extensible Stylesheet Language), 744, 997 elements, 765-769, 775-780 stylesheets, applying, 746 transformations adding comments, 769-770 attribute values, 770-771 creating elements, 771-774 defining attributes, 774-776 numbering elements, 777-778 whitespace, 767-769 XSL-FO (Extensible Stylesheet LanguageFormatting Objects), 744-745 XSLT (Extensible Stylesheet Transformations), 745-746, 997 compilers, 780-781 elements, 779-780 stylesheets, 755 default rules, 764-765 template rules, 756-761 Transformer class, 751-755 XML nodes, 762-764 32 0672323842 JDK Lic 3/20/02 9:28 AM Page 1095 JAVA SOFTWARE DEVELOPMENT KIT STANDARD EDITION VERSION 1.3 SUPPLEMENTAL LICENSE TERMS These supplemental license terms (“Supplemental Terms”) add to or modify the terms of the Binary Code License Agreement (collectively, the “Agreement”) Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software Internal Use and Development License Grant Subject to the terms and conditions of this Agreement, including, but not limited to, Section (Redistributables) and Section (Java Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce the Software for internal use only for the sole purpose of development of your Javaapplet and application (“Program”), provided that you not redistribute the Software in whole or in part, either separately or included with any Program Redistributables In addition to the license granted in Paragraph 1above, Sun grants you a nonexclusive, non- transferable, limited license to reproduce and distribute, only as part of your separate copy of JAVA RUNTIME ENVIRONMENT STANDARD EDITION VERSION 1.3 software, those files specifically identified as redistributable in the JAVA RUNTIME ENVIRONMENT STANDARD EDITION VERSION 1.3 “README” file (the “Redistributables”) provided that: (a) you distribute the Redistributables complete and unmodified (unless otherwise specified in the applicable README file), and only bundled as part of the JavaTM applets and applications that you develop (the “Programs:); (b) you not distribute additional software intended to supersede any component(s) of the Redistributables; (c) you not remove or alter any proprietary legends or notices contained in or on the Redistributables; (d) you only distribute the Redistributables pursuant to a license agreement that protects Sun’s interests consistent with the terms contained in the Agreement, and (e) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys’ fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software Separate Distribution License Required You understand and agree that you must first obtain a separate license from Sun prior to reproducing or modifying any portion of the Software other than as provided with respect to Redistributables in Paragraph above 32 0672323842 JDK Lic 3/20/02 9:28 AM Page 1096 Java Technology Restrictions You may not modify the Java Platform Interface (“JPI”, identified as classes contained within the “java” package or any subpackages of the “java” package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI In the event that you create an additional class and associated API(s) which (i) extends the functionality of a Java environment, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as “java”, “javax”, “sun” or similar convention as specified by Sun in any class file naming convention Refer to the appropriate version of the Java Runtime Environment binary code license (currently located at http://www.java.sun.com/jdk/index.html) for the availability of runtime code which may be distributed with Java applets and applications Trademarks and Logos You acknowledge and agree as between you and Sun that Sun owns the Java trademark and all Java.related trademarks, service marks, logos and other brand designations including the Coffee Cup logo and Duke logo (“Java Marks”), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks Any use you make of the Java Marks inures to Sun’s benefit Source Code Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement Termination Sun may terminate this Agreement immediately should any Software become, or in Sun’s opinion be likely to become, the subject of a claim of infringement of a patent, trade secret, copyright or other intellectual property right JAVA DEVELOPMENT TOOLS FORTE FOR JAVA, RELEASE 3.0, COMMUNITY EDITION SUPPLEMENTAL LICENSE TERMS These supplemental license terms (“Supplemental Terms”) add to or modify the terms of the Binary Code License Agreement (collectively, the “Agreement”) Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software 32 0672323842 JDK Lic 3/20/02 9:28 AM Page 1097 Software Internal Use and Development License Grant Subject to the terms and conditions of this Agreement, including, but not limited to Section (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce internally and use internally the binary form of the Software complete and unmodified for the sole purpose of designing, developing and testing your [Java applets and] applications intended to run on the Java platform (“Programs”) License to Distribute Redistributables In addition to the license granted in Section (Redistributables Internal Use and Development License Grant) of these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section (Java Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute those files specifically identified as redistributable in the Software “README” file (“Redistributables”) provided that: (i) you distribute the Redistributables complete and unmodified (unless otherwise specified in the applicable README file), and only bundled as part of your Programs, (ii) you not distribute additional software intended to supersede any component(s) of the Redistributables, (iii) you not remove or alter any proprietary legends or notices contained in or on the Redistributables, (iv) for a particular version of the Java platform, any executable output generated by a compiler that is contained in the Software must (a) only be compiled from source code that conforms to the corresponding version of the OEM Java Language Specification; (b) be in the class file format defined by the corresponding version of the OEM Java Virtual Machine Specification; and (c) execute properly on a reference runtime, as specified by Sun, associated with such version of the Java platform, (v) you only distribute the Redistributables pursuant to a license agreement that protects Sun’s interests consistent with the terms contained in the Agreement, and (vi) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys’ fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software Java Technology Restrictions You may not modify the Java Platform Interface (“JPI”, identified as classes contained within the “java” package or any subpackages of the “java” package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI In the event that you create an additional class and associated API(s) which (i) extends the functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, 32 0672323842 JDK Lic 3/20/02 9:28 AM Page 1098 you must promptly publish broadly an accurate specification for such API for free use by all developers You may not create, or authorize your licensees to create, additional classes, interfaces, or subpackages that are in any way identified as “java”, “javax”, “sun” or similar convention as specified by Sun in any naming convention designation Java Runtime Availability Refer to the appropriate version of the Java Runtime Environment binary code license (currently located at http://www.java.sun.com/jdk/index.html) for the availability of runtime code which may be distributed with Java applets and applications Trademarks and Logos You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL and iPLANET.related trademarks, service marks, logos and other brand designations (“Sun Marks”), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks Any use you make of the Sun Marks inures to Sun’s benefit Source Code Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement Source code may not be redistributed unless expressly provided for in this Agreement Termination for Infringement Either party may terminate this Agreement immediately should any Software become, or in either party’s opinion be likely to become, the subject of a claim of infringement of any intellectual property right For inquiries please contact: Sun Microsystems, Inc 901 San Antonio Road, Palo Alto, California 94303 Sams InformIT ad STD 1/5/01 2:08 PM Page Hey, you’ve got enough worries Don’t let IT training be one of them Get on the fast track to IT training at InformIT, your total Information Technology training network www.informit.com I Hundreds of timely articles on dozens of topics I Discounts on IT books from all our publishing partners, including Sams Publishing books from the InformIT Free Library with IT experts I Free, unabridged “Expert Q&A”—our live, online chat Faster, easier certification and training from our Web- or classroom-based training programs I I I I Current IT news Career-enhancing resources InformIT is a registered trademark of Pearson Copyright ©2001 by Pearson Copyright ©2001 by Sams Publishing I Software downloads 33 0672323842 Related ad 3/20/02 9:26 AM Page Java Web Services Unleashed Robert Brunner, Frank Cohen, Francisco Curbera, Darren Govoni, Steven Haines, Matthias Kloppmann, Bent Marchal, K Scott Morrison, Arthur Ryman, Joseph Weber, Mark Wutka 0-672-32363-X 49.99 4/19/2002 Other Related Titles Java P2P Unleashed Robert Flenner, Michael Abbott, Toufic Boubez, Navaneeth Krishnan, Rajam Ramamurti, Frank Sommers 0-672-32399-0 49.99 6/14/2002 Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama 0-672-32181-5 49.99 12/12/2001 Sams Teach Yourself Wireless Java with J2ME in 21 Days Michael Morrison 0-672-32142-4 39.99 6/27/2001 Java Connector Architecture: Building Enterprise Adaptors Atul Apte 0-672-32310-9 49.99 5/6/2002 Jini and JavaSpaces Application Development Robert Flenner JXTA: Java P2P Programming 0-672-32258-7 49.99 12/5/2001 Daniel Brookshier, Darren Govoni, Navaneeth Krishnan, Juan Carlos Soto JMX: Managing J2EE with Java Management Extensions 0-672-32366-4 39.99 3/22/2002 Marc Fleury, Juha Lindfors, The Jboss Group 0-672-32288-9 39.99 1/31/2002 JBoss Administration and Development Scott Stark, Marc Fluery 0672323478 49.99 3/28/2002 Enhydra XMLC Java Presentation Development Sams Teach Yourself XSLT in 21 Days Michael van Otegem David H Young 0-672-32318-4 39.99 2/2002 0-672-32211-0 39.99 1/15/2002 www.samspublishing.com All prices are subject to change 35 0672323842 Install 3/20/02 9:32 AM Page 1101 What’s on the CD-ROM The companion CD-ROM contains Sun Microsystem’s Java Software Development Kit (SDK) version 1.3, Forte 3.0 Community Edition, JBoss, BEA’s WebLogic Server, and more software tools plus the source code from the book Windows Installation Instructions Insert the disc into your CD-ROM drive From the Windows desktop, double-click on the My Computer icon Double-click on the icon representing your CD-ROM drive Double-click on the icon titled START.EXE to run the installation program Follow the on-screen prompts to finish the installation Note If you have the AutoPlay feature enabled, the START.EXE program starts automatically whenever you insert the disc into your CD-ROM drive Linux, Mac OS X, and UNIX Installation Instructions Insert the disc into your CD-ROM drive If you have a volume manager on your UNIX workstation, the disc will be automatically mounted If you not have a volume manager, you need to manually mount the CD-ROM For example, if you were mounting the CD-ROM on a Linux workstation, you would type mount –tiso9660 /dev/cdrom /mnt/cdrom Follow the instructions in readme.html or readme.txt to install the software components Note The mount point on your UNIX workstation must exist before mounting the CD-ROM to it The mount point in the example is the usual mount point for a CD-ROM, but you can use any existing directory as a mount point If you are having difficulty or insufficient permission rights to mount a CD-ROM, please review the man page for mount or talk to your system administrator 36 0672323842 CD Lic 3/20/02 9:32 AM Page Use of this software is subject to the Sun Microsystems, Inc Binary Code License Agreement contained on page _ of the accompanying book Read this agreement carefully By opening this package, you are agreeing to be bound by the terms and conditions of this agreement By opening this package, you are also agreeing to be bound by the following agreement: You may not copy or redistribute the entire CD-ROM as a whole, Copying and redistribution of individual software programs on the CD-ROM is governed by terms set by individual copyright holders The installer and code from the author(s) are copyrighted by the publisher and the author(s) Individual programs and other items on the CD-ROM are copyrighted or are under an Open Source license by their various authors or other copyright holders This software is sold as-is without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose Neither the publisher nor its dealers or distributors assumes any liability for any alleged or actual damages arising from the use of this program (Some states not allow for the exclusion of implied warranties, so the exclusion may not apply to you.) NOTE: This CD-ROM uses long and mixed-case filenames requiring the use of a protected-mode CD-ROM Driver ... Directory Access Protocol), 84 attributes, 102 , 108 -109 , 112-114 obtaining, 103 OpenLDAP, 104 -106 Service Providers, 106 -107 testing, 107 -108 X.500 names, 102 -103 NDS (Novell Directory Services), 83... 90-91 bind() method, 91 example, 91 name persistence, 92 potential problems, 91-92 31 0672323842 Index 3/20/02 103 0 9:35 AM Page 103 0 binding objects rebinding, 92 unbinding, 92-93 bindingTemplate... JavaBeans), 212 -213 separating from presentation tier, 130-131 business-tier patterns Business Delegate case study analysis, 820- 821 defined, 796 maintainability, 821 performance, 821 reliability, 821

Ngày đăng: 13/08/2014, 08:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan