<!DOCTYPE html>
<html lang="en">
  <head>

    <meta charset="UTF-8">
      <title>OpenEJB 1.0</title>
    <meta name="description" content="Apache TomEE">
    <meta name="author" content="Apache TomEE">
    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <link href="./../resources/css/bootstrap.css" rel="stylesheet">
    <link href="./../resources/css/prettify.css" rel="stylesheet">
    <!--link href="./../resources/css/bootstrap-mods.css" rel="stylesheet"-->
    <link href="./../resources/css/main.css" rel="stylesheet">
    <link href="./../resources/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet">

    <script type="text/javascript">
        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
        var u = encodeURIComponent(""+document.URL);
    
      function fbshare () {
          window.open(
                  "http://www.facebook.com/sharer/sharer.php?u="+u,
                  'Share on Facebook',
                  'width=640,height=426');
      };
      function gpshare () {
          window.open(
                  "https://plus.google.com/share?url="+u,
                  'Share on Google+',
                  'width=584,height=385');
      };
      function twshare () {
          window.open(
                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
                  'Share on Twitter',
                  'width=800,height=526');
      };
      function pinshare () {
          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
                  'Share on Pinterest',
                  'width=800,height=526');
      };
    </script>

    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="./../favicon.ico">
    <link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">

    <script src="./../resources/js/prettify.js" type="text/javascript"></script>
    <script src="./../resources/js/jquery-latest.js"></script>
    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
    <script src="./../resources/js/common.js"></script>
    <script src="./../resources/js/prettyprint.js"></script>
    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
    
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-2717626-1']);
      _gaq.push(['_setDomainName', 'apache.org']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
  </head>

  <body>

    <div class="topbar" data-dropdown="dropdown">
      <div class="fill">
        <div class="container">
          <a class="brand" href="./../index.html">Apache TomEE</a>
          <ul class="nav">
              <li class="dropdown">
                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                  Apache
                      <b class="caret"></b>
                  </a>
                  <ul class="dropdown-menu">
                     <!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
                     <!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
                     <li><a href="http://www.apache.org">Apache Home</a></li>
                     <!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
                     <li><a href="./../misc/contact.html">Contact</a></li>
                     <li><a href="./../misc/legal.html">Legal</a></li>
                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                     <li class="divider"/>
                     <li><a href="http://www.apache.org/security">Security</a></li>
                  </ul>
              </li>
              <li><a href="./../index.html">Home</a></li>
              <li><a href="./../downloads.html">Downloads</a></li>
              <li><a href="./../documentation.html">Documentation</a></li>
              <li><a href="./../examples-trunk/index.html">Examples</a></li>
              <li><a href="./../support.html">Support</a></li>
              <li><a href="./../contribute.html">Contribute</a></li>
              <li><a href="./../security/index.html">Security</a></li>
          </ul>

            <!-- Google CSE Search Box Begins  -->
            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
                <INPUT type="hidden" name="cof" value="FORID:0">
                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
            </FORM>
            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
            <!-- Google CSE Search Box Ends -->
        </div>
      </div>
    </div>

    <div class="container">
    

<div class="page-header">
    <small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../download/">Download</a></small><br>
    <h1>OpenEJB 1.0

        <div style="float: right; position: relative; bottom: -10px; ">
            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
        </div>
    </h1>
</div>

<ul>
<li>Release Date: February 26th, 2006</li>
<li>EJB 1.1 support</li>
<li>EJB 2.0 Local Interface support</li>
</ul>

<p><a name="OpenEJB1.0-Download"></a></p>

<h1>Download</h1>

<ul>
<li>Binary: openejb-1.0 {<a href="http://dist.codehaus.org/openejb/distributions/openejb-1.0.zip">zip</a>
, [tar.gz|http://dist.codehaus.org/openejb/distributions/openejb-1.0.tar.gz]
}</li>
<li>Source: openejb-1.0-src {<a href="http://dist.codehaus.org/openejb/distributions/openejb-1.0-src.zip">zip</a>
, [tar.gz|http://dist.codehaus.org/openejb/distributions/openejb-1.0-src.tar.gz]
}</li>
</ul>

<p><a name="OpenEJB1.0-TestedOn"></a></p>

<h1>Tested On</h1>

<table>
<tr><th> </th><th> Windows XP (JDK 1.4) </th><th> Windows XP (JDK 1.5) </th><th> Linux (JDK 1.4) </th><th>
Linux (JDK 1.5) </th><th> Mac OSX (JDK 1.4) </th><th> Mac OSX (JDK 1.5) </th></tr>
<tr><td>Embedded</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Standalone</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 4.1.x (Global Mode)</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 4.1.x (Webapp Mode)</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 5.0.x (Global Mode)</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 5.0.x (Webapp Mode)</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 5.5.x (Global Mode)</td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
<tr><td> Tomcat 5.5.x (Webapp Mode)</td><td> </td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"> </td><td> </td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td><td> </td><td><IMG class="emoticon" src="http://tomee.apache.org/resources/images/check.png" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
</table>

<p><a name="OpenEJB1.0-NewFeatures"></a></p>

<h1>New Features</h1>

<p><a name="OpenEJB1.0-RemoteServersupportsEJBinvocationsoverHTTP"></a></p>

<h2>Remote Server supports EJB invocations over HTTP</h2>

<p>Having a hard time with those pesky firewalls?  Our Remote Server now has
it's own HTTP front end which supports a stripped-down version of HTTP
specifically for supporting our EJB protocol.  Remote invocations from EJB
Clients can now be layered over HTTP and serviced by our standalone EJB
Server.</p>

<p><a name="OpenEJB1.0-TomcatIntegrationsupportsRemoteEJBClients"></a></p>

<h2>Tomcat Integration supports Remote EJB Clients</h2>

<p>No extra ports necesarry.  Simply point your EJB client to the URL of the
LoaderSerlvet and go!  All HTTP requests to the LoaderServlet will be sent
into the embedded OpenEJB container.  Combine this with the <a href="collapsed-ear.html">Collapsed EAR</a>
 approach to embedding OpenEJB and you get a single webapp containing it's
own private EJBs and OpenEJB container which can now support it's own
remote java clients as well as web browsers.  Or combine this with
traditional style of embedding OpenEJB into the root of Tomcat at a global
level and turn your Tomcat server into a no holds-barred EJB server.  If
you want no remoting at all, simply remove the LoaderServet's
serlvet-mapping and the door is closed.</p>

<p><a name="OpenEJB1.0-Bettercommandlinesupport"></a></p>

<h2>Better command line support</h2>

<p>OpenEJB and it's tools can now be executed via an executable jar.  Simply
'java -jar openejb-core-1.0.jar start' and the server will start.  Or 'java
-jar openejb-core-1.0.jar deploy' to deploy an EJB application.  This makes
it far easier to use OpenEJB in scripts and third party tools like IDEs. 
You can even add your own custom commands to the command line via any class
with a static main method and a properties file in the classpath at
META-INF/org.openejb.cli/mycommand.</p>

<p><a name="OpenEJB1.0-Xinet.dstyleprotocolconfiguration"></a></p>

<h2>Xinet.d style protocol configuration</h2>

<p>Protocols in OpenEJB are a pluggable, snap-in, style concept.  Anything
that consumes data on a socket is wrapped with a standard set of xinet.d
like services for ip and port management, connection pooling, host-based
authorization and more.    Want to disable a protocol and prevent it from
starting?  Want to change it's port?  Want to limit the max number of
concurrent connections or restrict access to clients on specific IP
addresses?  Just crack open that protocol's properties files and edit away.</p>

<p><a name="OpenEJB1.0-EJB2.0Localinterfacesupport"></a></p>

<h2>EJB 2.0 Local interface support</h2>

<p>OpenEJB now has support for EJB 2.0 Local Interfaces.  This is very nice
for when OpenEJB is combined with Tomcat  or embedded in another
application where Remote interfaces  are not always needed.  See the
"Moviefun" example in the  source or binary distributions for how to use
them.  Note that no other EJB 2.0 features (such as CMP 2 or MDBs)
  are supported in the OpenEJB 1.x codebase.</p>

<p><a name="OpenEJB1.0-CollapsedEARsupport"></a></p>

<h2>Collapsed EAR support</h2>

<p><a href="collapsed-ear.html">Collapsed EAR</a>
s are an OpenEJB invention allowing you to  combine your ejbs and servlets
in the same archive and  classloader.  This is essentially a new way to
embed OpenEJB  into Tomcat so that OpenEJB and your EJBs are loaded only 
into your webapp.  Combine this with an embedded database  and you have a
complete mini-J2EE environment that can be  hosted in your Tomcat webapp
space.</p>

<p>See the "Moviefun" example in the distribution which will  be online for
a short while here:</p>

<p><a href="http://demo1.openejb.org/moviefun">http://demo1.openejb.org/moviefun</a></p>

<p>(visit <a href="http://demo1.openejb.org/moviefun/setup.jsp">http://demo1.openejb.org/moviefun/setup.jsp</a>
 to reset)</p>

<p><a name="OpenEJB1.0-UnpackedEJBJarsupport"></a></p>

<h2>Unpacked EJB Jar support</h2>

<p>It is now possible to deploy and run EJB apps that are not  in a *.jar
archive.  For example, for ejb app located at:</p>

<pre><code>/home/jsmith/myejbapp/META-INF/ejb-jar.xml
</code></pre>

<p>Simply add a Deployments declaration to the openejb.conf  like the
following:</p>

<pre><code>&lt;Deployment dir="/home/jsmith/myejbapp" /&gt;
</code></pre>

<p><a name="OpenEJB1.0-AutoDeployforSimpleApps"></a></p>

<h2>Auto Deploy for Simple Apps</h2>

<p>In OpenEJB 1.0 beta1, the use of openejb-jar.xml is not  required for
ejb-jar.xml files that do not contain CMP  EntityBeans or ejbs with
multiple datasource references.</p>

<p><a name="OpenEJB1.0-MacOSXUsers"></a></p>

<h2>Mac OSX Users</h2>

<p>The speed of the Remote Server has been improved tremendously  to
compensate for differing default parameters for TCP Socket  creation and
closing in the Mac OSX Java VM.  This makes sequential  calls from a Remote
Client to the Server several times faster.</p>

<p><a name="OpenEJB1.0-UpgradeNotes"></a></p>

<h1>Upgrade Notes</h1>

<p><a name="OpenEJB1.0-CMPconfigchange"></a></p>

<h2>CMP config change</h2>

<p>In 0.9.2 and before, the JDO database was using the private JNDI namespace
of the very first CMP accessed to grab a datasource and hold onto it for
use on all requests into the CMP container.  This was configured with
something like this:</p>

<pre><code>&lt;database name="Global_TX_Database" engine="instantdb"&gt;
   &lt;jndi name="java:comp/env/jdbc/basic/entityDatabase" /&gt;
   &lt;mapping href="conf/default.cmp_mapping.xml" /&gt;
&lt;/database&gt;
</code></pre>

<p>This was just wrong.  We've switched it so that the "jndi" tag of a Castor
database.xml file can be set directly to the global JNDI name of a
Connector element declared in an openejb.conf file.</p>

<pre><code> &lt;database name="Global_TX_Database" engine="instantdb"&gt;
     &lt;jndi name="java:openejb/connector/Default JDBC Database" /&gt;
     &lt;mapping href="conf/default.cmp_mapping.xml" /&gt;
 &lt;/database&gt;
</code></pre>

<p>This is still not so optimal as we do not want to people using OpenEJB's
internal jndi and encourage people to become dependent on it.  Newer
releases of Castor allow for a completely programmatic way to configure a
JDO database.  In future releases, these global and local database files
will go away all together!  You will only need to specify your mapping.xml
and will be able to pack it in your ejb jar.</p>

<p><a name="OpenEJB1.0-Changelog"></a></p>

<h1>Changelog</h1>

<p><a name="OpenEJB1.0-1.0"></a></p>

<h2>1.0</h2>

<p><div class="jiraissues">:url=http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&amp;pid=10401&amp;fixfor=10421&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;reset=true&amp;decorator=none|columns=key,summary}</p>

<p><a name="OpenEJB1.0-1.0Beta1"></a></p>

<h2>1.0 Beta 1</h2>

<p><div class="jiraissues">:url=http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&amp;pid=10401&amp;fixfor=11983&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;reset=true&amp;decorator=none|columns=key,summary}</p>




        <div id="edit" class="modal hide fade in" style="display: none; ">
            <div class="modal-header">
                <a class="close" data-dismiss="modal">x</a>

                <h3>Thank you for contributing to the documentation!</h3>
            </div>
            <div class="modal-body">
                <h4>Any help with the documentation is greatly appreciated.</h4>
                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
                <!--[if gt IE 6]>
                <h4>Internet Explorer Users</h4>
                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
                <![endif]-->

            </div>
            <div class="modal-footer">
                Do you have an Apache ID?
                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
            </div>
        </div>
        <script src="./../resources/js/bootstrap-modal.js"></script>

        <footer>
            <p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
        </footer>

    </div> <!-- /container -->

    <!-- Javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="./../resources/js/bootstrap-dropdown.js"></script>

  </body>
</html>
