package.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  2. <!-- package.html
  3. Copyright (C) 2005 Free Software Foundation, Inc.
  4. This file is part of GNU Classpath.
  5. GNU Classpath is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2, or (at your option)
  8. any later version.
  9. GNU Classpath is distributed in the hope that it will be useful, but
  10. WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with GNU Classpath; see the file COPYING. If not, write to the
  15. Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  16. 02110-1301 USA.
  17. Linking this library statically or dynamically with other modules is
  18. making a combined work based on this library. Thus, the terms and
  19. conditions of the GNU General Public License cover the whole
  20. combination.
  21. As a special exception, the copyright holders of this library give you
  22. permission to link this library with independent modules to produce an
  23. executable, regardless of the license terms of these independent
  24. modules, and to copy and distribute the resulting executable under
  25. terms of your choice, provided that you also meet, for each linked
  26. independent module, the terms and conditions of the license of that
  27. module. An independent module is a module which is not derived from
  28. or based on this library. If you modify this library, you may extend
  29. this exception to your version of the library, but you are not
  30. obligated to do so. If you do not wish to do so, delete this
  31. exception statement from your version. -->
  32. <html>
  33. <head><title>GNU Classpath - org.omg.CORBA</title></head>
  34. <body>
  35. This package provides the support of <a href="http://www.CORBA.org">CORBA</a>;
  36. see <a href="#overview">overview</a> of the implemented functionality.
  37. <p>
  38. CORBA a system that applications use to work over networks. CORBA messages
  39. are binary, not text oriented. They practically cary no "data wrapping"
  40. information like XML &lt;opening&gt; &lt;/closing&gt; tags. Hence CORBA
  41. objects easier exchange large amounts of binary data. CORBA can work
  42. in such data-intensive application areas as telecommunications or radio
  43. broadcasting. Java programs connect to CORBA objects without care
  44. about what platform they run on, where they exist in the network, or what
  45. language they were written in. The remote CORBA objects appear to the
  46. programmer as the ordinary Java objects and can be passed as
  47. parameters in both remote or local method invocations.
  48. </p><p>
  49. The CORBA processing unit is divided into {@link org.omg.CORBA.Object}
  50. that is exposed to the client and the servant
  51. ({@link org.omg.PortableServer.Servant} where the method, invoked on
  52. object, is finally delegated. It can be multiple objects per servant or
  53. multiple servants per object. The servant for particular object or
  54. even particular call can be dynamically chosen at run time using
  55. {@link org.omg.PortableServer.ServantManager}.
  56. </p><p>
  57. All stages of both local and remote invocations on CORBA objects can be
  58. monitored and modified using {@link org.omg.PortableInterceptor.Interceptor}.
  59. The interceptors can add an extra data to the CORBA message (these data
  60. can be later accessed by other interceptor on remote side).
  61. </p>
  62. <a name="overview">
  63. <h4>Overview of the currently implemented CORBA functionality</h4>
  64. The CORBA implementation in the Classpath project is now a working
  65. prototype.
  66. <ul>
  67. <li>This prototype is interoperable with Sun's implementation v 1.4,
  68. transferring object references, primitive types, narrow and wide strings,
  69. arrays, structures and trees between these two platforms.
  70. </li>
  71. <li>The prototype provides interoperable support for the Abstract interface
  72. and Value types. Those appear in 1.3, being a feature of CORBA 2.3.
  73. </li>
  74. <li>The remote exceptions are also transferred and handled as expected.
  75. </li>
  76. <li>The support for parsing stringified object references (IORs), both
  77. Big and Little Endian encoded, is implemented.
  78. </li>
  79. <li>The redirection commands works, LOCATION_FORWARD_PERM changing the
  80. target address until the application is restarted and LOCATION_FORWARD
  81. redirecting for the current session only.
  82. </li>
  83. <li>Both Little and Big Endian encoded messages are accepted. The encoding
  84. of the sent messages is the same as used in the stringified IOR reference
  85. of that object or Big Endian, if no such data available.
  86. </li>
  87. <li>You can use both request-oriented (based on {@link org.omg.CORBA.Request}
  88. and stream-oriented (based on {@link org.omg.CORBA.portable.ObjectImpl}
  89. invocation models. The current release includes the working examples,
  90. demonstrating the client-server communication using both methods.
  91. </li>
  92. <li>These examples also show, how to use the Classpath naming service.
  93. </li>
  94. <li>The IDL compiler is not yet written (and not even started), but as a
  95. side effect of the required compatibility, the implementation seems
  96. accepting the output of the Sun's idlj.
  97. </li>
  98. <li>The Portable Object Adapter is already released. For details on POA,
  99. see the {@link org.omg.PortableServer} package.</li>
  100. <li>We provide the implementation of the {@link org.omg.DynamicAny}
  101. package. ORB returns the working DynAnyFactory that produces working
  102. DynAny's as defined in OMG specification.</li>
  103. <li>The Portable Interceptor is also complete. See
  104. {@link org.omg.PortableInterceptor} package for details how to register
  105. and use CORBA interceptors.
  106. <li>All GNU Classpath classes in omg.org namespace are newly written using
  107. the OMG .pdf document (Version 3.0.3, formal/04-03-12).
  108. </li>
  109. </ul>
  110. @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
  111. </body>
  112. </html>